PPP協(xié)議主要包括LCP、NCP、PAP&CHAP三族協(xié)議。
LCP:建立,配置,測試PPP數(shù)據(jù)鏈路連接;
NCP:協(xié)商在該鏈路上所傳輸?shù)臄?shù)據(jù)包的格式與類型,建立,配置不同網(wǎng)絡層協(xié)議;PPP擴展協(xié)議族;
PAP&CHAP:對本地和遠端進行鑒權,保證網(wǎng)絡的安全性。
PPP協(xié)商過程分為幾個階段:Dead階段,Establish階段,Authenticate階段,Network階段和Termintate階段:
1)當物理層不可用時,PPP鏈路處于dead階段,鏈路必須從這個階段開始和結束.當物理層可用時,PPP在建立鏈路之前首先進行LCP協(xié)商,協(xié)商內容包括工作方式是SP還是MP,驗證方式和最大傳輸單元等.
2)LCP協(xié)商過后就進入Establish階段,此時LCP狀態(tài)為Opened,表示鏈路已經(jīng)建立.
3)如果配置了驗證(遠端驗證本地或者本地驗證遠端)就進入Authenticate階段,開始CHAP或PAP驗證.
4)如果驗證失敗進入Terminate階段,拆除鏈路,LCP狀態(tài)轉為Down;如果驗證成功就進入Network協(xié)商階段(NCP),此時LCP狀態(tài)仍為Opened,而IPCP狀態(tài)從Initial轉到Request.
5)NCP協(xié)商支持IPCP協(xié)商,IPCP協(xié)商主要包括雙方的IP地址.通過NCP協(xié)商來選擇和配置一個網(wǎng)絡層協(xié)議.當選中的網(wǎng)絡層協(xié)議配置成功后,該網(wǎng)絡層協(xié)議就可以通過這條鏈路發(fā)送報文了.
6)PPP鏈路將一直保持通信,直至有明確的LCP或NCP幀關閉這條鏈路,或發(fā)生了某些外部事件。
PAP驗證為兩次握手驗證,口令為明文,適用于對網(wǎng)絡安全要求相對較低的環(huán)境。PAP驗證的過程如下:
被驗證方發(fā)送用戶名和口令到驗證方;驗證方根據(jù)用戶配置查看是否有此用戶以及口令是否正確,然后返回不同的響應(Acknowledge Or Not Acknowledge).如正確則會給對端發(fā)送ACK報文,通告對端已被允許進入下一階段協(xié)商;否則發(fā)送NAK報文,通告對端驗證失敗.此時,并不會直接將鏈路關閉.只有當驗證不通過次數(shù)達到一定值(缺省為4)時,才會關閉鏈路,來防止因誤傳,網(wǎng)絡干擾等造成不必要的LCP重新協(xié)商過程.
CHAP驗證為三次握手驗證,口令為密文(密鑰),適用于安全性要求高的環(huán)境。CHAP驗證過程如下:
驗證方向被驗證方發(fā)送一些隨機產(chǎn)生的報文,并同時將本端的主機名附帶上一起發(fā)送給被驗證方;
被驗證方接到對端對本端的驗證請求(Challenge)時,便根據(jù)此報文中驗證方的主機名和本端的用戶表查找用戶口令字,如找到用戶表中與驗證方主機名相同的用戶,便利用接收到的隨機報文、此用戶的密鑰用Md5算法生成應答(Response),隨后將應答和自己的主機名送回;驗證方接到此應答后,利用對端的用戶名在本端的用戶表中查找本方保留的口令字,用本方保留的口令字(密鑰)和隨機報文用Md5算法得出結果,與被驗證方應答比較,根據(jù)比較結果返回相應的結果(ACK or NAK)。
MP:為了增加帶寬,將多個鏈路捆綁使用,MultiLink PPP
MP將報文分片后,從MP鏈路下的多個PPP通道發(fā)送到PPP對端,對端將這些分片組裝好后,才遞向網(wǎng)絡層。