Открыть сервис

PPPoE

PPPoE (Point-to-Point Protocol over Ethernet) — это сетевой протокол канального уровня, предназначенный для инкапсуляции кадров PPP (Point-to-Point Protocol) в кадры Ethernet. Он используется для организации соединения «точка-точка» поверх широковещательной среды Ethernet, что позволяет провайдерам услуг доступа в интернет (ISP) аутентифицировать и тарифицировать каждого абонента индивидуально, а также назначать ему динамический IP-адрес.

История

Протокол PPPoE был разработан в 1999 году компаниями Redback Networks, RouterWare и UUNET (впоследствии вошла в состав Verizon Communications) и задокументирован в спецификации RFC 2516. Его появление было вызвано необходимостью адаптировать протокол PPP, изначально созданный для коммутируемых (dial-up) и выделенных линий, к широко распространённой технологии Ethernet. В то время операторы связи активно переходили от модемных пулов к технологиям xDSL, и PPPoE стал стандартным решением для организации доступа по витой паре (ADSL, VDSL). Позднее протокол также нашёл применение в оптоволоконных сетях (FTTx) и беспроводных технологиях (WiMAX), хотя в последние годы в ряде сегментов его вытесняют более современные протоколы, такие как IPoE (DHCP).

Принцип работы

PPPoE работает по модели «клиент-сервер». Клиент (обычно домашний роутер или компьютер пользователя) инициирует соединение с сервером доступа (BRAS — Broadband Remote Access Server, или просто сервером доступа), установленным у провайдера. Процесс установления соединения состоит из двух этапов:

  1. Обнаружение (Discovery). На этом этапе клиент и сервер устанавливают идентификатор сессии (Session ID). Клиент отправляет широковещательный (broadcast) запрос PADI (PPPoE Active Discovery Initiation). Сервер отвечает пакетом PADO (PPPoE Active Discovery Offer), в котором указывает своё имя и предлагает начать сессию. Затем клиент отправляет запрос PADR (PPPoE Active Discovery Request), а сервер подтверждает его пакетом PADS (PPPoE Active Discovery Session-confirmation), содержащим уникальный Session ID. После этого этапа широковещание прекращается, и соединение становится точкой-точка.
  1. Установление PPP-соединения. После завершения этапа обнаружения начинается стандартная процедура установления PPP-соединения, описанная в RFC 1661. Она включает:
  • LCP (Link Control Protocol): согласование параметров канала (например, максимального размера кадра MRU, использование сжатия заголовков).
  • Аутентификация: проверка подлинности пользователя. Чаще всего используются протоколы PAP (Password Authentication Protocol) или CHAP (Challenge Handshake Authentication Protocol). Провайдер передаёт имя пользователя (логин) и пароль, которые сверяются с базой данных RADIUS-сервера.
  • NCP (Network Control Protocol): для IP-сетей используется IPCP (Internet Protocol Control Protocol), который назначает клиенту IP-адрес (обычно динамический), а также адреса DNS-серверов.

После успешного завершения этих этапов клиент получает доступ к сети интернет. Разрыв соединения инициируется пакетом PADT (PPPoE Active Discovery Terminate).

Структура кадра

Кадр PPPoE состоит из следующих полей:

  • Версия (Version): 4 бита, всегда равно 0x1.
  • Тип (Type): 4 бита, всегда равно 0x1.
  • Код (Code): 8 бит, определяет тип пакета (0x09 для PADI, 0x07 для PADO, 0x19 для PADR, 0x65 для PADS, 0xA7 для PADT, 0x00 для данных PPP).
  • Идентификатор сессии (Session ID): 16 бит, уникальный номер сессии, присвоенный сервером.
  • Длина (Length): 16 бит, длина поля Payload (данных PPP) в байтах.
  • Payload: данные PPP, которые, в свою очередь, содержат протоколы LCP, NCP, аутентификации или пользовательские данные (IP-пакеты).

Максимальный размер кадра PPPoE (MTU) обычно составляет 1492 байта (1500 байт стандартного Ethernet-кадра минус 8 байт заголовка PPPoE). Это может вызывать проблемы с некоторыми приложениями, требующими больших пакетов, и требует настройки MSS (Maximum Segment Size) на клиентском оборудовании.

Преимущества и недостатки

Преимущества

Недостатки

  • Накладные расходы: заголовок PPPoE (8 байт) уменьшает полезный размер кадра Ethernet (MTU), что может снижать эффективность передачи данных, особенно при использовании VPN-туннелей.
  • Сложность настройки: для конечного пользователя требуется вручную вводить логин и пароль, что может быть неудобно по сравнению с протоколом IPoE, где настройки получаются автоматически через DHCP.
  • Задержки: процесс установления соединения (Discovery + PPP) занимает некоторое время (обычно 1–3 секунды), что может быть критично для некоторых приложений.
  • Ограниченная масштабируемость: при большом количестве одновременных сессий на одном сервере доступа (BRAS) могут возникать проблемы с производительностью.

Применение

Основная область применения PPPoE — сети доступа в интернет по технологиям xDSL (ADSL, ADSL2+, VDSL, VDSL2). В таких сетях протокол используется для организации подключения от абонентского модема до DSLAM (Digital Subscriber Line Access Multiplexer) и далее до BRAS провайдера. В России и странах СНГ PPPoE является одним из наиболее распространённых протоколов для подключения частных абонентов по медным линиям, а также в некоторых сетях FTTB (Fiber to the Building) и GPON (Gigabit Passive Optical Network), хотя в последних чаще применяется IPoE. В корпоративных сетях PPPoE иногда используется для организации удалённого доступа сотрудников через VPN-серверы, поддерживающие этот протокол.

Критика и альтернативы

Основная критика PPPoE связана с его избыточностью для современных высокоскоростных сетей. Протокол был разработан в эпоху медленных модемных соединений и не учитывает особенности работы с большими объёмами трафика. Альтернативой является протокол IPoE (IP over Ethernet), который использует DHCP для автоматической настройки параметров (IP-адрес, DNS) и не требует аутентификации на уровне соединения. IPoE проще в настройке, не уменьшает MTU и быстрее устанавливает соединение. Однако он не обеспечивает такой же уровень изоляции клиентов, как PPPoE, и требует от провайдера других механизмов аутентификации (например, по MAC-адресу или через порт коммутатора). В некоторых сетях для аутентификации используется протокол 802.1X (стандарт IEEE), который также может применяться для контроля доступа.

Интересные факты

  • Изначально PPPoE был разработан для использования в сетях ADSL, но позже был адаптирован для других сред передачи данных.
  • В некоторых реализациях (например, в операционных системах Windows) PPPoE-соединение может быть настроено как «высокоскоростное подключение» (Broadband connection).
  • Существует модификация протокола — PPPoA (PPP over ATM), которая используется в сетях ATM (Asynchronous Transfer Mode) и была распространена в ранних технологиях ADSL.

Источники

  • RFC 2516 — A Method for Transmitting PPP Over Ethernet (PPPoE)
  • RFC 1661 — The Point-to-Point Protocol (PPP)
  • RFC 2364 — PPP Over AAL5 (PPPoA)
  • RFC 2131 — Dynamic Host Configuration Protocol (DHCP)
  • Таненбаум Э., Уэзеролл Д. — «Компьютерные сети» (5-е издание)
  • Олифер В. Г., Олифер Н. А. — «Компьютерные сети. Принципы, технологии, протоколы» (5-е издание)

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →