PPP
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.
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
Rámec protokolu PPP v zapouzdření HDLC
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
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.