Interested Article - PPPoE
- 2020-06-14
- 1
PPPoE ( англ. Point-to-point protocol over Ethernet ) — сетевой протокол канального уровня (второй уровень сетевой модели OSI ) передачи кадров PPP через Ethernet . В основном используется xDSL -сервисами. Предоставляет дополнительные возможности ( аутентификация , сжатие данных , шифрование ).
Стандартное MTU протокола ниже, чем на стандартном Ethernet (Ethernet — 1500 байт; PPPoE — 1492 байт), что иногда вызывает проблемы с плохо настроенными межсетевыми экранами .
PPPoE — это туннелирующий протокол , который позволяет настраивать (или инкапсулировать) IP или другие протоколы, которые настраиваются на PPP, через соединения Ethernet, но с программными возможностями PPP-соединений, и поэтому используется для виртуальных «звонков» на соседнюю Ethernet-машину и устанавливает соединение точку, которое используется для транспортировки IP-пакетов, работающее с возможностями PPP.
Это позволяет применять традиционное PPP-ориентированное ПО для настройки соединения, которое использует не последовательный канал, а пакетно-ориентированную сеть (как Ethernet ), чтобы организовать классическое соединение с логином, паролем для Интернет-соединений. Также IP-адрес по другую сторону соединения назначается, только когда PPPoE-соединение открыто, допуская динамическое переиспользование IP-адресов.
PPPoE разработан , и . Протокол описан в .
Стоит отметить, что некоторые поставщики оборудования ( Cisco и Juniper , например) используют термин PPPoEoE ( PPPoE over Ethernet ), означающий PPPoE, работающий напрямую через Ethernet или другие IEEE 802.3 сети, а также PPPoE, работающий через связанные в Ethernet ( Ethernet bridged over ) ATM , для того, чтобы отличать от PPPoEoA ( PPPoE over ATM ), который работает на ATM virtual circuit по спецификации и 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 - трафик .
PPPoE Discovery (PPPoED)
PADI
PADI — PPPoE Active Discovery Initiation. Если пользователь хочет подключиться к интернету по DSL , сначала его машина должна обнаружить концентратор доступа ( DSL a ccess c oncentrator или DSL-AC ) на стороне провайдера ( point of presence (POP)). Взаимодействие через Ethernet возможно только через MAC-адреса. Если компьютер не знает MAC-адреса DSL-AC, он посылает PADI-пакет через Ethernet broadcast (MAC: ff: ff: ff: ff: ff: ff) Этот PADI-пакет содержит МАС-адрес пославшей его машины.
Пример PADI-пакета:
Frame 1: 32 bytes on wire (256 bits), 32 bytes captured (256 bits) Ethernet II, Src: ZyxelCom_b9:a7:b9 (28:28:5d:b9:a7:b9), Dst: Broadcast (ff:ff:ff:ff:ff:ff) PPP-over-Ethernet Discovery 0001 .... = Version: 1 .... 0001 = Type: 1 Code: Active Discovery Initiation (PADI) (0x09) Session ID: 0x0000 Payload Length: 12 PPPoE Tags Host-Uniq: 00002771
Src.
(=source) представляет MAC-адрес машины, пославшей PADI.
Dst.
(=destination) является широковещательным Ethernet-адресом.
PADI-пакет может быть получен более чем одним DSL-AC.
PADO
PADO — PPPoE Active Discovery Offer.
Как только пользовательская машина отослала PADI-пакет, DSL-AC отвечает, посылая PADO-пакет, используя MAC-адреса, пришедшие с PADI. PADO-пакет содержит MAC-адреса DSL-AC, их имена и имя сервиса. Если же более одной точки DSL-AC ответило PADO-пакетом, пользовательская машина выбирает DSL-AC конкретный POP, используя пришедшие имена или имена сервисов.
Пример PADO-пакета:
Frame 2: 64 bytes on wire (512 bits), 64 bytes captured (512 bits) Ethernet II, Src: MS-NLB-PhysServer-04_5a:30:00 (02:04:00:5a:30:00), Dst: ZyxelCom_b9:a7:b9 (28:28:5d:b9:a7:b9) PPP-over-Ethernet Discovery 0001 .... = Version: 1 .... 0001 = Type: 1 Code: Active Discovery Offer (PADO) (0x07) Session ID: 0x0000 Payload Length: 33 PPPoE Tags Host-Uniq: 00002771 AC-Name: STREAM Service-Name: mtu Service-Name: mgts
AC-Name — String Data
представляет строковое AC имя, в данном случае «STREAM» (сеть
МГТС
в Москве).
Src.
представляет MAC-адрес DSL-AC.
MAC-адрес DSL-AC также идентифицирует производителя DSL-AC.
PADR
PADR расшифровывается как PPPoE Active Discovery Request.
Как сказано выше, пользовательская машина должна выбрать POP (точку доступа) — это делается с помощью PADR-пакета, который посылается на MAC-адрес выбранного DSL-AC.
Пример PADR-пакета:
Frame 3: 32 bytes on wire (256 bits), 32 bytes captured (256 bits) Ethernet II, Src: ZyxelCom_b9:a7:b9 (28:28:5d:b9:a7:b9), Dst: MS-NLB-PhysServer-04_5a:30:00 (02:04:00:5a:30:00) PPP-over-Ethernet Discovery 0001 .... = Version: 1 .... 0001 = Type: 1 Code: Active Discovery Request (PADR) (0x19) Session ID: 0x0000 Payload Length: 12 PPPoE Tags Host-Uniq: 00002771
PADS
PADS — PPPoE Active Discovery Session-confirmation.
PADR-пакет подтверждается концентратором пересылкой PADS-пакета, в нём же приходит Session ID. Соединение с DSL-AC для этой точки доступа теперь полностью установлено.
Пример PADS-пакета:
Frame 4: 64 bytes on wire (512 bits), 64 bytes captured (512 bits) Ethernet II, Src: MS-NLB-PhysServer-04_5a:30:00 (02:04:00:5a:30:00), Dst: ZyxelCom_b9:a7:b9 (28:28:5d:b9:a7:b9) PPP-over-Ethernet Discovery 0001 .... = Version: 1 .... 0001 = Type: 1 Code: Active Discovery Session-confirmation (PADS) (0x65) Session ID: 0x0254 Payload Length: 22 PPPoE Tags Host-Uniq: 00002771 AC-Name: STREAM
PADT
PADT — (PPPoE) Active Discovery Termination.
Этот пакет обрывает соединение с POP. Он может быть послан либо со стороны пользователя, либо со стороны DSL-AC.
Пример PADT-пакета:
Frame 5: 28 bytes on wire (224 bits), 28 bytes captured (224 bits) Ethernet II, Src: ZyxelCom_b9:a7:b9 (28:28:5d:b9:a7:b9), Dst: MS-NLB-PhysServer-04_5a:30:00 (02:04:00:5a:30:00) PPP-over-Ethernet Discovery 0001 .... = Version: 1 .... 0001 = Type: 1 Code: Active Discovery Terminate (PADT) (0xa7) Session ID: 0x0254 Payload Length: 8 PPPoE Tags Host-Uniq: 00002771
Преимущества схемы
- IP-заголовки в Ethernet-среде игнорируются. То есть пользователь может назначить IP-адрес своей сетевой карте, но это не приведет к «обвалу» сети (теоретически при работе с сетевым концентратором не должно произойти «обвала» и при смене пользователем MAC-адреса даже на адрес сервера, а при работе с сетевым коммутатором все зависит от конструкции коммутатора).
- Каждое соединение отделено от других (работает в своем канале).
- Настройки (IP-адрес, адрес шлюза , адреса DNS -серверов) могут передаваться сервером.
- PPP-соединение легко аутентифицируется и обсчитывается (например, при помощи RADIUS ).
- PPP-соединение можно шифровать. Например, при работе с сетевым концентратором (когда на каждой сетевой карте может быть виден весь Ethernet-трафик) прочитать чужой IP-трафик весьма затруднительно.
См. также
Примечания
- (англ.) . FlexiHub . Дата обращения: 18 апреля 2021. 18 апреля 2021 года.
Ссылки
- — A Method for Transmitting PPP Over Ethernet (PPPoE)
- — Layer 2 Tunneling Protocol (L2TP) Active Discovery Relay for PPP over Ethernet (PPPoE)
- — Accommodating a Maximum Transit Unit/Maximum Receive Unit (MTU/MRU) Greater Than 1492 in the Point-to-Point Protocol over Ethernet (PPPoE)
Для улучшения этой статьи
желательно
:
|
- 2020-06-14
- 1