Application | FTP | SMTP | HTTP | … | DNS | … |
Transport | TCP | UDP | ||||
Network | IP | IPv6 | ||||
Network access | PPP | |||||
PPPoE | ||||||
Ethernet |
PPPoE (англ. Point-to-point protocol over Ethernet) — мережевий протокол передачі кадрів PPP через Ethernet. В основному використовується XDSL-сервісами. Надає додаткові можливості (автентифікація, стиснення, шифрування).
PPPoE — тунельний протокол, який дозволяє налаштовувати (або інкапсулювати) IP, або інші протоколи, які нашаровуються на PPP, через з'єднання Ethernet, але з програмними можливостями PPP-з'єднань, і тому використовується для віртуальних «дзвінків» на сусідню Ethernet-машину і встановлює з'єднання точка-точка, яке використовується для транспортування IP-пакетів, що працює з можливостями PPP.
Це дозволяє застосовувати традиційне PPP-орієнтоване ПЗ для налаштування з'єднання, яке використовує не послідовний канал, а пакетно-орієнтовану мережу (як Ethernet), щоб організувати класичне з'єднання з логіном, паролем для Інтернет-з'єднань. Також, IP-адреса по інший бік з'єднання призначається тільки коли PPPoE з'єднання відкрито, дозволяючи динамічне перевикористання IP-адрес.
PPPoE розробили UUNET, Redback Networks і RouterWare. Протокол описано в RFC 2516.
Варто відзначити, що деякі постачальники обладнання (Cisco і Juniper[en], наприклад) використовують термін 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 є аналогом комутованого з'єднання, то для його організації потрібно всього одна IP-адреса, яка доступна з мережі Інтернет тільки під час встановленого з'єднання, що в сукупності значно зменшує витрати на утримання постійного підключення до мережі.
Технологія використання стека PPP у мережі Ethernet є відносно новою, але вже отримала достатнє поширення. На даний момент вона визначається документом RFC 2516, який був розроблений і випущений в лютому 1999 року. Однак цей документ не є стандартом і носить поки інформативний характер. Родоначальниками розробки цього документа з'явилися компанії RedBack Networks, RouterWare, UUNET та інші. Таким чином, «усвідомлений вік» цієї технології вельми невеликий. Її використання надає провайдерам Інтернет-послуг нові можливості в організації та облік доступу користувачів до мережі. Це особливо актуально для тих провайдерів, які планують або вже пропонують своїм користувачам доступ до Інтернету за допомогою мережі Ethernet, наприклад, в сучасних житлових комплексах, де кабельна розводка витою парою вже не є нововведенням.
Заслуговує особливої уваги той факт, що для налаштування маршрутизатора провайдера, встановлення концентратора в під'їзді житлового будинку, мережної карти і невеликого програмного забезпечення в комп'ютер користувача не потрібен модем, немає необхідності займати єдину телефонну лінію, так як провайдер послуг тепер може організовувати, обмежувати доступ і облік трафіку користувачів таким чином, ніби користувач працює за звичайним модемним каналом. Така реалізація стала можливою завдяки технології PPPoE, яка запускає сесію PPP, але не поверх модемного з'єднання, а поверх мережі Ethernet.
При цьому буде підтримуватися аутентифікація користувачів за протоколами PAP і CHAP, динамічне виділення IP-адрес користувачам, призначення адреси шлюзу, DNS-сервера і т. д.
Технологія PPPoE на даний момент є однією з найдешевших при наданні користувачам доступу до послуг Інтернет в житлових комплексах на базі Ethernet і при використанні технології DSL. На відміну від VPN, PPPoE зараз є індустріальним стандартом для широкосмугових інтернет-підключень, що значно спрощує підключення і вирішує багато проблем.
Так як принципом роботи PPPoE є встановлення з'єднання «точка-точка» поверх загального середовища Ethernet, то процес функціонування PPPoE повинен бути розділений на дві стадії. У першій стадії два пристрої повинні повідомити один одному свої адреси і встановити початкове з'єднання, а в другій стадії запустити сесію PPP.
Стадія встановлення з'єднання між клієнтом (комп'ютером користувача) і сервером (концентратором доступу провайдера) ділиться на кілька етапів. На першому етапі клієнт посилає широкомовний запит (адреса призначення — broadcast address) (PADI PPPoE Active Discovery Initiation) на пошук сервера зі службою PPPoE. Цей запит отримують всі користувачі мережі, але відповість на нього тільки той, у кого є підтримка служби PPPoE. Відповідний пакет від концентратора доступу (PADO PPPoE Active Discovery Offer) надсилається у відповідь клієнту, але якщо в мережі є багато пристроїв зі службою PPPoE, то клієнт отримає багато пакетів PADO. В цьому випадку програмне забезпечення клієнта вибирає необхідний йому концентратор доступу і посилає йому пакет (PADR PPPoE Active Discovery Request) з інформацією про необхідну службу (необхідний клас обслуговування залежить від послуг провайдера), ім'я провайдера і т. д. Після отримання запиту концентратор доступу готується до початку PPP-сесії і посилає клієнтові пакет PADS (PPPoE Active Discovery Session-confirmation). Якщо всі опитувані клієнтом служби доступні (до складу цього пакету входить унікальний номер сесії, присвоєний концентратором), то починається другий етап — стадія встановленої сесії. Якщо необхідні клієнту послуги не можуть бути надані, клієнт отримує пакет PADS із зазначенням помилки в запиті послуги.
Сесія починається з використанням пакетів PPP. При встановленні PPP-сесії користувач може бути аутентифікований за допомогою RADIUS, і його трафік буде враховуватися як при звичайному модемному доступі. Йому можна призначити динамічну IP-адресу з пулу адрес концентратора, встановити налаштування шлюзу і DNS-сервера. При цьому на концентраторі доступу клієнту відповідно ставиться віртуальний інтерфейс. Бажано, щоб концентратор доступу посилав періодичні запити клієнту для визначення його стану. Ця операція необхідна для того, щоб клієнт, який з якоїсь причини не закінчив сесію коректним чином, не вважався існуючим і для нього не резервувалися ресурси концентратора доступу. Завершення з'єднання PPPoE відбувається з ініціативи клієнта, або концентратора доступу за допомогою посилки пакета PADT (PPPoE Active Discovery Terminate).
У протоколі PPPoE передбачені деякі додаткові функції, наприклад, такі як захист від DoS атак (Denial of Service). Захист від деяких типів DoS-атак реалізований шляхом додавання в пакети PADI спеціального поля AC-Cookie, яке дозволяє концентратору доступу обмежувати кількість одночасних сесій PPPoE на одного клієнта.
У тестовій лабораторії INLINE Technologies було проведено тестування продуктів різних виробників, що використовують технологію PPPoE. Для цього концентраторами доступу слугувало таке обладнання:
Для настройки маршрутизатора з функцією PPPoE необхідно мати правильне програмне забезпечення. В нашому випадку це Cisco IOS версії 12.1.2T опція IP PLUS:
boot system flash c2600-is-mz.121-2.T.bin
aaa new-model
aaa authentication ppp default group radius
aaa authorization network default group radius
aaa accounting network default start-stop group radius
vpdn enable
no vpdn logging
vpdn-group 1
accept-dialin
protocol pppoe
virtual-template 1
interface FastEthernet0 / 0
ip address 192.168.0.1 255.255.255.0
duplex auto
speed auto
pppoe enable
Створення заготовки Virtual-Template 1, в якій адресу клієнта виділяється динамічно з пулу адрес під назвою TEST, використовується аутентифікація користувачів за протоколами PAP і CHAP, так як для користувачів використовуються приватні адреси, маршрутизатор налаштований з використанням функції трансляції адрес NAT:
interface Virtual-Template1
ip address 192.168.100.1 255.255.255.0
ip nat inside
peer default ip address pool TEST
ppp authentication chap pap callin
Команди глобального режиму конфігурації для створення пулу адрес «TEST» та використання функції NAT overload на інтерфейсі Serial0 / 0 для адрес з access-list 1:
ip local pool TEST 192.168.100.2 192.168.100.254
ip nat inside source list 1 interface Serial0 / 0 overload
access-list 1 permit 192.168.100.0 0.0.0.255
ip route 0.0.0.0 0.0.0.0 195.195.195.1
radius-server host 192.168.1.2 auth-port 1645 acct-port 1646
radius-server retransmit 3
radius-server key test
При такій конфігурації маршрутизатора користувачі, підключені до мережі Ethernet, не можуть працювати з доступом в Інтернет, не використовуючи технологію PPPoE і не пройшовши аутентифікацію в сервері RADIUS, тому що функція NAT буде реалізована тільки для адрес користувачів служби PPPoE.
EtherNet 300, розробленим компанією Efficient Network, 30 днів безкоштовно, вартість 29 $, (http://www.nts.com/ [Архівовано 14 березня 2012 у Wayback Machine.]). Встановлено на Windows NT 4.0.
POETRI, 30 днів безкоштовно. Встановлено на Windows 95 і Windows NT 4.0 PPPoE-клієнт для Linux. (Http://www.brightdsl.net/ [Архівовано 11 вересня 2017 у Wayback Machine.]). Встановлено на Red Hat 7.0.
Як білінгової системи була використана система «Білл-Майстер».
Крім тестування взаємодії програмного забезпечення персональних комп'ютерів з обладнанням концентратора доступу клієнтів, було протестовано застосування технології PPPoE спільно з обладнанням доступу ADSL. Таке застосування PPPoE дозволяє настроїти ADSL-модем/ADSL-маршрутизатор клієнта (необхідно вказати ім'я користувача, пароль і т. д.) і автентифікувати на концентраторі доступу через білінгову систему RADIUS. При цьому трафік користувачів всієї локальної мережі організації буде врахований як загальний, але в такій конфігурації на комп'ютерах користувачів не потрібно мати програмне забезпечення PPPoE-клієнтів, так як його роль виконує ADSL-обладнання (ADSL-Модем/ADSL-Маршрутізатор Telindus 1120).
У мережі Інтернет крім протестованого, можна знайти інше програмне забезпечення PPPoE-клієнта для різних операційних систем, наприклад, таких як Mac, BeOS. Також можна знайти програмне забезпечення для написання свого специфічного клієнта під певні послуги будь-якого провайдера.
1.Використовувати потрібно тільки один з наведених вище способів.
2.Для власників операційної системи Windows XP рекомендуємо скористатися третім способом.
1.Звантажте в папку (наприклад) «c:\pppoe» zip-архів РРРоЕ-клієнта за посиланням;
2.Розпакуйте архів в цю ж папку;
3.Якщо у вас встановлений «Віддалений доступ до мережі» то перейдіть до пункту 5;
4.«Мій комп'ютер» — «Панель управління» — «Установка та видалення програм» — «Установка Windows» — «Зв'язок» — «Склад» — «Віддалений доступ до мережі» — «Ок» — Перезавантаження;
5.Правою кнопкою миші клацніть на «мережному оточенні» — оберіть «Властивості» — «Додати» — «Протокол» — «Додати» — «Встановити з диска» — «Обзор» — виберіть папку «c: \ pppoe» — «Ок» — «PPP over Ethernet Protocol (Windows 98/Me)» — «Ок» — «Ок» — Перезавантаження;
6.Натисніть «Пуск» — «Виконати» — «raspppoe» — «Ок» — Оберіть потрібний мережний адаптер — Натисніть «Query Available Services» — Обрати в списку доступних серверів авторизації той сервер, який відповідає назві вашого міста — Натисніть «Create a Dial-Up Connection for the selected Adapter» — «Exit»;
7.Двічі клацніть на нову іконку з'єднання на робочому столі — введіть логін, введіть пароль — «підключитися».
1.Звантажте в папку (наприклад, «c:\pppoe») zip-архів РРРоЕ-клієнта за посиланням;
2.Розпакуйте архів в цю ж папку;
3. Натисніть «Пуск» — «Налаштування» — «Мережа і віддалений доступ до мережі» — «Підключення по локальній мережі» — оберіть «Властивості» — «Встановити» — «Протокол» — «Додати» — «Встановити з диска» — «Огляд» — виберіть папку «c:\pppoe» — «Ок» — Оберіть будь-який inf-файл — «Ок» — «PPP over Ethernet Protocol» — «Ок» — копіювання файлів, при повідомленні «Цифровий підпис не знайдено» натискайте «Так» — закрийте вікно «Підключення по локальній мережі — властивості»;
4.Натисніть «Пуск» — «Виконати» — «raspppoe» — «Ок» — Виберіть потрібний мережний адаптер — «Query Available Services» — Вибрати в списку доступних серверів авторизації той сервер, який відповідає назві вашого міста — Натисніть «Create a Dial-Up Connection for the selected Adapter» — «Exit»;
5.Двічі клацніть на нову іконку з'єднання на робочому столі — введіть логін, введіть пароль — «підключитися».
1.Натисніть «Пуск» — «Панель управління» — «Мережні підключення» — «Файл» — «Нове підключення» — «Далі» — «Підключити до Інтернету» — «Далі» — «Встановити підключення вручну» — «Далі» — «Через високошвидкісне підключення, запитуюча ім'я користувача та пароль» — «Далі» — у полі введіть ім'я підключення, наприклад «Інфолайн РРРоЕ» — «Далі» — введіть логін у поле «Ім'я користувача» — введіть пароль в полях «Пароль» і «Підтвердження» — «Далі» — «Додати ярлик підключення на робочий стіл» — «Готово»;
2.Двічі клацніть на нову іконку з'єднання на робочому столі — натисніть «Підключення».
Як було сказано на початку, PPPoE є новою технологією, і час її широкого застосування ще не настав. Попри це, вже зараз видно зацікавленість великих операторів зв'язку та послуг Інтернет (France Telecom, Prodigy) в використанні цієї технології спільно з технологією DSL.
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 — 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 розшифровується як PPPoE Active Discovery Request.
Як сказано вище, призначена для користувача машина повинна вибрати POP (точку доступу) — це робиться за допомогою PADR-пакета, який надсилається на MAC-адресу вибраного DSL-AC.
PADS — PPPoE Active Discovery Session-confirmation.
PADR-пакет підтверджується концентратором пересиланням PADS-пакета, у ньому ж приходить Session ID. З'єднання з DSL-AC для цієї точки доступу завершено.
PADT — PPPoE Active Discovery Termination.
Цей пакет обриває з'єднання з POP. Він може бути посланий або з боку користувача, або з боку DSL-AC.
При цьому не відбувається перехоплення логіна або пароля і не має значення використовуваний тип авторизації (CHAP / PAP).
Більшість ethernet-провайдерів, на жаль не використовують шифрування всієї сесії, обмежуючись тільки шифруванням етапу авторизації. Це дозволяє представитися легітимним клієнтом, перехопивши реквізити існуючого підключення. Умовно процес підключення виглядає так:
Дякуємо за розуміння. Клієнт в пошуках pppoe-сервера посилає широкомовна запит, MAC-адресу призначення FF: FF: FF: FF: FF: FF. Сервер відповідає клієнтові і відбувається авторизація (наприклад CHAP Challenge).
У встановленому з'єднанні сервер ідентифікує клієнта за MAC-адресою і Session ID. Пакети IP інкапсулюються всередину кадрів PPPoE. У незашифрованому підключенні весь вміст пакетів може бути переглянуто (Рис.1.).
Відповідно, дізнавшись реквізити підключення, можна перехопити сесію.
Для захисту від подібних атак існує опція CHAP Rechallenge, коли сервер повторно ідентифікує клієнта із заданим інтервалом часу. Жоден з протестованих провайдерів не використав цю опцію.
Часто використовується віртуальна машина, запущена в режимі моста з ethernet-картою хост-системи. Під час перемикання кабелю важливо потрапити між пакетами LCP-echo. Також PPPoE-сервери перекомпільовують з опцією
Останнім часом дуже популярною стала технологія IPoE. Популярна настільки, що деякі провайдери зважилися впровадити її в існуючу мережу. На перший погляд суцільні плюси.
Наведу кілька плюсів: на відміну, від PPPoE, не потрібен дорогий BRAS, не потрібно витрачатися на підмережі зовнішніх адрес, менше навантаження на обладнання, за рахунок відсутності тунелів, немає необхідності переводити внутрішній трафік через BRAS. Плюсів можна знайти багато, але чомусь мало хто задумався про мінуси. На дану технологію навіть немає RFC, не кажучи вже про те, що значно дешевше обладнання, що використовується на доступі, не завжди коректно працює з options 82. Найголовніший мінус, на мій погляд — безпека кінцевих користувачів.
ЛНТУ (Met_Andy)
![]() |
Це незавершена стаття з технології. Ви можете допомогти проєкту, виправивши або дописавши її. |