1. 介紹
PPP有三個主要組件:在串列線路上對數據報進行加密;
用於建立,配置和檢測數據鏈路連線的連線控制協定(LCP)。
用於建立和配置不同網路層協定的網路控制協定(NCP)協定族。
為了在點對點連線上建立通信,每個PPP端必須首先傳送LCP包以配置和檢測數據連結。在連線建立而且可選的選項都已經由LCP設定完成後,PPP必須必須傳送NCP包用以選擇和配置一個或多個網路層協定。在每層的協定被配置完成後,就可以在鏈種上進行通信了。在LCP或NCP顯式地關閉連線以前連線一保持開放。
2. 對IP的PPP網路控制協定
IP控制協定(IPCP)負責建立,使能和中止IP模組。IPCP和LCP協定使用相同的包交換機制。IPCP包在PPP沒有達到網路層協定階段以前不能進行交換,如果有IPCP包在到達此階段前到達會被拋棄。IPCP和LCP基本相同,除了以下幾點:數據鏈路層協定域方面。一個IPCP包被包括在PPP數據鏈路層幀的信息域內,在幀中的協定域會有指示類型的數值8021。編碼域僅用到編碼1到7。其它編碼被認為是不可識別而被拋棄。逾時方面。IPCP包在PPP沒有到達網路層協定以前不能交換。在實現中應該在未接收到配置確認或其它回響前準備等待認證和連結質量決定的完成。實現中應該保證連線在除用戶干擾或超的其它情況下不得中斷。配置選項類型方面。IPCP有不同的配置選項集合,在下面會具體談到。
2.1. 傳送IP數據報
在進行IP包通信前,PPP必須達到網路層協定階段,IPCP必須到達打開狀態。在PPP數據鏈路層幀的信息域中包括了一個IP包,幀中的協定域指示了類型值0021。在PPP連線上傳送IP包的最大長度和PPP數據鏈種層幀的信息域的最大長度一致。過大的IP數據報必須被重新分段。如果系統不希望分段重組就必須使用TCP最大段大小選項和MTU發現。
3. IPCP配置選項
IPCP配置選項可以選擇希望的IP參數。IPCP使用與LCP相同的配置選項格式。IPCP選項類型域的值如下所示:1IP位址1
2 IP壓縮協定
3 IP位址2
3.1. IP位址1
使用配置選項IP位址是不好的,這在實現中已經證明了。IP位址配置選項可以替換這個域,應該使用IP位址配置選項。如果接收到的配置請求中包括IP位址或IP位址選項,此選項不應該在配置請求中包括這個選項。如果因為IP位址選項而收到配置拒絕時,或接收到的配置未確認中包括IP位址選項作為附加選項時,才傳送這一選項。
3.2. 壓縮協定
此配置選項可以使用系統使用特定的壓縮協定,默認情況下不需要進行壓縮。IP壓縮協定配置選項格式如下所示,傳送順序從左至右。
類型 2
長度 >= 4
IP壓縮協定域由兩個位元組組成,指示希望的壓縮協定,此域的值和PPP數據鏈路層協定域指示的壓縮協定一致。當前能夠使用的壓縮協定值如下:002d代表Van Jacobson CompressedTCP/IP。數據域為0個或多個位元組,存儲特定的壓縮協定的一些參數。
3.3. IP位址2
這個域提供了確定用於本地連線端的IP位址的方法。它使得配置請求的傳送者可以要求自己希望的IP位址,或者要求對方提供相應的信息。對方可以通過返回NAKing選項和合法的IP位址提供這方面的信息。
如果確定遠程IP位址是必須的,而對方又未在它的配置請求選項中提供,此選項應該加在配置拒絕選項後。IP位址值要么是一個合法的遠程IP位址,要么要求對方提供信息。默認情況下未指定IP位址。下面是IP位址配置選項格式,傳送順序是從左至右。
類型 3
長度 6
四個位元組的IP位址是配置請求傳送方希望本地地址。如果這四位全部為零,則要求對方提供IP位址信息。
4. Van Jacobson TCP/IP包頭壓縮
Van Jacobson TCP/IP包頭壓縮降低了TCP/IP包頭的大小到接近3個位元組,這對於慢速的串列線路來說是一大提高。IP壓縮協定配置選項用於指示接收壓縮檔的能力。如果需要兩個方向都進行壓縮則需要雙方獨立申請。在傳送IP包時PPP協定域被設定為以下值:0021 類型IP。IP協定不是TCP,或包是一個數據段,或未經過壓縮。
002d 壓縮的TCP。TCP/IP包頭由壓縮的包頭替換。
002f 未壓縮的TCP. IP協定域由槽(slot)標記取代。
4.1. 配置選項格式
IP壓縮協定配置選項格式如下所示,傳送順序從左至右:
類型 2
長度 6
IP壓縮協定
002d指示Van Jacobson Compressed TCP/IP包頭。Max-Slot-Id域一個位元組,指示最大的槽標記,它比實際的槽數少一,槽標記從0到Max-Slot-Id。在實際中,如果Max-Slot-Id = 0,可能會有問題。Comp-Slot-Id域一個位元組,指示槽標記域是否壓縮。
0 槽標記不得壓縮。所有壓縮的TCP包必須在每個變更掩碼(change mask)中設定C位,並要包括槽標記。
1 可壓縮槽標記。