Компьютерные сети уровень передачи данных

В этой главе мы рассмотрим принципы построения уровня 2 — уровня передачи данных (иногда его называют также канальным уровнем). Для этих целей канальный уровень берет пакеты, полученные с сетевого уровня, и вставляет их в специальные кадры для передачи. Уровень передачи данных может предоставлять различные сервисы. Рассмотрим типичный пример: глобальная сеть, состоящая из маршрутизаторов, соединенных от узла к узлу выделенными телефонными линиями. Использование стартовых и стоповых битов с битовым заполнением. Второй метод формирования кадров решает проблему восстановления синхронизации после сбоя при помощи маркировки начала и конца каждого кадра специальными байтами. Когда принимающая сторона встречает пять единиц подряд, за которыми следует ноль, она автоматически удаляет этот ноль. Чтобы избежать зависаний сети в случае полной потери кадров, используются таймеры уровня передачи данных.

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

Порядок передачи бит Коды Хэмминга позволяют исправлять только одиночные ошибки. С данными многочленами осуществляются арифметические действия по модулю 2 в соответствии с алгебраической теорией поля. Должно быть очевидно, что многочлен Т(х) делится (по модулю 2) на G(x) без остатка.

Элементарные протоколы передачи данных Для запрета передачи сетевому уровню любой части заголовка кадра есть веская причина: поддержание полного разделения сетевого уровня и уровня передачи данных. Последовательные номера кадров всегда находятся в пределах от 0 до МАХ_SEQ (включительно). Неограниченный симплексный протокол Теперь мы отбросим самое нереальное предположение, использованное в протоколе 1, — способность получающего сетевого уровня мгновенно обрабатывать приходящие данные (или, что то же самое, наличие у получающего уровня передачи данных неограниченного буферного пространства, в которое он помещает все приходящие кадры). Протокол 2 (с ожиданием) также обеспечивает только одностороннюю передачу данных, от отправителя к получателю. Кадры могут либо портиться, либо теряться. Протоколы, в которых отправитель ожидает положительного подтверждения, прежде чем перейти к пересылке следующего кадра, часто называются PAR (Positive Acknowledgement with Retransmission — положительное подтверждение с повторной передачей) или ARQ, (Automatic Repeat reQuest — автоматический запрос повторной передачи). Отправитель запоминает номер следующего кадра в переменной next_frame_to_send, а получатель запоминает порядковый номер следующего ожидаемого кадра в переменной frame_expected. Следующие три протокола являются двунаправленными и принадлежат к классу протоколов скользящего окна (sliding window).

Протокол однобитового скользящего окна Прежде чем рассматривать общий случай, изучим протокол скользящего окна с максимальным размером окна, равным 1. Предположим, что машина А пытается послать кадр О машине В, а машина В пытается послать кадр 0 машине А. Протокол с возвратом на n Есть два способа решения проблемы возникновения ошибок при конвейеризации кадров. Метод выборочного повтора соответствует приемному окну размером более 1. Выбор одной из двух приведенных ранее стратегий является вопросом компромисса между пропускной способностью и размером буфера уровня передачи данных.

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

Верификация протоколов Реальные протоколы и реализующие их программы обычно весьма сложны. Анализ достижимости может применяться для обнаружения разнообразных ошибок спецификации протокола. Одно из свойств, которыми должен обладать протокол с 1-битовым порядковым номером, заключается в том, что ни при каких обстоятельствах получатель не должен передавать своему сетевому уровню два нечетных пакета подряд, не передав между ними четного пакета, и наоборот. Сети Петри, так же как и конечные автоматы, могут применяться для обнаружения ошибок в протоколах. HDLC — высокоуровневый протокол управления каналом Все кадры можно разделить на три категории: информационные, супервизорные и ненумерованные. Третий класс кадров составляют ненумерованные кадры. Еще одна важная роль, которую соединения «точка — точка» играют в Интернете, После того как обе стороны согласовывают параметры, посылается серия NCP- пакетов для настройки сетевого уровня. Итак, РРР является механизмом формирования кадров, поддерживающим различные протоколы, которым можно пользоваться при модемных соединениях, в последовательных по битам линиях HDLC, сетях SONET и других физических средах. Коды, начинающиеся со слова Terminate (завершить), используются для отключения линии, когда она перестает использоваться. Протокол 1 предназначен для идеальной среды передачи, в которой отсутствуют ошибки, и для идеального приемника, который может обработать входящий поток любого размера. При помощи кода Хэмминга передаются 16-битные сообщения. Предположим, что из конца текста программы протокола 6 удалены три строки цикла while. Каковы минимальные накладные расходы при пересылке IP-пакета по протоколу РРР?

Математический анализ Интегральное исчисление