PPPoE | это... Что такое PPPoE? (original) (raw)
PPPoE (англ. Point-to-point protocol over Ethernet) — сетевой протокол канального уровня передачи кадров PPP через Ethernet. В основном используется xDSL-сервисами. Предоставляет дополнительные возможности (аутентификация, сжатие данных, шифрование).
MTU протокола ниже (1492 байт), чем на стандартном Ethernet (1500 байт), что иногда вызывает проблемы с плохо настроенными межсетевыми экранами.
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-трафик.
Содержание
PPPoE Discovery (PPPoED)
PADI
PADI — PPPoE Active Discovery Initiation.
Если пользователь хочет подключиться к интернету по DSL, сначала его машина должна обнаружить концентратор доступа (DSL access concentrator или 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 (44 bytes on wire, 44 bytes captured) Ethernet II, Src: 00:50:da:42:d7:df, Dst: ff:ff:ff:ff:ff:ff PPP-over-Ethernet Discovery Version: 1 Type 1 Code Active Discovery Initiation (PADI) Session ID: 0000 Payload Length: 24 PPPoE Tags Tag: Service-Name Tag: Host-Uniq Binary Data: (16 bytes)
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, их имена (например LEIX11-erx для концентратора T-Com DSL-AC в Лейпциге) и имя сервиса. Если же более одной точки DSL-AC ответило PADO-пакетом, пользовательская машина выбирает DSL-AC конкретный POP, используя пришедшие имена или имена сервисов.
Пример PADO-пакета:
Frame 2 (60 bytes on wire, 60 bytes captured) Ethernet II, Src: 00:0e:40:7b:f3:8a, Dst: 00:50:da:42:d7:df PPP-over-Ethernet Discovery Version: 1 Type 1 Code Active Discovery Offer (PADO) Session ID: 0000 Payload Length: 36 PPPoE Tags Tag: Service-Name Tag: AC-Name String Data: IpzbrOOl Tag: Host-Uniq Binary Data: (16 bytes)
AC-Name — String Data представляет строковое AC имя, в данном случае «Ipzbr001» (Arcor DSL-AC в Лейпциге).
Src. представляет MAC-адрес DSL-AC.
MAC-адрес DSL-AC также идентифицирует производителя DSL-AC (в данном случае, Nortel Networks).
PADR
PADR расшифровывается как PPPoE Active Discovery Request.
Как сказано выше, пользовательская машина должна выбрать POP (точку доступа) — это делается с помощью PADR-пакета, который посылается на MAC-адрес выбранного DSL-AC.
PADS
PADS — PPPoE Active Discovery Session-confirmation.
PADR-пакет подтверждается концентратором пересылкой PADS-пакета, в нем же приходит Session ID. Соединение с DSL-AC для этой точки доступа теперь полностью установлено.
PADT
PADT — PPPoE Active Discovery Termination.
Этот пакет обрывает соединение с POP. Он может быть послан либо со стороны пользователя, либо со стороны DSL-AC.
Преимущества схемы
- IP-заголовки в Ethernet среде игнорируются. То есть пользователь может назначить IP-адрес своей сетевой карте, но это не приведет к «обвалу» сети (теоретически, при работе с сетевым концентратором не должно произойти «обвала» и при смене пользователем MAC-адреса даже на адрес сервера, а при работе с сетевым коммутатором все зависит от конструкции коммутатора).
- Каждое соединение отделено от других (работает в своем канале).
- Настройки (IP-адрес, адрес шлюза, адреса DNS серверов) могут передаваться сервером.
- PPP соединение легко аутентифицируется и обсчитывается (например, при помощи RADIUS).
- PPP соединение можно шифровать. Например, при работе с сетевым концентратором (когда на каждой сетевой карте может быть виден весь Ethernet-трафик) прочитать чужой IP-трафик весьма затруднительно.
Примечания
Ссылки
- RFC 2516 — A Method for Transmitting PPP Over Ethernet (PPPoE)
- RFC 3817 — Layer 2 Tunneling Protocol (L2TP) Active Discovery Relay for PPP over Ethernet (PPPoE)
- RFC 4638 — Accommodating a Maximum Transit Unit/Maximum Receive Unit (MTU/MRU) Greater Than 1492 in the Point-to-Point Protocol over Ethernet (PPPoE)
- Настройка PPPoE на Cisco
См. также
Основные протоколы TCP/IP по уровням модели OSI (Список портов TCP и UDP) | |
---|---|
Физический | Ethernet • RS-232 • EIA-422 • RS-449 • RS-485 |
Канальный | Ethernet • PPPoE • PPP • L2F • 802.11 Wi-Fi • 802.16 WiMax • Token ring • ARCNET • FDDI • HDLC • SLIP • ATM • CAN • DTM • X.25 • Frame relay • SMDS • STP • ERPS |
Сетевой | IPv4 • IPv6 • IPsec • ICMP • IGMP • ARP • RARP • RIP2 • OSPF |
Транспортный | TCP • UDP • SCTP • DCCP • RDP/RUDP • RTP • GRE |
Сеансовый | ADSP • H.245 • iSNS • NetBIOS • PAP • RPC • L2TP • PPTP • RTCP • SMPP • SCP • ZIP • SDP |
Представления | XDR • SSL • TLS |
Прикладной | BGP • HTTP • HTTPS • DHCP • IRC • SNMP • DNS • DNSSEC • NNTP • XMPP • SIP • IPP • NTP • SNTP • Электронная почта (SMTP • POP3 • IMAP4) • Передача файлов (FTP • TFTP • SFTP) • Удалённый доступ (rlogin • Telnet • SSH • RDP) |
Другие прикладные | OSCAR • CDDB • Multicast FTP • Multisource FTP • BitTorrent • Gnutella • Skype |
Виртуальные частные сети (VPN) | |
---|---|
Программное обеспечение | Chaply • Check Point VPN-1 • Cisco Systems VPN Client • CloudVPN • CryptoLink • Gbridge • Hamachi • Jabpunch • Microsoft Forefront Unified Access Gateway • n2n • NetworkManager • OpenVPN • Openswan • pLan OpenVPN Edition (ZeroGC Gaming Client) • rp-pppoe • Social VPN • strongSwan • Tinc • tcpcrypt • Vyatta • Wippien |
Механизмы | SSTP · IPsec • L2TP • L2TPv3 • PPTP • Split tunneling |
Управляемые поставщиком | Layer 2 Forwarding Protocol • DirectAccess |