2016.6.17 計算機網絡復習要點之PPP協議


點對點協議PPP是目前使用最廣泛的數據鏈路層協議。

1.PPP協議的特點:

**我們知道因特網用戶通常需要連接到某個ISP才能接入到因特網,PPP協議就是用計算機和ISP進行通信時所使用的數據鏈路層協議。

(1)簡單:接收方每收到一個幀,就進行CRC檢驗,如CRC檢驗正確,就收下這個幀;反之,就丟棄這個幀,其他什么也不做。

(2)封裝成幀:PPP協議必須規定特殊的字符作為幀定界符(即標志一個幀的開始和結束的字符),以便使接收端收到的比特流中能准確地找到幀開始和結束的位置。

(3)透明性:PPP協議必須保證數據傳輸的透明性。這就是說,如果數據中碰巧出現了和幀定界符一樣的比特組合時,就要采取有效的措施來解決這個問題。

(4)多種網絡層協議:PPP協議必須能夠在同一條物理鏈路上同時支持多種網絡層協議的運行。

(5)多種類型的鏈路:除了支持多種網絡層的協議外,PPP還必須能夠在多種類型的鏈路上運行。例如,串行的(一次只發一個比特)或並行的(一次並行地發送多個比特),同步的或者異步,低速的或者高速的,電的或者光的,交換的(動態的)或者非交換的(靜態的)點對點鏈路。

**PPPoE就是PPP協議能夠適應多種鏈路的一個典型例子。PPPoE是為寬帶上網的主機使用的鏈路層協議,這個協議把PPP幀再封裝在以太網幀中。現在,即使是只有一個用戶利用的ADSL進行寬帶上網(並不和其他人共享到ISP的寬帶鏈路),也是使用PPPoE協議。

(6)差錯檢測:PPP協必須能夠對接收端收到的幀進行檢測,並立即丟棄有差錯的幀。

(7)檢測連接狀態:PPP協議必須具有一種機制能夠及時自動檢測出鏈路是否處於正常工作狀態。

(8)最大傳送單元: PPP協議必須對每一中類型的點對點鏈路設置最大傳送單元MTU的標准默認值。MTU是數據鏈路層的幀可以載荷的數據部分的最大長度,而不是幀的總長度。

(9)網絡層地址協商:PPP協議必須提供一種機制使通信的兩個網絡層(例如,兩個IP層)的實體能夠通過協商知道或者能夠配置彼此的網絡層地址。

(10)數據壓縮協商:PPP協議必須提供一種方法來協商使用數據壓縮算法

(11)PPP協議不支持多點線路(即一個主站輪流和鏈路上的多個從站進行通信),而只支持點對點的鏈路通信。PPP協議只支持全雙鏈路。

 

2.PPP協議的組成

(1)一個將IP數據報封裝到串行鏈路的方法。PPP協議既支持異步鏈路(無奇偶校驗的8比特數據),也支持面向比特的同步鏈路。

(2)一個用來建立,配置和測試數據鏈路連接的鏈路控制協議LCP。

(3)一套網絡控制協議NCP,其中的每一個協議支持不同的網絡層協議,如IP,OSI的網絡層,DECnet以及AppTalk等

 

3.PPP協議的幀格式:

(1)各字段的意義:

**首部的第一個字段和尾部的第二個字段都是標志字段F,規定為0x7E(符號0x表示它后面的字符是用十六進制表示的。十六進制的7E的二進制表示是01111110);

**首部中的地址字段A規定為0xFF(即11111111),控制字段C規定為0x03(000000011);

**首部的第四個字段是2字節的協議字段。當協議字段為0x0021時,PPP幀的信息字段就是IP數據報。若為0xC021,則信息字段就是PPP鏈路控制協議LCP的數據,而0x8021表示這是網絡層的控制數據。

**信息字段的長度是可變的,不超過1500字節。

**尾部中第一個字段(2字節)是使用CRC的幀檢驗序列FCS。

(2)字節填充

 **當PPP使用異步傳輸時,它把轉義符定義為0x7D(即01111101),並使用字節填充

①把信息字段中出現的每一個0x7E字節轉變為2字節序列(0x7D,0x5E);

②若信息字段中出現一個0x7D的字節(即出現了和轉義符一樣的比特組合),則把0x7D轉變成為2字節序列(0x7D,0x5D);

③若信息字段中出現ASCII碼的控制字符(即數值小於0x20的字符),則在該字符前面要加入一個0x7D字節,同時將該字符的編碼加以改變。例如,出現0x03(在控制字符中是“傳輸結束”)就要把它轉變為2字節序列(0x7D,0x23)。

 

(3)零比特填充

**PPP協議在SONET/SDH鏈路時,是使用同步傳輸(一連串的比特連續傳送)而不是異步傳輸(逐個字符地傳送),在這種情況下,PPP協議采用零比特填充方法

**零比特填充的具體做法是:

在發送端,先掃描整個信息字段,只要發現有5個連續的1,則立即填入一個0。因此,經過這樣的令比特填充后的數據,就可以保證在信息字段中不會出現6個連續的1。接收端在收到一個幀時,先找到標志字段F以確定幀的邊界,接着再用硬件對其中的比特流進行掃描。每發現5個連續的時,就把這5個連續的1后的一個0刪除。

 

4.PPP協議的工作狀態:

 **當用戶撥號接入ISP后,就建立了一條從用戶PC到ISP的物理連接,這時。用戶PC向ISP發送一系列的鏈路控制協議LCP分組(封裝成多個PPP幀),以便建立LCP連接。這些分組及其響應選擇了將要使用的一些PPP參數,接着還要進行網絡層配置,網絡控制協議NCP給新接入的用戶PC分配一個臨時的IP地址,這樣,用戶PC就成為因特網上一個有IP地址的主機了;

**當用戶通信完畢,NCP釋放網絡層連接,收回原來分配出去的IP地址,接着LCP釋放數據鏈路層連接,最后釋放的是物理層的連接。

**完整過程:

①PPP鏈路的起始和終止狀態永遠都是“鏈路靜止”狀態,這時在用戶PC和ISP的路由器之間並不存在物理層的連接;

②當用戶PC通過調制解調器呼叫路由器時(連接按鈕),路由器能夠檢測到調制解調器發出的載波信號,在雙方建立了物理連接后,PPP就進入"鏈路建立"狀態,其目的是建立鏈路層的LCP連接;

③這時LCP開始協商一些配置選項,即發送LCP的配置請求幀,這是個PPP幀,其協議字段設置為LCP對應的代碼,而信息字段包含特定的配置請求;

④鏈路的另一端可以發送以下幾種響應中的一種:

**配置確認幀:所有選項都接受;

**配置否認幀:所有選項都理解但不能接受;

**配置拒絕幀:選項有的無法識別或不能接受,需要協商;

⑤協商結束后雙方就建立了LCP鏈路,接着就進入“鑒別”狀態,在這一狀態,只允許發送LCP協議的分組,鑒別協議的分組以及監測鏈路質量的分組

**鑒別方式:口令鑒別協議PAP(需要發起通信的一方發送身份標識符合口令);口令握手鑒別協議CHAP(更復雜的鑒別協議);

**鑒別成功,則進入“網絡層協議”;鑒別失敗,則轉到“鏈路終止”狀態;

⑥在“網絡層協議”狀態,PPP鏈路的兩端的網絡控制協議NCP根據網絡層的不同協議相互交換網絡層特定的網絡控制分組;

**當網絡層配置完畢后,鏈路就進入可進行數據通信的“鏈路打開”狀態,鏈路的兩個PPP端點可以彼此向對方發送分組;

**數據傳輸結束后,可以由鏈路的一端發出終止請求LCP分組請求終止鏈路連接,在收到對方發來的終止確認LCP分組后,轉到“鏈路終止”狀態。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM