(!) Реализация протокола PPPoE в устройствах ZyXEL

Обзор протокола PPPoE Пакет PPPoE Active Discovery Request (PADR) Пакет PPPoE Active Discovery Session-confirmation (PADS) Стадия сеанса PPP Пакет PPPoE Active Discovery Terminate (PADT)

PPPoE (англ. Point-to-point protocol over Ethernet) - сетевой протокол передачи кадров PPP через Ethernet. Протокол описан в RFC 2516.


Сетевые устройства ZyXEL (модемы, маршрутизаторы, интернет-центры) имеют поддержку протокола PPPoE. Использование протокола PPPoE позволяет получить одновременный доступ к Интернету для нескольких пользователей при наличии только одной учетной записи. Для этого нужно одно- единственное PPPoE-соединение, а не множество соединений, равное числу пользователей.


Рассмотрим 2 варианта реализации PPPoE:


  1. Реализация PPPoE в устройстве. Устройство ZyXEL автоматически устанавливает PPPoE-соединение для всех компьютеров локальной сети, устанавливает только один сеанс. Компьютеры локальной сети совместно используют имеющуюся пропускную способность канала.

  2. Реализация PPPoE на компьютере. Устройство ZyXEL выступает в качестве прозрачного моста, используя инкапсуляцию RFC1483. Устройство устанавливает только DSL-соединение. Для доступа в Интернет необходимо на каждом компьютере настроить PPPoE-подключение. Возможно осуществление нескольких сеансов связи с использованием нескольких учетных записей на одной линии.

Первый вариант реализации PPPoE с помощью устройства ZyXEL. В этом случае устройство работает в режиме маршрутизации и является PPPoE-клиентом, направляющим PPPoE-серверу пакет инициации соединения для установления PPPoE-соединения. При такой реализации устанавливается только один сеанс. Все хосты локальной сети совместно используют пропускную способность интернет-канала.



Сначала модем устанавливает DSL-соединение, а затем автоматически PPPoE-соединение. IP-адрес от провайдера получает модем на DSL-порту и далее маршрутизирует трафик. При этом на каждом компьютере локальной сети не требуется настраивать PPPoE-соединение.


Второй вариант реализации PPPoE на компьютере. В этом случае устройство ZyXEL работает в качестве межсетевого прозрачного моста и использует инкапсуляцию RFC1483. Для доступа в Интернет необходимо на каждом компьютере настроить PPPoE-подключение. В данном случае имеют место несколько сеансов PPPoE в пределах одного виртуального канала.



Требуется дополнительная настройка операционной системы. Модем устанавливает только DSL-соединение с оборудованием провайдера. В операционной системе нужно создавать PPPoE-подключение для авторизации на сервере провайдера. Для доступа в Интернет пользователю нужно будет каждый раз запускать PPPoE-подключение. Информацию о создании PPPoE-подключения в операционных системах Windows XP/Vista вы найдете в примечании к этой статье.


Обзор протокола PPPoE


PPP через Ethernet (PPPoE) обеспечивает управление доступом и биллинг аналогично услугам dial-up, использующим PPP. Клиент PPPoE и сервер PPPoE должны
быть расположены в одном логическом сегменте 2-го уровня. Сеанс PPPoE может функционировать как от имени каждого пользователя, подключенного к xDSL-модему (xDSL-модем должен работать в режиме моста и прозрачно пропускать соединения), так и от имени самого модема (xDSL-модем должен работать в режиме маршрутизатора). DSLAM обычно не распознает сессии PPPoE, он прозрачно коммутирует кадры Ethernet, не анализируя их содержимое.


При использовании PPPoE можно устанавливать несколько сеансов PPP в пределах одного физического соединения. Провайдеры часто используют PPPoE из-за невысокой стоимости внедрения таких решений. PPPoE-сервером называют также концентратор доступа (Access Concentrator) или сервер широкополосного удаленного доступа (BBRAS).


При использовании протокола PPPoE имеют место две явно выраженные стадии, которые можно назвать стадией установления соединения и стадией сеанса.
Для стадии установления соединения значение поля Type (Тип) равно 8863, а для стадии сеанса значение поля Type (Тип) равно 8864.



Если хост хочет инициировать сеанс PPPoE, он должен сначала осуществить процедуру установления соединения с целью определения MAC-адреса Ethernet клиентского устройства и установления Идентификатора сеанса (Session ID) PPPoE. В то время как работа по протоколу PPP представляет собой одноранговые коммуникации, процедура установления соединения представляет собой коммуникации "клиент-сервер". В процессе установления соединения хост обнаруживает концентратор доступа (PPPoE-сервер). В зависимости от топологии сети хост может обращаться не к одному, а к нескольким PPPoE-серверам. На стадии установления соединения хост может обнаружить всевозможные PPPoE-серверы и затем выбрать один из них. В случае успешного завершения стадии установления соединения у хоста и выбранного им PPPoE-сервера имеется информация, необходимая для организации соединения "точка-точка" через Ethernet.
По завершении стадии установления соединения начинается стадия сеанса, в процессе которой хост получает от PPPoE-сервера Идентификатор сеанса (Session ID), и затем устанавливается сеанс PPP, причем как хост, так и сервер должны выделить необходимые ресурсы для виртуального интерфейса PPP.


Инкапсуляция PPPoE



Длина поля Версия составляет 4 бита и его значение должно быть равно 0x1 для данной версии спецификации PPPoE.
Длина поля Тип составляет 4 бита и его значение должно быть равно 0x1 для данной версии спецификации PPPoE.
Длина поля Код составляет 8 битов (1 байт) и задается для стадий установления соединения и сеанса PPP.
Длина поля Идентификатор сеанса составляет 16 битов (2 байта). Ниже приведено его значение для пакетов установления соединения. В пределах сеанса PPP это значение остается неизменным.
Длина поля Длина составляет 16 битов (2 байта). Его значение задает длину блока полезной информации протокола PPPoE без учета длины заголовков Ethernet или PPPoE.


Стадия установления соединения подразделяется на 4 шага:


  1. Хост посылает пакет широковещательного запроса на инициализацию соединения (Код: 0x09).
  2. Один или несколько PPPoE-серверов посылают ответный пакет (Код: 0x07).
  3. Хост посылает одноадресный пакет с запросом на установление сеанса (Код: 0x19).
  4. Выбранный PPPoE-сервер посылает пакет с подтверждением сеанса (Код: 0x65).

Затем хост переходит на стадию сеанса PPP. На стадии установления cоединения во всех кадрах Ethernet значение поля Тип среды равно 0x8863.


Для завершения сеанса PPPoE-сервер или хост посылают пакет завершения сеанса (Код: 0xA7).



Существует пять типов пакетов, посылаемых на стадии установления соединения:


  1. Пакет инициации соединения PPPoE - Active Discovery Initiation (PADI) (Код: 0x09)
  2. Ответный пакет PPPoE - Active Discovery Offer (PADO) (Код: 0x07)
  3. Пакет с запросом на установление соединения - PPPoE Active Discovery Request (PADR) (Код: 0x19)
  4. Пакет с подтверждением сеанса - PPPoE Active Discovery Session-confirmation (PADS) (Код: 0x65)
  5. Пакет завершения сеанса - PPPoE Active Discovery Terminate (PADT) (Код: 0xA7)

Пакет PPPoE - Active Discovery Initiation (PADI)



В этом пакете в поле MAC-адреса назначения (Destination MAC Addr) стоит 0xffffffffff, что означает широковещательную посылку. Хост посылает пакет широковещательного запроса на инициацию соединения.
В поле Ether Type (Тип среды) стоит 0x8863, что означает, что стороны находятся на стадии установления соединения.
В поле Code (Код) стоит 0x09, что означает, что это пакет инициации.
На стадии установления соединения идентификатор сеанса (Session ID) всегда равен 0x00, поскольку сеанс еще не открыт.
В данном примере Cлужебное имя (Service Name) - fae.


Информацию о том, как собрать данные о всех пакетах, проходящих через абонентское устройство ZyXEL (например, для диагностики установления PPPoE-соединения), можно найти в следующей статье Базы знаний: KB-1370


Пакет PPPoE - Active Discovery Offer (PADO)



В этом пакете MAC-адрес назначения (Destination MAC Addr) - это MAC-адрес хоста, а MAC-адрес источника (Source MAC Addr) - это адрес сервера широкополосного удаленного доступа (BBRAS), посылающего ответный пакет хосту.
В поле Code (Код) стоит 0x07, что означает, что это ответный пакет.
Полезная информация PPPoE включает в себя информацию BBRAS.


Пакет PPPoE Active Discovery Request (PADR)



Хост посылает запрос на основе информации, предоставленной BBRAS.
В поле Code (Код) стоит 0x19, что означает, что это Пакет запроса.


Пакет PPPoE Active Discovery Session-confirmation (PADS)



BBRAS отвечает хосту пакетом подтверждения сеанса.
В поле Code (Код) этого пакета содержится 0x65, также пакет содержит идентификатор сеанса (Session ID), назначенный BBRAS.


Стадия сеанса PPP



После стадии установления соединения наступает стадия сеанса. Обратите внимание, что теперь в поле Ether Type (Тип среды) содержится значение 0x8864. Оба участника соединения PPPoE осуществляют связь друг с другом с помощью идентификатора сеанса (Session ID), полученного из пакета подтверждения сеанса. Протокол верхнего уровня (PPP) выполняется поверх уровня PPPoE, и коммуникации начинаются фазой установления соединения по протоколу LCP.
На стадии сеанса в поле Code (Код) пакетов всегда стоит 0x00.


Пакет PPPoE Active Discovery Terminate (PADT)



В случае если хост либо BBRAS хочет разорвать соединение PPPoE, он посылает пакет завершения сеанса, в поле Code (Код) которого содержится 0xA7, а значение в поле Session ID (Идентификатор сеанса) соответствует виртуальному соединению.
Обратите внимание, что процедура завершения сеанса относится к стадии установления соединения, а не к стадии сеанса, поскольку данные уже не передаются.

 




Примечание


1. Информацию по настройке ADSL-модема при использовании инкапсуляции PPPoE вы найдете в следующей статье: «Инструкция по самостоятельной настройке ADSL-модемов P660RT2, P660RU2, P660HT2 и P660HTW2 для подключения к Интернету»


2. Информацию по настройке интернет-центра P-330W для подключения к Интернету по протоколу PPPoE вы найдете в следующей статье: «Инструкция по самостоятельной настройке интернет-центра P-330W для подключения к Интернету»


3. При реализации PPPoE на компьютере требуется дополнительная настройка операционной системы. Для доступа в Интернет нужно в операционной системе создать и затем каждый раз запускать PPPoE-подключение.

Для создания PPPoE-соединения в операционной системе Windows Vista зайдите в Панель управления > Центр управления сетями и общим доступом и выберите Установка подключения или сети. Выберите Подключение к Интернету и нажмите кнопку Далее. Запустится мастер Подключение к Интернету. Выберите Все равно создать новое подключение. Затем выберите Создать новое подключение и нажмите кнопку Далее. Выберите тип подключения Высокоскоростное (с PPPoE). В следующем окне введите Имя пользователя и Пароль для доступа в Интернет, предоставленные провайдером и нажмите кнопку Подключение. Для завершения работы мастера Подключение к Интернету нажмите кнопку Закрыть.


Для создания PPPoE-соединения в операционной системе Windows XP нажмите Пуск > Настройка > Сетевые подключения > Мастер новых подключений. Нажмите кнопку Далее для продолжения работы Мастера новых подключений. Выберите пункт Подключить к Интернету. В следующем окне выберите Установить подключение вручную. Затем выберите пункт Через высокоскоростное подключение, запрашивающее имя пользователя и пароль. Далее введите название создаваемого подключения. В следующем окне введите Имя пользователя и Пароль, предоставленнные провайдером для доступа в Интернет. Для завершения работы мастера новых подключений нажмите кнопку Готово.

 

KB-1945

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 0 из 0