萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 網路安全 >  >> 網路應用技術

數據鏈路層 PPP 協議深度解析:幀格式、LCP/NCP 流程、透明傳輸與 Cisco 實戰配置

PPP(Point-to-Point Protocol)是數據鏈路層點對點通信的標準協議,廣泛應用於撥號接入、專線串口互聯。本文系統解析 PPP 組成、幀結構、工作狀態機、透明傳輸機制,並附 Cisco 路由器實戰配置範例。

一、PPP 協議架構三層模型

  1. 數據鏈路層協議:支援異步/同步串行介質,負責幀封裝與透明傳輸。
  2. LCP (Link Control Protocol):建立、配置、測試、維護、終止鏈路連接;協商 MRU、認證、壓縮等參數。
  3. NCP (Network Control Protocol):為各網路層協議(IP/IPCP、IPX、AppleTalk)協商配置參數,如 IPCP 分配 IP 位址。
PPP 協議架構圖

二、典型應用場景:撥號接入 ISP

  • 用戶透過 Modem 撥號連入 ISP(電信/聯通),建立點對點鏈路。
  • ISP 透過 PPP 分配 IP 位址、計費、統計上線時長與流量。
  • PPP 在物理連線之上提供認證、壓縮、錯誤檢測、鏈路狀態監控等服務。
撥號接入場景圖

三、PPP 幀格式(面向位元組)

旗標 0x7E | 位址 0xFF | 控制 0x03 | 協議 | 信息 | FCS (CRC) | 旗標 0x7E

  • 長度為整數位元組;最大傳送單元 (MTU) 預設 1500 位元組。
  • 協議欄位標識載荷類型(如 0x0021=IP, 0xC021=LCP, 0x8021=IPCP)。

四、PPP 核心特性

特性說明
簡單性無序號/確認機制,依賴上層可靠傳輸;CRC 檢錯,錯誤即丟棄
多協議支援NCP 允許同一鏈路承載 IP、IPX、AppleTalk 等
多鏈路適應同步/異步、光纖、電纜等物理介質
差錯檢測FCS (CRC-16/32) 保證無差錯接收
鏈路狀態檢測LCP Echo 請求/回應偵測鏈路活性
網路層地址協商IPCP 動態分配 IP、DNS、WINS
數據壓縮協商Stac LZS、MPPC 等,節省頻寬
透明性位元組填充(異步) / 零比特填充(同步) 避免旗標衝突

透明傳輸機制詳解

1. 位元組填充(異步/字元導向)

發送端:信息欄出現 0x7E → 0x7D 0x5E;0x7D → 0x7D 0x5D;0x00-0x1F → 0x7D (原值+0x20)。
接收端反向還原。

位元組填充規則表

2. 零比特填充(同步/位元導向)

發送端:連續 5 個 1 後插入 1 個 0。
接收端:掃描到 5 個連續 1,刪除後緊鄰的 0。

零比特填充示意圖

五、PPP 工作狀態機

  1. 鏈路靜止 → 物理層連通 → 鏈路建立(LCP 協商)。
  2. 認證階段(PAP/CHAP/EAP)→ 成功進入 網路層協商(NCP/IPCP 分配 IP)。
  3. 網路開放:數據傳輸階段。
  4. 終止:NCP 釋放 IP → LCP 釋放鏈路 → 物理層斷開。
PPP 狀態機圖

六、同步 vs 異步傳輸補充

  • 同步:以資料塊為單位,塊首尾有同步字元,塊間時間固定,高速、高可靠(如 HDLC、PPP 同步模式)。
  • 異步:以字元為單位,每字元帶啟停位,字元間時間不固定,簡單、低速(如 UART、Modem 撥號)。

七、Cisco 路由器 PPP 封裝與 CHAP 認證實戰

Router> enable
Router# configure terminal
Router(config)# hostname Router0
Router0(config)# interface serial 2/0
Router0(config-if)# clock rate 64000          # DCE 端提供時鐘
Router0(config-if)# ip address 192.168.1.1 255.255.255.0
Router0(config-if)# no shutdown
Router0(config-if)# encapsulation ppp        # 改為 PPP(預設 HDLC)
Router0(config-if)# exit

# 配置 CHAP 認證
Router0(config)# username Router1 password todd
Router0(config)# interface serial 2/0
Router0(config-if)# ppp authentication chap

驗證:show interface serial 2/0 顯示 Encapsulation PPP、LCP Open、IPCP Open 即成功。

避坑:兩端封裝必須一致(同為 PPP 或同為 HDLC);CHAP 需雙向配置 username/password,且 hostname 需與對端 username 一致。
copyright © 萬盛學電腦網 all rights reserved