Protokol point-to-point - Point-to-Point Protocol
v počítačové sítě, Protokol point-to-point (PPP) je Vrstva datového spojení (vrstva 2) komunikační protokol mezi dvěma směrovači přímo bez hostitele nebo jakékoli jiné sítě mezi nimi. Může poskytnout připojení ověřování, přenos šifrování,[1] a komprese.
PPP se používá v mnoha typech fyzických sítí, včetně sériový kabel, telefonní linka, hlavní vedení, mobilní telefon, specializované rádiové odkazy a odkazy z optických vláken, jako SONET. Poskytovatelé internetových služeb (ISP) použili pro zákazníka PPP vytáčený přístup do Internet, protože IP pakety nelze přenášet přes a modem samostatně bez nějakého protokolu datového spojení, který dokáže identifikovat, kde a kde končí přenášený rámec.
Dva deriváty PPP, Protokol point-to-point přes Ethernet (PPPoE) a Protokol point-to-point přes ATM (PPPoA), používají ISP nejčastěji k založení digitální účastnická linka (DSL) připojení k internetové službě se zákazníky.
Popis
PPP se běžně používá jako vrstva datového spojení protokol pro připojení přes synchronní a asynchronní obvody, kde do značné míry nahradil starší Sériový internetový protokol (SLIP) a standardy pověřené telefonní společností (např Link Access Protocol, Balanced (LAPB) v X.25 sada protokolů). Jediným požadavkem pro PPP je, aby byl poskytnutý obvod duplex. PPP byl navržen pro práci s mnoha síťová vrstva protokoly, včetně internetový protokol (IP), TRYLEK, Novell Výměna paketů v síti (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 zkontroluje, zda jsou internetové pakety doručeny neporušené.[2] Znovu odešle poškozené balíčky.
PPP byl navržen poněkud po originálu HDLC Specifikace. Návrháři PPP zahrnovali mnoho dalších funkcí, které byly do té doby k vidění pouze v proprietárních protokolech datových spojů. PPP je uvedeno v RFC 1661.
RFC 2516 popisuje Protokol point-to-point přes Ethernet (PPPoE) jako metoda přenosu PPP přes Ethernet který se někdy používá s DSL. RFC 2364 popisuje Protokol point-to-point přes ATM (PPPoA) jako metoda přenosu PPP přes bankomat Adaptační vrstva 5 (AAL5 ), což je také běžná alternativa k PPPoE používanému s DSL.
PPP je vrstvený protokol, který má tři komponenty:[2]
- Zapouzdřovací komponenta, která se používá k přenosu datagramů přes zadaný fyzická vrstva.
- A Link Control Protocol (LCP) k navázání, konfiguraci a otestování odkazu a vyjednání nastavení, možností a použití funkcí.
- Jeden nebo více protokolů síťové kontroly (NCP) používaných k vyjedná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 elegantně iniciuje a ukončuje připojení, což hostitelům umožňuje 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 každém konci (například nastavení datagram velikost, uniklé znaky a magická čísla) a pro výběr volitelného ověřování. Protokol LCP běží na vrcholu PPP (s číslem protokolu PPP 0xC021), a proto je nutné navázat základní připojení PPP, než je LCP schopen konfigurovat.
RFC 1994 popisuje Protokol autentizace Challenge-Handshake (CHAP), který je preferován pro navázání telefonického připojení s ISP. Ačkoli zastaralý, Protokol pro ověření hesla (PAP) se stále někdy používá.
Další možností ověřování přes PPP je Extensible Authentication Protocol (EAP) popsané v RFC 2284.
Po navázání spojení další síť (vrstva 3 ) může dojít ke konfiguraci. Nejčastěji je Protokol kontroly internetového protokolu (IPCP) se však používá Internetwork Packet Exchange Control Protocol (IPXCP) a AppleTalk Control Protocol (ATCP) byly kdysi populární.[Citace je zapotřebí ] Řídicí protokol internetového protokolu verze 6 (IPv6CP) uvidí rozšířené použití v budoucnu, až IPv6 nahrazuje IPv4 jako dominantní protokol vrstvy 3.
Více protokolů síťové vrstvy
IP | |||
LCP | CHAP PAP EAP | IPCP | |
Zapouzdření PPP | |||
HDLC - jako rámování | PPPoE | PPPoA | |
RS-232 | POS | Ethernet | bankomat |
SONET / SDH |
PPP umožňuje provozovat na stejné komunikační lince více protokolů síťové vrstvy. Pro každý použitý protokol síťové vrstvy je k dispozici samostatný protokol NCP (Network Control Protocol) pro zapouzdření a vyjednání možností pro více protokolů síťové vrstvy. Vyjednává informace na síťové vrstvě, např. síťová adresa nebo možnosti komprese po navázání připojení.
Například internetový protokol (IP) používá protokol IP Control Protocol (IPCP ) a Internetwork Packet Exchange (IPX) používá Novell IPX Control Protocol (IPX / SPX). NCP zahrnují pole obsahující standardizované kódy, které označují typ protokolu síťové vrstvy, který zapouzdřuje připojení PPP.
S PPP lze použít následující NCP:
- the Protokol kontroly internetového protokolu (IPCP) pro internetový protokol, kódové číslo protokolu 0x8021, RFC 1332
- protokol OSI Network Layer Control Protocol (OSINLCP) pro různé Protokoly síťové vrstvy OSI, kódové číslo protokolu 0x8023, RFC 1377
- the AppleTalk Control Protocol (ATCP) pro AppleTalk, kódové číslo protokolu 0x8029, RFC 1378
- the Internetwork Packet Exchange Control Protocol (IPXCP) pro Internetová výměna paketů, kódové číslo protokolu 0x802B, RFC 1552
- DECnet Phase IV Control Protocol (DNCP) pro směrovací protokol DNA Phase IV (DECnet Fáze IV), kódové číslo protokolu 0x8027, RFC 1762
- protokol NetBIOS Frames Control Protocol (NBFCP) pro Protokol rámců NetBIOS (nebo NetBEUI jak se tomu dříve říkalo), číslo protokolu 0x803F, RFC 2097
- the Kontrolní protokol IPv6 (IPV6CP) pro IPv6, kódové číslo protokolu 0x8057, RFC 5072
Detekce smyčkového odkazu
PPP detekuje smyčkové odkazy pomocí funkce zahrnující magická čísla. Když uzel odesílá zprávy PPP LCP, mohou tyto zprávy obsahovat magické číslo. Pokud je linka ve smyčce, uzel obdrží zprávu LCP s vlastním magickým číslem, místo aby dostal zprávu s magickým číslem peer.
Možnosti konfigurace
Předchozí část představila použití možností LCP ke splnění konkrétních požadavků na připojení k WAN. PPP může zahrnovat následující možnosti LCP:
- Ověření - Peer směrovače si vyměňují ověřovací zprávy. Jsou dvě možnosti ověřování Protokol pro ověření hesla (PAP) a Vyzvěte ověřovací protokol handshake (CHAP). Ověřování 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 v místě určení. Vidět RFC 1962 Více podrobností.
- Detekce chyb - Identifikuje poruchové stavy. Možnosti Quality and Magic Number pomáhají zajistit spolehlivé datové spojení bez smyček. Pole Magické číslo pomáhá při detekci odkazů, které jsou ve stavu smyčky. Dokud nebude úspěšně sjednána možnost konfigurace magického čísla, musí být magické číslo přeneseno jako nula. Magická čísla jsou generována náhodně na každém konci připojení.
- Multilink - Poskytuje vyvažování zátěže několik rozhraní používaných PPP prostřednictvím Multilink PPP (viz níže).
PPP rám
Struktura
PPP rámce jsou varianty HDLC rámy:
název | Počet bajtů | Popis |
---|---|---|
Vlajka | 1 | 0x7E, začátek PPP rámce |
Adresa | 1 | 0xFF, standardní vysílací adresa |
Řízení | 1 | 0x03, nečíslovaná data |
Protokol | 2 | PPP ID vložených dat |
Informace | proměnná (0 nebo více) | datagram |
Polstrování | proměnná (0 nebo více) | volitelné polstrování |
Posloupnost kontroly snímků | 2 | kontrolní součet snímků |
Vlajka | 1 | 0x7E, pro následné PPP pakety vynecháno |
Pokud oba partneři souhlasí s polem adresy a kompresí pole kontroly během LCP, jsou tato pole vynechána. Podobně pokud oba partneři souhlasí s kompresí pole protokolu, pak lze vynechat bajt 0x00.
Pole Protocol označuje typ paketu užitečného zatížení: 0xC021 pro LCP, 0x80xy pro různé NCP, 0x0021 pro IP, 0x0029 AppleTalk, 0x002B pro IPX, 0x003D pro Multilink, 0x003F pro NetBIOS, 0x00FD pro MPPC a MPPE, atd.[3] PPP je omezený a nemůže obsahovat obecné informace Vrstva 3 data, na rozdíl od EtherType.
Informační pole obsahuje užitečné zatížení PPP; má proměnnou délku s vyjednaným maximem zvaným Maximální přenosová jednotka. Ve výchozím nastavení je maximum 1500 oktety. Při přenosu může být polstrovaný; pokud lze informace pro konkrétní protokol doplnit, musí tento protokol umožňovat rozlišení informací od vyplnění.
Zapouzdření
PPP rámce jsou zapouzdřeny v protokolu nižší vrstvy, který poskytuje rámování a může poskytovat další funkce, například a kontrolní součet detekovat chyby přenosu. PPP zapnuto sériové odkazy je obvykle zapouzdřen do podobného rámce jako HDLC, popsaný IETF RFC 1662.
název | Počet bajtů | Popis |
---|---|---|
Vlajka | 1 | označuje začátek nebo konec rámečku |
Adresa | 1 | vysílací adresa |
Řízení | 1 | kontrolní bajt |
Protokol | 1 nebo 2 nebo 3 | l v informačním poli |
Informace | proměnná (0 nebo více) | datagram |
Polstrování | proměnná (0 nebo více) | volitelné polstrování |
FCS | 2 (nebo 4) | kontrola chyb |
Pole Příznak je přítomno, když se používá PPP s rámováním podobným HDLC.
Pole Adresa a Ovládací prvky mají vždy hodnotu hex FF (pro „všechny stanice“) a hex 03 (pro „nečíslované informace“) a lze je vynechat, kdykoli je sjednána PPP LCP Komprese pole a řízení-pole (ACFC). .
The posloupnost kontroly snímků (FCS) pole se používá k určení, zda má jednotlivý rámec chybu. Obsahuje kontrolní součet vypočítaný přes rámec, který poskytuje základní ochranu před chybami v přenosu. Tohle je CRC kód podobný tomu, který se používá pro jiná schémata ochrany proti chybě protokolu druhé vrstvy, jako je ten, který se používá v Ethernetu. Podle RFC 1662, může mít velikost buď 16 bitů (2 bajty), nebo 32 bitů (4 bajty) (výchozí hodnota je 16 bitů - polynomiální X16 + X12 + X5 + 1).
Po zapouzdření zprávy se FCS vypočítá přes pole Adresa, Řízení, Protokol, Informace a Vycpávka.
Aktivace linky a fáze
- Link Dead
- K této fázi dochází, když spojení selže nebo bylo jedné straně řečeno, aby se odpojila (např. Uživatel dokončil vytáčené připojení.)
- Propojte fázi založení
- V této fázi dochází k pokusu o vyjednávání protokolu Link Control Protocol. Pokud je úspěšné, řízení přejde buď do fáze ověřování, nebo do fáze protokolu síťové vrstvy, v závislosti na tom, zda je požadováno ověřování.
- Fáze ověřování
- Tato fáze je volitelná. Umožňuje stranám ověřit se navzájem před navázáním připojení. Pokud je úspěšné, řízení přejde do fáze protokolu síťové vrstvy.
- Fáze protokolu síťové vrstvy
- V této fázi jsou vyvolány protokoly síťového řízení každého požadovaného protokolu. Například, IPCP se používá při zavádění služby IP přes linku. V této fázi dochází také k přenosu dat pro všechny protokoly, které jsou úspěšně spuštěny pomocí svých síťových řídicích protokolů. V této fázi dochází také k uzavř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 existuje tolik chyb kontrolního součtu, že se obě strany rozhodnou automaticky strhnout odkaz, pokud odkaz náhle selže nebo pokud se uživatel rozhodne ukončit připojení.
Přes několik odkazů
Multilink PPP
Multilink PPP (označovaný také jako MLPPP, MP, MPPP, MLPnebo Multilink) poskytuje metodu šíření provozu mezi více různými připojeními PPP. Je definována 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 jedné lince PPP nemohou rámy dorazit mimo pořadí, ale to je možné, když jsou rámce rozděleny mezi více připojení PPP. Proto musí Multilink PPP fragmenty očíslovat, aby je bylo možné po příchodu znovu dát do správného pořadí.
Multilink PPP je příkladem a agregace odkazů technologie. Cisco IOS Verze 11.1 a novější podporuje Multilink PPP.
Více tříd PPP
U PPP nelze vytvořit několik současných odlišných připojení PPP přes jediný odkaz.
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. Tím se zabrání opakovanému spuštění Multilink PPP na stejných odkazech.
Více tříd PPP je druh PPP Multilink, kde každá „třída“ provozu používá samostatný prostor pro pořadové číslo a vyrovnávací paměť pro opětovné sestavení. Vícetřídový PPP je definován 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 pomocí šifrování (MPPE ) a komprese (MPPC ).
Jako protokol vrstvy 2 mezi oběma konci tunelu
Lze použít mnoho protokolů tunel data přes IP sítě. Někteří z nich, jako SSL, SSH nebo L2TP vytvořit virtuální síťová rozhraní a budit dojem přímých fyzických spojení mezi koncovými body tunelu. Na Linux hostitele by se například volala tato rozhraní tun0 nebo ppp0.
Jelikož v tunelu existují pouze dva koncové body, je tunel spojením point-to-point a PPP je přirozenou volbou jako protokol vrstvy datového spojení mezi rozhraními virtuální sítě. PPP může těmto virtuálním rozhraním přiřadit adresy IP a tyto adresy IP lze použít například k 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. L2TP lze použít k zajištění těchto rozhraní, tato technika se nazývá L2TP / IPsec. I v tomto případě poskytuje PPP koncem tunelu adresy IP.
Standardy IETF
PPP je definován v RFC 1661 (Protokol point-to-point, červenec 1994). RFC 1547 (Požadavky na internetový standardní protokol point-to-point, prosinec 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 síťového řízení - včetně TCP / IP, DECnet, AppleTalk, IPX a další - pracují s PPP.
- RFC 1332 „Protokol PPP Internet Protocol Control Protocol (IPCP)
- RFC 1661 „Standard 51, The Point-to-Point Protocol (PPP)
- RFC 1662, Standard 51, PPP v rámování podobném HDLC
- RFC 1962 „Protokol kontroly komprese PPP (CCP)
- RFC 1963 Protokol přenosu sériových dat PPP
- RFC 1877 „Rozšíření protokolu PPP Internet Protocol Control Protocol pro adresy jmenných serverů
- RFC 1990 „Protokol PPP Multilink Protocol (MP)
- RFC 1994 Protokol PPP Challenge Handshake Authentication Protocol (CHAP)
- RFC 2153 „Informační rozšíření PPP dodavatele
- RFC 2284 Protokol 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, Navrhovaný standard, PPP v rámci HDLC orientovaného na real-time rámování
- RFC 5072, IP verze 6 přes PPP
- RFC 5172 „Vyjednávání o kompresi datagramu IPv6 pomocí protokolu IPv6 Control Protocol
- RFC 6361, PPP Transparentní propojení mnoha odkazů (TRYLEK ) Protokol kontroly protokolu
Další koncepty:
- Rozšíření protokolu PPP Internet Protocol Control Protocol pro podsíť IP (koncept)
- Rozšíření PPP IPV6 Control Protocol pro adresy serverů DNS (koncept)
- Rozšíření protokolu PPP Internet Protocol Control Protocol pro položky směrovací tabulky (koncept)
- PPP konzistentní nadbytečné plnění bytů (koncept) (srov. Konzistentní plnění bajtů nad hlavou )
Viz také
- Průměr
- Extensible Authentication Protocol
- Sada příkazů Hayes
- Postup přístupu k propojení pro modemy (LAPM)
- Multiprotokolové zapouzdření (MPE) pro MPEG transportní proud
- Démon protokolu Point-to-Point (PPPD)
- PPPoX
- POLOMĚR
- Jednosměrné lehké zapouzdření (ULE) pro MPEG transportní proud
Reference
- ^ RFC 1968
- ^ A b Stevens 1994, str. 26-27, sec 2.6: „PPP: Point-to-Point Protocol“
- ^ „Přiřazení polí protokolu PPP (Point-to-Point). IANA. Citováno 3. září 2015.
- William Richard Stevens (2016) [1994]. TCP / IP Ilustrováno [TCP / IP 详解]. Volume : 协议 (Svazek 1: Protokoly) (1. vyd.). Pearson Education Asia Ltd. „人民 邮电 出版社 (China Posts & Telecommunications Press). ISBN 978-7-115-40132-8.