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, или просто сервером доступа), установленным у провайдера. Процесс установления соединения состоит из двух этапов:
- Обнаружение (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. После этого этапа широковещание прекращается, и соединение становится точкой-точка.
- Установление 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 позволяет провайдеру легко идентифицировать каждого абонента по логину и паролю, что упрощает биллинг и контроль доступа.
- Динамическая адресация: протокол автоматически назначает IP-адрес, что экономит адресное пространство IPv4.
- Изоляция клиентов: PPPoE создаёт отдельные виртуальные каналы для каждого пользователя, что повышает безопасность (клиенты не видят друг друга напрямую в локальной сети провайдера).
- Совместимость: протокол широко поддерживается большинством моделей роутеров, модемов и операционных систем.
Недостатки
- Накладные расходы: заголовок 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 →


