PPP
PPP協議是一種點到點鏈路層協議,主要用於在全雙工的同異步鏈路上進行點到點的數據傳輸。
PPP協議的特點
①PPP協議既支持同步傳輸也支持異步傳輸。而X.25、FR等鏈路層協議僅支持同步傳輸;SLIP僅支持異步傳輸。
②PPP協議具有很好的擴展性,在以太網中時,可以擴展為PPPoE。
③PPP協議提供了LCP(鏈路控制協議)用於鏈路層參數的協商;提供了NCP(網絡控制協議)用於網絡層參數的協商。
④PPP協議提供了CHAP(質詢握手認證協議)、PAP(密碼身份驗證協議),更好的保證了網絡的安全性。
⑤無重傳機制,網絡開銷小,速度快。
PPP連接的建立過程
① Dead階段:此階段表示物理層不可用。當通信雙方檢測到物理線路激活時,會從Dead階段變為Establish階段(鏈路建立階段)。
② Estblish階段:此階段進行LCP參數協商。內容包括最大接收單元MRU、認證方式等選項。當協商成功后,會進入Opened狀態,表示底層鏈路已經建立;反之,則返回到Dead階段。
③ Authenticate階段:此階段可有可無(多數情況下是有的)。如果需要認證,則在底層鏈路建立過程中必須進行認證。認證通過或無認證,則進入Network階段;反之,則進入終止階段,再返回到Dead階段。
④ Network階段:此階段進行NCP協商。通過NCP協商來選擇和配置一個網絡層協議並進行網絡參數的協商。只有相應的網絡參數協商成功后,才會建立網絡層通信。反之,則會進入終止階段,在進入Dead階段。
⑤ 當NCP協商成功后,PPP鏈路將保持通信狀態。
⑥ Terminate階段:此階段所有資源都被釋放,通信雙方將回到Dead階段。
PPP提供的兩種認證協議
PAP認證過程(兩次握手):
a. 被認證方將配置的用戶名和密碼信息使用Authenticate-Request報文以明文方式發送給認證方。
b.認證方收到被認證方發送的用戶名和密碼之后,根據本地配置的用戶名和密碼數據庫進行匹配,若匹配,則返回Authenticate-Ack報文表示認證成功。否則返回Authenticate-Nak報文,表示失敗。
CHAP認證過程(三次握手):
a. 認證方發送一個Challenge報文給被認證方,報文中包含Identifier信息與一個隨機產生的Challenge字符串,此Identifier即后續報文使用的Identifier。
b. 被認證方收到此Challenge報文后,進行一次加密運算,運算公式為MD5(Identifier + 密碼 + Challenge)。從而得到一個16字節長的摘要信息,然后將此信息和在端口上配置的CHAP用戶名一起封裝在Response報文中回應認證方。
c. 認證方收到被認證方發送的Response報文后,按照其中封裝的用戶名查找對應的密碼,得到密碼后,按照上面的計算公式也進行一次計算,計算結果與Response報文中的進行對比,相同則認證成功,不相同則認證失敗。
在CHAP認證方式中,由於密碼是加密之后傳輸,所有極大的提高了安全性。