PPP (мережевий протокол)

PPP (англ. Point-to-Point Protocol) - двоточковий протокол канального рівня (Data Link) мережевий моделі OSI. Зазвичай використовується для встановлення прямого зв'язку між двома вузлами мережі, причому він може забезпечити аутентифікацію з'єднання, шифрування (з використанням ECP, RFC 1968) і стиснення даних. Використовується на багатьох типах фізичних мереж: нуль-модемний кабель, телефонна лінія, стільниковий зв'язок і т. д.

Часто зустрічаються підвиди протоколу PPP такі, як Point-to-Point Protocol over Ethernet ( PPPoE), використовуваний для підключення по Ethernet, і іноді через DSL; та Point-to-Point Protocol over ATM (PPPoA), який використовується для підключення по ATM Adaptation Layer 5 (AAL5), який є основною альтернативою PPPoE для DSL.

PPP являє собою ціле сімейство протоколів: протокол керування лінією зв'язку ( LCP), протокол керування мережею ( NCP), протоколи аутентифікації ( PAP, CHAP), багатоканальний протокол PPP (MLPPP).


1. Основні характеристики

PPP протокол був розроблений на основі HDLC і доповнений деякими можливостями, які до цього зустрічалися тільки в пропрієтарних протоколах.

1.1. Автоматичне налаштування

Link Control Protocol ( LCP) забезпечує автоматичну настройку інтерфейсів на кожному кінці (наприклад, установка розміру пакетів) і опціонально проводить аутентифікацію. Протокол LCP працює поверх PPP, тобто початкова PPP зв'язок має бути до роботи LCP.

RFC 1994 описує Challenge-handshake authentication protocol ( CHAP)), який є кращим для з'єднань з провайдерами. Вже застарілий, Password authentication protocol ( PAP) все ще іноді використовується.

Іншим варіантом аутентифікації через PPP є Extensible Authentication Protocol ( EAP). [1]

Після того, як з'єднання було встановлено, поверх нього може бути налаштована додаткова мережу. Зазвичай, використовується Internet Protocol Control Protocol ( IPCP), хоча Internetwork Packet Exchange Control Protocol (IPXCP) і AppleTalk Control Protocol (ATCP) були колись популярні. Internet Protocol Version 6 Control Protocol (IPv6CP) отримає більше поширення в майбутньому, коли IPv6 замінить IPv4 як основний протокол мережного рівня.


1.2. Багатопротокольна підтримка

PPP дозволяє працювати декільком протоколів мережного рівня на одному каналі зв'язку. Іншими словами, всередині одного PPP-з'єднання можуть передаватись потоки даних різних мережевих протоколів ( IP, Novell IPX і т. д.), а також дані протоколів канального рівня локальної мережі. Для кожного мережевого протоколу використовується Network Control Protocol ( NCP) який його конфігурує (погоджує деякі параметри протоколу).


1.3. Виявлення закільцьованих зв'язків

PPP виявляє закільцьовані зв'язку, використовуючи особливість, що включає magic numbers. Коли вузол відправляє PPP LCP повідомлення, вони можуть включати в себе магічне число. Якщо лінія закільцьована, вузол отримує повідомлення LCP з його власним магічним числом замість отримання повідомлення з магічним числом клієнта.

2. Найбільш важливі особливості

  • Link Control Protocol встановлює і завершує з'єднання, дозволяючи вузлам визначати настройки з'єднання. Також він підтримує і байт-, і бито-орієнтовані кодування.
  • Network Control Protocol використовується для визначення налаштувань мережевого рівня, таких як мережевий адресу або настройки стиснення, після того як з'єднання було встановлено.

3. Конфігураційні опції PPP

Так як в PPP входить LCP протокол, то можна керувати наступними LCP параметрами:

  • Аутентифікація. RFC 1994 описує Challenge Handshake Authentication Protocol ( CHAP), який є кращим для проведення аутентифікації в PPP, хоча Password Authentication Protocol ( PAP) іноді ще використовується. Іншим варіантом для аутентифікації є Extensible Authentication Protocol ( EAP).
  • Стиснення. Ефективно збільшує пропускну здатність PPP з'єднання, за рахунок стиснення даних в кадрі. Найбільш відомими алгоритмами стиску PPP кадрів є Stacker і Predictor.
  • Виявлення помилок. Включає Quality-Protocol і допомагає виявити петлі зворотного зв'язку за допомогою Magic Numbers RFC 1661.
  • Багатоканальність. Multilink PPP (MLPPP, MPPP, MLP) надає методи для розповсюдження трафіку через кілька фізичних каналів, маючи одне логічне з'єднання. Цей варіант дозволяє розширити пропускну спроможність і забезпечує балансування навантаження.

4. PPP кадр

Кожен кадр PPP завжди починається і завершується прапором 0x7E. Потім слід байт адреси і байт управління, які теж завжди рівні 0xFF і 0x03 відповідно. У зв'язку з імовірністю збігу байтів всередині блоку даних із зарезервованими прапорами, існує система автоматичного коректування "проблемних" даних з подальшим відновленням.

Прапор 0x7E Адреса 0xFF Управління 0x03 Дані Контрольна сума Прапор 0x7E
1 1 1 1494 2 1

Поля "Прапор", "Адреса" та "Управління" (заголовок кадру HDLC) можуть бути опущені і не передаватися, але це якщо PPP в процесі конфігурування (використовуючи LCP), домовиться про це. Якщо PPP инкапсулирован в L2TP -пакети, то поле "Прапор" не передається.


5. Тип кадру даних в PPP

Поле "Дані", PPP кадру, в свою чергу розбиті ще на два поля: прапор протоколу (який визначає тип даних до кінця кадру), і самі дані.

Протокол 0xХХХХ Дані
1 або 2 0 і більше
  • Прапори протоколу від 0x0XXX до 0x3XXX ідентифікують протоколи мережного рівня. Наприклад, популярному IP протоколу відповідає прапор 0x0021, а Novell IPX - 002B.
  • Прапори протоколу від 0x4XXX до 0x7XXX ідентифікують протоколи з низьким рівнем трафіку.
  • Прапори протоколу від 0x8XXX до 0xBXXX ідентифікують протокол керування мережею ( NCP).
  • Прапори протоколу від 0xCXXX до 0xEXXX ідентифікують керуючі протоколи. Наприклад, 0xC021 позначає, що кадр містить дані протоколу управління з'єднанням LCP.

6. Активації каналу PPP і його фази

Діаграма, що зображає фази PPP по RFC 1661.

Фази PPP по RFC 1661 вказані нижче:

  • Link Dead. Ця фаза наступає, коли зв'язок порушено, або одна зі сторін вказала не підключатися (наприклад, користувач завершив модемне з'єднання.)
  • Link Establishment Phase. В даній фазі проводиться настройка Link Control. Якщо настройка була успішною, управління переходить у фазу аутентифікації, або в фазу Network-Layer Protocol, в залежності від того, чи вимагається аутентифікація.
  • Authentication Phase. Дана фаза є необов'язковою. Вона дозволяє сторонам перевірити один одного перед установкою з'єднання. Якщо перевірка успішна, управління переходить у фазу Network-Layer Protocol.
  • Network-Layer Protocol Phase. В даній фазі викликається NCP для бажаного протоколу. Наприклад, IPCP використовується для установки IP сервісів. Передача даних по всім успішно встановленим протоколам також проходить у цій фазі. Закриття мережевих протоколів теж включається в дану фазу.
  • Link Termination Phase. Ця фаза закриває з'єднання. Вона викликається у разі помилок аутентифікації, якщо було настільки багато помилок контрольних сум, що обидві сторони вирішили закрити з'єднання, якщо з'єднання несподівано обірвалося, або якщо користувач відключився. Дана фаза намагається закрити всі настільки акуратно, наскільки можливо в даних обставинах.

7. Документи RFC

Протокол PPP визначений в RFC 1661 (The Point-to-Point Protocol, липень 1994). Ряд відповідних RFC, були написані щоб визначити, як різні мережні протоколи, включаючи TCP / IP, DECnet, AppleTalk, IPX і інші, працюють з PPP.

  • RFC 1661, Standard 51, Протокол точка-точка (PPP)
  • RFC 1662, Standard 51, Використання HDLC в розробці PPP
  • RFC 1994, Аутентифікація в PPP допомогою ( CHAP)
  • RFC 5072, IPv6 і PPP

Примітки


Перегляд цього шаблону Основні протоколи TCP / IP за рівнями моделі OSI ( Список портів TCP і UDP)
Фізичний
Канальний
Мережевий
Транспортний
Сеансовий
Уявлення
Прикладної

BGP HTTP HTTPS DHCP IRC SNMP Над DNS DNSSEC NNTP XMPP SIP IPP NTP SNTP Електронна пошта ( SMTP POP3 IMAP 4) Передача файлів ( FTP TFTP SFTP) Віддалений доступ ( rlogin Telnet SSH RDP)

Інші прикладні
Перегляд цього шаблону UART
Фізичні рівні
Точка-точка струмова петля RS-232 IrDA HART модем
Мережеві RS-422 RS-423 RS-485 LIN
Спеціальні en: Kansas City Standard ( Компакт-касета, грамплатівка).
Протоколи
Точка-точка PPP SLIP IrDA HART ISO 7816
Мережеві Modbus LIN DMX-512 P-NET Profibus
Сфери використання Послідовний порт IrDA
Реалізації 8250 UART 16550 UART