Э. Таненбаум, Д. Уэзеролл - Компьютерные сети (1114668), страница 79
Текст из файла (страница 79)
Выше мырассматривали, как на домашней стороне устанавливается устройство под названиемDSL-модем. Он отправляет биты по локальному контуру, адресуя их устройствуDSLAM (DSL Access Multiplexer, мультиплексор доступа DSL), установленному вместном офисе телефонной компании. Теперь мы более подробно рассмотрим процесспередачи пакетов по каналам ADSL.Общая схема работы протоколов и устройств показана на рис. 3.19. В разных сетяхприменяются разные протоколы, поэтому мы выбрали для демонстрации наиболее популярный сценарий. Внутри дома компьютер посылает IP-пакеты DSL-модему.
Онипутешествуют по канальному уровню, такому как Ethernet. Затем DSL�������������������������������-модем отправляет IP-пакеты по локальному контуру устройству DSLAM, применяя для этого протоколы, которые мы рассмотрим далее. На стороне DSLAM (или, в зависимости от реализации подключенного к нему маршрутизатора) IP-пакеты извлекаются и поступаютв сеть поставщика услуг Интернета, по которой и достигают назначенной точки в сети.Показанные на рис. 3.19 протоколы, работающие в канале ADSL, начинаютсяс низшего, физического уровня. Они основаны на схеме цифровой модуляции под названием мультиплексирование с ортогональным делением частот (также известное какцифровая многоканальная тональная модуляция), с которым мы познакомились ранее.Ближе к вершине стека, под сетевым уровнем IP, находится PPP. Это тот же самый протокол PPP, который мы изучили при рассмотрении пакетов, путешествующих по сетямSONET.
Он точно так же устанавливает и настраивает связь для передачи IP-пакетов.Между ADSL и PPP находятся ATM и AAL5. Это новые протоколы, с которымимы ранее не встречались. Протокол ATM (Asynchronous Transfer Mode, режим асинхронной передачи) был разработан в начале 1990-х годов и широко рекламировался274 Глава 3.
Канальный уровеньпри первом запуске. Он обещал сетевую технологию, которая решит все мировыетелекоммуникационные проблемы, объединив голос, текстовые данные, кабельноетелевидение, телеграф, почтовых голубей, связанные нитью консервные банки, тамтамы и все остальные способы передачи информации в интегрированную систему, способную удовлетворить любые требования каждого пользователя. Этого не случилось.В целом, ATM столкнулся с теми же проблемами, о которых мы упомянули в разговорео протоколах OSI: плохая синхронизация, технология, реализация и политическиетонкости.
Тем не менее ATM все же добился большего успеха, чем OSI. Хотя он и незавоевал мир, его все же широко применяют в таких сферах, как линии широкополосного доступа, такие как DSL, и каналы WAN в телефонных сетях.Рис. 3.19. Стек протоколов ADSLATM представляет канальный уровень, основанный на пересылке ячеек (cells)информации фиксированной длины. Асинхронная передача означает, что нет необходимости постоянно отправлять ячейки, как, например, биты по синхронным линиям(таким как SONET).
Ячейки пересылаются только тогда, когда имеется какая-то информация, готовая к передаче. ATM ����������������������������������������������������������������������������������������������— это технология, ориентированная на соединение. В заголовок каждой ячейки встраивается идентификатор виртуального контура(virtual circuit), и устройства используют этот идентификатор для пересылки ячеекпо различным путям внутри установленных соединений.Длина каждой ячейки составляет 53 байта: 48 байт полезной нагрузки плюс 5 байтзаголовка.
Применяя ячейки небольшого размера, ATM гибко разделяет полосу пропускания физического канала между разными пользователями. Эта возможностьполезна, когда, например, по одному каналу пересылаются голосовые данные и текстовая информация. Большие пакеты текстовых данных не будут приводить к длинным задержкам при пересылке фрагментов голосовой информации. Нестандартныйвыбор длины ячейки (сравните 53 байта с более естественным выбором значения,представляющего степень двойки) иллюстрирует политические вопросы, имевшиенемалое значение при разработке протокола.
48 байт под полезную информацию — этокомпромисс между 32-байтовыми ячейками, которые хотела использовать Европа,и 64-байтовыми, за которые голосовала Америка. Краткое описание протокола представили Сиу и Джайн (Siu, Jain, 1995).Для пересылки данных по сети ATM необходимо отобразить их в последовательность ячеек. Отображение выполняется на уровне адаптации протокола ATM про-3.5. Примеры протоколов передачи данных 275цессом, который называется сегментацией и обратной сборкой (segmentation andreassembly).
Для различных служб, пересылающих, например, периодические образцыголосовых данных или пакетную информацию, были определены несколько уровней адаптации. Основной, используемый для пакетных данных — это AAL5 (ATMAdaptation Layer 5, уровень адаптации ATM 5).Кадр AAL5 показан на рис.���������������������������������������������������� ���������������������������������������������������3.20.
Роль заголовка у него исполняет концевик, содержащий сведения о длине, а также 4-байтовый код CRC для обнаружения ошибок.Разумеется, это тот же самый CRC, который используется протоколом PPP и сетямистандарта IEEE 802, такими как Ethernet. Вонг и Кроукрофт (Wang, Crowcroft, 1992)продемонстрировали, что это достаточно сильная конфигурация, чтобы обнаруживатьнетрадиционные ошибки, такие как сбой в порядке следования ячеек. Помимо полезной нагрузки, в кадре AAL5 есть биты заполнения (Pad). Они дополняют общуюдлину, чтобы она была кратной 48 байтам.
Таким образом, кадр можно будет поделитьна целое число ячеек. Хранить адреса внутри кадра не нужно, так как идентификаторвиртуального контура, имеющийся в каждой ячейке, не даст ей заблудиться и приведетк нужному получателю.Рис. 3.20. Кадр AAL5, содержащий данные PPPИтак, мы познакомились с протоколом ATM. Осталось только рассказать, как егозадействует протокол PPP в случае подключения по каналам ADSL. Это делается с помощью еще одного стандарта, который называется PPPoA (PPP over ATM, то естьPPP с использованием ATM). В действительности данный стандарт нельзя назватьпротоколом (поэтому на рис. 3.19 его нет).
Скорее, это спецификация, описывающая,как одновременно применять протокол PPP и кадры AAL5. Подробнее об этом рассказывается в стандарте RFC 2364 (Gross и др., 1998).Полезная нагрузка AAL5 включает только поля Протокол (Protocol ) и Данные(Payload ) протокола PPP, как показано на рис. 3.20. Поле протокола сообщает устройству DSLAM, является полезная нагрузка IP-пакетом или пакетом другого протокола,например LCP. Принимающая сторона знает, что ячейки содержат информацию PPP,так как виртуальный контур ATM настраивается соответствующим образом.В кадре AAL5 механизмы формирования кадра PPP не требуются, всю работу выполняют ATM и AAL5.
Дополнительно создавать кадры было бы попросту бессмысленно. Код CRC протокола PPP также не нужен, поскольку AAL5 включает тот жесамый код CRC. Механизм выявления ошибок дополняет кодирование физическогоуровня, применяемое в каналах ADSL (код Рида—Соломона для исправления ошибоки 1-байтовый CRC для распознавания оставшихся ошибок, не пойманных другимиспособами). Это намного более сложный механизм устранения ошибок, чем тот, чтоприменяется при пересылке данных в сетях SONET.
Причина проста — линии ADSLкуда более зашумленные.276 Глава 3. Канальный уровень3.6. РезюмеЗадачей канального уровня является преобразование необработанного потока бит,поступающего с физического уровня, в поток кадров, которые может использоватьсетевой уровень. Канальный уровень может представлять такой поток с различнойстепенью надежности, начиная от сервисов без установки соединения и без подтверждения и заканчивая надежными ориентированными на соединение сервисами.Используются различные методы формирования кадров, включая подсчет байтов,символьное и битовое заполнение. Протоколы канального уровня могут обладатьвозможностями контроля ошибок для обнаружения и исправления поврежденныхкадров и повторной передачи потерянных. Во избежание опережения медленногоприемника быстрым отправителем применяется управление потоком.
Механизмскользящих окон широко используется для удобного объединения контроля ошибоки управления потоком. Для окна размером в один пакет применяется протокол с остановкой и ожиданием.Коды для обнаружения и исправления ошибок добавляют к сообщениям избыточную информацию, применяя ряд математических техник. Для исправления ошибокшироко применяются сверточные коды и коды Рида—Соломона, и все большую популярность завоевывают коды с малой плотностью проверок на четность. Применяемые на практике коды для обнаружения ошибок включают циклический контрольизбыточности и контрольные суммы. Все эти коды можно применять на канальномуровне, а также на физическом и более высоких уровнях.Мы рассмотрели ряд протоколов, обеспечивающих надежную работу канальногоуровня за счет подтверждений и повторной передачи или, если взять более приближенный к жизни пример, за счет запросов ARQ (Automatic Repeat reQuest).
Начинаяс идеальной среды передачи, в которой отсутствуют ошибки, и идеального приемника, который может обработать входящий поток любого размера, мы познакомилисьс управлением потоком, затем с контролем ошибок при помощи порядковых номерови, наконец, с алгоритмом с остановкой и ожиданием. Затем мы перешли к алгоритмускользящего окна, который разрешает обмен данными в двух направлениях, и узналио концепции комбинированных пакетов.