PPPoE (англ. Point-to-point protocol over Ethernet) — сетевой протокол канального уровня передачи кадров PPP через Ethernet. В основном используется xDSL-сервисами. Предоставляет дополнительные возможности (аутентификация, сжатие данных, шифрование).
MTU протокола ниже, чем на стандартном Ethernet, что иногда вызывает проблемы с плохо настроенными межсетевыми экранами.
PPPoE — это туннелирующий протокол, который позволяет настраивать (или инкапсулировать) IP,
или другие протоколы, которые наслаиваются на PPP, через соединения
Ethernet, но с программными возможностями PPP соединений, и поэтому
используется для виртуальных «звонков» на соседнюю Ethernet-машину и
устанавливает соединение точка-точка, которое используется для
транспортировки IP-пакетов, работающее с возможностями PPP.
Это позволяет применять традиционное PPP-ориентированное ПО для
настройки соединения, которое использует не последовательный канал, а
пакетно-ориентированную сеть (как Ethernet), чтобы организовать
классическое соединение с логином, паролем для Интернет-соединений.
Также, IP-адрес по другую сторону соединения назначается только когда
PPPoE соединение открыто, позволяя динамическое переиспользование IP
адресов.
PPPoE разработан UUNET, Redback Networks и RouterWare. Протокол описан в RFC 2516.
Стоит отметить, что некоторые поставщики оборудования (Cisco и Juniper, например) используют термин PPPoEoE (PPPoE over Ethernet), означающий PPPoE, работающий напрямую через Ethernet или другие IEEE 802.3 сети, а также PPPoE, работающий через связанные в Ethernet (Ethernet bridged over) ATM, для того чтобы отличать от PPPoEoA (PPPoE over ATM), который работает на ATM virtual circuit по спецификации RFC 2684 и SNAP и инкапсулирует PPPoE. PPPoEoA — это не то же самое, что Point-to-Point Protocol over ATM (PPPoA), поскольку он не использует SNAP.
Работа PPPoE осуществляется следующим образом. Существует Ethernet-среда, то есть несколько соединённых сетевых карт, которые адресуются MAC-адресами. Заголовки Ethernet-кадров содержат адрес отправителя кадра, адрес получателя кадра и тип кадра. Одну из карт слушает PPPoE сервер.
Клиент посылает широковещательный Ethernet кадр, на который должен
ответить PPPoE сервер (адрес отправителя кадра — свой MAC-адрес, адрес
получателя кадра — FF:FF:FF:FF:FF:FF и тип кадра — PPPoE Active
Discovery Initiation). PPPoE сервер посылает клиенту ответ (адрес
отправителя кадра — свой MAC-адрес, адрес получателя кадра — МАС-адрес
клиента и тип кадра — PPPoE Active Discovery Offer). Если в сети
несколько PPPoE серверов, то все они посылают ответ. Клиент выбирает
подходящий сервер и посылает ему запрос на соединение. Сервер посылает
клиенту подтверждение с уникальным идентификатором сессии, все
последующие кадры в сессии будут иметь этот идентификатор. Таким
образом, между сервером и клиентом создается виртуальный канал, который
идентифицируется идентификатором сессии и MAC-адресами клиента и
сервера. Затем в этом канале поднимается PPP соединение, а уже в PPP
пакеты упаковывается IP-трафик.
|