Модемные протоколы физического уровня. Модемные протоколы физического уровня Передача данных протоколы физического уровня

Александр Горячев, Алексей Нисковский

Для того чтобы серверы и клиенты сети могли общаться, они должны работать с использованием одного протокола обмена информацией, то есть должны «говорить» на одном языке. Протокол определяет набор правил для организации обмена информацией на всех уровнях взаимодействия сетевых объектов.

Существует эталонная модель взаимодействия открытых систем (Open System Interconnection Reference Model), часто называемая моделью OSI. Эта модель разработана Международной организацией по стандартизации (International Organization for Standardization, ISO). Модель OSI описывает схему взаимодействия сетевых объектов, определяет перечень задач и правила передачи данных. Она включает в себя семь уровней: физический (Physical - 1), канальный (Data-Link - 2), сетевой (Network - 3), транспортный (Transport - 4), сеансовый (Session - 5), представления данных (Presentation - 6) и прикладной (Application - 7). Считается, что два компьютера могут взаимодействовать друг с другом на конкретном уровне модели OSI, если их программное обеспечение, реализующее сетевые функции этого уровня, одинаково интерпретирует одни и те же данные. В этом случае устанавливается прямое взаимодействие между двумя компьютерами, называемое «точка-точка».

Реализации модели OSI протоколами называются стеками (наборами) протоколов. В рамках одного конкретного протокола невозможно реализовать все функции модели OSI. Обычно задачи конкретного уровня реализуются одним или несколькими протоколами. На одном компьютере должны работать протоколы из одного стека. При этом компьютер одновременно может использовать несколько стеков протоколов.

Рассмотрим задачи, решаемые на каждом из уровней модели OSI.

Физический уровень

На этом уровне модели OSI определяются следующие характеристики сетевых компонентов: типы соединений сред передачи данных, физические топологии сети, способы передачи данных (с цифровым или аналоговым кодированием сигналов), виды синхронизации передаваемых данных, разделение каналов связи с использованием частотного и временного мультиплексирования.

Реализации протоколов физического уровня модели OSI координируют правила передачи битов.

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

  • концентраторов, хабов и повторителей, регенерирующих электрические сигналы;
  • соединительных разъемов среды передачи, обеспечивающих механический интерфейс для связи устройства со средой передачи;
  • модемов и различных преобразующих устройств, выполняющих цифровые и аналоговые преобразования.

Этот уровень модели определяет физические топологии в корпоративной сети, которые строятся с использованием базового набора стандартных топологий.

Первой в базовом наборе является шинная (bus) топология. В этом случае все сетевые устройства и компьютеры подключаются к общей шине передачи данных, которая чаще всего формируется с использованием коаксиального кабеля. Кабель, формирующий общую шину, называется магистральным (backbone). От каждого из устройств, подключенных к шине, сигнал передается в обе стороны. Для удаления сигнала из кабеля на концах шины должны использоваться специальные прерыватели (terminator). Механическое повреждение магистрали сказывается на работе всех устройств, подключенных к ней.

Кольцевая топология предусматривает соединение всех сетевых устройств и компьютеров в физическое кольцо (ring). В этой топологии информация всегда передается по кольцу в одну сторону - от станции к станции. Каждое сетевое устройство должно иметь приемник информации на входном кабеле и передатчик на выходном. Механическое повреждение среды передачи информации в одинарном кольце повлияет на работу всех устройств, однако сети, построенные с использованием двойного кольца, как правило, имеют запас по отказоустойчивости и функции самовосстановления. В сетях, построенных на двойном кольце, одна и та же информация передается по кольцу в обе стороны. В случае повреждения кабеля кольцо будет продолжать работать в режиме одинарного кольца на двойной длине (функции самовосстановления определяются используемыми аппаратными средствами).

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

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

Рассмотренные топологии чаще всего строятся с применением кабельных соединений.

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

Канальный уровень

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

Протоколами канального уровня определяются:

  • правила организации битов физического уровня (двоичные единицы и нули) в логические группы информации, называемые фреймами (frame), или кадрами. Фрейм является единицей данных канального уровня, состоящей из непрерывной последовательности сгруппированных битов, имеющей заголовок и окончание;
  • правила обнаружения (и иногда исправления) ошибок при передаче;
  • правила управления потоками данных (для устройств, работающих на этом уровне модели OSI, например, мостов);
  • правила идентификации компьютеров в сети по их физическим адресам.

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

С канальным уровнем обычно связаны следующие сетевые соединительные устройства:

  • мосты;
  • интеллектуальные концентраторы;
  • коммутаторы;
  • сетевые интерфейсные платы (сетевые интерфейсные карты, адаптеры и т.д.).

Функции канального уровня подразделяются на два подуровня (табл. 1):

  • управление доступом к среде передачи (Media Access Control, MAC);
  • управление логическим соединением (Logical Link Control, LLC).

Подуровень MAC определяет такие элементы канального уровня, как логическая топология сети, метод доступа к среде передачи информации и правила физической адресации между сетевыми объектами.

Аббревиатура MAC также используется при определении физического адреса сетевого устройства: физический адрес устройства (который определяется внутри сетевого устройства или сетевой карты на этапе производства) часто называют MAC-адресом этого устройства. Для большого количества сетевых устройств, особенно сетевых карт, существует возможность программно изменить MAC-адрес. При этом необходимо помнить, что канальный уровень модели OSI накладывает ограничения на использование MAC-адресов: в одной физической сети (сегменте большей по размеру сети) не может быть двух или более устройств, использующих одинаковые MAC-адреса. Для определения физического адреса сетевого объекта может быть использовано понятие «адрес узла» (node address). Адрес узла чаще всего совпадает с MAC-адресом или определяется логически при программном переназначении адреса.

Подуровень LLC определяет правила синхронизации передачи и сервиса соединений. Этот подуровень канального уровня тесно взаимодействует с сетевым уровнем модели OSI и отвечает за надежность физических (с использованием MAC-адресов) соединений. Логическая топология (logical topology) сети определяет способ и правила (последовательность) передачи данных между компьютерами в сети. Сетевые объекты передают данные в зависимости от логической топологии сети. Физическая топология определяет физический путь данных; при этом в некоторых случаях физическая топология не отражает способ функционирования сети. Фактический путь данных определяется логической топологией. Для передачи данных по логическому пути, который может отличаться от пути в физической среде, используются сетевые устройства подключения и схемы доступа к среде передачи. Хороший пример различий между физической и логической топологиями - сеть Token Ring фирмы IBM. В локальных сетях Token Ring часто используется медный кабель, который прокладывается в звездообразную схему с центральным разветвителем (хабом). В отличие от нормальной звездообразной топологии хаб не пересылает входящие сигналы всем другим подключенным устройствам. Внутренняя схема хаба последовательно отправляет каждый входящий сигнал следующему устройству в заранее предопределенном логическом кольце, то есть по круговой схеме. Физической топологией этой сети является звезда, а логической - кольцо.

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

Чтобы определить логическую топологию сети, необходимо понять, как в ней принимаются сигналы:

  • в логических шинных топологиях каждый сигнал принимается всеми устройствами;
  • в логических кольцевых топологиях каждое устройство получает только те сигналы, которые были посланы конкретно ему.

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

Доступ к среде передачи

Логические топологии используют специальные правила, управляющие разрешением на передачу информации другим сетевым объектам. Процесс управления контролирует доступ к среде передачи данных. Рассмотрим сеть, в которой всем устройствам позволено функционировать безо всяких правил получения доступа к среде передачи. Все устройства в такой сети передают информацию по мере готовности данных; эти передачи могут иногда накладываться во времени. В результате наложения сигналы искажаются, происходит потеря передаваемых данных. Такая ситуация называется коллизией (collision). Коллизии не позволяют организовать надежную и эффективную передачу информации между сетевыми объектами.

Коллизии в сети распространяются на физические сегменты сети, к которым подключаются сетевые объекты. Такие соединения образуют единое пространство коллизий (collision space), в котором влияние коллизий распространяется на всех. Для уменьшения размеров пространств коллизий путем сегментации физической сети можно использовать мосты и другие сетевые устройства, обладающие функциями фильтрации трафика на канальном уровне.

Сеть не может нормально работать до тех пор, пока все сетевые объекты не смогут контролировать коллизии, управлять ими или устранять их влияние. В сетях необходим некоторый метод снижения числа коллизий, интерференции (наложения) одновременных сигналов.

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

Перед тем как выбрать протокол, в котором реализован один из этих методов доступа к среде передачи данных, следует обратить особое внимание на следующие факторы:

  • характер передач - непрерывный или импульсный;
  • количество передач данных;
  • необходимость передачи данных в строго определенные интервалы времени;
  • количество активных устройств в сети.

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

Состязание. Системы на основе состязания (конкуренции) предполагают, что доступ к среде передачи реализуется на основе принципа «первый пришел - первым обслужен». Другими словами, каждое сетевое устройство борется за контроль над средой передачи. Системы, использующие метод состязания, разработаны таким образом, чтобы все устройства в сети могли передавать данные лишь по мере необходимости. Эта практика в конечном счете приводит к частичной или полной потере данных, потому что в действительности происходят коллизии. По мере добавления к сети каждого нового устройства количество коллизий может возрастать в геометрической прогрессии. Увеличение количества коллизий снижает производительность сети, а в случае полного насыщения среды передачи информации - снижает работоспособность сети до нуля.

Для снижения количества коллизий разработаны специальные протоколы, в которых реализована функция прослушивания среды передачи информации до начала передачи данных станцией. Если прослушивающая станция обнаруживает передачу сигнала (от другой станции), то она воздерживается от передачи информации и будет пытаться повторить ее позже. Эти протоколы называются протоколами множественного доступа с контролем несущей (Carrier Sense Multiple Access, CSMA). Протоколы CSMA значительно снижают число коллизий, но не устраняют их полностью. Коллизии тем не менее происходят, когда две станции опрашивают кабель: не обнаруживают никаких сигналов, решают, что среда передачи данных свободна, а затем одновременно начинают передачу данных.

Примерами таких состязательных протоколов являются:

  • множественный доступ с контролем несущей/обнаружением коллизий (Carrier Sense Multiple Access/Collision Detection, CSMA/CD);
  • множественный доступ с контролем несущей/предотвращением коллизий (Carrier Sense Multiple Access/Collision Avoidance, CSMA/CA).

Протоколы CSMA/CD. Протоколы CSMA/CD не только прослушивают кабель перед передачей, но также обнаруживают коллизии и инициализируют повторные передачи. При обнаружении коллизии станции, передававшие данные, инициализируют специальные внутренние таймеры случайными значениями. Таймеры начинают обратный отсчет, и при достижении нуля станции должны попытаться повторить передачу данных. Поскольку таймеры были инициализированы случайными значениями, то одна из станций будет пытаться повторить передачу данных раньше другой. Соответственно, вторая станция определит, что среда передачи данных уже занята, и дождется ее освобождения.

Примерами протоколов CSMA/CD являются Ethernet version 2 (Ethernet II, разработанный в корпорации DEC) и IEEE802.3.

Протоколы CSMA/CA. CSMA/CA использует такие схемы, как доступ с квантованием времени (time slicing) или посылка запроса на получение доступа к среде. При использовании квантования времени каждая станция может передавать информацию только в строго определенные для этой станции моменты времени. При этом в сети должен реализовываться механизм управления квантами времени. Каждая новая станция, подключаемая к сети, оповещает о своем появлении, тем самым инициируя процесс перераспределения квантов времени для передачи информации. В случае использования централизованного управления доступом к среде передачи каждая станция формирует специальный запрос на передачу, который адресуется к управляющей станции. Центральная станция регулирует доступ к среде передачи для всех сетевых объектов.

Примером CSMA/CA является протокол LocalTalk фирмы Apple Computer.

Системы на основе метода состязания больше всего подходят для использования при импульсном трафике (при передаче больших файлов) в сетях с относительно небольшим количеством пользователей.

Системы с передачей маркера. В системах с передачей маркера (token passing) небольшой фрейм (маркер) передается в определенном порядке от одного устройства к другому. Маркер - это специальное сообщение, которое передает временное управление средой передачи устройству, владеющему маркером. Передача маркера распределяет управление доступом между устройствами сети.

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

Имеется несколько протоколов передачи маркера. Двумя стандартами сетей, использующими передачу маркера, являются IEEE 802.4 Token Bus и IEEE 802.5 Token Ring. В сети Token Bus используется управление доступом с передачей маркера и физическая или логическая шинная топология, в то время как в сети Token Ring используется управление доступом с передачей маркера и физическая или логическая кольцевая топология.

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

Опрос. Опрос (polling) - это метод доступа, при котором выделяется одно устройство (называемое контроллером, первичным, или «мастер»-устройством) в качестве арбитра доступа к среде. Это устройство опрашивает все остальные устройства (вторичные) в некотором предопределенном порядке, чтобы узнать, имеют ли они информацию для передачи. Чтобы получить данные от вторичного устройства, первичное устройство направляет ему соответствующий запрос, а затем получает данные от вторичного устройства и направляет их устройству-получателю. Затем первичное устройство опрашивает другое вторичное устройство, принимает данные от него, и так далее. Протокол ограничивает количество данных, которое может передать после опроса каждое вторичное устройство. Опросные системы идеальны для сетевых устройств, чувствительных ко времени, например, при автоматизации оборудования.

Этот уровень также обеспечивает сервис соединений. Существует три типа сервиса соединений:

  • сервис без подтверждения и без установления соединений (unacknowledged connectionless) - посылает и получает фреймы без управления потоком и без контроля ошибок или последовательности пакетов;
  • сервис, ориентированный на соединение (connection-oriented), - обеспечивает управление потоком, контроль ошибок и последовательности пакетов посредством выдачи квитанций (подтверждений);
  • сервис с подтверждением без установления соединения (acknowledged connectionless) - использует квитанции для управления потоком и контроля ошибок при передачах между двумя узлами сети.

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

Сетевой уровень

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

Главной целью сетевого уровня является решение задачи перемещения (доставки) данных в заданные точки сети. Доставка данных на сетевом уровне в общем-то похожа на доставку данных на канальном уровне модели OSI, где для передачи данных используется физическая адресация устройств. Однако адресация на канальном уровне относится только к одной логической сети, действует только внутри этой сети. Сетевой уровень описывает методы и средства передачи информации между многими независимыми (и часто разнородными) логическими сетями, которые, соединенные вместе, формируют одну большую сеть. Такая сеть называется объединенной сетью (internetwork), а процессы передачи информации между сетями - межсетевым взаимодействием (internetworking).

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

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

Элементы и методы реализации сетевого уровня определяются следующим:

  • все логически отдельные сети должны иметь уникальные сетевые адреса;
  • коммутация определяет, как устанавливаются соединения через объединенную сеть;
  • возможность реализовать маршрутизацию так, чтобы компьютеры и маршрутизаторы определяли наилучший путь прохождения данных через объединенную сеть;
  • сеть будет выполнять различные уровни сервиса соединений в зависимости от ожидаемого в рамках объединенной сети количества ошибок.

На этом уровне модели OSI работают маршрутизаторы и некоторые из коммутаторов.

Сетевой уровень определяет правила формирования логических адресов (logical network address) сетевых объектов. В рамках большой объединенной сети каждый сетевой объект должен обладать уникальным логическим адресом. В формировании логического адреса участвуют два компонента: логический адрес сети, который является общим для всех объектов сети, и логический адрес сетевого объекта, который является уникальным для этого объекта. При формировании логического адреса сетевого объекта может либо использоваться физический адрес объекта, либо определяться произвольный логический адрес. Использование логической адресации позволяет организовать передачу данных между разными логическими сетями.

Каждый сетевой объект, каждый компьютер может выполнять много сетевых функций одновременно, обеспечивая работу различных сервисов. Для обращения к сервисам используется специальный идентификатор сервиса, который называется порт (port), или сокет (socket). При обращении к сервису идентификатор сервиса следует сразу за логическим адресом компьютера, обеспечивающего работу сервиса.

Во многих сетях резервируются группы логических адресов и идентификаторов сервисов с целью выполнения конкретных заранее определенных и общеизвестных действий. Например, в случае необходимости отправить данные всем сетевым объектам отправка будет произведена на специальный broadcast-адрес.

Сетевой уровень определяет правила передачи данных между двумя сетевыми объектами. Эта передача может осуществляться с использованием коммутации или маршрутизации.

Различают три метода коммутации при передаче данных: коммутация каналов, коммутация сообщений и коммутация пакетов.

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

Коммутация сообщений позволяет передавать целое (неразбитое на части) сообщение по принципу «сохранить и передать дальше» (store-and-forward). Каждое промежуточное устройство принимает сообщение, локально его сохраняет и при освобождении канала связи, по которому это сообщение должно быть отправлено, отправляет его. Этот метод хорошо подходит для передачи сообщений электронной почты и организации электронного документооборота.

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

Каждый раз при определении дальнейшего пути для данных необходимо выбрать наилучший маршрут. Задача определения наилучшего пути называется маршрутизацией (routing). Эту задачу выполняют маршрутизаторы (router). Задача маршрутизаторов - определение возможных путей передачи данных, поддержание маршрутной информации, выбор наилучших маршрутов. Маршрутизация может осуществляться статическим либо динамическим способом. При задании статической маршрутизации должны быть заданы все взаимосвязи между логическими сетями, которые остаются неизменными. Динамическая маршрутизация предполагает, что маршрутизатор может сам определять новые пути либо модифицировать информацию о старых. Динамическая маршрутизация использует специальные алгоритмы маршрутизации, наиболее распространенными из которых являются вектор дистанции (distance vector) и состояние канала (link state). В первом случае маршрутизатор использует информацию о структуре сети от соседних маршрутизаторов, из вторых рук. Во втором случае маршрутизатор оперирует информацией о собственных каналах связи и взаимодействует со специальным представительским маршрутизатором для построения полной карты сети.

На выбор наилучшего маршрута чаще всего влияют такие факторы, как количество переходов через маршрутизаторы (hop count) и количество тиков (единиц времени), необходимых для достижения сети назначения (tick count).

Сервис соединений сетевого уровня работает тогда, когда сервис соединений LLC-подуровня канального уровня модели OSI не используется.

При построении объединенной сети приходится соединять логические сети, построенные с использованием различных технологий и предоставляющие разнообразные сервисы. Для того чтобы сеть могла работать, логические сети должны уметь правильно интерпретировать данные и управляющую информацию. Эта задача решается с помощью шлюза, который представляет собой устройство, или прикладную программу, переводящую и интерпретирующую правила одной логической сети в правила другой. Вообще, шлюзы могут быть реализованы на любом уровне модели OSI, однако чаще всего они реализуются на верхних уровнях модели.

Транспортный уровень

Транспортный уровень позволяет спрятать физическую и логическую структуры сети от приложений верхних уровней модели OSI. Приложения работают только с сервисными функциями, которые достаточно универсальны и не зависят от физической и логической топологий сети. Особенности логической и физической сетей реализуются на предыдущих уровнях, куда транспортный уровень передает данные.

Транспортный уровень часто компенсирует отсутствие надежного или ориентированного на соединение сервиса соединений на нижних уровнях. Термин «надежный» (reliable) не означает, что все данные будут доставлены во всех случаях. Тем не менее надежные реализации протоколов транспортного уровня обычно могут подтверждать или отрицать доставку данных. Если данные не доставлены принимающему устройству правильно, транспортный уровень может осуществить повторную передачу или информировать верхние уровни о невозможности доставки. Верхние уровни могут затем предпринять необходимые корректирующие действия или обеспечить пользователя возможностью выбора.

Многие протоколы в вычислительных сетях обеспечивают пользователям возможность работы с простыми именами на естественном языке вместо сложных и тяжелых для запоминания алфавитно-цифровых адресов. Преобразование адресов в имена и обратно (Address/Name Resolution) является функцией идентификации или отображения имен и алфавитно-цифровых адресов друг в друга. Эта функция может выполняться каждым объектом в сети или поставщиками специального сервиса, называемыми каталоговыми серверами (directory server), серверами имен (name server) и т.п. Следующие определения классифицируют методы преобразования адресов/имен:

  • инициация потребителем сервиса;
  • инициация поставщиком сервиса.

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

Методы адресации

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

  • идентификатор соединения;
  • идентификатор транзакции.

Идентификатор соединения (connection identifier), также называемый ID соединения (connection ID), портом (port), или сокетом (socket), идентифицирует каждый диалог. С помощью идентификатора соединения поставщик соединения может связываться более чем с одним клиентом. Поставщик сервиса обращается к каждому объекту коммутации по его номеру, а для координации других адресов нижнего уровня полагается на транспортный уровень. Идентификатор соединения связан с конкретным диалогом.

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

Сеансовый уровень

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

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

Сеансовый уровень также инициирует диалоги между устройствами-поставщиками сервиса и устройствами-потребителями. Выполняя эту функцию, сеансовый уровень часто осуществляет представление, или идентификацию, каждого объекта и координирует права доступа к нему.

Сеансовый уровень реализует управление диалогом с использованием одного из трех способов общения - симплекс (simplex), полудуплекс (half duplex) и полный дуплекс (full duplex).

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

Администрирование сеанса связи между двумя сетевыми объектами, состоящее из установления соединения, передачи данных, завершения соединения, также выполняется на этом уровне модели OSI. После установления сеанса программное обеспечение, реализующее функции данного уровня, может проверять работоспособность (поддерживать) соединения вплоть до его завершения.

Уровень представления данных

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

Под преобразованием понимается изменение порядка битов в байтах, порядка байтов в слове, кодов символов и синтаксиса имен файлов.

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

Для того чтобы пользователи различных операционных систем могли получать информацию в виде файлов с корректными именами и содержимым, этот уровень обеспечивает корректное преобразование синтаксиса файлов. Различные операционные системы по-разному работают со своими файловыми системами, реализуют разные способы формирования имен файлов. Информация в файлах также хранится в определенной кодировке символов. При взаимодействии двух сетевых объектов важно, чтобы каждый из них мог интерпретировать файловую информацию по-своему, но смысл информации изменяться не должен.

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

Компьютеры используют различные правила представления данных с помощью двоичных нулей и единиц. Несмотря на то что все эти правила пытаются достичь общей цели - представить данные, понятные человеку, производители компьютеров и стандартизирующие организации создали правила, противоречащие друг другу. Когда два компьютера, использующие различные наборы правил, пытаются связаться друг с другом, им часто бывает необходимо выполнить некоторые преобразования.

Локальные и сетевые операционные системы часто шифруют данные для защиты их от несанкционированного использования. Шифрование - это общий термин, который описывает некоторые методы защиты данных. Защита зачастую выполняется с помощью перемешивания данных (data scrambling), при котором используется один или несколько методов из трех: перестановка, подстановка, алгебраический метод.

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

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

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

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

Прикладной уровень

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

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

При осуществлении активного представления сервиса (Active service advertisement) каждый сервер периодически посылает сообщения (включающие адреса сервиса), объявляя о своей доступности. Клиенты также могут опрашивать сетевые устройства в поисках определенного типа сервиса. Клиенты сети собирают представления, сделанные серверами, и формируют таблицы доступных в настоящее время видов сервиса. Большинство сетей, использующих метод активного представления, определяют также конкретный период действия представлений сервиса. Например, если сетевой протокол определяет, что представления сервиса должны посылаться каждые пять минут, то клиенты будут удалять по тайм-ауту те виды сервиса, которые не были представлены в течение последних пяти минут. По истечении тайм-аута клиент удаляет сервис из своих таблиц.

Серверы осуществляют пассивное представление сервиса (Passive service advertisement) путем регистрации своего сервиса и адреса в каталоге. Когда клиенты хотят определить доступные виды сервиса, они просто запрашивают каталог о местоположении нужного сервиса и об его адресе.

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

  • перехват вызовов операционной системы;
  • удаленный режим;
  • совместная обработка данных.

При использовании перехвата вызовов ОС (OC Call Interception) локальная операционная система совершенно не подозревает о существовании сетевого сервиса. Например, когда приложение DOS пытается читать файл с сетевого файл-сервера, оно считает, что данный файл находится на локальном накопителе. В действительности специальный фрагмент программного обеспечения перехватывает запрос на чтение файла прежде, чем он достигнет локальной операционной системы (DOS), и направляет запрос сетевому файловому сервису.

В другом крайнем случае, при удаленном режиме (Remote Operation) работы локальная операционная система знает о сети и ответственна за передачу запросов к сетевому сервису. Однако сервер ничего не знает о клиенте. Для операционной системы сервера все запросы к сервису выглядят одинаково, независимо от того, являются ли они внутренними или переданы по сети.

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

КомпьютерПресс 6"1999

МОДЕМНЫЕ ПРОТОКОЛЫ ФИЗИЧЕСКОГО УРОВНЯ

Телекоммyникации - наиболее динамично развивающаяся отрасль в мире. Актyальность этой отрасли именно для нашей страны в силу ее размеров и традиционных проблем с устойчивостью и управляемостью трyдно переоценить. С другой стороны, неразвитость, к сожалению, современных каналов связи не позволяет в полной мере воспользоваться мировыми достижениями в области высокоскоростных цифровых систем передачи информации. И потому модемы для коммутируемых телефонных каналов связи остаются и, думаю, еще долго будут оставаться наиболее широко распространенным средством информационных коммуникаций. К тому же, судя по энтузиазму, с которым ведущие зарубежные фирмы-производители телекоммуникационного оборудования взялись за разработку и производство модемов по новому стандарту V.34, интерес к модемной тематике не скоро угаснет и в более благополучных в смысле коммуникационной инфраструктуры странах.

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


Скорость

Аналоговые каналы тональной частоты характеризуются тем, что спектр передаваемого по ним сигнала ограничен диапазоном от 300 Гц до 3400 Гц. Причины, по которым такое ограничение имеет место, пусть останутся за рамками данной статьи. Примем это как данность. Именно это ограничение спектра и является основной преградой в использовании телефонных каналов для высокоскоростной передачи цифровой информации. Человек, знакомый с трудами Найквиста, без сомнения укажет нам, что скорость передачи информации по каналу с ограниченным спектром не может превосходить ширины этого спектра, т. е. 3100 бод в нашем случае. Но как же тогда быть с модемами, передающими информацию со скоростями 4800, 9600, 14400 бит/с и даже больше? Ответ напрашивается сам: в аналоговой технике передачи данных бод и бит/с не есть одно и то же. Для прояснения этого тезиса стоит рассмотреть внимательнее физический уровень работы модема.

Электрический сигнал, распространяющийся по каналу, характеризуется тремя параметрами - амплитудой, частотой и фазой. Именно изменение одного из этих параметров, или даже совместно некоторой их совокупности в зависимости от значений информационных бит и составляет физическую сущность процесса модуляции. Каждому информационному элементу соответствует фиксированный отрезок времени, на котором электрический сигнал имеет определенные значения своих параметров, характеризующих значение этого информационного элемента. Этот отрезок времени называют бодовым интервалом. Если кодируемый элемент соответствует одному биту информации, который может принимать значение 0 или 1, то на бодовом интервале параметры сигнала соответственно могут принимать одну из двух предопределенных совокупностей значений амплитуды, частоты и фазы. В этом случае модуляционная скорость (еще ее называют линейной или бодовой) равна информационной, т. е. 1 бод = 1 бит/с. Но кодируемый элемент может соответствовать не одному, а, например, двум битам информации. В этом случае информационная скорость будет вдвое превосходить бодовую, а параметры сигнала на бодовом интервале могут принимать одну из четырех совокупностей значений, соответствующих 00, 01, 10 или 11.

В общем случае, если на бодовом интервале кодируется n бит, то информационная скорость будет превосходить бодовую в n раз. Но количество возможных состояний сигнала в трехмерном (в общем случае) пространстве - амплитуда, частота, фаза - будет равно 2**n. Это значит, что демодулятор модема, получив на бодовом интервале некий сигнал, должен будет сравнить его с 2**n эталонными сигналами и безошибочно выбрать один из них для декодирования искомых n бит. Таким образом, с увеличением емкости кодирования и ростом информационной скорости относительно бодовой, расстояние в сигнальном пространстве между двумя соседними точками сокращается в степенной прогрессии. А это, в свою очередь, накладывает все более жесткие требования к "чистоте" канала передачи. Теоретически возможная скорость в реальном канале определяется известной формулой Шеннона:

V = F log (1+S/N),

где F - ширина полосы пропускания канала, S/N - отношение сигнал/шум.

Второй сомножитель и определяет возможности канала с точки зрения его зашумленности по достоверной передаче сигнала, кодирующего не один бит информации в бодовом интервале. Так, например, если отношение сигнал/шум соответствует 20 dB, т. е. мощность сигнала, доходящего до удаленного модема, в 100 раз превосходит мощность шума, и используется полная полоса канала тональной частоты (3100 Гц), максимальная граница по Шеннону равна 20640 бит/с.

Модуляция

Говоря о видах модуляции, ограничимся только теми, которые реально используются в модемах. А таких на самом деле всего три: частотная, фазоразностная и многопозиционная амплитудно-фазовая модуляция. Все остальные - не более, чем вариации этих трех.


При частотной модуляции (FSK, Frequency Shift Keying) значениям 0 и 1 информационного бита соответствуют свои частоты физического сигнала при неизменной его амплитуде. Частотная модуляция весьма помехоустойчива, поскольку искажению при помехах подвергается в основном амплитуда сигнала, а не частота. При этом достоверность демодуляции, а значит и помехоустойчивость тем выше, чем больше периодов сигнала попадает в бодовый интервал. Но увеличение бодового интервала по понятным причинам снижает скорость передачи информации. С другой стороны, необходимая для этого вида модуляции ширина спектра сигнала может быть значительно уже всей полосы канала. Отсюда вытекает область применения FSK - низкоскоростные, но высоконадежные стандарты, позволяющие осуществлять связь на каналах с большими искажениями амплитудно-частотной характеристики, или даже с усеченной полосой пропускания.

При фазоразностной модуляции (DPSK, Differential Phase Shift Keying) изменяемым в зависимости от значения информационного элемента параметром является фаза сигнала при неизменных амплитуде и частоте. При этом каждому информационному элементу ставится в соответствие не абсолютное значение фазы, а ее изменение относительно предыдущего значения. Если информационный элемент есть дибит, то в зависимости от его значения (00, 01, 10 или 11) фаза сигнала может измениться на 90, 180, 270 градусов или не измениться вовсе. Из теории информации известно, что фазовая модуляция наиболее информативна, однако увеличение числа кодируемых бит выше трех (8 позиций поворота фазы) приводит к резкому снижению помехоустойчивости. Поэтому на высоких скоростях применяются комбинированные амплитудно-фазовые методы модуляции.

Многопозиционную амплитудно-фазовую модуляцию называют еще квадратурной амплитудной модуляцией (QAM, Quadrature Amplitude Modulation). Здесь помимо изменения фазы сигнала используется манипуляция его амплитудой, что позволяет увеличивать число кодируемых бит. В настоящее время используются модуляции, в которых количество кодируемых на одном бодовом интервале информационных бит может доходить до 8, а, соответственно, число позиций сигнала в сигнальном пространстве - до 256. Однако, применение многоточечной QAM в чистом виде сталкивается с серьезными проблемами, связанными с недостаточной помехоустойчивостью кодирования. Поэтому во всех современных высокоскоростных протоколах используется разновидность этого вида модуляции, т. н. модуляция с решетчатым кодированием или треллис-кодированием (TCM, Trellis Coded Modulation), которая позволяет повысить помехозащищенность передачи информации - снизить требования к отношению сигнал/шум в канале на величину от 3 до 6 дБ. Суть этого кодирования заключается в введении избыточности. Пространство сигналов расширяется вдвое путем добавления к информационным битам еще одного, который образуется посредством сверточного кодирования над частью информационных бит и введения элементов запаздывания. Расширенная таким образом группа подвергается все той же многопозиционной амплитудно-фазовой модуляции. В процессе демодуляции принятого сигнала производится его декодирование по весьма изощренному алгоритму Виттерби, позволяющему за счет введенной избыточности и знания предистории выбрать по критерию максимального правдоподобия из сигнального пространства наиболее достоверную точку и, тем самым, определить значения информационных бит.

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

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

Если же необходимо обеспечивать дуплекс при работе по двухпроводной линии, то приходится использовать другие способы. Одним из них является частотное разделение каналов. Вся полоса пропускания канала разделяется на два частотных подканала, по каждому из которых производится передача в одном направлении. Выбор подканала передачи осуществляется на этапе установки соединения и, как правило, однозначно связан с ролью модема в сеансе связи: вызывающий или отвечающий. Очевидно, что этот метод не позволяет использовать возможности канала в полном объеме ввиду значительного сужения полосы пропускания. Тем более, что для исключения проникновения боковых гармоник в соседний подканал, разносить их приходится со значительным "зазором", в результате чего частотные подканалы занимают отнюдь не половину полного спектра. Соответственно (см. формулу Шеннона), данный метод обеспечения дуплексной связи ограничивает скорость передачи информации. Существующие протоколы физического уровня, использующие частотное разделение каналов, обеспечивают симметричную дуплексную связь со скоростями, не превышающими 2400 бит/с.

Оговорка про симметричный дуплекс не случайна. Дело в том, что ряд протоколов обеспечивают и более скоростную связь, но в одном направлении, в то время как обратный канал - значительно медленнее. Разделение частот в этом случае осуществляется на неравные по ширине полосы пропускания подканалы. Эта разновидность дуплексной связи называется асимметричной.

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

Наконец, стоит отметить, что многие протоколы и не пытаются обеспечить дуплексную связь. Это так называемые полудуплексные протоколы. В частности, все протоколы, предназначенные для факсимильной связи - полудуплексные. В этом случае в каждый момент времени информация передается только в одну сторону. По окончании приема/передачи некоторой порции информации оба модема (факса) синхронно переключают направление передачи данных (ping-pong). Ввиду отсутствия проблем с взаимным проникновением подканалов передачи, а также с эхо-отражением, полудуплексные протоколы в общем случае характеризуются большей помехоустойчивостью и возможностью использования всей ширины полосы пропускания канала. Однако эффективность использования канала для передачи данных по сравнению с дуплексными протоколами ниже. Связано это прежде всего с тем, что практически все протоколы передачи данных, как канального уровня (MNP, V.42), так и уровня передачи файлов (X, Y, Zmodem, не говоря уже о протоколах типа BiDirectional), требуют двустороннего обмена, по крайней мере для подтверждения принятой информации. А любое переключение направления передачи, помимо невозможности в данный момент передавать очередную порцию пользовательской информации, требует дополнительных накладных расходов по времени на взаимную пересинхронизацию приемной и передающей сторон.

Общеупотребительные модемные протоколы ITU-T

Это дуплексный протокол с частотным разделением каналов и частотной же модуляцией FSK. На нижнем канале (его обычно использует для передачи вызывающий модем) "1" передается частотой 980 Гц, а "0" - 1180 Гц. На верхнем канале (передает отвечающий) "1" передается частотой 1650 Гц, а "0" - 1850 Гц. Модуляционная и информационная скорости равны - 300 бод, 300 бит/с. Несмотря на невысокую скорость, данный протокол находит применение прежде всего в качестве "аварийного", при невозможности вследствие высокого уровня помех использовать другие протоколы физического уровня. Кроме того, ввиду своей неприхотливости и помехоустойчивости, он используется в специальных высокоуровневых приложениях, требующих высокой надежности передачи. Например, при установке соединения между модемами по новой Рекомендации V.8, или для передачи управляющих команд при факсимильной связи (верхний канал).

Это дуплексный протокол с частотным разделением каналов и модуляцией DPSK. Несущая частота нижнего канала (передает вызывающийГц, верхнего (передает отвечающийГц. Модуляционная скорость - 600 бод. Имеет режимы двухпозиционной (кодируется бит) и четырехпозиционной (дибит) фазоразностной модуляции с фазовым расстоянием между точками, соответственно, в 180 и 90 град. Соответственно, информационная скорость может быть 600 или 1200 бит/с. Этот протокол фактически поглощен протоколом V.22bis.

Это дуплексный протокол с частотным разделением каналов и модуляцией QAM. Несущая частота нижнего канала (передает вызывающийГц, верхнего - 2400 Гц. Модуляционная скорость - 600 бод. Имеет режимы четырехпозиционной (кодируется дибит) и шестнадцатипозиционной (кодируется квадробит) квадратурной амплитудной модуляции. Соответственно, информационная скорость может быть 1200 или 2400 бит/с. Режим 1200 бит/с полностью совместим с V.22, несмотря на другой тип модуляции. Дело в том, что первые два бита в режиме 16-QAM (квадробит) определяют изменение фазового квадранта относительно предыдущего сигнального элемента и потому за амплитуду не отвечают, а последние два бита определяют положение сигнального элемента внутри квадранта с вариацией амплитуды. Таким образом, DPSK можно рассматривать как частный случай QAM, где два последних бита не меняют своих значений. В результате из шестнадцати позиций выбираются четыре в разных квадрантах, но с одинаковым положением внутри квадранта, в том числе и с одинаковой амплитудой. Протокол V.22bis является стандартом де-факто для всех среднескоростных модемов.

Это дуплексный протокол с эхо-подавлением и квадратурной амплитудной модуляцией или модуляцией с решетчатым кодированием. Частота несущего сигнала - 1800 Гц, модуляционная скорость - 2400 бод. Таким образом, используется спектр шириной от 600 до 3000 Гц. Имеет режимы двухпозиционной (бит), четырехпозиционной (дибит) и шестнадцатипозиционной (квадробит) QAM. Соответственно, информационная скорость может быть 2400, 4800 и 9600 бит/с. Кроме того, для скорости 9600 бит/с имеет место альтернативная модуляция - 32-позиционная TCM.

Это дуплексный протокол с эхо-подавлением и модуляцией TCM. Используются те же, что в V.32, частота несущего сигнала - 1800 Гц, и модуляционная скорость - 2400 бод. Имеет режимы 16-TCM, 32-TCM, 64-TCM и 128-TCM. Соответственно, информационная скорость может быть 7200, 9600, 12000 и 14400 бит/с. Режим 32-TCM полностью совместим с соответствующим режимом V.32. Протокол V.32bis является стандартом де-факто для всех скоростных модемов.

Экзотические модемные протоколы ITU-T

Это полудуплексный протокол с частотной модуляцией FSK. В нем имеется два скоростных режима: 600 бит/с и 1200 бит/с. Модуляционная и информационная скорости равны: соответственно, 600 и 1200 бод. В обоих режимах "1" передается частотой 1300 Гц. В режиме 600 бит/с "0" передается частотой 1700 Гц, а в режиме 1200 бит/с - частотой 2100 Гц. Реализация протокола опционально может включать обратный канал, работающий на скорости 75 бит/с, что превращает протокол в асимметричный дуплексный. Частота передачи "1" в обратном канале - 390 Гц, "0" - 450 Гц. Этот протокол практически вышел из употребления в качестве стандартного протокола межмодемной связи, и далеко не всякий стандартный модем им оснащен. Однако, он служил и до сих пор остается базовым для реализации нестандартных модемов, получивших широкое распространение в нашей стране (типа LEXAND). Видимо, благодаря простоте, высокой помехоустойчивости и приличной (по сравнению с V.21) скорости. Кроме того, в ряде европейских стран этот протокол применяется в информационной системе Videotex.

V.26, V.26bis, V.26ter

Эти три протокола объединяет тип модуляции - DPSK, частота несущей - 1800 Гц и модуляционная скорость - 1200 бод. Разница между ними заключается в возможности и способах обеспечения дуплексной связи и в информационной скорости. V.26 обеспечивает дуплекс только по четырехпроводной выделенной линии, V.26bis - это полудуплексный протокол, предназначенный для работы по двухпроводной коммутируемой линии, а V.26ter обеспечивает полный дуплекс с помощью технологии эхо-подавления. Кроме того, первые два протокола могут быть асимметричными дуплексными, опционально включая обратный канал, работающий на скорости 75 бит/с в соответствии с V.23. Все три протокола обеспечивают скорость передачи информации 2400 бит/с посредством четырехпозиционной (дибит) DPSK. V.26bis и V.26ter, кроме того, имеют режим двухпозиционной (бит) DPSK, обеспечивая скорость 1200 бит/с.

В этом протоколе используется модуляция с решетчатым кодированием TCM. Он предназначен для обеспечения дуплексной связи на четырехпроводных выделенных каналах. Имеет частоту несущего сигнала 1800 Гц, и модуляционную скорость 2400 бод. Работает в режимах 64-TCM и 128-TCM. Соответственно, информационная скорость может быть 12000 и 14400 бит/с. Этот протокол очень напоминает V.32bis без эхо-подавления. Более того, если модем с протоколом V.33 установить на четырехпроводное окончание до дифференциальной системы АТС, то он вполне сможет связаться с удаленным модемом V.32bis, установленным на двухпроводной линии.

Общеупотребительные факс-протоколы ITU-T

В этом протоколе применяется фазоразностная модуляция с частотой несущего сигнала 1800 Гц. Могут использоваться два режима с разными информационными скоростями: 2400 и 4800 бит/с. Информационная скорость 2400 бит/с достигается модуляционной скоростью 1200 бод и кодированием дибита (4-позиционный DPSK), а 4800 бит/с - скоростью 1600 бод и кодированием трибита (8-позиционный DPSK). Стоит отметить, что существуют еще малоупотребительные модемные протоколы данного семейства - V.27 и V.27bis, которые отличаются от V.27ter, главным образом, типом канала (выделенный четырехпроводный), для которого они предназначены.

В этом протоколе применяется квадратурная амплитудная модуляция. Частота несущего сигнала - 1700 Гц, модуляционная скорость - 2400 бод. Имеет режимы 8-позиционной (трибит) и 16-позиционной (квадробит) QAM. Соответственно, информационная скорость может быть 7200 и 9600 бит/с.

Этот протокол по своим параметрам очень напоминает V.32bis. В нем используется модуляция с решетчатым кодированием. Частота несущего сигнала - 1800 Гц, и модуляционная скорость - 2400 бод. Имеет режимы 16-TCM, 32-TCM, 64-TCM и 128-TCM. Соответственно, информационная скорость может быть 7200, 9600, 12000 и 14400 бит/с.

Нестандартные модемные протоколы

Этот протокол, разработанный фирмой AT&T, является открытым для реализации разработчиками модемов. В частности, помимо БИС фирмы AT&T, данный протокол реализован в некоторых модемах фирмы U. S.Robotics. Протокол фактически является механическим развитием технологии V.32bis: дуплекс с эхо-подавлением, модуляция с решетчатым кодированием, модуляционная скорость - 2400 бод, несущая - 1800 Гц, расширение информационных скоростей значениями 16800 и 19200 бит/с за счет 256-TCM и 512-TCM. Следствием такого подхода является весьма жесткие требования, предъявляемые данным протоколом к линии. Так, например, для устойчивой работы на скорости 19200 бит/с отношение сигнал/шум должно быть не менее 30 dB.

Протокол разработан фирмой ZyXEL Coммunications Corporation и реализован в собственных модемах. Этот протокол также, как и V.32terbo, расширяет V.32bis значениями информационных скоростей 16800 и 19200 бит/с с сохранением технологии эхо-подавления, модуляции с треллис-кодированием и несущей 1800 Гц. Модуляционная же скорость 2400 бод сохраняется лишь для 16800 бит/с. Скорость 19200 бит/с обеспечивается повышением модуляционной скорости до 2743 бод при сохранении режима модуляции 256-TCM для обоих скоростей. Такое решение позволяет снизить требование к отношению сигнал/шум на линии на 2.4 dB, однако расширение полосы пропускания может негативно сказываться при больших искажениях амплитудно-частотной характеристики канала.

Протокол HST (High Speed Technology) разработан фирмой U. S.Robotics и реализован в модемах фирмы серии Courier. Это асимметричный дуплексный протокол с частотным разделением каналов. Обратный канал имеет режимы 300 и 450 бит/с. Основной канал - 4800, 7200, 9600, 12000, 14400 и 16800 бит/с. Применяется модуляция с решетчатым кодированием и модуляционной скоростью 2400 бод. Характеризуется сравнительной простотой и высокой помехоустойчивостью вследствие отсутствия необходимости в эхо-компенсации и отсутствия же взаимовлияния каналов.

Полудуплексные протоколы семейства PEP (Packetized Ensemble Protocol) разработаны фирмой Telebit и реализованы в модемах фирмы серий TrailBlazer (PEP) и WorldBlazer (TurboPEP). В этих протоколах принципиально иным образом используется вся полоса пропускания канала тональной частоты для высокоскоростной передачи данных. Весь канал разбивается на множество узкополосных частотных подканалов, по каждому из которых независимо передается своя порция бит из общего потока информации. Такого рода протоколы называют многоканальными, или параллельными, или протоколами с множеством несущих (multicarrier). В протоколе PEP канал разбивается на 511 подканалов. В каждом подканале шириной около 6 Гц с модуляционной скоростью от 2 до 6 бод с помощью квадратурной амплитудной модуляции кодируются от 2 до 6 бит на бод. Имеется несколько степеней свободы для обеспечения максимальной пропускной способности каждого конкретного канала, имеющего свои характеристики по части искажений и помеховой обстановки. В процессе установки соединения каждый частотный подканал независимо тестируется и определяется возможность его использования, а также параметры: модуляционная скорость подканала и число позиций модуляции. Максимальная скорость передачи по протоколу PEP может достигать 19200 бит/с. В процессе сеанса при ухудшении помеховой обстановки параметры подканалов могут меняться, а некоторые подканалы - отключаться. При этом декремент понижения скорости не превышает 100 бит/с. Протокол TurboPEP за счет увеличения числа подканалов, а также количества кодируемых на одном бодовом интервале бит, может достигать скорости 23000 бит/с. Кроме того, в протоколе TurboPEP применяется модуляция с треллис-кодированием, что увеличивает помехоустойчивость протокола.

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

И, напоследок

Практически полное отсутствие упоминания о последних достижениях в области сверхскоростной передачи данных по телефонным каналам - проекты V. fast разных фирм, V. FC фирмы Rockwell International и, наконец, Рекомендация V.34 ITU-T - в обзоре модемных протоколов физического уровня может показаться вызывающим. Однако, если лишь только слегка затронуть тему V.34, выяснится, что это не просто очередной шаг на пути увеличения скорости модемной связи, а огромный революционный прорыв в стремлении выбрать все резервы канала тональной частоты. Прорыв, некоторым образом, в мировоззрении, демонстрирующий общесистемный подход к проблеме, и опирающийся на резкий технологический скачок в инструментальных средствах, что позволяет приблизиться максимально близко к теоретическому пределу Шеннона. И потому тема эта достойна отдельной статьи...

Александр Пасковатый, "Аналитик-ТелекомСистемы"

Эти четыре пары кабеля UTP категории 5 образуют канал, по которому со скоростью 1000 Мбит в секунду данные могут передаваться в обоих направлениях. Поскольку максимальная допустимая скорость передачи данных по кабелю UTP категории 5 составляет не более 125 МГц, канал 1000 Base T должен обеспечивать передачу 8 бит данных в каждый период изменения сигнала (8 нс).

4) Протокол сетевого уровня (англ. Network layer ) - протокол 3-го уровня сетевой модели OSI, предназначается для определения пути передачи данных. Отвечает за трансляцию логических адресов и имён в физические, определение кратчайших маршрутов, коммутацию имаршрутизацию, отслеживание неполадок и заторов в сети. На этом уровне работает такое сетевое устройство, как маршрутизатор.

В пределах семантики иерархического представления модели OSI Сетевой уровень отвечает на запросы обслуживания от Транспортного уровня и направляет запросы обслуживания на Канальный уровень.

Протоколы сетевого уровня маршрутизируют данные от источника к получателю и могут быть разделены на два класса: протоколы с установкой соединения и без него.

· Протоколы с установкой соединения начинают передачу данных с вызова или установки маршрута следования пакетов от источника к получателю. После чего начинают последовательную передачу данных и затем по окончании передачи разрывают связь.

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

Функции Сетевого уровня:

· модели соединения: с установкой соединения и без установки соединения

Сетевой уровень модели OSI может быть как с установкой соединения, так и без него. Для сравнения - Межсетевой уровень (англ. internet ) стека протоколовМодели DoD (Модель TCP/IP) поддерживает только протокол IP, который является протоколом без установки соединения; протоколы с установкой соединения находятся на следующих уровнях этой модели.

· адрес, присвоенный сетевому узлу

Каждый хост в сети должен иметь уникальный адрес, который определяет, где он находится. Этот адрес обычно назначается из иерархической системы. В Интернете адреса известны как адреса протокола IP.


· продвижение данных

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

ICMP (англ. Internet Control Message Protocol - протокол межсетевых управляющих сообщений ) - сетевой протокол, входящий в стек протоколов TCP/IP. В основном ICMP используется для передачи сообщений об ошибках и других исключительных ситуациях, возникших при передаче данных, например, запрашиваемая услуга недоступна, или хост, илимаршрутизатор не отвечают. Также на ICMP возлагаются некоторые сервисные функции.

ICMP-сообщения (тип 12) генерируются при нахождении ошибок в заголовке IP-пакета (за исключением самих ICMP-пакетов, дабы не привести к бесконечно растущему потоку ICMP-сообщений об ICMP-сообщениях).

ICMP-сообщения (тип 3) генерируются маршрутизатором при отсутствии маршрута к адресату.

Утилита Ping, служащая для проверки возможности доставки IP-пакетов, использует ICMP-сообщения с типом 8 (эхо-запрос) и 0 (эхо-ответ).

Утилита Traceroute, отображающая путь следования IP-пакетов, использует ICMP-сообщения с типом 11.

ICMP-сообщения с типом 5 используются маршрутизаторами для обновления записей в таблице маршрутизации отправителя.

ICMP-сообщения с типом 4 используются получателем (или маршрутизатором) для управления скоростью отправки сообщений отправителем.

5) Транспортный уровень (англ. Transport layer ) - 4-й уровень сетевой модели OSI, предназначен для доставки данных. При этом не важно, какие данные передаются, откуда и куда, то есть, он предоставляет сам механизм передачи. Блоки данных он разделяет на фрагменты, размер которых зависит от протокола, короткие объединяет в один, а длинные разбивает. Протоколы этого уровня предназначены для взаимодействия типа точка-точка. Пример: TCP, UDP, SCTP.

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

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

UDP (англ. User Datagram Protocol - протокол пользовательских датаграмм) - один из ключевых элементов Transmission Control Protocol/Internet Protocol, набора сетевых протоколов для Интернета. С UDP компьютерные приложения могут посылать сообщения (в данном случае называемые датаграммами) другим хостам по IP-сети без необходимости предварительного сообщения для установки специальных каналов передачи или путей данных. Протокол был разработан Дэвидом П. Ридом в 1980 году и официально определён в RFC 768.

UDP использует простую модель передачи, без неявных «рукопожатий» для обеспечения надёжности, упорядочивания или целостности данных. Таким образом, UDP предоставляет ненадёжный сервис, и датаграммы могут прийти не по порядку, дублироваться или вовсе исчезнуть без следа. UDP подразумевает, что проверка ошибок и исправление либо не нужны, либо должны исполняться в приложении. Чувствительные ко времени приложения часто используют UDP, так как предпочтительнее сбросить пакеты, чем ждать задержавшиеся пакеты, что может оказаться невозможным в системах реального времени. При необходимости исправления ошибок на сетевом уровне интерфейса приложение может задействовать TCP или SCTP, разработанные для этой цели.

Природа UDP как протокола без сохранения состояния также полезна для серверов, отвечающих на небольшие запросы от огромного числа клиентов, например DNS и потоковые мультимедийные приложения вроде IPTV, Voice over IP, протоколы туннелирования IP и многие онлайн-игры.

Физический уровень (Physical layer) имеет дело с передачей битов по физическим каналам связи, таким, как коаксиальный кабель, витая пара, оптоволоконный кабель или цифровой территориальный канал. К этому уровню имеют отношение характеристики физических сред передачи данных, такие как полоса пропускания, помехозащищенность, волновое сопротивление и другие. На этом же уровне определяются характеристики электрических сигналов , передающих дискретную информацию, такую как крутизна фронтов импульсов, уровни напряжения или тока передаваемого сигнала, тип кодирования , скорость передачи сигналов. Кроме того, здесь стандартизируются типы разъемов и назначение каждого контакта.

Физический уровень :

    передача битов по физическим каналам ;

    формирование электрических сигналов ;

    кодирование информации;

    синхронизация ;

    модуляция .

Реализуется аппаратно.

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

Примером протокола физического уровня может служить спецификация 10Base-T технологии Ethernet, которая определяет в качестве используемого кабеля неэкранированную витую пару категории 3 с волновым сопротивлением 100 Ом, разъем RJ-45, максимальную длину физического сегмента 100 метров, манчестерский код для представления данных в кабеле, а также некоторые другие характеристики среды и электрических сигналов .

Канальный уровень

На физическом уровне просто пересылаются биты . При этом не учитывается, что в тех сетях, в которых линии связи используются (разделяются) попеременно несколькими парами взаимодействующих компьютеров, физическая среда передачи может быть занята. Поэтому одной из задач канального уровня (Data Link layer ) является проверка доступности среды передачи . Другая задача канального уровня - реализация механизмов обнаружения и коррекции ошибок . Для этого на канальном уровне биты группируются в наборы, называемые кадрами (frames ). Канальный уровень обеспечивает корректность передачи каждого кадра помещая специальную последовательность бит в начало и конец каждого кадра , для его выделения, а также вычисляет контрольную сумму , обрабатывая все байты кадра определенным способом, и добавляет контрольную сумму к кадру . Когда кадр приходит по сети, получатель снова вычисляет контрольную сумму полученных данных и сравнивает результат с контрольной суммой из кадра . Если они совпадают, кадр считается правильным и принимается. Если же контрольные суммы не совпадают, то фиксируется ошибка. Канальный уровень может не только обнаруживать ошибки, но и исправлять их за счет повторной передачи поврежденных кадров . Необходимо отметить, что функция исправления ошибок для канального уровня не является обязательной, поэтому в некоторых протоколах этого уровня она отсутствует, например в Ethernet и frame relay.

Функции канального уровня

Надежная доставка пакета :

    Между двумя соседними станциями в сети с произвольной топологией.

    Между любыми станциями в сети с типовой топологией:

    проверка доступности разделяемой среды;

    выделение кадров из потока данных, поступающих по сети; формирование кадров при отправке данных;

    подсчет и проверка контрольной суммы .

Реализуются программно-аппаратно.

В протоколах канального уровня , используемых в локальных сетях, заложена определенная структура связей между компьютерами и способы их адресации . Хотя канальный уровень и обеспечивает доставку кадра между любыми двумя узлами локальной сети, он это делает только в сети с определенной топологией связей, именно той топологией, для которой он был разработан. К таким типовым топологиям, поддерживаемым протоколами канального уровня локальных сетей, относятся "общая шина", "кольцо" и "звезда", а также структуры, полученные из них с помощью мостов и коммутаторов . Примерами протоколов канального уровня являются протоколы Ethernet, Token Ring, FDDI, 100VG-AnyLAN.

В локальных сетях протоколы канального уровня используются компьютерами, мостами , коммутаторами и маршрутизаторами . В компьютерах функции канального уровня реализуются совместными усилиями сетевых адаптеров и их драйверов .

В глобальных сетях, которые редко обладают регулярной топологией, канальный уровень часто обеспечивает обмен сообщениями только между двумя соседними компьютерами, соединенными индивидуальной линией связи. Примерами протоколов "точка-точка" (как часто называют такие протоколы) могут служить широко распространенные протоколы PPP и LAP-B. В таких случаях для доставки сообщений между конечными узлами через всю сеть используются средства сетевого уровня . Именно так организованы сети X.25. Иногда в глобальных сетях функции канального уровня в чистом виде выделить трудно, так как в одном и том же протоколе они объединяются с функциями сетевого уровня . Примерами такого подхода могут служить протоколы технологий ATM и frame relay.

В целом канальный уровень представляет собой весьма мощный набор функций по пересылке сообщений между узлами сети. В некоторых случаях протоколы канального уровня оказываются самодостаточными транспортными средствами, и тогда поверх них могут работать непосредственно протоколы прикладного уровня или приложения, без привлечения средств сетевого и транспортного уровней. Например, существует реализация протокола управления сетью SNMP непосредственно поверх Ethernet, хотя стандартно этот протокол работает поверх сетевого протокола IP и транспортного протокола UDP. Естественно, что применение такой реализации будет ограниченным - она не подходит для составных сетей разных технологий, например Ethernet и X.25, и даже для такой сети, в которой во всех сегментах применяется Ethernet, но между сегментами существуют петлевидные связи. А вот в двухсегментной сети Ethernet, объединенной мостом , реализация SNMP над канальным уровнем будет вполне работоспособна.

Тем не менее, для обеспечения качественной транспортировки сообщений в сетях любых топологий и технологий функций канального уровня оказывается недостаточно, поэтому в модели OSI решение этой задачи возлагается на два следующих уровня - сетевой и транспортный.

Канальный уровень обеспечивает передачу пакетов данных, поступающих от протоколов верхних уровней, узлу назначения, адрес которого также указывает протокол верхнего уровня. Протоколы канального уровня оформляют переданные им пакеты в кадры собственного формата, помещая указанный адрес назначения в одно из полей такого кадра , а также сопровождая кадр контрольной суммой . Протокол канального уровня имеет локальный смысл, он предназначен для доставки кадров данных, как правило, в пределах сетей с простой топологией связей и однотипной или близкой технологией, например в односегментных сетях Ethernet или же в многосегментных сетях Ethernet и Token Ring иерархической топологии, разделенных только мостами и коммутаторами . Во всех этих конфигурациях адрес назначения имеет локальный смысл для данной сети и не изменяется при прохождении кадра от узла-источника к узлу назначения. Возможность передавать данные между локальными сетями разных технологий связана с тем, что в этих технологиях используются адреса одинакового формата, к тому же производители сетевых адаптеров обеспечивают уникальность адресов независимо от технологии.

Другой областью действия протоколов канального уровня являются связи типа "точка-точка" глобальных сетей, когда протокол канального уровня ответственен за доставку кадра непосредственному соседу. Адрес в этом случае не имеет принципиального значения, а на первый план выходит способность протокола восстанавливать искаженные и утерянные кадры , так как плохое качество территориальных каналов, особенно коммутируемых телефонных, часто требует выполнения подобных действий. Если же перечисленные выше условия не соблюдаются, например связи между сегментами Ethernet имеют петлевидную структуру, либо объединяемые сети используют различные способы адресации , как в сетях Ethernet и X.25, то протокол канального уровня не может в одиночку справиться с задачей передачи кадра между узлами и требует помощи протокола сетевого уровня .

Сетевой уровень

Сетевой уровень (Network layer ) служит для образования единой транспортной системы, объединяющей несколько сетей, причем эти сети могут использовать различные принципы передачи сообщений между конечными узлами и обладать произвольной структурой связей. Функции сетевого уровня достаточно разнообразны. Рассмотрим их на примере объединения локальных сетей.

Протоколы канального уровня локальных сетей обеспечивают доставку данных между любыми узлами только в сети с соответствующей типовой топологией, например топологией иерархической звезды. Это жесткое ограничение, которое не позволяет строить сети с развитой структурой, например сети, объединяющие несколько сетей предприятия в единую сеть, или высоконадежные сети, в которых существуют избыточные связи между узлами. Можно было бы усложнять протоколы канального уровня для поддержания петлевидных избыточных связей, но принцип разделения обязанностей между уровнями приводит к другому решению. Чтобы, с одной стороны, сохранить простоту процедур передачи данных для типовых топологий, а с другой - допустить использование произвольных топологий, вводится дополнительный сетевой уровень .

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

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

Сети соединяются между собой специальными устройствами, называемыми маршрутизаторами . Маршрутизатор - это устройство, которое собирает информацию о топологии межсетевых соединений и пересылает пакеты сетевого уровня в сеть назначения. Чтобы передать сообщение от отправителя, находящегося в одной сети, получателю, находящемуся в другой сети, нужно совершить некоторое количество транзитных передач между сетями, или хопов (от слова hop - прыжок), каждый раз выбирая подходящий маршрут . Таким образом, маршрут представляет собой последовательность маршрутизаторов , через которые проходит пакет .

Сетевой уровень - доставка пакета :

    между любыми двумя узлами сети с произвольной топологией;

    между любыми двумя сетями в составной сети ;

    сеть - совокупность компьютеров, использующих для обмена данными единую сетевую технологию;

    маршрут - последовательность прохождения пакетом маршрутизаторов в составной сети .

На рис. 11.8 показаны четыре сети, связанные тремя маршрутизаторами . Между узлами А и В данной сети пролегает два маршрута : первый - через маршрутизаторы 1 и 3, а второй - через маршрутизаторы 1, 2 и 3.

Рис. 11.8. Пример составной сети.

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

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

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

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

На сетевом уровне работают протоколы еще одного типа, которые отвечают за отображение адреса узла, используемого на сетевом уровне , в локальный адрес сети. Такие протоколы часто называют протоколами разрешения адресов - Address Resolution Protocol , ARP . Иногда их относят не к сетевому уровню , а к канальному , хотя тонкости классификации не изменяют сути.

Примерами протоколов сетевого уровня являются протокол межсетевого взаимодействия IP стека TCP/IP и протокол межсетевого обмена пакетами IPX стека Novell.