Point-to-Point Protocol

protokol pro komunikaci mezi dvěma počítači využívající sériové rozhraní

Point-to-Point Protocol (zkratka PPP) je v informatice komunikační protokol linkové vrstvy, používaný pro přímé spojení mezi dvěma síťovými uzly. Umožňuje autentizaci, šifrování a kompresi přenášených dat. Lze jej použít nad asynchronním sériovým (vytáčené připojení) nebo synchronním (ISDN) médiem. Slouží jako oborový standard, všechny víceprotokolové verze HDLC jsou proprietární, takže lze propojení typu point-to-point mezi zařízeními různých dodavatelů vytvořit pomocí protokolu PPP.

Umožňuje editovat

  • dynamické nastavování klienta (přidělování IP či adres DNS serverů)
  • zabezpečení pomocí ověřování hesla (klient musí zadat správné heslo) nebo Challenge-handshake ověřování (server odešle otázku, na kterou klient musí správně odpovědět)
  • nad jedním spojením může komunikovat více různých protokolů
  • testování kvality (umožňuje službu ECHO) a nastavování linky (LCP – Link Control Protocol), detekci chyb
  • kompresi dat, obě strany se dohodnou pomocí CCP (Compression Control Protocol) na algoritmu komprese dat
  • šifrování dat, ve chvíli kdy je navázáno spojení se obě strany pomocí ECP (Encryption Control Protocol) dohodnou na formě šifrování dat

Komponenty editovat

  • Rámec protokolu PPP v zapouzdření HDLC
                  záhlaví                                    zápatí
  ←-------------------------------→             ←--------------→
     1B         1B       1B       2B       max.1500B    2 OR 4B       1B
 +----------+--------+--------+----------+-----------+-----------+----------+
 | křídlová | adresa | řídící | protokol |    data   | kontrolní | křídlová |
 |  značka  |        |  pole  |          |           |  součet   |  značka  |
 +----------+--------+--------+----------+-----------+-----------+----------+

křídlová značka (flag): značí začátek a konec protokolu PPP. Obsahuje bin. 01111110 tj. hex. 0x7e. Pokud je znak 7e přenášen v datech je u binárně synchronních linek použit Bit-stuffing a u asynchronních linek escape sekvence.

adresa: obsahuje sekvenci 11111111 (0xFF), tedy standardní adresu pro broadcast. Adresa totiž není při komunikaci ppp pouze mezi dvěma body potřebná.

řídící pole: obsahuje sekvenci 00000011 (0x03), sloužící k vyvolání přenosu uživatelských dat v nečíslovaných rámcích.

protokol: identifikuje typ protokolu zapouzdřeného v rámci. Hodnoty tohoto pole jsou přidělovány IAB údaje jsou specifikovány v materiálech RFC.

data: toto pole obsahuje samotnou přenášenou informaci, datagram protokolu určeného v poli protokol.

Kontrolní součet: dle předpisu HDLC.


  • Vrstva OSI
+===+=============================================+
| 3 |           Protokoly vyšší vrstvy            |
|   |             (IP,IPX,AppleTalk)               |
|===+=============================================+
|   |  Protokol NCP (Netwok Control Protokol)     |
|   |---------------------------------------------|
| 2 |  Protokol LCP (Link control Protokol)       |
|   |---------------------------------------------|
|   |protokol HDLC (High-Level Data Link Protocol |
+===+=============================================+
| 1 |               Fyzická vrstva                |
|   |       (EIA/TIA-232,V.24,V.35,ISDN)          |
+===+=============================================+

Protokol PPP v Linuxu editovat

V Linuxu je funkce protokolu rozdělena na dvě části – na vysokoúrovňový ovladač HDLC, který je v jádře a na démona uživatelského prostoru pppd, který se stará o různé řídicí protokoly.

Protokol PPP je, stejně jako protokol SLIP, implementován pomocí speciálního režimu linky. Chcete-li používat nějakou sériovou linku jako linku s protokolem PPP, musíte nejprve obvyklým způsobem vytvořit spojení pomocí modemu a následně převést linku do režimu protokolu PPP. V tomto režimu budou všechna příchozí data podstoupena ovladači protokolu PPP, který ověří platnost rámců protokolu HDLC (každý rámec HDLC je doplněn 16bitovým kontrolním součtem), rozbalí je a odešle. Ovladači jádra operačního systému pomáhá démon pppd, což je démon protokolu PPP, který provádí veškerou inicializační fázi a fázi ověřování totožnosti, což je nutné před zahájením provozu po příslušné lince. Chování démona pppd je možné doladit pomocí mnoha parametrů. Ovladač protokolu PPP poměrně složitý, proto ho zde nebudeme popisovat.

Více informací o protokolu PPP v Linuxu je k nalezení na konferenci comp.protocols.ppp, která sdružuje většinu lidí zainteresovaných na vývoji démona pppd, v manuálu démona pppd, či soubor readme v pppd.

Externí odkazy editovat