協定簡介
點對點協定(Point to Point Protocol)的縮寫為PPP,是
TCP/IP網路協定包的一個成員。PPP是TCP/IP的擴展,它增加了兩個額外的功能組:
(2)它可以安全登錄。
當使用作為公共電話系統的部分的串列接口時,必須要注意確保所有通信的真實性。這個終端PPP集合了用戶名字和密碼安全。因此,一個
路由器或者伺服器通過PPP接收到一個請求時,如果這個請求的來源是不安全的,這就需要授權。這個授權是PPP的一部分。因為它的通過串列接口路由
TCP/IP包的能力和它的授權能力,ISP(
Internet服務提供商)通常使用PPP來允許
撥號用戶連線到Internet。
協定概述
PPP作為數據鏈路層layer 2協定既支持用於同步鏈路連線,也支持異步鏈路連線。PPP協定被設計成可以配合多種網路層協定(比如IP、IPX和AppleTalk)工作,並被設計用於代替數據鏈路層的非標準協定SLIP。
PPP協定是在原來的HDLC規範之後設計的。所以PPP協定的設計者把很多直到那時在廣域網數據鏈路層協定中都沒有考慮的額外的特性都包含進來了。
PPP組成部分
PPP是一個分層的協定,它由三個部分組成:
1) 建立、配置及測試
數據鏈路的
鏈路控制協定(LCP:Link Control Protocol)。它允許通信雙方進行協商,以確定不同的選項。
2) 針對不同網路層協定的
網路控制協定(NCP:Network Control Protocol)體系。NCP為網路層協商可選的配置參數。
3)認證協定:最常用的是密碼驗證協定PAP和挑戰握手驗證協定CHAP。PAP和CHAP通常被用於在PPP封裝的串列線路上提供安全性認證。
PPP協定的幀格式
標誌欄位(1B) | 地址欄位(1B) | 控制欄位(1B) | 協定(2B) | 信息部分 | FCS(2B) | 標誌欄位(1B) |
PPP的幀格式前3個欄位(Flag、Address、Control)固定為:0x7E、0xFF和0x03。
協定欄位:表示 Information 封裝的協定包的類型(例如LCP、NCP和IP等)。
數據欄位:包含PPP的淨荷,數據的長度是經過協商確定,是可變長度的。
FCS欄位為整個幀的循環冗餘校驗碼,用來檢測傳輸中可能出現的數據錯誤。
PPP三大成就:
1.明確地劃分出一幀的尾部和下一幀的頭部的成幀方式。這種幀格式也處理錯誤檢測工作。
2.當線路不再需要時,挑出這些線路,測試它們,商議選擇,並仔細地再次釋放鏈路控制協定。這個協定被稱為鏈路控制協定LCP(link control protocol)。
3.用獨立於所使用的網路層協定的方法來商議使用網路層的哪些選項。對於每個所支持的網路層來說,所選擇的方法有不同的網路控制協定NCP(network control protocol)。
PPP幀不僅能通過撥號電話線傳送出去,而且還能通過SONET或真正面向位的HDLC線路(即路由器與路由器相連)傳送出去。
PPP特點
PPP相比於其他協定,具有以下特點:
PPP具有動態分配IP位址的能力,允許在連線時刻協商IP位址。
PPP支持多種網路協定,比如TCP/IP、NetBEUI、NWLINK等。
PPP具有錯誤檢測以及糾錯能力,支持數據壓縮。
PPP具有身份驗證功能,互聯的兩台設備可以驗證對方身份,加強了安全性。
PPP可以用於多種類型的物理介質上,包括串口線、電話線、行動電話和光纖(例如SDH),PPP也用於Internet接入。
增強的錯誤校驗
PPP協定使用幀校驗串列FCS(Frame Check Sequence)來檢查每一個單獨的
幀是否發生錯誤,PPP也可以監控哪些幀在接受的時候總是發生錯誤,並且可以通過配置來降低這個發生過多錯誤的
接口。
鏈路迴環檢查
鏈路控制協定LCP(作為PPP協定的一個組成部分和PPP定義在同一個RFC中)使用標示自己的特殊數字作為特徵來發現迴路。當使用PPP協定的時候,端點發出具有和其他端點都不相同的特殊數字標識的LCP信息,如果線路存在迴路,發出這個信息的端點就會收到含有自己標識的信息而不是其他人的標識信息。
PPP協定提供鉤子供每個端用戶自動配置網路
接口(設定IP位址和默認
網關等)和身份鑑別。
PPP多連線協定
PPP多
連線協定可以在兩個系統間提供多條連線,以增加額外
頻寬。當進行遠程資源訪存時,PPP多連線協定允許將兩個頻寬合二為一或者將物理通信線路比如模擬
數據機,
ISDN和其他的模擬或
數字鏈路進行合併以提高整體的吞吐量。IETF RFC 1717中描述了PPP多連線協定。
PPP套用場景
PPP現在已經成為使用最廣泛的Internet接入方式的數據鏈路層協定。PPP可以和ADSL、Cable Modem、LAN等技術結合起來完成各類型的寬頻接入。我們家庭中使用最多的寬頻接入方式就是PPPoE(PPP over Ethernet)。這是一種PPP利用乙太網(Ethernet)資源,在乙太網上運行PPP來對用戶進行接入認證的技術,PPP負責在用戶端和運營商的接入伺服器之間建立通信鏈路。
同樣,在ATM(異步傳輸模式,Asynchronous Transfer Mode)網路上運行PPP協定來管理用戶認證的方式稱為PPPoA(PPP over ATM)。它與PPPoE的原理相同,作用相同,但遵守的是ATM網路標準。
PPP故障排查命令
debug ppp negotiation -確定客戶端是否可以通過PPP協商; 這是您檢查地址協商的時候。
debug ppp authentication -確定客戶端是否可以通過驗證。 如果您在使用Cisco IOS軟體版本11.2之前的一個版本,請發出debug ppp chap命令。
debug ppp error -顯示和PPP連線協商與操作相關的協定錯誤以及統計錯誤。
debug aaa authentication -要確定在使用哪個方法進行驗證(應該是
RADIUS,除非
RADIUS伺服器發生故障),以及用戶是否通過驗證。
debug aaa authorization -要確定在使用哪個方法進行驗證,並且用戶是否通過驗證。
debug aaa accounting -查看傳送的記錄。
debug radius -查看用戶和伺服器交換的屬性。
PPP 常見問題
1)什麼是LCP
鏈路控制協定(
LCP) LCP 建立
點對點鏈路,是 PPP 中實際工作的部分。LCP 位於
物理層的上方,負責建立、配置和測試
數據鏈路連線。LCP 還負責協商和設定 WAN 數據鏈路上的控制選項,這些選項由 NCP 處理。
2)NCP是什麼
PPP允許多個
網路協定共用一個鏈路,
網路控制協定 (NCP) 負責連線PPP(第二層)和網路協定 (第三層)。對於所使用的每個網路層協定,PPP 都分別使用獨立的 NCP來連線。例如,IP 使用 IP 控制協定 (
IPCP),IPX 使用 Novell IPX 控制協定 (IPXCP)。