Protokol point-to-point- Point-to-Point Protocol
Sada internetových protokolů |
---|
Aplikační vrstva |
Transportní vrstva |
Internetová vrstva |
Odkazová vrstva |
V počítačových sítí , Point-to-Point Protocol ( PPP ) je datové vrstvy (vrstva 2) komunikační protokol mezi dvěma směrovači přímo bez jakéhokoliv hostitele nebo jakékoliv jiné sítě mezi nimi. Může poskytovat autentizaci připojení , šifrování přenosu a kompresi dat .
PPP se používá v mnoha typech fyzických sítí, včetně sériových kabelů , telefonních linek , dálkových linek , mobilních telefonů , specializovaných rádiových spojů, ISDN a optických linek , jako je SONET . Vzhledem k tomu, že pakety IP nelze přenášet samostatně po modemové lince bez nějakého protokolu datového spojení, který dokáže určit, kde přenášený rámec začíná a kde končí, poskytovatelé internetových služeb (ISP) použili PPP pro telefonické připojení zákazníků k internetu .
Dva deriváty PPP, Point-to-Point Protocol over Ethernet (PPPoE) a Point-to-Point Protocol over ATM (PPPoA), používají ISP nejčastěji k navázání internetového připojení DSL ( Digital Subscriber Line ) se zákazníky.
Popis
PPP se běžně používá jako protokol vrstvy datových linek pro připojení přes synchronní a asynchronní obvody , kde do značné míry nahradil starší standardy sériového internetového protokolu (SLIP) a telefonních společností (například Link Access Protocol, Balanced (LAPB) v Sada protokolů X.25 ). Jediným požadavkem pro PPP je, aby poskytovaný obvod byl duplexní . PPP byl navržen tak, aby fungoval s mnoha protokoly síťové vrstvy , včetně Internet Protocol (IP), TRILL , Novell's Internetwork Packet Exchange (IPX), NBF , DECnet a AppleTalk . Stejně jako SLIP se jedná o úplné připojení k internetu přes telefonní linky přes modem. Je spolehlivější než SLIP, protože dvakrát kontroluje, zda internetové pakety dorazí neporušené. Přeposílá znovu poškozené balíčky.
PPP byl navržen poněkud podle původních specifikací HDLC . Návrháři PPP zahrnovali mnoho dalších funkcí, které byly do té doby vidět pouze v proprietárních protokolech datových linek. PPP je specifikováno v RFC 1661.
RFC 2516 popisuje protokol Point-to-Point Protocol over Ethernet (PPPoE) jako způsob přenosu PPP přes ethernet, který se někdy používá s DSL . RFC 2364 popisuje protokol Point-to-Point Protocol over ATM (PPPoA) jako způsob přenosu PPP přes ATM Adaptation Layer 5 ( AAL5 ), což je také běžná alternativa k PPPoE používaná s DSL.
PPP, PPPoE a PPPoA jsou široce používány v linkách WAN .
PPP je vrstvený protokol, který má tři komponenty:
- Zapouzdřovací komponenta, která se používá k přenosu datagramů přes zadanou fyzickou vrstvu .
- Link Control Protocol (LCP) vytvořit, konfigurovat a testovat na odkaz, stejně jako vyjednat nastavení, možnosti a použití funkcí.
- Jeden nebo více protokolů řízení sítě (NCP) používaných k vyjednávání volitelných konfiguračních parametrů a zařízení pro síťovou vrstvu. Pro každý protokol vyšší vrstvy podporovaný protokolem PPP existuje jeden NCP.
Automatická vlastní konfigurace
LCP inicializuje a ukončuje připojení elegantně, což umožňuje hostitelům vyjednat možnosti připojení. Je nedílnou součástí PPP a je definován ve stejné standardní specifikaci. LCP poskytuje automatickou konfiguraci rozhraní na obou koncích (například nastavení velikosti datagramu , uniklých znaků a magických čísel) a výběr volitelné autentizace. Protokol LCP běží nad protokolem PPP (s číslem protokolu PPP 0xC021), a proto musí být navázáno základní připojení PPP, než jej LCP dokáže nakonfigurovat.
RFC 1994 popisuje Challenge-Handshake Authentication Protocol (CHAP), který je upřednostňován pro navázání telefonického připojení k ISP. Ačkoli je zastaralý, stále se někdy používá protokol PAP ( Password Authentication Protocol ).
Další možností autentizace přes PPP je Extensible Authentication Protocol (EAP) popsaný v RFC 2284.
Po navázání spojení může proběhnout další konfigurace sítě ( vrstva 3 ). Nejčastěji se používá protokol IPCP ( Internet Protocol Control Protocol ), přestože kdysi byly populární Internetwork Packet Exchange Control Protocol (IPXCP) a AppleTalk Control Protocol (ATCP). Internet Protocol verze 6 Control Protocol (IPv6CP) se dočká rozšířeného používání v budoucnosti, kdy IPv6 nahradí IPv4 jako dominantní protokol vrstvy 3.
Více protokolů síťové vrstvy
IP | |||
LCP | CHAP PAP EAP | IPCP | |
Zapouzdření PPP | |||
Rámování podobné HDLC | PPPoE | PPPoA | |
RS-232 | POS | Ethernet | bankomat |
SONET/SDH |
PPP umožňuje více protokolům síťové vrstvy pracovat na stejném komunikačním spojení. Pro každý použitý protokol síťové vrstvy je k dispozici samostatný protokol NCP (Network Control Protocol) za účelem zapouzdření a vyjednávání možností pro protokoly více vrstev sítě. Po navázání spojení sjednává informace o síťové vrstvě, např. Síťovou adresu nebo možnosti komprese.
Například IP používá IPCP a Internetwork Packet Exchange (IPX) používá Novell IPX Control Protocol ( IPX/SPX ). NCP obsahují pole obsahující standardizované kódy k označení typu protokolu síťové vrstvy, který připojení PPP zapouzdřuje.
S PPP lze použít následující NCP:
- IPCP pro IP, kódové číslo protokolu 0x8021, RFC 1332
- protokol OSI Network Layer Control Protocol (OSINLCP) pro různé protokoly OSI síťové vrstvy , kódové číslo protokolu 0x8023, RFC 1377
- AppleTalk Control Protocol (Protokol ATCP) pro AppleTalk , protokol kódové číslo 0x8029, RFC 1378
- protokol Internetwork Packet Exchange Control Protocol (IPXCP) pro Internet Packet Exchange , kódové číslo protokolu 0x802B, RFC 1552
- kontrolní protokol DECnet Phase IV (DNCP) pro směrovací protokol DNA Phase IV ( DECnet Phase IV), kódové číslo protokolu 0x8027, RFC 1762
- protokol NetBIOS Frames Control Protocol (NBFCP) pro protokol NetBIOS Frames (nebo NetBEUI, jak se tomu říkalo předtím), kódové číslo protokolu 0x803F, RFC 2097
- IPv6 Control Protocol (IPv6CP) pro IPv6 , protokol kódové číslo 0x8057, RFC 5072
Detekce smyčky
PPP detekuje smyčkové odkazy pomocí funkce zahrnující magická čísla . Když uzel odesílá zprávy LCP PPP, mohou tyto zprávy obsahovat magické číslo. Pokud je linka zacyklena, uzel obdrží zprávu LCP s vlastním magickým číslem, místo aby dostal zprávu s magickým číslem partnera.
Možnosti konfigurace
Předchozí část představila použití možností LCP ke splnění konkrétních požadavků na připojení WAN. PPP může zahrnovat následující možnosti LCP:
- Ověřování - směrovače typu peer si vyměňují ověřovací zprávy. Dvě možnosti ověřování jsou Password Authentication Protocol (PAP) a Challenge Handshake Authentication Protocol (CHAP). Ověření je vysvětleno v další části.
- Komprese - Zvyšuje efektivní propustnost připojení PPP snížením množství dat v rámci, které musí cestovat přes odkaz. Protokol dekomprimuje rámec na místě určení. Další podrobnosti viz RFC 1962.
- Detekce chyb - identifikuje chybové stavy. Možnosti Quality and Magic Number pomáhají zajistit spolehlivé datové spojení bez smyček. Pole Kouzelné číslo pomáhá při detekci odkazů, které jsou ve smyčce. Dokud nebude úspěšně sjednána možnost konfigurace magického čísla, musí být magické číslo vysíláno jako nula. Magická čísla jsou generována náhodně na každém konci připojení.
- Multilink - Poskytuje vyvažování zatížení několika rozhraními používanými PPP prostřednictvím Multilink PPP (viz níže).
Rámec PPP
Struktura
Rámce PPP jsou varianty rámců HDLC :
název | Počet bajtů | Popis |
---|---|---|
Vlajka | 1 | 0x7E, začátek PPP rámce |
Adresa | 1 | 0xFF, standardní adresa vysílání |
Řízení | 1 | 0x03, nečíslovaná data |
Protokol | 2 | PPP ID vložených dat |
Informace | proměnná (0 a více) | datagram |
Polstrování | proměnná (0 a více) | volitelné polstrování |
Sekvence kontroly rámce | 2 | kontrolní součet rámu |
Vlajka | 1 | 0x7E, vynecháno pro následné PPP pakety |
Pokud oba partneři souhlasí s kompresí pole adresy a ovládacího pole během LCP, pak jsou tato pole vynechána. Podobně pokud oba peerové souhlasí s kompresí pole protokolu, pak lze bajt 0x00 vynechat.
Pole protokolu indikuje typ užitečného zatížení paketu: 0xC021 pro LCP , 0x80xy pro různé NCP , 0x0021 pro IP, 0x0029 AppleTalk 0x002B pro IPX , 0x003D pro Multilink, 0x003F pro NetBIOS , 0x00FD pro nejžádanější cenové kategorie a MPPE , atd. PPP je omezen, a nemůže obsahovat obecná data vrstvy 3 , na rozdíl od EtherType .
Informační pole obsahuje užitečné zatížení PPP; má proměnnou délku s vyjednaným maximem nazývanou Maximální přenosová jednotka . Ve výchozím nastavení je maximum 1500 oktetů . Může být polstrovaný na přenosu; lze -li informace pro konkrétní protokol doplnit paddingem, musí tento protokol umožňovat odlišení informací od paddingu.
Zapouzdření
Rámce PPP jsou zapouzdřeny v protokolu nižší vrstvy, který poskytuje rámování a může poskytovat další funkce, například kontrolní součet pro detekci chyb přenosu. PPP na sériových linkách je obvykle zapouzdřeno v rámování podobném HDLC , popsané IETF RFC 1662.
název | Počet bajtů | Popis |
---|---|---|
Vlajka | 1 | označuje začátek nebo konec rámce |
Adresa | 1 | vysílací adresa |
Řízení | 1 | řídicí bajt |
Protokol | 1 nebo 2 nebo 3 | l v informačním poli |
Informace | proměnná (0 a více) | datagram |
Polstrování | proměnná (0 a více) | volitelné polstrování |
FCS | 2 (nebo 4) | kontrola chyb |
Pole Flag je k dispozici, pokud je použito PPP s rámováním podobným HDLC.
Pole Adresa a Ovládací prvek mají vždy hodnotu hex FF (pro "všechny stanice") a hex 03 (pro "nečíslované informace") a lze je vynechat při vyjednávání komprese PPC LCP s adresou a řízením (ACFC) .
Pole sekvence kontroly rámce (FCS) se používá k určení, zda má jednotlivý snímek chybu. Obsahuje kontrolní součet vypočítaný přes rámec, který poskytuje základní ochranu před chybami při přenosu. Toto je kód CRC podobný tomu, který se používá pro další schémata ochrany proti chybám protokolu druhé vrstvy, jako je ten, který se používá v ethernetu. Podle RFC 1662 může mít velikost 16 bitů (2 bajty) nebo 32 bitů (4 bajty) (výchozí hodnota je 16 bitů - polynom x 16 + x 12 + x 5 + 1).
Po zapouzdření zprávy se FCS vypočítá z polí Adresa, Ovládací prvek, Protokol, Informace a Padding.
Aktivace linky a fáze
- Link Dead
- K této fázi dochází, když spojení selže nebo pokud bylo jedné straně řečeno, aby se odpojila (např. Uživatel dokončil vytáčené připojení.)
- Fáze založení odkazu
- V této fázi se pokouší vyjednat protokol Control Link. V případě úspěchu přejde řízení buď do fáze ověřování, nebo do fáze protokolu Network-Layer Protocol, podle toho, zda je požadováno ověření.
- Fáze autentizace
- Tato fáze je volitelná. Umožňuje stranám navzájem se ověřit před navázáním připojení. Pokud je úspěšný, přejde řízení do fáze protokolu na úrovni sítě.
- Fáze protokolu síťové vrstvy
- V této fázi jsou vyvolány protokoly ovládání všech požadovaných protokolů. Například IPCP se používá při vytváření služby IP přes linku. V této fázi také probíhá přenos dat pro všechny protokoly, které byly úspěšně spuštěny s jejich protokoly pro řízení sítě. V této fázi dochází také k ukončení síťových protokolů.
- Fáze ukončení spojení
- Tato fáze uzavírá toto spojení. K tomu může dojít, pokud dojde k selhání ověřování, pokud je tolik chyb kontrolního součtu, že se obě strany rozhodnou odkaz automaticky zrušit, pokud odkaz náhle selže nebo pokud se uživatel rozhodne ukončit připojení.
Přes několik odkazů
Vícelinkové PPP
Multilink PPP (také označovaný jako MLPPP , MP , MPPP , MLP nebo Multilink) poskytuje způsob šíření provozu mezi více odlišnými připojeními PPP. Je definován v RFC 1990. Lze jej použít například k připojení domácího počítače k poskytovateli internetových služeb pomocí dvou tradičních 56k modemů nebo k připojení společnosti prostřednictvím dvou pronajatých linek.
Na jednom řádku PPP nemohou rámce dorazit mimo provoz, ale je to možné, když jsou rámce rozděleny mezi více připojení PPP. Proto musí Multilink PPP číslovat fragmenty, aby mohly být po jejich příjezdu opět uvedeny ve správném pořadí.
Multilink PPP je příkladem technologie agregace odkazů . Cisco IOS Release 11.1 a novější podporuje PPP Multilink.
Více tříd PPP
U PPP nelze navázat několik simultánních odlišných připojení PPP prostřednictvím jednoho odkazu.
To není možné ani u Multilink PPP. Multilink PPP používá souvislá čísla pro všechny fragmenty paketu a v důsledku toho není možné pozastavit odesílání sekvence fragmentů jednoho paketu za účelem odeslání dalšího paketu. To zabrání spuštění Multilink PPP vícekrát na stejných odkazech.
Multiclass PPP je druh víceřádkového PPP, kde každá „třída“ provozu používá oddělený prostor pořadového čísla a vyrovnávací paměť pro opětovné sestavení. Více tříd PPP je definováno v RFC 2686
Tunely
aplikace | FTP | SMTP | HTTP | … | DNS | … |
Doprava | TCP | UDP | ||||
Síť | IP | |||||
Datové spojení | PPP | |||||
aplikace | SSH | |||||
Doprava | TCP | |||||
Síť | IP | |||||
Datové spojení | Ethernet | bankomat | ||||
Fyzický | Kabely, rozbočovače atd |
Odvozené protokoly
PPTP (Point-to-Point Tunneling Protocol) je forma PPP mezi dvěma hostiteli prostřednictvím GRE využívající šifrování ( MPPE ) a kompresi ( MPPC ).
Jako protokol vrstvy 2 mezi oběma konci tunelu
K tunelování dat po sítích IP lze použít mnoho protokolů . Některé z nich, jako SSL , SSH nebo L2TP, vytvářejí virtuální síťová rozhraní a vytvářejí dojem přímého fyzického spojení mezi koncovými body tunelu. Na Linux hostitele například tato rozhraní by byl nazýván tun0 nebo ppp0 .
Protože na tunelu jsou pouze dva koncové body, je tunel spojením bod-bod a PPP je přirozenou volbou jako protokol vrstvy datového spojení mezi virtuálními síťovými rozhraními. PPP může těmto virtuálním rozhraním přiřadit IP adresy a tyto IP adresy lze například použít pro směrování mezi sítěmi na obou stranách tunelu.
IPsec v režimu tunelování nevytváří virtuální fyzická rozhraní na konci tunelu, protože tunel je zpracováván přímo zásobníkem TCP/IP. K poskytování těchto rozhraní lze použít L2TP , tato technika se nazývá L2TP/IPsec. I v tomto případě PPP poskytuje IP adresy koncům tunelu.
Standardy IETF
PPP je definován v RFC 1661 (protokol Point-to-Point, červenec 1994). RFC 1547 (Requirements for an Internet Standard Point-to-Point Protocol, December 1993) poskytuje historické informace o potřebě PPP a jeho vývoji. Byla vytvořena řada souvisejících RFC, které definují, jak různé protokoly pro řízení sítě-včetně TCP/IP , DECnet , AppleTalk , IPX a dalších-fungují s PPP.
- RFC 1332 , The PPP Internet Protocol Control Protocol (IPCP)
- RFC 1661 , Standard 51, protokol Point-to-Point Protocol (PPP)
- RFC 1662 , Standard 51, PPP v rámování podobném HDLC
- RFC 1962 , PPP Compression Control Protocol (CCP)
- RFC 1963 , protokol PPP pro přenos sériových dat
- RFC 1877 , PPP Internet Protocol Control Protocol Extensions for Address Server Addresses
- RFC 1990 , protokol PPP Multilink Protocol (MP)
- RFC 1994 , PPP Challenge Handshake Authentication Protocol (CHAP)
- RFC 2153 , Informational, PPP Vendor Extensions
- RFC 2284 , PPP Extensible Authentication Protocol (EAP)
- RFC 2364 , PPP přes ATM
- RFC 2516 , PPP přes ethernet
- RFC 2615 , PPP přes SONET/SDH
- RFC 2686 , Multi-Class Extension to Multi-Link PPP
- RFC 2687 , Proposed Standard, PPP v rámování podobném HDLC v reálném čase
- RFC 5072 , IP verze 6 přes PPP
- RFC 5172 , Vyjednávání pro kompresi datagramu IPv6 pomocí řídicího protokolu IPv6
- RFC 6361 , PPP Transparentní propojení protokolu ( TRILL ) Protokol pro ovládání protokolu
Další koncepty:
- Rozšíření protokolu PPP pro ovládání internetového protokolu pro podsíť IP (koncept)
- Rozšíření řídicího protokolu PPP IPV6 pro adresy serverů DNS (koncept)
- Rozšíření protokolu PPP pro ovládání internetového protokolu pro záznamy v tabulce směrování (koncept)
- Plněné plněné režijní bajty PPP (koncept) (srov. Konzistentní plněné režijní bajty )
Viz také
- Průměr
- Protokol Extensible Authentication Protocol
- Sada příkazů Hayes
- Postup přístupu k propojení pro modemy (LAPM)
- Multiprotocol Encapsulation (MPE) pro přenosový proud MPEG
- Démon protokolu Point-to-Point Protocol (PPPD)
- PPPoX
- POLOMĚR
- Jednosměrné lehké zapouzdření (ULE) pro přenosový proud MPEG
Reference
- William Richard Stevens (2016) [1994]. Ilustrovaný TCP/IP [ TCP/IP 详解]. 卷一 : 协议 (Volume 1: The Protocols) (1. vyd.). Pearson Education Asia Ltd. , 人民 邮电 出版社 (China Posts & Telecommunications Press). ISBN 978-7-115-40132-8.