Глава 3
Канальный уровень
В этой главе мы рассмотрим принципы построения второго уровня нашей модели — канального уровня (иногда его называют также уровнем передачи данных). Мы обсудим алгоритмы, обеспечивающие надежную, эффективную пересылку целых блоков информации, называемых кадрами (сравните с физическим уровнем, задачей которого является передача отдельных битов), между двумя компьютерами. Мы будем рассматривать две машины, физически связанные каналом связи, действующим подобно проводу (например, коаксиальным кабелем, телефонной линией или беспроводным каналом). Основное свойство канала, которое делает его подобным проводу, заключается в том, что биты принимаются точно в том же порядке, в каком передаются.
На первый взгляд, можно подумать, что данная проблема настолько проста, что и изучать тут нечего — машина A просто посылает биты в канал, а машина B их оттуда извлекает. К сожалению, в каналах связи иногда случаются ошибки при передаче данных. Кроме того, скорость передачи данных ограничена, а время распространения сигнала отлично от нуля. Все эти ограничения оказывают серьезное влияние на эффективность передачи данных. Использующиеся для связи протоколы должны учитывать все эти факторы. Данным протоколам и посвящена эта глава.
После знакомства с ключевыми аспектами устройства канального уровня мы изучим его протоколы, рассмотрев природу ошибок и методы их обнаружения и исправления. Затем мы обсудим ряд протоколов, начиная с простых и далее рассматривая все более сложные протоколы. Каждый следующий протокол будет решать все более сложные проблемы канального уровня. Наконец, мы приведем несколько примеров протоколов передачи данных на канальном уровне.
3.1. Ключевые аспекты организации канального уровня
Канальный уровень использует определенные службы физического уровня для отправки и получения битов по коммуникационным каналам. У него есть ряд специфических функций. К ним относятся:
♦ обеспечение строго очерченного служебного интерфейса для сетевого уровня;
♦ обработка ошибок передачи данных;
♦ управление потоком данных, исключающее затопление медленных приемников быстрыми передатчиками.
Для этих целей канальный уровень берет пакеты, полученные с сетевого уровня, и вставляет их в специальные кадры (также часто называемые фреймами — frames) для передачи. В каждом кадре содержится заголовок, поле данных и концевик. Структура кадра показана на рис. 3.1. Управление кадрами — это основа деятельности канального уровня. В следующих разделах мы более подробно изучим обозначенные выше вопросы.

Рис. 3.1. Соотношение между пакетами и кадрами
Хотя эта глава и посвящена детальному рассмотрению канального уровня и соответствующих протоколов, многие вопросы, обсуждаемые здесь, такие как контроль ошибок и контроль потока, относятся также к транспортным и другим протоколам. Обеспечение надежности — это общая цель, для достижения которой слаженно работать должны все уровни. На самом деле, во многих сетях эти функции являются прерогативой верхних уровней и вообще не относятся к канальному уровню, который выполняет лишь простейшие функции. С другой стороны, не так уж это важно, потому что принципы все равно остаются неизменными. Аргументом в пользу рассмотрения их именно в свете канального уровня является то, что здесь они предстают в наиболее простой форме и их легко показать в деталях.
3.1.1. Сервисы, предоставляемые сетевому уровню
Задача канального уровня заключается в предоставлении сервисов сетевому уровню. Основным сервисом является передача данных от сетевого уровня передающей машины сетевому уровню принимающей машины. На передающей машине работает некий процесс, который передает биты с сетевого уровня на канальный уровень для передачи их по назначению. Работа канального уровня заключается в передаче этих битов на принимающую машину, так чтобы они могли быть переданы сетевому уровню принимающей машины, как показано на рис. 3.2, а. В действительности данные передаются по пути, показанному на рис. 3.2, б, однако проще представлять себе два канальных уровня, связывающихся друг с другом при помощи протокола передачи данных. По этой причине на протяжении этой главы будет использоваться модель, изображенная на рис. 3.2, а .
Читать дальше
Конец ознакомительного отрывка
Купить книгу