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

PPPoE — протокол туннелирования поверх Ethernet

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

История создания

Протокол PPP изначально разрабативался для последовательных линий связи (например, модемных) и предполагал соединение двух узлов напрямую. С развитием кабельных и DSL-сетей возникла потребность использовать PPP поверх широковещательных сетей Ethernet, где один сервер обслуживает множество абонентов. Решение было оформлено в виде RFC 2516, опубликованном в феврале 2000 года группой IETF. Авторами документа выступили Л. Мамакос, К. Лалил, Д. Карлсон, С. Цукерман, Б. Палл и Д. Метц. Протокол быстро получил распространение в ADSL-доступе и стал де-факто стандартом для абонентских подключений в России и во многих других странах.

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

PPPoE функционирует в две фазы: обнаружение (Discovery) и сессия (Session).

Фаза обнаружения

На этом этапе клиент и сервер (PPPoE-сервер провайдера) находят друг друга в Ethernet-сегменте и устанавливают идентификатор сессии. Обмен пакетами включает следующие шаги:

  1. Клиент отправляет широковещательный пакет PADI (PPPoE Active Discovery Initiation).
  2. Сервер отвечает односторонним пакетом PADO (Offer).
  3. Клиент выбирает сервер и отправляет PADR (Request).
  4. Сервер подтверждает сессию пакетом PADS (Session-Confirmation) с присвоенным ID.

После завершения Discovery устанавливается логическая PPP-сессия, поверх которой передаётся аутентификация и трафик.

Фаза сессии

В сессии PPP-кадры инкапсулируются в Ethernet-кадры. Каждый пакет содержит идентификатор сессии, что позволяет серверу различать абонентов. Аутентификация обычно выполняется по протоколам PAP или CHAP, после чего клиенту назначается IP-адрес, маска, шлюз и DNS-серверы. Завершение сессии происходит по запросу любой из сторон или по таймауту.

Формат кадра

Ethernet-кадр PPPoE имеет следующую структуру:

ПолеРазмер
MAC-адрес назначения6 байт
MAC-адрес источника6 байт
EtherType (0x8863 — Discovery, 0x8864 — Session)2 байта
Версия и тип1 байт
Код1 байт
Идентификатор сессии2 байта
Длина2 байта
Полезная нагрузкапеременная

Максимальный размер полезной нагрузки PPPoE-кадра — 1464 байта, что меньше стандартных 1500 байт Ethernet. Это приводит к необходимости фрагментации или снижения MTU на абонентском устройстве до 1492 байт, что может влиять на производительность некоторых приложений.

Классификация

По роли участников выделяют:

  • PPPoE-клиент — абонентское устройство (модем, роутер, компьютер), инициирующее сессию.
  • PPPoE-сервер — устройство провайдера (BRAS — Broadband Remote Access Server), принимающее подключения.

По способу инкапсуляции различают LCP-инкапсуляцию PPP-кадров и Ethernet-инкапсуляцию, но на практике используется преимущественно стандартный вариант из RFC 2516.

Применение

PPPoE применяется в следующих сценариях:

  • ADSL-доступ — основной протокол абонентских подключений через DSL-модемы.
  • Кабельный доступ — используется некоторыми операторами поверх DOCSIS.
  • FTTH/FTTB — в России PPPoE остаётся распространённым протоколом абонентской аутентификации на оптических линиях.
  • VPN-туннели — PPPoE может использоваться для построения VPN поверх Ethernet.

В России PPPoE традиционно применяется крупнейшими провайдерами, включая Ростелеком, для абонентской аутентификации и учёта трафика.

Альтернативы

В качестве альтернатив PPPoE используются:

  • IPoE (IP over Ethernet) — более простой протокол, основанный на DHCP и MAC-аутентификации.
  • DHCP-опции — механизм передачи параметров подключения через DHCP-сервер.

Многие операторы переходят с PPPoE на IPoE, поскольку последний проще в настройке и не требует снижения MTU. Однако PPPoE сохраняет преимущество в виде встроенной аутентификации и удобного учёта сессий.

Настройка

Для подключения по PPPoE необходимо указать логин и пароль, выданные провайдером, а также имя сервиса (Service Name). Настройка выполняется на роутере или операционной системе. В Linux PPPoE-клиент реализован утилитами rp-pppoe или pppoe, в Windows — средствами системы или сторонними программами.

Ограничения

К недостаткам PPPoE относят:

  • Снижение MTU до 1492 байт, что может вызывать проблемы с фрагментацией.
  • Дополнительные накладные расходы на заголовки протокола.
  • Сложность настройки по сравнению с IPoE.

Несмотря на ограничения, протокол продолжает широко использоваться в абонентских сетях благодаря成熟的 механизма аутентификации и учёта сессий.

Источники

  • RFC 2516 — Method for Transmitting PPP Over Ethernet (PPPoE)
  • RFC 1661 — The Point-to-Point Protocol (PPP)
  • Справочник сетевых протоколов TCP/IP
  • Документация по настройке BRAS-серверов
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru