з. 6. Резюме
Задачей канального уровня является преобразование необработанного потока бит, поступающего с физического уровня, в поток кадров, которые может использовать сетевой уровень. Канальный уровень может представлять такой поток с различной степенью надежности, начиная от сервисов без установки соединения и без подтверждения и заканчивая надежными ориентированными на соединение сервисами.
Используются различные методы формирования кадров, включая подсчет байтов, символьное и битовое заполнение. Протоколы канального уровня могут обладать возможностями контроля ошибок для обнаружения и исправления поврежденных кадров и повторной передачи потерянных. Во избежание опережения медленного приемника быстрым отправителем применяется управление потоком. Механизм скользящих окон широко используется для удобного объединения контроля ошибок и управления потоком. Для окна размером в один пакет применяется протокол с остановкой и ожиданием.
Коды для обнаружения и исправления ошибок добавляют к сообщениям избыточную информацию, применяя ряд математических техник. Для исправления ошибок широко применяются сверточные коды и коды Рида—Соломона, и все большую популярность завоевывают коды с малой плотностью проверок на четность. Применяемые на практике коды для обнаружения ошибок включают циклический контроль избыточности и контрольные суммы. Все эти коды можно применять на канальном уровне, а также на физическом и более высоких уровнях.
Мы рассмотрели ряд протоколов, обеспечивающих надежную работу канального уровня за счет подтверждений и повторной передачи или, если взять более приближенный к жизни пример, за счет запросов ARQ (Automatic Repeat reQuest). Начиная с идеальной среды передачи, в которой отсутствуют ошибки, и идеального приемника, который может обработать входящий поток любого размера, мы познакомились с управлением потоком, затем с контролем ошибок при помощи порядковых номеров
и, наконец, с алгоритмом с остановкой и ожиданием. Затем мы перешли к алгоритму скользящего окна, который разрешает обмен данными в двух направлениях, и узнали о концепции комбинированных пакетов. Последние два протокола используют конвейерную передачу множества кадров, чтобы отправитель не блокировался, увеличивая задержку передачи. Получатель может либо отбрасывать все кадры, за исключением очередного в последовательности, либо помещать неупорядоченные кадры в буфер и отправлять отрицательные подтверждения для более эффективного использования полосы пропускания. Первая стратегия называется протоколом с возвратом на n, а вторая — протоколом с выборочным повтором.
В Интернете в качестве основного протокола линий «точка — точка» используется PPP. Он предоставляет сервис без установки соединения и без подтверждения. Для разделения кадров применяются флаговые байты, а для распознавания ошибок — коды CRC. С помощью этого протокола пакеты передаются по множеству типов соединений, включая каналы SONET в глобальных сетях и ADSL для домашних подключений.
Вопросы
1. Сообщение верхнего уровня разбито на 10 кадров, у каждого из которых шанс дойти до назначения без повреждений составляет 80 %. Если канальный уровень не обеспечивает проверки ошибок, сколько раз в среднем потребуется пересылать все сообщение?
2. В протоколе канального уровня используется следующее кодирование символов:
A: 01000111; B: 11100011; FLAG: 01111110; ESC: 11100000 Как в двоичных кодах будет выглядеть кадр, состоящий из четырех символов — A B ESC FLAG, при использовании каждого из следующих методов кадрирования:
1) подсчет байтов;
2) флаговые байты с символьным заполнением;
3) начальные и конечные флаговые байты с битовым заполнением.
3. В потоке данных, для которого применяется алгоритм символьного заполнения, встречается следующий фрагмент данных: A B ESC C ESC FLAG FLAG D. Каким будет выходной поток после заполнения символами?
4. Каковы максимальные накладные расходы для алгоритма символьного заполнения?
5. Один из ваших однокурсников, большой скряга, предположил, что использовать после концевого флагового байта кадра начальный флаговый байт следующего кадра — слишком расточительно, вполне можно обойтись флаговым байтом. Таким образом, можно сэкономить передачу одного байта. Вы согласитесь с ним?
6. Каким будет на выходе следующий поток бит после применения битового заполнения на уровне передачи данных: 0111101111101111110?
Читать дальше
Конец ознакомительного отрывка
Купить книгу