Pisteestä pisteeseen -protokolla- Point-to-Point Protocol
Internet -protokollapaketti |
---|
Sovelluskerros |
Kuljetuskerros |
Internet -kerros |
Linkkikerros |
In tietoverkkojen , Point-to-Point Protocol ( PPP ) on siirtoyhteyskerroksen (layer 2) tiedonsiirtoprotokollaa kahden reitittimet suoraan ilman isäntä tai muita verkko välillä. Se voi tarjota yhteyden todennuksen , lähetyksen salauksen ja tietojen pakkaamisen .
PPP: tä käytetään monentyyppisissä fyysisissä verkoissa, mukaan lukien sarjakaapeli , puhelinlinja , runkolinja , matkapuhelin , erikoisradiolinkit, ISDN ja kuituoptiset linkit , kuten SONET . Koska IP-paketteja ei voida lähettää yli modeemin linjan omasta ilman jonkinlaista Tiedonsiirtoprotokolla, joka voi tunnistaa, missä lähetetty kehys alkaa ja mihin se loppuu, Internet-palveluntarjoajat (ISP) ovat käyttäneet PPP asiakkaan dial-up yhteys on internet .
Internet-palveluntarjoajat käyttävät yleisimmin kahta PPP - johdannaista, Point-to-Point Protocol over Ethernet (PPPoE) ja Point-to-Point Protocol over ATM (PPPoA), muodostamaan digitaalisen tilaajalinjan (DSL) Internet-palveluyhteyden asiakkaiden kanssa.
Kuvaus
PPP: tä käytetään yleisesti datalinkkikerroksen protokollana synkronisten ja asynkronisten piirien kautta tapahtuvaan yhteyteen , missä se on suurelta osin korvannut vanhemman SLIP -protokollan ja puhelinyrityksen valtuuttamat standardit (kuten Link Access Protocol, Balanced (LAPB) X.25 -protokollapaketti). Ainoa vaatimus PPP: ltä on, että toimitettu piiri on kaksipuolinen . PPP on suunniteltu toimimaan lukuisten verkkokerrosprotokollien kanssa , mukaan lukien Internet Protocol (IP), TRILL , Novellin Internetwork Packet Exchange (IPX), NBF , DECnet ja AppleTalk . Kuten SLIP, tämä on täydellinen Internet -yhteys puhelinlinjojen kautta modeemin kautta. Se on luotettavampi kuin SLIP, koska se tarkistaa kahdesti, että Internet -paketit saapuvat ehjinä. Se lähettää vahingoittuneet paketit uudelleen.
PPP suunniteltiin jonkin verran alkuperäisten HDLC -määritysten jälkeen. PPP: n suunnittelijat sisälsivät monia lisäominaisuuksia, joita tähän asti oli nähty vain omissa datalinkkiprotokollissa. PPP on määritelty RFC 1661: ssä.
RFC 2516 kuvaa Point-to-Point Protocol over Ethernet (PPPoE) -menetelmää PPP: n lähettämiseksi Ethernetin kautta , jota käytetään joskus DSL: n kanssa . RFC 2364 kuvaa Point-to-Point Protocol over ATM (PPPoA) -menetelmää PPP: n lähettämiseksi ATM Adaptation Layer 5: n ( AAL5 ) kautta, mikä on myös yleinen vaihtoehto DSL: n kanssa käytettävälle PPPoE: lle.
PPP, PPPoE ja PPPoA ovat laajalti käytössä WAN -linjoissa.
PPP on kerrostettu protokolla, joka koostuu kolmesta osasta:
- Kapselointikomponentti, jota käytetään datagrammien lähettämiseen määritetyn fyysisen kerroksen yli .
- Link Control Protocol (LCP) perustaa, konfiguroida ja testata yhteyden sekä neuvottelemaan asetuksia, vaihtoehtoja ja käyttö ominaisuuksia.
- Yksi tai useampi verkon ohjausprotokolla (NCP), jota käytetään neuvottelemaan verkkokerroksen valinnaisista kokoonpanoparametreista ja -toiminnoista. Jokaista PPP: n tukemaa ylemmän tason protokollaa varten on yksi NCP.
Automaattinen itsekonfigurointi
LCP aloittaa ja lopettaa yhteydet tyylikkäästi, jolloin isännät voivat neuvotella yhteysvaihtoehdoista. Se on kiinteä osa PPP: tä, ja se on määritelty samassa vakiomäärityksessä. LCP tarjoaa rajapintojen automaattisen konfiguroinnin kummassakin päässä (kuten datagrammin koon, poistettujen merkkien ja maagisten numeroiden asettaminen) ja valinnaisen todennuksen valitsemiseksi. LCP -protokolla toimii PPP: n päällä (PPP -protokollanumerolla 0xC021), ja siksi PPP -perusyhteys on muodostettava ennen kuin LCP voi määrittää sen.
RFC 1994 kuvaa Challenge-Handshake Authentication Protocol (CHAP) -protokollaa , jota suositellaan puhelinverkkoyhteyksien muodostamiseen Internet-palveluntarjoajien kanssa. Vaikka salasana autentikointiprotokollaa (PAP) käytetään edelleen, sitä käytetään joskus.
Toinen vaihtoehto PPP -todennukseen on RFC 2284: ssä kuvattu Extensible Authentication Protocol (EAP).
Kun linkki on muodostettu, verkon ( kerroksen 3 ) lisäkonfigurointi voi tapahtua. Yleisimmin käytetään IPCP: tä ( Internet Protocol Control Protocol ), vaikka Internetwork Packet Exchange Control Protocol (IPXCP) ja AppleTalk Control Protocol (ATCP) olivat aikoinaan suosittuja. Internet-protokollan version 6 ohjausprotokollaa (IPv6CP) käytetään jatkossa laajemmin, kun IPv6 korvaa IPv4 : n hallitsevana kerroksen 3 protokollana.
Useita verkkokerroksen protokollia
IP | |||
LCP | HAP PAP EAP | IPCP | |
PPP -kapselointi | |||
HDLC -kaltainen kehystys | PPPoE | PPPoA | |
RS-232 | POS | Ethernet | Pankkiautomaatti |
SONET/SDH |
PPP sallii useiden verkkokerrosprotokollien toimia samalla tiedonsiirtolinkillä. Jokaista käytettävää verkkokerrosprotokollaa varten on erillinen verkonhallintaprotokolla (NCP) useiden verkkokerrosprotokollien vaihtoehtojen koteloimiseksi ja neuvottelemiseksi. Se neuvottelee verkkotason tiedoista, esim. Verkko-osoite tai pakkausvaihtoehdot, yhteyden muodostamisen jälkeen.
Esimerkiksi IP käyttää IPCP: tä ja Internetwork Packet Exchange (IPX) Novell IPX Control Protocol ( IPX/SPX ). NCP: t sisältävät kenttiä, jotka sisältävät standardoituja koodeja osoittamaan PPP -yhteyden koteloiman verkkokerroksen protokollatyypin.
Seuraavia kansallisia yhteyspisteitä voidaan käyttää PPP: n kanssa:
- IPCP IP: lle, protokollan koodinumero 0x8021, RFC 1332
- OSI -verkkokerroksen ohjausprotokolla (OSINLCP) eri OSI -verkkokerrosprotokollille , protokollakoodi 0x8023, RFC 1377
- AppleTalk Control Protocol (ATCP) varten AppleTalk , protokolla koodinumero 0x8029, RFC 1378
- Internetwork Packet Exchange Control Protocol (IPXCP) varten Internet Packet Exchange , protokolla koodinumero 0x802B, RFC 1552
- DECnet -vaiheen IV ohjausprotokolla (DNCP) DNA: n vaiheen IV reititysprotokollalle ( DECnet -vaihe IV), protokollan koodi 0x8027, RFC 1762
- NetBIOS Frames Control Protocol (NBFCP) NetBIOS Frames -protokollalle (tai NetBEUI, kuten sitä aiemmin kutsuttiin), protokollan koodi 0x803F, RFC 2097
- IPv6 Control Protocol (IPV6CP) varten IPv6 , protokolla koodinumero 0x8057, RFC 5072
Silmukallisen linkin tunnistus
PPP tunnistaa silmukoidut linkit käyttämällä maagisia numeroita sisältävää ominaisuutta . Kun solmu lähettää PPP LCP -viestejä, nämä viestit voivat sisältää maagisen numeron. Jos linja on silmukka, solmu vastaanottaa LCP -viestin, jolla on oma taikuusnumeronsa, sen sijaan, että saisi viestin, jossa on vertaisarvion maaginen numero.
Kokoonpanovaihtoehdot
Edellisessä osassa esiteltiin LCP -vaihtoehtojen käyttö tiettyjen WAN -yhteysvaatimusten täyttämiseksi. PPP voi sisältää seuraavat LCP -vaihtoehdot:
- Todennus - Vertaisreitittimet vaihtavat todennusviestejä. Kaksi todennusvaihtoehtoa ovat PAP ( Password Authentication Protocol ) ja CHAP ( Challenge Handshake Authentication Protocol ). Todennus selitetään seuraavassa osassa.
- Pakkaus - Lisää PPP -yhteyksien tehokasta läpäisykykyä vähentämällä kehyksen datamäärää, jonka on kuljettava linkin poikki. Protokolla purkaa kehyksen määräpaikassaan. Katso RFC 1962 saadaksesi lisätietoja.
- Virheentunnistus - Tunnistaa vikaolosuhteet. Laatu- ja taikuusluvavaihtoehdot auttavat varmistamaan luotettavan, silmukkaattoman datalinkin. Maaginen numero -kenttä auttaa havaitsemaan linkit, jotka ovat silmukkakunnossa. Ennen kuin Magic-Number Configuration Option on neuvoteltu onnistuneesti, Magic-Number on lähetettävä nollana. Maagiset numerot luodaan satunnaisesti yhteyden kumpaankin päähän.
- Multilink - Tarjoaa kuorman tasapainottamisen useille PPP: n käyttämille rajapinnoille Multilink PPP: n kautta (katso alla).
PPP -kehys
Rakenne
PPP -kehykset ovat HDLC -kehysten muunnelmia :
Nimi | Tavujen määrä | Kuvaus |
---|---|---|
Lippu | 1 | 0x7E, PPP -kehyksen alku |
Osoite | 1 | 0xFF, vakiolähetysosoite |
Ohjaus | 1 | 0x03, numeroimaton data |
Pöytäkirja | 2 | Upotettujen tietojen PPP -tunnus |
Tiedot | muuttuja (0 tai enemmän) | datagrammi |
Pehmuste | muuttuja (0 tai enemmän) | valinnainen pehmuste |
Kehyksen tarkistusjärjestys | 2 | kehyksen tarkistussumma |
Lippu | 1 | 0x7E, jätetään pois peräkkäisistä PPP -paketeista |
Jos molemmat vertaisryhmät hyväksyvät Osoitekenttä- ja Ohjauskenttä -pakkauksen LCP: n aikana, nämä kentät jätetään pois. Samoin jos molemmat vertaisryhmät hyväksyvät protokollakentän pakkauksen, 0x00 tavu voidaan jättää pois.
Pöytäkirjan kenttä ilmaisee tyypin hyötykuorman paketin: 0xC021 varten LCP , 0x80xy eri NCP , 0x0021 IP, 0x0029 AppleTalk, 0x002B varten IPX , 0x003D varten Multilink, 0x003F varten NetBIOS , 0x00FD varten kysytyimmän hintaluokan ja MPPE , jne. PPP on rajoitettu, eivätkä voi sisältää yleisiä kerroksen 3 tietoja, toisin kuin EtherType .
Tiedot -kenttä sisältää PPP -hyötykuorman; sen pituus vaihtelee ja neuvoteltava enimmäismäärä on nimeltään Maximum Transmission Unit . Oletuksena enimmäismäärä on 1500 oktettia . Se voi olla pehmustettu vaihteistossa; jos tietyn protokollan tiedot voidaan pehmustaa, sen on mahdollistettava tietojen erottaminen täyteaineista.
Kapselointi
PPP-kehykset on koteloitu alemman kerroksen protokollaan, joka tarjoaa kehystyksen ja voi tarjota muita toimintoja, kuten tarkistussumman lähetysvirheiden havaitsemiseksi. Sarjaliitännän PPP on yleensä koteloitu HDLC: n kaltaiseen kehykseen , jonka kuvailee IETF RFC 1662.
Nimi | Tavujen määrä | Kuvaus |
---|---|---|
Lippu | 1 | osoittaa kehyksen alun tai lopun |
Osoite | 1 | lähetysosoite |
Ohjaus | 1 | ohjaus tavu |
Pöytäkirja | 1 tai 2 tai 3 | l tietokentässä |
Tiedot | muuttuja (0 tai enemmän) | datagrammi |
Pehmuste | muuttuja (0 tai enemmän) | valinnainen pehmuste |
FCS | 2 (tai 4) | virheen tarkistus |
Lippukenttä on läsnä, kun käytetään PPP: tä HDLC: n kaltaisella kehystyksellä.
Osoite- ja ohjauskentillä on aina arvo hex FF ("kaikille asemille") ja hex 03 ("numeroimattomille tiedoille"), ja ne voidaan jättää pois aina, kun PPP LCP Address-and-Control-Field-Compression (ACFC) neuvotellaan .
Kehyksentarkistussekvenssi (FCS) kenttää käytetään sen määrittämiseksi, onko yksilö kehyksessä on virhe. Se sisältää kehyksen yli lasketun tarkistussumman, joka tarjoaa perustason suojan lähetysvirheitä vastaan. Tämä on CRC -koodi, joka on samanlainen kuin muissa kerroksen kahden protokollan virhesuojausmalleissa, kuten Ethernetissä. RFC 1662: n mukaan se voi olla kooltaan joko 16 bittiä (2 tavua) tai 32 bittiä (4 tavua) (oletusarvo on 16 bittiä - Polynomi x 16 + x 12 + x 5 + 1).
FCS lasketaan Osoite-, Ohjaus-, Protokolla-, Tiedot- ja Täyte -kenttiin sen jälkeen, kun viesti on kapseloitu.
Linjan aktivointi ja vaiheet
- Linkki kuollut
- Tämä vaihe tapahtuu, kun linkki epäonnistuu tai toista osapuolta on kehotettu katkaisemaan yhteys (esim. Käyttäjä on lopettanut puhelinverkkoyhteytensä).
- Linkin perustamisvaihe
- Tässä vaiheessa yritetään neuvotella linkinhallintaprotokollasta. Jos se onnistuu, ohjaus siirtyy joko todennusvaiheeseen tai verkkokerrosprotokollan vaiheeseen sen mukaan, halutaanko todennus.
- Todennusvaihe
- Tämä vaihe on valinnainen. Sen avulla osapuolet voivat todentaa toisensa ennen yhteyden muodostamista. Jos se onnistuu, ohjaus siirtyy verkkokerroksen protokollavaiheeseen.
- Verkkokerroksen protokollan vaihe
- Tässä vaiheessa käytetään jokaisen halutun protokollan verkon ohjausprotokollaa. Esimerkiksi IPCP: tä käytetään IP -palvelun muodostamiseen linjan yli. Tässä vaiheessa tapahtuu myös kaikkien protokollien tiedonsiirto, jotka on aloitettu onnistuneesti verkon ohjausprotokollillaan. Verkkoprotokollien sulkeminen tapahtuu myös tässä vaiheessa.
- Linkin lopetusvaihe
- Tämä vaihe sulkee tämän yhteyden. Näin voi tapahtua, jos todennusvirhe tapahtuu, jos tarkistussummavirheitä on niin paljon, että molemmat osapuolet päättävät katkaista linkin automaattisesti, jos linkki epäonnistuu yhtäkkiä tai jos käyttäjä päättää katkaista yhteyden.
Useiden linkkien kautta
Monilinkkinen PPP
Multilink PPP (jota kutsutaan myös nimellä MLPPP , MP , MPPP , MLP tai Multilink) tarjoaa menetelmän liikenteen jakamiseksi useille erillisille PPP -yhteyksille. Se on määritelty RFC 1990. Sitä voidaan käyttää esimerkiksi yhdistämään kotitietokone Internet -palveluntarjoajaan käyttämällä kahta perinteistä 56k -modeemia tai yhdistämään yritys kahden kiinteän linjan kautta.
Yhdellä PPP -linjalla kehykset eivät voi saapua epäkunnossa, mutta tämä on mahdollista, kun kehykset on jaettu useiden PPP -yhteyksien kesken. Siksi Multilink PPP: n on numeroitava palaset, jotta ne voidaan asettaa oikeaan järjestykseen saapuessaan.
Multilink PPP on esimerkki linkkien yhdistämistekniikasta . Cisco IOS Release 11.1 ja uudemmat tukevat Multilink PPP: tä.
Moniluokkainen PPP
PPP: n avulla ei voida muodostaa useita samanaikaisia erillisiä PPP -yhteyksiä yhden linkin yli.
Tämä ei myöskään ole mahdollista Multilink PPP: n kanssa. Multilink PPP käyttää vierekkäisiä numeroita paketin kaikille osille, ja tämän seurauksena ei ole mahdollista keskeyttää yhden paketin fragmenttisarjan lähettämistä toisen paketin lähettämiseksi. Tämä estää Multilink PPP: n suorittamisen useita kertoja samoilla linkeillä.
Multiclass PPP on eräänlainen Multilink PPP, jossa jokainen liikenteen "luokka" käyttää erillistä järjestysnumerotilaa ja kokoamispuskuria. Moniluokkainen PPP on määritelty standardissa RFC 2686
Tunnelit
Sovellus | FTP | SMTP | HTTP | … | DNS | … |
Kuljetus | TCP | UDP | ||||
Verkko | IP | |||||
Datayhteys | PPP | |||||
Sovellus | SSH | |||||
Kuljetus | TCP | |||||
Verkko | IP | |||||
Datayhteys | Ethernet | Pankkiautomaatti | ||||
Fyysinen | Kaapelit, keskittimet ja niin edelleen |
Johdetut protokollat
PPTP (Point-to-Point Tunneling Protocol) on muoto PPP kahden isäntien kautta GRE käyttämällä salausta ( MPPE ) ja puristus ( kysytyimmän hintaluokan ).
Kerroksen 2 protokollana tunnelin molempien päiden välillä
Monia protokollia voidaan käyttää datan tunnelointiin IP -verkkojen kautta. Jotkut niistä, kuten SSL , SSH tai L2TP, luovat virtuaalisia verkkoliitäntöjä ja antavat vaikutelman suorista fyysisistä yhteyksistä tunnelin päätepisteiden välillä. Esimerkiksi Linux -isännässä näitä rajapintoja kutsuttaisiin tun0 tai ppp0 .
Koska tunnelissa on vain kaksi päätepistettä, tunneli on pisteestä pisteeseen -yhteys ja PPP on luonnollinen valinta datalinkkikerroksen protokollaksi virtuaalisten verkkoliitäntöjen välillä. PPP voi antaa näille virtuaalisille rajapinnoille IP -osoitteita, ja näitä IP -osoitteita voidaan käyttää esimerkiksi reitittämiseen verkkojen välillä tunnelin molemmin puolin.
Tunnelitilassa oleva IPsec ei luo virtuaalisia fyysisiä rajapintoja tunnelin päähän, koska tunnelia käsittelee suoraan TCP/IP -pino. Näiden rajapintojen tarjoamiseen voidaan käyttää L2TP: tä, tätä tekniikkaa kutsutaan nimellä L2TP/IPsec. Tässäkin tapauksessa PPP tarjoaa IP -osoitteita tunnelin raajoille.
IETF -standardit
PPP määritellään asiakirjassa RFC 1661 (Point-to-Point Protocol, heinäkuu 1994). RFC 1547 (Requirements for a Internet Standard Point-to-Point Protocol, joulukuu 1993) tarjoaa historiallista tietoa PPP: n tarpeesta ja sen kehittämisestä. Sarja asiaan liittyviä RFC-protokollia on kirjoitettu määrittelemään, kuinka erilaiset verkon ohjausprotokollat, kuten TCP/IP , DECnet , AppleTalk , IPX ja muut, toimivat PPP: n kanssa.
- RFC 1332 , PPP Internet Protocol Control Protocol (IPCP)
- RFC 1661 , standardi 51, Point-to-Point Protocol (PPP)
- RFC 1662 , vakio 51, PPP HDLC: n kaltaisessa kehystyksessä
- RFC 1962 , PPP Compression Control Protocol (CCP)
- RFC 1963 , PPP -sarjatiedonsiirtoprotokolla
- RFC 1877 , PPP Internet Protocol Control Protocol -laajennukset nimipalvelinosoitteille
- RFC 1990 , The PPP Multilink Protocol (MP)
- RFC 1994 , PPP Challenge Handshake Authentication Protocol (CHAP)
- RFC 2153 , informaatio, PPP -toimittajalaajennukset
- RFC 2284 , PPP Extensible Authentication Protocol (EAP)
- RFC 2364 , PPP ATM: n kautta
- RFC 2516 , PPP Ethernetin kautta
- RFC 2615 , PPP SONET/SDH: n kautta
- RFC 2686 , Multi-Link-laajennus Multi-Link PPP: hen
- RFC 2687 , ehdotettu standardi, PPP reaaliaikaisessa HDLC-kaltaisessa kehyksessä
- RFC 5072 , IP -versio 6 PPP: n kautta
- RFC 5172 , Neuvottelut IPv6 -datagrammien pakkaamisesta käyttäen IPv6 -ohjausprotokollaa
- RFC 6361 , PPP Transparent Interconnection of Lots of Links ( TRILL ) Protocol Control Protocol
Muut luonnokset:
- PPP Internet Protocol Control Protocol Extensions for IP Subnet (luonnos)
- PPP IPV6 Control Protocol -laajennukset DNS -palvelinosoitteille (luonnos)
- PPP Internet Protocol Control Protocol -laajennukset reittitaulukon merkinnöille (luonnos)
- PPP: n johdonmukainen yleiskustotäyte (luonnos) (vrt. Johdonmukainen yleiskustavuuden täyttö )
Katso myös
- Halkaisija
- Laajennettava todennusprotokolla
- Hayes -komento asetettu
- Linkkien käyttömenettely modeemeille (LAPM)
- Multiprotocol Encapsulation (MPE) MPEG -siirtovirralle
- Point-to-Point Protocol daemon (PPPD)
- PPPoX
- SÄDE
- Yksisuuntainen kevyt kapselointi (ULE) MPEG -siirtovirralle
Viitteet
- William Richard Stevens (2016) [1994]. TCP/IP Kuvitettu [ TCP/IP 详解]. Volume : 协议 (Volume 1: The Protocols) (1. painos). Pearson Education Asia Ltd. , 人民 邮电 出版社 (China Posts & Telecommunications Press). ISBN 978-7-115-40132-8.