|
Канальный уровень
На физическом уровне просто пересылаются биты.
При этом не учитывается, что в некоторых сетях, в
которых линии связи используются (разделяются)
попеременно несколькими парами
взаимодействующих компьютеров, физическая среда
передачи может быть занята. Поэтому одной из
задач канального уровня (Data Link layer) является
проверка доступности среды передачи. Другой
задачей канального уровня является реализация
механизмов обнаружения и коррекции ошибок. Для
этого на канальном уровне биты группируются в
наборы, называемые кадрами (frames). Канальный
уровень обеспечивает корректность передачи
каждого кадра, помещая специальную
последовательность бит в начало и конец каждого
кадра, для его выделения, а также вычисляет
контрольную сумму, обрабатывая все байты кадра
определенным способом и добавляя контрольную
сумму к кадру. Когда кадр приходит по сети,
получатель снова вычисляет контрольную сумму
полученных данных и сравнивает результат с
контрольной суммой из кадра. Если они совпадают,
кадр считается правильным и принимается. Если же
контрольные суммы не совпадают, то фиксируется
ошибка. Канальный уровень может не только
обнаруживать ошибки, но и исправлять их за счет
повторной передачи поврежденных кадров.
Необходимо отметить, что функция исправления
ошибок не является обязательной для канального
уровня, поэтому в некоторых протоколах этого
уровня она отсутствует, например, в Ethernet и frame relay.
В протоколах канального уровня, используемых в
локальных сетях, заложена определенная
структура связей между компьютерами и способы их
адресации. Хотя канальный уровень и обеспечивает
доставку кадра между любыми двумя узлами
локальной сети, он это делает только в сети с
совершенно определенной топологией связей,
именно той топологией, для которой он был
разработан. К таким типовым топологиям,
поддерживаемым протоколами канального уровня
локальных сетей, относятся общая шина, кольцо и
звезда, а также структуры, полученные из них с
помощью мостов и коммутаторов. Примерами
протоколов канального уровня являются протоколы
Ethernet, Token Ring, FDDI, l00VG-AnyLAN.
В локальных сетях протоколы канального уровня
используются компьютерами, мостами,
коммутаторами и маршрутизаторами. В компьютерах
функции канального уровня реализуются
совместными усилиями сетевых адаптеров и их
драйверов.
В глобальных сетях, которые редко обладают
регулярной топологией, канальный уровень часто
обеспечивает обмен сообщениями только между
двумя соседними компьютерами, соединенными
индивидуальной линией связи. Примерами
протоколов «точка-точка» (как часто называют
такие протоколы) могут служить широко
распространенные протоколы РРР и LAP-B. В таких
случаях для доставки сообщений между конечными
узлами через всю сеть используются средства
сетевого уровня. Именно так организованы сети
Х.25. Иногда в глобальных сетях функции канального
уровня в чистом виде выделить трудно, так как в
одном и том же протоколе они объединяются с
функциями сетевого уровня. Примерами такого
подхода могут служить протоколы технологий АТМ и
frame relay.
В целом канальный уровень представляет собой
весьма мощный и законченный набор функций по
пересылке сообщений между узлами сети. В
некоторых случаях протоколы канального уровня
оказываются самодостаточными транспортными
средствами и могут допускать работу поверх них
непосредственно протоколов прикладного уровня
или приложений, без привлечения средств сетевого
и транспортного уровней. Например, существует
реализация протокола управления сетью SNMP
непосредственно поверх Ethernet, хотя стандартно
этот протокол работает поверх сетевого
протокола IP и транспортного протокола UDP.
Естественно, что применение такой реализации
будет ограниченным - она не подходит для
составных сетей разных технологий, например Ethernet
и Х.25, и даже для такой сети, в которой во всех
сегментах применяется Ethernet, но между сегментами
существуют петлевид-ные связи. А вот в
двухсегментной сети Ethernet, объединенной мостом,
реализация SNMP над канальным уровнем будет вполне
работоспособна.
Тем не менее для обеспечения качественной
транспортировки сообщений в сетях любых
топологий и технологий функций канального
уровня оказывается недостаточно, поэтому в
модели OSI решение этой задачи возлагается на два
следующих уровня - сетевой и транспортный.
|