簡介
點對點協議簡稱PPP協議,工作在數據鏈路層。設計目的主要是用來通過撥號或專線方式建立點對點連接發送數據,使其成為各種主機、 網橋和路由器之間簡單連接的一種共通的解決方案。
PPP協議的組成
- 建立、配置數據鏈路連接的LCP(Link Control Protocol)
- 網絡控制協議NCP(Network Control Protocol)
- 將IP數據報封裝到串行鏈路的方法
幀格式
PPP協議的數據單元稱為幀,格式如圖
總體格式是首部+數據部分+尾部。
首部從左至右依次是幀定界符,表示幀開始;
地址字段,因為點對點協議僅作用於兩個實體,發送方無需知道對方的地址,所以沒有實際作用;
控制字段,也沒有實際作用;
協議類型,指定信息部分的類型。
尾部從左至右依次是幀檢驗序列,用於校驗幀在傳輸過程中是否出現差錯;
幀定界符,表示幀的結束
如何解決數據鏈路層的三個基本問題
PPP是工作在數據鏈路層協議的,自然要解決數據鏈路層的三個基本問題
1. 封裝成幀
根據PPP幀的幀格式,可以發現,幀首部和尾部各有一個定界符,這兩個定界符封裝了一個幀
2. 透明傳輸
PPP協議實現透明傳輸的方式有兩種。第一種是字節填充的方式,在幀首部和尾部的定界符前面插入一個轉義字符, 當信息部分出現了轉義字符,則在轉義字符前面再填充一個轉義字符,另外,當信息部分出現了控制字符時,也會在其前面填充一個轉義字符。
第二種就是零比特填充的方式,PPP幀定界符用二進制表示是01111110,中間有6個1,只要保證信息部分不出現連續的6個1就可以實現透明傳輸。 所以,在發送端,發送前會掃描整個信息字段,當發現有連續的5個1時就立即填充一個0。 在接收端,接受后也會掃描整個信息字段,一旦發現有連續的5個1,就把其后面的0刪除。這樣就保證了透明傳輸。
3. 差錯檢測
PPP幀的尾部有一個FCS,配合CRC實現差錯檢測,發現幀出現錯誤就丟棄
PPP鏈路建立過程
PPP協議一般用於用戶撥號接入ISP,工作流程如下
1. LCP配置協商
用戶點擊“連接”,建立了物理層連接后,雙方就要進行鏈路層上某些配置的協商,比如鏈路上的最大幀長、采用什么鑒別協議等。
2. 用戶驗證
這個階段,ISP為了防止用戶惡意使用網絡資源,會對用戶的賬號密碼進行校驗,使用PAP(Password Authentication Protocol)或者CHAP(Challenge-Handshake Authentication Protocol)協議,其中PAP協議的安全性較低
3. NCP配置協商
當用戶通過用戶驗證,雙方就要用進行網絡層上某些配置的協商,比如網絡層采取什么協議,用戶的IP地址是什么
引用
- 謝希仁《計算機網絡》
- 博客
2.1 http://www.cnblogs.com/haitao-fan/archive/2012/04/07/2436120.html
2.2 http://www.cnblogs.com/gtarcoder/p/6259105.html Edit By MaHua