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