Службы канального уровня

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

В то время как сетевой уровень занимается перемещением сегментов транспортного уровня по всей длине пути от хоста-отправителя до хоста-получателя, протокол канального уровня выполняет работу по перемещению дейтаграмм сетевого уровня по отдельным линиям связи на этом пути. Для канального уровня важно, что передачей дейтаграммы по первой линии может управлять, например, протокол Ethernet, по последней линии — протокол РРР, а по всем промежуточным линиям — протокол Frame Relay. Следует отметить, что службы, поддерживаемые различными протоколами канального уровня, также могут различаться. Например, протокол канального уровня может обеспечивать или не обеспечивать надежную доставку. Таким образом, протокол сетевого уровня должен суметь выполнить свою задачу по сквозной доставке дейтаграмм несмотря на «разношерстный» набор служб канального уровня на отдельных линиях связи.

Чтобы лучше понимать, как работает канальный уровень и как он взаимодействует с сетевым уровнем, рассмотрим аналогию с транспортом. Представьте себе агента бюро путешествий, планирующего тур из Принстона, штат Нью-Джерси, в Лозанну, Швейцария. Предположим, тур-агент решает, что туристам удобнее всего отправиться из Принстона в аэропорт Кеннеди на лимузине, откуда на самолете перелететь в Женеву и, наконец, добраться до Лозанны на поезде. Тур-оператор делает три заказа, после чего за доставку туриста из Принстона в аэропорт отвечает Прин-стонская лимузинная компания; за доставку туриста из аэропорта JFK в Женеву ответственность несет авиакомпания; а за доставку туриста из Женевы в Лозанну — Швейцарская железнодорожная служба. Каждый из трех сегментов маршрута «напрямую» связывает два «соседних» узла. Обратите внимание, что тремя сегментами маршрута управляют три разные компании, и на этих сегментах используются совершенно разные виды транспорта (лимузин, самолет и поезд). Несмотря на это, каждый сегмент предоставляет основную службу, обеспечивающую перемещение пассажиров в соседний узел. В данной аналогии турист соответствует дейтаграмме, каждый сегмент — линии связи, вид транспорта — протоколу канального уровня, а тур-агент, планирующий весь маршрут, — протоколу маршрутизации.

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

□ Формирование кадра. Почти все протоколы канального уровня помещают каждую дейтаграмму сетевого уровня в кадр канального уровня, перед тем как отправить ее в линию связи. Кадр состоит из поля данных, в которое помещается дейтаграмма сетевого уровня, и нескольких полей заголовка (кадр также может включать поля концевика; но мы будем те и другие называть полями заголовка). Структура кадра специфицируется протоколом передачи данных. Во время обсуждения конкретных протоколов канального уровня во второй половине этой главы мы рассмотрим несколько различных форматов кадров. В разделе «Адресация в локальных сетях и протокол ARP» будет показано, что заголовки кадров также часто включают поля для так называемого физического адреса узла, не имеющего ничего общего с адресом узла сетевого уровня (например, IP-адресом).
□ Доступ к линии связи. Протокол MAC (Media Access Control — управление доступом к носителю) определяет правила передачи кадра в линию. Для двухточечных линий с единственным отправителем на одном конце и единственным получателем на другом конце линии протокол MAC очень прост (или вообще отсутствует) — отправитель может передать кадр в любой момент, когда линия свободна. Более интересный случай представляет конфигурация, в которой несколько узлов совместно используют один широковещательный канал. В этом случае возникает так называемая проблема коллективного доступа, и протокол MAC призван координировать передачу кадров многих узлов. Подробно данный вопрос будет рассмотрен в разделе «Протоколы коллективного доступа».
□ Надежная доставка. Когда протокол канального уровня предоставляет услугу по надежной доставке, он гарантирует перемещение каждой дейтаграммы сетевого уровня по линии связи без ошибок. Вспомним, что некоторые протоколы транспортного уровня (как, например, TCP) также обеспечивают надежную доставку. Аналогично службе надежной доставки транспортного уровня, служба надежной доставки канального уровня поддерживается с помощью механизмов подтверждений и повторных передач (см. раздел «Принципы надежной передачи данных»). Служба надежной доставки транспортного уровня часто обслуживает линии связи с высокой вероятностью ошибок, характерной, например, для беспроводных линий связи. Таким образом, на канальном уровне ошибки исправляются локально — на той линии связи, на которой они возникают, что позволяет отказаться от повторной передачи данных протоколом транспортного или прикладного уровня. Однако в линиях с низкой вероятностью ошибок надежная доставка на канальном уровне может оказаться излишней. К таким линиям относятся волоконно-оптические и экранированные кабели, а также различные категории линий типа «витая пара». Поэтому многие протоколы для кабельных линий не предоставляют услуги по надежной доставке.
□ Управление потоком. Узлы на каждой стороне линии связи обладают буферами для хранения кадров ограниченного размера. Это порождает потенциальную проблему, так как кадры могут поступать на получающий узел быстрее, чем этот узел способен их обрабатывать. Без управления потоком буфер получателя может переполниться, а кадры будут потеряны. Аналогично транспортному уровню протокол канального уровня может обеспечить управление потоком с целью предотвращения ситуации, когда передающий узел на одной стороне линии связи заваливает пакетами принимающий узел на другой стороне линии.
□ Обнаружение ошибок. Принимающий узел может неверно посчитать, что значение бита в кадре равно нулю, в то время как передавалась единица, и наоборот. Подобные битовые ошибки вызываются ослаблением сигнала и электромагнитными помехами. Поскольку нет смысла передавать дальше дейтаграмму, содержащую ошибки, многие протоколы канального уровня предоставляют услугу по обнаружению ошибок в кадре. Для этого передающий узел добавляет к кадру биты обнаружения ошибок (контрольную сумму), а получающий узел выполняет проверку контрольной суммы. Служба обнаружения ошибок очень распространена среди протоколов канального уровня. Как было показано в главах 3 и 4, транспортный и сетевой уровни в Интернете также предоставляют ограниченную услугу по обнаружению ошибок. На канальном уровне обнаружение ошибок сложнее и, как правило, реализуется аппаратно.
□ Исправление ошибок. Исправление ошибок выполняет расширенная служба обнаружения ошибок. Такая служба способна не только обнаружить ошибку в кадре, но также определить, в каком именно разряде она произошла, и таким образом исправить некоторые ошибки. Услуга по исправлению ошибок предоставляется некоторыми протоколами канального уровня (например, ATM), но, как правило, не для всего пакета, а только для его заголовка. Эта тема будет обсуждаться в разделе «Обнаружение и исправление ошибок».
□ Дуплексная и полудуплексная передача. При дуплексной передаче оба узла могут передавать друг другу пакеты одновременно. При полудуплексной передаче оба узла тоже могут передавать друг другу пакеты, но только поочередно.

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

Мой блог находят по следующим фразам

Данная статья "Службы канального уровня" размещена на сайте Компьютерные сети и многоуровневая архитектура интернета (conlex.kz) в ознакомительных целях.

Уточнения, корректировки и обсуждения статьи "Службы канального уровня" - под данным текстом, в комментариях.

Ответственность, за все изменения, внесённые в систему по советам данной статьи, Вы берёте на себя.

Копирование статьи "Службы канального уровня", без указания ссылки на сайт первоисточника Компьютерные сети и многоуровневая архитектура интернета (conlex.kz), строго запрещено.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *