Принципы и понятия сетевой архитектуры, страница 5

Служба промежуточной доставки (hop-by-hop service) выполняет определенные функции в месте каждой остановки пакета на его пути. Предположим, что сетевой уровень соединения подсчитывает контрольную сумму пакета. Предположим, что контрольная сумма вставляется в пакет, передающийся по каналу связи. Пусть каждый коммутатор пакетов производит сравнение старой и новой контрольной суммы. В таком случае речь ведется о службе промежуточной доставки. Пакет данных подвергается проверке контрольной суммы на каждом “скачке” до места назначения.

В противоположность службе промежуточной доставки служба конечной доставки (end-to-end service) работает только в местах передачи и получения пакета данных то есть в конечных пунктах соединения. Например, протокол контроля ошибок может быть реализован на транспортном уровне. Тогда контрольная сумма проверяется только в передатчике и приемнике сообщения.

Вопросы разработки и проектирования сети

Сеть состоит из двух основных концепций: прикладной и коммуникационной. Сетевые разработчики стремятся разделить структуру обеих концепций на уровни или функциональные модули. Совокупность уровней составляет сетевую модель. Коммуникационная подсистема включает в себя протоколы, определяющие правила и соглашения об обмене сообщениями между сетевыми уровнями.

Управление соединением

Каждый уровень сетевой модели должен уметь установить соединение с равноправным. Поскольку компьютер решает множество задач одновременно, встает проблема идентификации. Чтобы установить соединение, процесс должен идентифицировать удаленный компьютер и равноправный процесс на нем.

Передача данных

Сетевое соединение обыкновенно состоит из двух каналов передачи для одного процесса. Один канал передает собственно данные, а другой – управляющую информацию, называемую “данные для немедленной обработки” (urgent data). Примером данных для немедленной передачи может служить Esc или другое сочетание для прерывания обмена. Сеть должна передавать такие данные с повышенным, по сравнению с обычным, приоритетом.

Примечание: Канал передачи управляющих данных с повышенным приоритетом еще называется “данные-вне-диапазона” (out-of-band data).

Обработка ошибок

Обнаружение и коррекция ошибок, несомненно, важно для функционирования сети. Рассмотрим проблему, возникающую при ошибках данных из-за повреждения самого канала связи. Если канал поврежден, может оказаться, что приемник не в состоянии уведомить передатчик о случившейся ошибке, то есть само сообщение об ошибке окажется повреждено. Еще хуже, если исчезнет сообщение об исчезновении данных. В сети быстро возникнет порочный круг. К счастью, некоторые протоколы Интернет содержат эффективную обработку ошибок данных в качестве режима сетевой службы.

Соблюдение правильной последовательности

При проектировании сети необходимо учесть доставку данных в правильной (исходной) последовательности. Необходимо обеспечить как передачу в правильной последовательности, так и возможность восстановить ее программными средствами. Протоколы Интернет имеют возможность, пользуясь специальными полями в пакетах данных, восстановить нарушенную при передаче последовательность.

Управление потоком

Проблема переполнения данных возникает на каждом уровне сетевой модели. Проблема может возникнуть как между равноправными процессами в соединенных компьютерах, так и при передаче данных между уровнями в одном и том же компьютере. Например, разные процессы могут использовать один и тот же коммуникационный канал, и данные нескольких процессов могут появиться в канале одновременно, превысив вычислительную мощность уровня — произойдет потеря данных. Сетевые протоколы должны проектироваться с учетом этой проблемы. Протоколы Интернет учитывают возможность переполнения, снимая с ваших прикладных программ необходимость управления потоком.

Фрагментация данных

Несмотря на то, что сетевые протоколы делят данные на пакеты, длина их все равно может оказаться слишком велика для какого-либо участка сети. В этом случае сеть должна уметь поделить данные на пакеты еще меньшей длины. Этот процесс называется фрагментацией (fragmenting).