You are on page 1of 7

12/1/2016

PointtoPointProtocolWikipedia

PointtoPointProtocol
FromWikipedia,thefreeencyclopedia

Incomputernetworking,PointtoPointProtocol(PPP)isadatalink(layer2)protocolusedtoestablishadirect
connectionbetweentwonodes.Itcanprovideconnectionauthentication,transmissionencryption(usingECP,
RFC1968),andcompression.
PPPisusedovermanytypesofphysicalnetworksincludingserialcable,phoneline,trunkline,cellulartelephone,
specializedradiolinks,andfiberopticlinkssuchasSONET.PPPisalsousedoverInternetaccessconnections.
Internetserviceproviders(ISPs)haveusedPPPforcustomerdialupaccesstotheInternet,sinceIPpacketscannot
betransmittedoveramodemlineontheirown,withoutsomedatalinkprotocol.
TwoderivativesofPPP,PointtoPointProtocoloverEthernet(PPPoE)andPointtoPointProtocoloverATM
(PPPoA),areusedmostcommonlybyInternetServiceProviders(ISPs)toestablishaDigitalSubscriberLine
(DSL)Internetserviceconnectionwithcustomers.
PPPiscommonlyusedasadatalinklayerprotocolforconnectionoversynchronousandasynchronouscircuits,
whereithaslargelysupersededtheolderSerialLineInternetProtocol(SLIP)andtelephonecompanymandated
standards(suchasLinkAccessProtocol,Balanced(LAPB)intheX.25protocolsuite).Theonlyrequirementfor
PPPisthatthecircuitprovidedbeduplex.PPPwasdesignedtoworkwithnumerousnetworklayerprotocols,
includingInternetProtocol(IP),TRILL,Novell'sInternetworkPacketExchange(IPX),NBF,DECnetand
AppleTalk.LikeSLIP,thisisafullInternetconnectionovertelephonelinesviamodem.Itismorereliablethan
SlIPbecauseitdoublecheckstomakesurethatInternetpacketsarriveintact.Itresendsanydamagedpackets.

Contents
1 Description
1.1 Automaticselfconfiguration
1.2 Multiplenetworklayerprotocols
1.3 Loopedlinkdetection
2 PPPConfigurationOptions
3 PPPframe
3.1 StructureofaPPPframe
3.2 Encapsulation
4 PPPlineactivationandphases
5 PPPoverseverallinks
5.1 MultilinkPPP
5.2 MulticlassPPP
6 PPPandtunnels
6.1 Derivedprotocols
6.2 PPPasalayer2protocolbetweenbothendsofatunnel
7 Seealso
8 References
8.1 RFCs

Description
https://en.wikipedia.org/wiki/PointtoPoint_Protocol

1/7

12/1/2016

PointtoPointProtocolWikipedia

PPPwasdesignedsomewhataftertheoriginalHDLCspecifications.ThedesignersofPPPincludedmany
additionalfeaturesthathadbeenseenonlyinproprietarydatalinkprotocolsuptothattime.
RFC2516describesPointtoPointProtocoloverEthernet(PPPoE)asamethodfortransmittingPPPoverEthernet
thatissometimesusedwithDSL.RFC2364describesPointtoPointProtocoloverATM(PPPoA)asamethodfor
transmittingPPPoverATMAdaptationLayer5(AAL5),whichisalsoacommonalternativetoPPPoEusedwith
DSL.
PPPisalayeredprotocolthathasthreecomponents:
Anencapsulationcomponentthatisusedtotransmitdatagramsoverthespecifiedphysicallayer.
ALinkControlProtocol(LCP)toestablish,configure,andtestthelinkaswellasnegotiatecapabilities.
OneormoreNetworkControlProtocols(NCP)usedtonegotiateoptionalconfigurationparametersand
facilitiesforthenetworklayer.ThereisoneNCPforeachhigherlayerprotocolsupportedbyPPP.
PPPisspecifiedinRFC1661.

Automaticselfconfiguration
LinkControlProtocol(LCP)initiatesandterminatesconnectionsgracefully,allowinghoststonegotiate
connectionoptions.ItisanintegralpartofPPP,andisdefinedinthesamestandardspecification.LCPprovides
automaticconfigurationoftheinterfacesateachend(suchassettingdatagramsize,escapedcharacters,andmagic
numbers)andforselectingoptionalauthentication.TheLCPprotocolrunsontopofPPP(withPPPprotocol
number0xC021)andthereforeabasicPPPconnectionhastobeestablishedbeforeLCPisabletoconfigureit.
RFC1994describesChallengehandshakeauthenticationprotocol(CHAP),whichispreferredforestablishing
dialupconnectionswithISPs.Althoughdeprecated,Passwordauthenticationprotocol(PAP)isstillsometimes
used.
AnotheroptionforauthenticationoverPPPisExtensibleAuthenticationProtocol(EAP)describedinRFC2284.
Afterthelinkhasbeenestablished,additionalnetwork(layer3)configurationmaytakeplace.Mostcommonly,the
InternetProtocolControlProtocol(IPCP)isused,althoughInternetworkPacketExchangeControlProtocol
(IPXCP)andAppleTalkControlProtocol(ATCP)wereonceverypopular.InternetProtocolVersion6Control
Protocol(IPv6CP)willseeextendeduseinthefuture,whenIPv6replacesIPv4asthedominantlayer3protocol.

Multiplenetworklayerprotocols
PPPpermitsmultiplenetworklayerprotocolstooperateonthesame
communicationlink.Foreverynetworklayerprotocolused,a
separateNetworkControlProtocol(NCP)isprovidedinorderto
encapsulateandnegotiateoptionsforthemultiplenetworklayer
protocols.Itnegotiatesnetworklayerinformation,e.g.network
addressorcompressionoptions,aftertheconnectionhasbeen
established.

PPParchitecture
IP
LCP CHAPPAPEAP IPCP
PPPencapsulation
HDLClikeFraming
PPPoE PPPoA
POS
RS232 SONET/SDH Ethernet ATM

Forexample,InternetProtocol(IP)usestheIPControlProtocol(IPCP),andInternetworkPacketExchange(IPX)
usestheNovellIPXControlProtocol(IPX/SPX).NCPsincludefieldscontainingstandardizedcodestoindicate
thenetworklayerprotocoltypethatthePPPconnectionencapsulates.
ThefollowingNCPsmaybeusedwithPPP:

https://en.wikipedia.org/wiki/PointtoPoint_Protocol

2/7

12/1/2016

PointtoPointProtocolWikipedia

theInternetProtocolControlProtocol(IPCP)fortheInternetProtocol,protocolcodenumber0x8021,RFC
1332
theOSINetworkLayerControlProtocol(OSINLCP)forthevariousOSInetworklayerprotocols,protocol
codenumber0x8023,RFC1377
theAppleTalkControlProtocol(ATCP)forAppleTalk,protocolcodenumber0x8029,RFC1378
theInternetworkPacketExchangeControlProtocol(IPXCP)fortheInternetPacketExchange,protocol
codenumber0x802B,RFC1552
theDECnetPhaseIVControlProtocol(DNCP)forDNAPhaseIVRoutingprotocol(DECnetPhaseIV),
protocolcodenumber0x8027,RFC1762
theNetBIOSFramesControlProtocol(NBFCP)forNetBIOSFramesprotocol(orNetBEUIasitwascalled
beforethat),protocolcodenumber0x803F,RFC2097
theIPv6ControlProtocol(IPV6CP)forIPv6,protocolcodenumber0x8057,RFC5072

Loopedlinkdetection
PPPdetectsloopedlinksusingafeatureinvolvingmagicnumbers.WhenthenodesendsPPPLCPmessages,these
messagesmayincludeamagicnumber.Ifalineislooped,thenodereceivesanLCPmessagewithitsownmagic
number,insteadofgettingamessagewiththepeer'smagicnumber.

PPPConfigurationOptions
TheprevioussectionintroducedtheuseofLCPoptionstomeetspecificWANconnectionrequirements.PPPmay
includethefollowingLCPoptions:
AuthenticationPeerroutersexchangeauthenticationmessages.TwoauthenticationchoicesarePassword
AuthenticationProtocol(PAP)andChallengeHandshakeAuthenticationProtocol(CHAP).Authentication
isexplainedinthenextsection.
CompressionIncreasestheeffectivethroughputonPPPconnectionsbyreducingtheamountofdatainthe
framethatmusttravelacrossthelink.Theprotocoldecompressestheframeatitsdestination.SeeRFC1962
formoredetails.
ErrordetectionIdentifiesfaultconditions.TheQualityandMagicNumberoptionshelpensureareliable,
loopfreedatalink.TheMagicNumberfieldhelpsindetectinglinksthatareinaloopedbackcondition.
UntiltheMagicNumberConfigurationOptionhasbeensuccessfullynegotiated,theMagicNumbermustbe
transmittedaszero.Magicnumbersaregeneratedrandomlyateachendoftheconnection.
MultilinkProvidesloadbalancingseveralinterfacesusedbyPPPthroughMultilinkPPP(seebelow).

PPPframe
StructureofaPPPframe
PPPframesarevariantsofHDLCframes:

https://en.wikipedia.org/wiki/PointtoPoint_Protocol

3/7

12/1/2016

PointtoPointProtocolWikipedia

Name

Numberofbytes

Description

Flag

0x7E,thebeginningofaPPPframe

Address

0xFF,standardbroadcastaddress

Control

0x03,unnumbereddata

Protocol

PPPIDofembeddeddata

Information

variable(0ormore) datagram

Padding

variable(0ormore) optionalpadding

FrameCheckSequence 2

framechecksum

Flag

0x7E,omittedforsuccessivePPPpackets

IfbothpeersagreetoAddressfieldandControlfieldcompressionduringLCP,thenthosefieldsareomitted.
LikewiseifbothpeersagreetoProtocolfieldcompression,thenthe0x00bytecanbeomitted.
TheProtocolfieldindicatesthetypeofpayloadpacket:0xC021forLCP,0x80xyforvariousNCPs,0x0021forIP,
0x0029AppleTalk,0x002BforIPX,0x003DforMultilink,0x003FforNetBIOS,0x00FDforMPPCandMPPE,
etc.[1]PPPislimited,andcannotcontaingeneralLayer3data,unlikeEtherType.
TheInformationfieldcontainsthePPPpayloadithasavariablelengthwithanegotiatedmaximumcalledthe
MaximumTransmissionUnit.Bydefault,themaximumis1500octets.Itmightbepaddedontransmissionifthe
informationforaparticularprotocolcanbepadded,thatprotocolmustallowinformationtobedistinguishedfrom
padding.

Encapsulation
PPPframesareencapsulatedinalowerlayerprotocolthatprovidesframingandmayprovideotherfunctionssuch
asachecksumtodetecttransmissionerrors.PPPonseriallinksisusuallyencapsulatedinaframingsimilarto
HDLC,describedbyIETFRFC1662.
Name

Numberofbytes

Description

Flag

indicatesframe'sbeginorend

Address

broadcastaddress

Control

controlbyte

Protocol

1or2or3

lininformationfield

Information variable(0ormore) datagram


Padding

variable(0ormore) optionalpadding

FCS

2(or4)

errorcheck

TheFlagfieldispresentwhenPPPwithHDLClikeframingisused.
TheAddressandControlfieldsalwayshavethevaluehexFF(for"allstations")andhex03(for"unnumbered
information"),andcanbeomittedwheneverPPPLCPAddressandControlFieldCompression(ACFC)is
negotiated.
Theframechecksequence(FCS)fieldisusedfordeterminingwhetheranindividualframehasanerror.Itcontains
achecksumcomputedovertheframetoprovidebasicprotectionagainsterrorsintransmission.ThisisaCRCcode
similartotheoneusedforotherlayertwoprotocolerrorprotectionschemessuchastheoneusedinEthernet.
https://en.wikipedia.org/wiki/PointtoPoint_Protocol

4/7

12/1/2016

PointtoPointProtocolWikipedia

AccordingtoRFC1662,itcanbeeither16bits(2bytes)or32bits(4bytes)insize(defaultis16bitsPolynomial
x16+x12+x5+1).
TheFCSiscalculatedovertheAddress,Control,Protocol,InformationandPaddingfieldsafterthemessagehas
beenencapsulated.

PPPlineactivationandphases
ThephasesofthePointtoPoint
ProtocolaccordingtoRFC1661are
listedbelow:
LinkDead
Thisphaseoccurswhenthelink
fails,oronesidehasbeentoldto
disconnect(e.g.auserhas
finishedhisorherdialup
connection.)
LinkEstablishmentPhase
ThisphaseiswhereLinkControl
Protocolnegotiationisattempted.
Ifsuccessful,controlgoeseither
AdiagramdepictingthephasesofPPPaccordingtoRFC1661.
totheauthenticationphaseorthe
NetworkLayerProtocolphase,
dependingonwhetherauthenticationisdesired.
AuthenticationPhase
Thisphaseisoptional.Itallowsthesidestoauthenticateeachotherbeforeaconnectionisestablished.If
successful,controlgoestothenetworklayerprotocolphase.
NetworkLayerProtocolPhase
Thisphaseiswhereeachdesiredprotocols'NetworkControlProtocolsareinvoked.Forexample,IPCPis
usedinestablishingIPserviceovertheline.Datatransportforallprotocolswhicharesuccessfullystarted
withtheirnetworkcontrolprotocolsalsooccursinthisphase.Closingdownofnetworkprotocolsalsooccur
inthisphase.
LinkTerminationPhase
Thisphaseclosesdownthisconnection.Thiscanhappenifthereisanauthenticationfailure,ifthereareso
manychecksumerrorsthatthetwopartiesdecidetoteardownthelinkautomatically,ifthelinksuddenly
fails,oriftheuserdecidestohangupaconnection.

PPPoverseverallinks
MultilinkPPP
MultilinkPPP(alsoreferredtoasMLPPP,MP,MPPP,MLP,orMultilink)providesamethodforspreading
trafficacrossmultipledistinctPPPconnections.ItisdefinedinRFC1990.Itcanbeused,forexample,toconnect
ahomecomputertoanInternetServiceProviderusingtwotraditional56kmodems,ortoconnectacompany
throughtwoleasedlines.
OnasinglePPPlineframescannotarriveoutoforder,butthisispossiblewhentheframesaredividedamong
multiplePPPconnections.Therefore,MultilinkPPPmustnumberthefragmentssotheycanbeputintheright
orderagainwhentheyarrive.

https://en.wikipedia.org/wiki/PointtoPoint_Protocol

5/7

12/1/2016

PointtoPointProtocolWikipedia

MultilinkPPPisanexampleofalinkaggregationtechnology.CiscoIOSRelease11.1andlatersupportsMultilink
PPP.

MulticlassPPP
WithPPP,onecannotestablishseveralsimultaneousdistinctPPPconnectionsoverasinglelink.
That'snotpossiblewithMultilinkPPPeither.MultilinkPPPusescontiguousnumbersforallthefragmentsofa
packet,andasaconsequenceitisnotpossibletosuspendthesendingofasequenceoffragmentsofonepacketin
ordertosendanotherpacket.ThispreventsfromrunningMultilinkPPPmultipletimesonthesamelinks.
MulticlassPPPisakindofMultilinkPPPwhereeach"class"oftrafficusesaseparatesequencenumberspace
andreassemblybuffer.MulticlassPPPisdefinedinRFC2686.

PPPandtunnels
SimplifiedOSIprotocolstackforanexample
SSH+PPPtunnel
Application FTP SMTP HTTP DNS
PPTP(PointtoPointTunnelingProtocol)isaformofPPP
betweentwohostsviaGREusingencryption(MPPE)and
Transport
TCP
UDP
compression(MPPC).
Network
IP
DataLink
PPP
PPPasalayer2protocolbetweenbothendsofa
Application
SSH
tunnel
Transport
TCP
Network
IP
ManyprotocolscanbeusedtotunneldataoverIPnetworks.Some
ofthem,likeSSL,SSH,orL2TPcreatevirtualnetworkinterfaces
DataLink
Ethernet
ATM
andgivetheimpressionofadirectphysicalconnectionsbetween
Physical
Cables,Hubs,andsoon
thetunnelendpoints.OnaLinuxhostforexample,theseinterfaces
wouldbecalledtun0.

Derivedprotocols

Asthereareonlytwoendpointsonatunnel,thetunnelisapointtopointconnectionandPPPisanaturalchoiceas
adatalinklayerprotocolbetweenthevirtualnetworkinterfaces.PPPcanassignIPaddressestothesevirtual
interfaces,andtheseIPaddressescanbeused,forexample,toroutebetweenthenetworksonbothsidesofthe
tunnel.
IPsecintunnelingmodedoesnotcreatevirtualphysicalinterfacesattheendofthetunnel,sincethetunnelis
handleddirectlybytheTCP/IPstack.L2TPcanbeusedtoprovidetheseinterfaces,thistechniqueiscalled
L2TP/IPsec.Inthiscasetoo,PPPprovidesIPaddressestotheextremitiesofthetunnel.

Seealso
Diameter
ExtensibleAuthenticationProtocol
Hayescommandset
LinkAccessProcedureforModems(LAPM)
MultiprotocolEncapsulation(MPE)forMPEGtransportstream
PointtoPointProtocoldaemon(PPPD)
PPPoX
RADIUS
https://en.wikipedia.org/wiki/PointtoPoint_Protocol

6/7

12/1/2016

PointtoPointProtocolWikipedia

ShortestPathBridging
UnidirectionalLightweightEncapsulation(ULE)forMPEGtransportstream

References
1."PointtoPoint(PPP)ProtocolFieldAssignments".IANA.Retrieved3September2015.

RFCs
PPPisdefinedinRFC1661(ThePointtoPointProtocol,July1994).RFC1547(RequirementsforanInternet
StandardPointtoPointProtocol,December1993)provideshistoricalinformationabouttheneedforPPPandits
development.AseriesofrelatedRFCshavebeenwrittentodefinehowavarietyofnetworkcontrolprotocols
includingTCP/IP,DECnet,AppleTalk,IPX,andothersworkwithPPP.
RFC1332,ThePPPInternetProtocolControlProtocol(IPCP)
RFC1661,Standard51,ThePointtoPointProtocol(PPP)
RFC1662,Standard51,PPPinHDLClikeFraming
RFC1962,PPPCompressionControlProtocol(CCP)
RFC1963,PPPSerialDatatransportProtocol
RFC1990,ThePPPMultilinkProtocol(MP)
RFC1994,PPPChallengeHandshakeAuthenticationProtocol(CHAP)
RFC2153,Informational,PPPVendorExtensions
RFC2284,PPPExtensibleAuthenticationProtocol(EAP)
RFC2364,PPPoverATM
RFC2516,PPPoverEthernet
RFC2615,PPPoverSONET/SDH
RFC2686,TheMultiClassExtensiontoMultiLinkPPP
RFC2687,ProposedStandard,PPPinaRealtimeOrientedHDLClikeFraming
RFC5072,IPVersion6overPPP
RFC5172,NegotiationforIPv6DatagramCompressionUsingIPv6ControlProtocol
RFC6361,PPPTransparentInterconnectionofLotsofLinks(TRILL)ProtocolControlProtocol
Retrievedfrom"https://en.wikipedia.org/w/index.php?title=PointtoPoint_Protocol&oldid=749087298"
Categories: InternetStandards Linkprotocols Logicallinkcontrol Modems
Thispagewaslastmodifiedon12November2016,at09:02.
TextisavailableundertheCreativeCommonsAttributionShareAlikeLicenseadditionaltermsmayapply.
Byusingthissite,youagreetotheTermsofUseandPrivacyPolicy.Wikipediaisaregisteredtrademark
oftheWikimediaFoundation,Inc.,anonprofitorganization.

https://en.wikipedia.org/wiki/PointtoPoint_Protocol

7/7

You might also like