Рис. 3.18. Диаграмма состояний установки и разрыва соединения PPP
Начальное состояние протокола таково: линия отключена (DEAD), то есть соединения на физическом уровне не существует. После того как физическое соединение установлено, линия переходит в состояние ESTABLISH (установка). В этот момент начинаются переговоры о параметрах с помощью протокола LCP. Узлы PPP обмениваются пакетами LCP, каждый из которых содержится в поле Данные кадра PPP. Это необходимо для выбора параметров PPP из тех, что перечислены выше. Инициирующий узел предлагает варианты, а отвечающие узлы либо соглашаются с ними,
либо отвергают частично или полностью. Отвечающие узлы также могут делать свои предложения.
При успешном результате переговоров линия переходит в фазу AUTHENTICATE (идентифицировать). Теперь обе стороны по желанию могут проверить, кем является собеседник. После успешной аутентификации в фазе NETWORK (сеть) происходит обмен пакетами NCP для настройки сетевого уровня. Протоколы NCP сложно описать общими словами, так как каждый из них обладает специфическими свойствами, зависящими от соответствующего протокола сетевого уровня, и поддерживает конфигурационные запросы, характерные только для этого протокола. Например, для протокола IP наиболее важной задачей является назначение IP-адресов собеседникам на обоих концах линии.
Когда линия переходит в фазу OPEN (открытая), можно начинать передачу данных. Именно в этой фазе IP-пакеты пересылаются в кадрах PPP по линии SONET. Когда передача данных закончена, линия переходит к фазе TERMINATE (завершение), а затем снова в состояние DEAD (отключена), когда физическое соединение разрывается.
3.5.2. ADSL
ADSL (Asymmetric Digital Subscriber Loop, асимметричный цифровой абонентский контур) соединяет миллионы домашних пользователей с Интернетом на скоростях, равных нескольким мегабит в секунду. Для этого используется тот же локальный телефонный контур, по которому предоставляются услуги обычной телефонии. Выше мы рассматривали, как на домашней стороне устанавливается устройство под названием 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-х годов и широко рекламировался
при первом запуске. Он обещал сетевую технологию, которая решит все мировые телекоммуникационные проблемы, объединив голос, текстовые данные, кабельное телевидение, телеграф, почтовых голубей, связанные нитью консервные банки, тамтамы и все остальные способы передачи информации в интегрированную систему, способную удовлетворить любые требования каждого пользователя. Этого не случилось. В целом, ATM столкнулся с теми же проблемами, о которых мы упомянули в разговоре о протоколах OSI: плохая синхронизация, технология, реализация и политические тонкости. Тем не менее ATM все же добился большего успеха, чем OSI. Хотя он и не завоевал мир, его все же широко применяют в таких сферах, как линии широкополосного доступа, такие как DSL, и каналы WAN в телефонных сетях.
Рис. 3.19. Стек протоколов ADSL
ATM представляет канальный уровень, основанный на пересылке ячеек (cells) информации фиксированной длины. Асинхронная передача означает, что нет необходимости постоянно отправлять ячейки, как, например, биты по синхронным линиям (таким как SONET). Ячейки пересылаются только тогда, когда имеется какая-то информация, готовая к передаче. ATM — это технология, ориентированная на соединение. В заголовок каждой ячейки встраивается идентификатор виртуального контура (virtual circuit), и устройства используют этот идентификатор для пересылки ячеек по различным путям внутри установленных соединений.
Длина каждой ячейки составляет 53 байта: 48 байт полезной нагрузки плюс 5 байт заголовка. Применяя ячейки небольшого размера, ATM гибко разделяет полосу пропускания физического канала между разными пользователями. Эта возможность полезна, когда, например, по одному каналу пересылаются голосовые данные и текстовая информация. Большие пакеты текстовых данных не будут приводить к длинным задержкам при пересылке фрагментов голосовой информации. Нестандартный выбор длины ячейки (сравните 53 байта с более естественным выбором значения, представляющего степень двойки) иллюстрирует политические вопросы, имевшие немалое значение при разработке протокола. 48 байт под полезную информацию — это компромисс между 32-байтовыми ячейками, которые хотела использовать Европа, и 64-байтовыми, за которые голосовала Америка. Краткое описание протокола представили Сиу и Джайн (Siu, Jain, 1995).
Для пересылки данных по сети ATM необходимо отобразить их в последовательность ячеек. Отображение выполняется на уровне адаптации протокола ATM процессом, который называется сегментацией и обратной сборкой (segmentation and reassembly). Для различных служб, пересылающих, например, периодические образцы голосовых данных или пакетную информацию, были определены несколько уровней адаптации. Основной, используемый для пакетных данных — это AAL5 (ATM Adaptation 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).