Point-to-Point Protocol

Point-to-Point Protocol (zkratka PPP) je vinformatice 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                    

·         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

·         Rámec protokolu PPP v zapouzdření HDLC

                  záhlaví                                    zápatí

  <------------------------------------->             <-------------------->

     1B         2B       1B      1 OR 2B   max.1500B       1B        1B

 +----------+--------+--------+----------+-----------+-----------+----------+

 | křídlova | 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 asynchornních linek escape sekvence.

adresa: obsahuje sekvenci 11111111, 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, 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,ApleTalk)               |

|===+=============================================+

|   |  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

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 SLIPimplementová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í mnohaparametrů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.