點(diǎn)到點(diǎn)協(xié)議是為在兩個對等實(shí)體間傳輸數(shù)據(jù)包建立簡單連接而設(shè)計(jì)的。這種連接提供了同時
的雙向的全雙工操作,并且假定數(shù)據(jù)包是按順序投遞的。PPP連接提供了一種廣泛的解決
辦法,方便地將多種多樣不忘的值作為最大接收單元的值。
2.填充域
在傳輸中,信息域可能會由附加任意數(shù)目的字節(jié)填充至最大接收單元長度。這由每個協(xié)議負(fù)
責(zé)將信息域和填充域區(qū)分開來。
3.PPP連接操作
3.1概述
為了在點(diǎn)到點(diǎn)連接中建立通信,PPP連接的每一端都必須首先發(fā)送LCP數(shù)據(jù)包來配置和
測試數(shù)據(jù)連接。在連接建立后,對等實(shí)體還有可能需要認(rèn)證。 然后,PPP必須發(fā)送NC
P數(shù)據(jù)包來選擇一種或多種網(wǎng)絡(luò)層協(xié)議來配置。一旦被選中的網(wǎng)絡(luò)層協(xié)議被配置好后,該網(wǎng)
絡(luò)層的數(shù)據(jù)報就可以在鏈路上傳送了。 鏈路將保持可配置的狀態(tài)直到有LCP數(shù)據(jù)包和N
CP數(shù)據(jù)包終止連接,或者由
其他外部事件發(fā)生時(例如非活動時鐘計(jì)時已滿或網(wǎng)絡(luò)管理人員的干涉)。
3.2狀態(tài)圖
在配置維持和終止點(diǎn)到點(diǎn)連接的過程中,PPP連接經(jīng)歷了幾個不同的階段,這些階段由以
下簡化的狀態(tài)圖說明:
+------+ +-----------+ +--------------+
| | 連接 | | 已打開 | | 成功/無
| 死亡 |------->| 建立 |---------->| 認(rèn)證 |--+
| | | | | | |
+------+ +-----------+ +--------------+ |
^ | | |
| 失敗 | 失敗 | |
+<--------------+ +----------+ |
| | |
| +-----------+ | +---------+ |
| 斷開 | | | 正在關(guān)閉 | | |
+------------| 終止 |<---+<----------| 網(wǎng)絡(luò) |<-+
| | | |
+-----------+ +---------+
3.3連接死亡階段(物理層未準(zhǔn)備好)
一個連接的開始和結(jié)束都要經(jīng)歷此階段。當(dāng)一個外部事件(例如檢測到載波或網(wǎng)絡(luò)管理人員
配置)指示物理層已準(zhǔn)備好并可以使用時,PPP將進(jìn)入建立連接階段。 在此階段,LC
P協(xié)議自動機(jī)(后面將提到)處在初始或正在開始狀態(tài)。當(dāng)進(jìn)入到建立連接階段后會引發(fā)U
P事件通知LCP協(xié)議自動機(jī)。
應(yīng)用注意事項(xiàng):
典型的,一個連接將在調(diào)制解調(diào)器連接斷開后自動返回到此階段。在使用電話線的連接情況
下,這個階段將相當(dāng)?shù)亩蹋痰胶苌儆凶銐虻臅r間能用儀器檢測到它的存在。
3.4建立連接階段
鏈路控制協(xié)議(LCP)通過交換配置數(shù)據(jù)包建立連接。當(dāng)LCP協(xié)議自動機(jī)進(jìn)入已打開狀
態(tài),并且發(fā)送和接收過配置確認(rèn)數(shù)據(jù)包時,為建立連接的交換過程才完成。 所有的配置選
項(xiàng)都被假定為缺省值,除非在配置交互的過程中改變。關(guān)于LCP
配置選項(xiàng)的進(jìn)一步討論參見后面的章節(jié)。
有一點(diǎn)是非常重要的,就是那些只有與特定網(wǎng)絡(luò)層協(xié)議無關(guān)的選項(xiàng)才能被LCP配置。配置
單獨(dú)的網(wǎng)絡(luò)層協(xié)議是在網(wǎng)絡(luò)層協(xié)議階段由相應(yīng)的網(wǎng)絡(luò)控制協(xié)議來配置。
在此階段接收到的任何非LCP數(shù)據(jù)包將被靜默丟棄。 接收到LCP配置請求數(shù)據(jù)包將引
起PPP連接從網(wǎng)絡(luò)層協(xié)議階段或認(rèn)證階段返回到建立連接階段。
3.5認(rèn)證階段
在某些連接時,在允許網(wǎng)絡(luò)層協(xié)議數(shù)據(jù)包交換之前希望對對等實(shí)體進(jìn)行認(rèn)證。 缺省時,認(rèn)
證不是必要的。如果應(yīng)用時希望對等實(shí)體使用某些認(rèn)證協(xié)議進(jìn)行認(rèn)證,這種要求必須在建立
連接階段提出。
認(rèn)證階段應(yīng)該緊接在建立連接階段后。然而,可能有連接質(zhì)量的決定并行出現(xiàn)。應(yīng)用時絕對
不允許連接質(zhì)量決定數(shù)據(jù)包的交換使認(rèn)證有不確定的延遲。認(rèn)證階段后的網(wǎng)絡(luò)層協(xié)議階段必
須等到認(rèn)證結(jié)束后才能開始。如果認(rèn)證失敗,將轉(zhuǎn)而進(jìn)入終止連接階段。僅僅是連接控制協(xié)
議、認(rèn)證協(xié)議、連接質(zhì)量監(jiān)測的數(shù)據(jù)包才被允許在此階段中出現(xiàn)。所有其它在此階段中接收
到的數(shù)據(jù)包都將被靜默丟棄。
應(yīng)用注意事項(xiàng):
應(yīng)用時不能簡單的因?yàn)槌瑫r或缺少回應(yīng)就認(rèn)為認(rèn)證失敗。應(yīng)該允許重傳,僅當(dāng)試圖認(rèn)證的次
數(shù)超過一定的限制時才進(jìn)入終止連接階段。
如果對方拒絕認(rèn)證,己方有權(quán)進(jìn)入終止連接階段。
3.6網(wǎng)絡(luò)層協(xié)議階段
一旦PPP完成了上述階段,每一個網(wǎng)絡(luò)層協(xié)議(例如IP、IPX、AppleTal
k)必須單獨(dú)的由相應(yīng)的網(wǎng)絡(luò)控制協(xié)議(NCP)配置。 每一個網(wǎng)絡(luò)控制協(xié)議可以隨時打
開或關(guān)閉。
應(yīng)用注意事項(xiàng):
因?yàn)榭赡芤婚_始就會使用需要花費(fèi)大量時間的連接質(zhì)量決定,所以當(dāng)?shù)却龑Ψ竭M(jìn)行網(wǎng)絡(luò)控制
協(xié)議配置時應(yīng)該避免使用固定的超時限制。
當(dāng)一個網(wǎng)絡(luò)控制協(xié)議自動機(jī)達(dá)到已打開的狀態(tài)時,PPP連接上就可以傳送相應(yīng)的網(wǎng)絡(luò)層協(xié)
議數(shù)據(jù)包。當(dāng)接收到的任何所支持的網(wǎng)絡(luò)層協(xié)議數(shù)據(jù)包時,只要相應(yīng)的網(wǎng)絡(luò)控制協(xié)議狀態(tài)自
動機(jī)未進(jìn)入已打開狀態(tài),都將作靜默丟棄處理。
應(yīng)用注意事項(xiàng):
只要LCP協(xié)議狀態(tài)自動機(jī)處于已打開的狀態(tài),任何接收到的不支持的協(xié)議數(shù)據(jù)包都將返回
協(xié)議拒絕包(后面將提到)。所支持的協(xié)議數(shù)據(jù)包都將靜默丟棄。在此階段,連接上流通的
包括LCP數(shù)據(jù)包、NCP數(shù)據(jù)包和網(wǎng)絡(luò)層協(xié)議數(shù)據(jù)包。
3.7終止連接階段
PPP連接可以隨時終止。原因可能是載波丟失、認(rèn)證失敗、連接質(zhì)量失敗、超時計(jì)數(shù)器溢
出,或者網(wǎng)絡(luò)管理員關(guān)閉連接。
LCP通過交換連接終止包來終止連接。當(dāng)連接正在被終止的時候,PPP會通知網(wǎng)絡(luò)層以
便它采取相應(yīng)的動作。
在交換過終止請求包后,將通知物理層斷開以便使連接真正終止,尤其是在認(rèn)證失敗的時
侯。發(fā)送連接終止請求包的一方應(yīng)該等待接收到連接終止確認(rèn)包之后或超時計(jì)數(shù)器計(jì)滿之后
再斷開。收到連接終止確認(rèn)包的一方應(yīng)該等待對方首先斷開,并且決不能斷開直到至少有一
個超時計(jì)時器在發(fā)送了終止連接確認(rèn)包之后溢出。然后PPP應(yīng)該進(jìn)入連接死亡階段。 在
此階段所有接收到的非LCP數(shù)據(jù)包都將被靜默丟棄。
應(yīng)用注意事項(xiàng):
關(guān)閉時使用LCP就已足夠。并不需要每一個NCP都發(fā)送終止連接數(shù)據(jù)包。相反的,一個
NCP協(xié)議自動機(jī)關(guān)閉并不能關(guān)閉整個PPP連接,即使這個NCP協(xié)議自動機(jī)是當(dāng)前唯一
處于已打開狀態(tài)。
4. 選項(xiàng)協(xié)商自動機(jī)
有限狀態(tài)自動機(jī)由事件、動作、狀態(tài)遷移定義。事件包括接收外部命令,諸如打開、關(guān)閉、
超時計(jì)時器溢出和接收到對方發(fā)送過來的數(shù)據(jù)包。動作包括打開超時計(jì)數(shù)器和向?qū)Ψ桨l(fā)送數(shù)
據(jù)包。有些類型的數(shù)據(jù)包,諸如配置否定包和配置拒絕包,或者編號拒絕包和協(xié)議拒絕包,
或者回應(yīng)請求包、回應(yīng)回答包和丟棄請求包在自動機(jī)的描述中都是不可區(qū)分的。正如后面將
要提到的,雖然這些不同類型的數(shù)據(jù)包會引起相同的狀態(tài)遷移,但它們確實(shí)起到了不同的作
用。
事件 動作
Up = 低層已連接 tlu = 該層已連接
Down = 低層已斷開 tld = 該層已斷開
Open = 打開連接 tls = 該層已開始連接
Close= 關(guān)閉連接 tlf = 該層已關(guān)閉連接
TO+ = 超時計(jì)時器溢出且超時計(jì)數(shù)器值大于零 irc = 初始化超時計(jì)數(shù)器
TO- = 超時計(jì)時器溢出且超時計(jì)數(shù)器值小于零 zrc = 超時計(jì)數(shù)器清零
RCR+ = 收到正確的配置請求包 scr = 發(fā)送配置請求包
RCR- = 收到不正確的配置請求包
RCA = 收到配置確認(rèn)包 sca = 發(fā)送配置確認(rèn)包
RCN = 收到配置否定包/拒絕包 scn = 發(fā)送配置否定包/拒絕包
RTR = 收到終止請求包 str = 發(fā)送終止請求包
RTA = 收到終止確認(rèn)包 sta = 發(fā)送終止確認(rèn)包
RUC = 收到未知編碼包 scj = 發(fā)送編碼拒絕包
RXJ+ = 收到編碼拒絕包 (允許的)
或受到協(xié)議拒絕包
RXJ- = 收到編碼拒絕包 (糟糕的)
或受到協(xié)議拒絕包
RXR = 收到回應(yīng)請求包 ser = 發(fā)送回應(yīng)回答包
或者收到回應(yīng)回答包
或者收到丟棄請求包
4.1狀態(tài)轉(zhuǎn)移表
以下就是完整的狀態(tài)轉(zhuǎn)移表。狀態(tài)水平列出來的。低層仍然沒有準(zhǔn)備好。超時計(jì)時器也沒有
運(yùn)行在此狀態(tài)下。
當(dāng)?shù)蛯幼兊每捎脮r,就發(fā)送配置請求包。
Closed狀態(tài)
在此狀態(tài)下,連接有效,但是沒有出現(xiàn)Open事件。超時計(jì)時器也沒有運(yùn)行在此狀態(tài)
下。 此時接收到配置請求包后,將發(fā)送終止請求包。接收到終止確認(rèn)包將被靜默丟棄以免
產(chǎn)生循環(huán)。
Stopped狀態(tài)
此狀態(tài)是在Closed狀態(tài)發(fā)生了Open事件后遷移而來的。當(dāng)自動機(jī)在進(jìn)行了tlf
動作后或發(fā)送了終止請求包后在等待Down事件時就進(jìn)入此狀態(tài)。超時計(jì)時器也沒有運(yùn)行
在此狀態(tài)下。 此時接收到配置請求包后,將做出合適的回答。接收到其他類型的包時,就
發(fā)送終止確認(rèn)包。接收到終止確認(rèn)包將被靜默丟棄以免產(chǎn)生循環(huán)。
基本原理:
Stopped狀態(tài)是連接終止階段、連接配置失敗和其它自動機(jī)的錯誤模式的交匯之
處。 還存在著Down事件(由tlf動作引發(fā))和RCR事件的競爭的情況。當(dāng)R或拒
絕其它用戶的請求。自從連接被確認(rèn)為可用時,就可以由一個Down事件和一個緊
接著的Open事件來通知LCP來模擬實(shí)現(xiàn)。應(yīng)該特別注意的是Close事件不能由其
它的原因引發(fā)。 此時將觸發(fā)一個Down事件,隨即緊接著一個Up事件。這樣做將使得
連接有次序的開始重新協(xié)商,自動機(jī)由Closing狀態(tài)轉(zhuǎn)移到Stopping狀態(tài),
并且tlf動作將斷開連接。自動機(jī)將在Stopped狀態(tài)或Starting狀態(tài)中等
待下一次連接。
Timeout(TO+,TO-)事件
Timeout事件指示超時計(jì)時器溢出。當(dāng)發(fā)送出配置請求包和終止請求包后超時計(jì)時器
開始計(jì)時。TO+事件指示著超時計(jì)數(shù)器的值仍然大于零。其中超時計(jì)數(shù)器每減一,就表明
配置請求包或終止請求包就重傳一次。TO-事件指示著超時計(jì)數(shù)器的值小于零,再沒有任
何數(shù)據(jù)包需要重傳了。
Receive-Configure-Request(RCR+,RCR-)事件
RCR事件出現(xiàn)表明接收到了從對方發(fā)送來的配置請求包。配置請求包的到來表明對方希望
打開連接并且指定連接選項(xiàng)。配置請求包將在后面有更詳細(xì)的描述。
RCR+事件表明對方的配置請求是可以接受的,并且將傳送配置確認(rèn)包。
RCR-事件表明對方的配置請求是不能接受,并且將傳送相應(yīng)的配置否定包或配置拒絕
包。
應(yīng)用注意事項(xiàng):
這些事件可以在自動機(jī)已處于Opened狀態(tài)的時候發(fā)生。這時必須立即準(zhǔn)備好重新協(xié)商
選項(xiàng)。
Receive-Configure-Ack(RCA)事件
RCA事件出現(xiàn)表明收到了對方κ褂茫眨鶚錄?魑?卮稹? 這個動作的結(jié)果高度依賴于應(yīng)用
的需要。
This-Layer-Finished(tlf)動作
tlf動作表明低層的協(xié)議自動機(jī)進(jìn)入了Intial狀態(tài),Closed狀態(tài),或Sto
pped狀態(tài),并且低層已不再為連接所用。當(dāng)?shù)蛯咏K止時應(yīng)使用Down事件作為回
答。
典型的,此動作可能會被LCP用來提前進(jìn)入連接死亡階段,或者被NCP用來通知LCP
當(dāng)沒有任何NCP被打開時連接可能會終止。
這個動作的結(jié)果高度依賴于應(yīng)用的需要。
Initialize-Restart-Count(irc)動作
irc動作初始化超時計(jì)數(shù)器為一合適的值(Max-Terminate或Max-Co
nfigure)。每傳送一次數(shù)據(jù)包,計(jì)數(shù)器就減一,并且包括第一次。
應(yīng)用注意事項(xiàng):
除了設(shè)置超時計(jì)數(shù)器之外,還必須為超時計(jì)時器設(shè)置超時事件的時間長度。
Zero-Restart-Count(zrc)動作
zrc動作將超時計(jì)數(shù)器清零。
應(yīng)用注意事項(xiàng):
此動作使有限自動狀態(tài)機(jī)能夠在進(jìn)入最終所期望的狀態(tài)之前停止,允許由對方處理網(wǎng)絡(luò)流
量。除了設(shè)置超時計(jì)數(shù)器之外,還必須為超時計(jì)時器設(shè)置超時事件的時間長度。
Send-Configure-Request(scr)動作
scr動作將發(fā)送配置請求包。這表明期望用指定的配置選項(xiàng)打開連接。當(dāng)配置選項(xiàng)包被發(fā)
送時,超時計(jì)時器開始計(jì)時以防止它被丟失。每當(dāng)發(fā)送一個配置請求包時,超時計(jì)數(shù)器就減
一。
Send-Configure-Ack(sca)動作
sca動作發(fā)送配置確認(rèn)包。它表明確認(rèn)了接收到的配置請求包中所有的配置選項(xiàng)。
Send-Configure-Nak(scn)動作
scn動作發(fā)送配置否定包或配置拒絕包。它表明否定了接收到的配置請求包中某些的配置
選項(xiàng)。 配置否定包被用于拒絕某一個配置選項(xiàng)值,并且還建議了一個新的可以接受的配置
選項(xiàng)值。而配置拒絕包被用于拒絕所有的配置選項(xiàng),典型的是因?yàn)檫@些選項(xiàng)不能被識別或被
運(yùn)用。關(guān)于如何使用配置否定包和配置拒絕包將在后面敘述鏈路控制協(xié)議數(shù)據(jù)包格式的章節(jié)
中詳細(xì)說明。
Send-Terminate-Request(str)動作
str動作發(fā)送終止請求包。它表明期望關(guān)閉連接。當(dāng)終止請求包被發(fā)送時,超時計(jì)時器開
始計(jì)時以防止它被丟失。每當(dāng)發(fā)送一個配置請求包時,超時計(jì)數(shù)器就減一。
Send-Terminate-Ack(sta)動作
sta動作發(fā)送終止確認(rèn)包。它表明確認(rèn)了接收到的終止請求包或者對雙方的協(xié)議自動機(jī)起
到同步的作用。
Send-Code-Reject(scj)動作
scj動作發(fā)送編碼拒絕包。它表明接收到有不能識別編碼的數(shù)據(jù)包。
Send-Echo-Reply(ser)動作
ser動作發(fā)送回應(yīng)回答包。它表明確認(rèn)接收到了回應(yīng)請求包。
4.6避免循環(huán)
協(xié)議有效的避免了在協(xié)商配置選項(xiàng)時的循環(huán)。然而,協(xié)議并不能保證這種循環(huán)不再出現(xiàn)。在
協(xié)商任何選項(xiàng)時,雙方有可能采取了相互矛盾決不相容的配置策略。但是雙方也有可能采取
了可以相容的配置策略,但這時可能需要花費(fèi)很多時間。應(yīng)用者要將此記在心中并應(yīng)應(yīng)用循
環(huán)監(jiān)測機(jī)制和更高層次的超時機(jī)制。
4.7計(jì)數(shù)器和計(jì)時器
超時計(jì)時器
自動機(jī)并沒有運(yùn)用特殊的計(jì)時器。超時計(jì)時器被用來監(jiān)測配置請求包和終止請求包的傳送。
當(dāng)計(jì)時器計(jì)滿后將引發(fā)一個Timeout事件,并重新發(fā)送相應(yīng)的配置請求包或終止請求
包。超時計(jì)時器必須被配置,而且缺省值應(yīng)該為三秒鐘。
應(yīng)用注意事項(xiàng):
超時計(jì)時器的設(shè)置應(yīng)該基于連接的速度。缺省值是為低速連接(2400-9600bp
s)、高速交換連接(典型的如電話線)設(shè)計(jì)的。更高速的連接,或低交換速度連接應(yīng)該相
應(yīng)的增加重傳的次數(shù)。
取代固定的超時值,超時計(jì)時器應(yīng)該最初設(shè)為一個小的值然后再增加達(dá)到最終配置值。每一
個小于最終值的成功的值都應(yīng)該是前一個值的兩倍。初始值應(yīng)該足夠處理一個數(shù)據(jù)包,它通
常設(shè)置為兩倍于以連接速度在傳送間做一往返的時間還要加上一百毫秒,以允許對方在做作
回應(yīng)之前能夠處理數(shù)據(jù)包。
最大終止次數(shù)
它是為終止請求包計(jì)數(shù)的超時計(jì)數(shù)器所要求的一個值。它表明了在假定對方不能做出回答之
前且未接收到終止確認(rèn)包時發(fā)送終止請求包最大的發(fā)送次數(shù)。最大終止次數(shù)必須被配置,而
且缺省值應(yīng)該為重傳兩次。
最大配置次數(shù)
相似的量被推薦給了配置請求包。它表明在假定對方不能做出回答之前且未接收到配置確認(rèn)
包、配置否定包或配置拒絕包時發(fā)送配置請求包最大的發(fā)送次數(shù)。最大配置次數(shù)必須被配
置,而且缺省值應(yīng)該為重傳十次。
最大失敗次數(shù)
相似的量被推薦給了配置否定包。它表明了在假定未達(dá)成一致發(fā)送配置確認(rèn)包之前配置否定
包最大的發(fā)送次數(shù)。任何由對方配置否定包中所建議的而后又被加入到配置拒絕包中的選項(xiàng)
和本地所期望的選項(xiàng)在協(xié)商過程中都不再追加進(jìn)去。最大配置次數(shù)必須被配置,而且缺省值
應(yīng)該為五次。
5. 鏈路控制協(xié)議數(shù)據(jù)包格式
有三種類型的鏈路控制協(xié)議數(shù)據(jù)包:
1. 連接配置數(shù)據(jù)包用于建立和配置連接。(配置請求包,配置確認(rèn)包,配置否定包和配置
拒絕包)。
2. 連接終止數(shù)據(jù)包用于終止連接(終止請求包和終止確認(rèn)包)。
3. 連接維護(hù)數(shù)據(jù)包用于管理和調(diào)試連接(編碼拒絕包,協(xié)議拒絕包,回應(yīng)請求包,回應(yīng)回
答包和丟棄請求包)。為了簡化起見,數(shù)據(jù)鏈路控制協(xié)議數(shù)據(jù)包格式中并沒有版本號域。對
于不能識別的協(xié)議和編碼都能以簡單的可識別的鏈路控制協(xié)議數(shù)據(jù)包格式予以回應(yīng),因此對
其它的版本提供了一種確定性但效率低的的運(yùn)行機(jī)制。不管什么配置選項(xiàng)被確定為使能,所
有的連接配置包,連接終止包,編碼拒絕包(編碼號1-7)都假定沒有配置選項(xiàng)被協(xié)商。
實(shí)際上,每一個配置選項(xiàng)都被指定了一個缺省值。這樣做使得諸如鏈路控制協(xié)議的數(shù)據(jù)包總
是能夠識別,即使當(dāng)連接已結(jié)束但仍被錯誤的認(rèn)為連接是打開的時候。
鏈路控制協(xié)議數(shù)據(jù)包被封裝在PPP幀格式的數(shù)據(jù)域中,且PPP幀的協(xié)議域的值是0xc
021。
鏈路控制協(xié)議數(shù)據(jù)包格式總結(jié)如下。按照從左至右的順序被傳送。
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 編碼 | 標(biāo)識 | 長度 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 數(shù)據(jù) ...
+-+-+-+-+
編碼域
編碼域占一個八位字節(jié)。它標(biāo)識這是何種類型的鏈路控制協(xié)議數(shù)據(jù)包。當(dāng)接收到編碼域不可
識別的數(shù)據(jù)包時,就發(fā)送編碼拒絕數(shù)據(jù)包。
最新的編碼域的值由最近公布的"Assigned Numbers"RFC文檔說明。與
本文檔相關(guān)的有以下的值:
1 配置請求(Configure-Request)
2 配置確認(rèn)(Configure-Ack)
3 配置否定(Configure-Nak)
4 配置拒絕(Configure-Reject)
5 終止請求(Terminate-Request)
6 終止確認(rèn)(Terminate-Ack)
7 編碼拒絕(Code-Reject)
8 協(xié)議拒絕(Protocol-Reject)
9 回應(yīng)請求(Echo-Request)
10 回應(yīng)回答(Echo-Reply)
11 丟棄請求(Discard-Request)
標(biāo)識域
標(biāo)識域編碼占一個八位字節(jié),它幫助請求和回答進(jìn)行匹配。當(dāng)收到的數(shù)據(jù)包中的標(biāo)識域是無
效的,它將被靜默丟棄并且不影響自動機(jī)的狀態(tài)。
長度域
標(biāo)識域編碼占兩個八位字節(jié),它標(biāo)識了鏈路控制協(xié)議數(shù)據(jù)包的長度,包括編碼域,標(biāo)識域,
數(shù)據(jù)域等。此長度不能超過連接的最大接收長度。
超過長度域的八位字節(jié)被視為填充字節(jié)并在接收時忽略。當(dāng)接收到長度域無效的數(shù)據(jù)包時,
它將被靜默丟棄并且不影響自動機(jī)的狀態(tài)。
數(shù)據(jù)域
數(shù)據(jù)域有零個或多個八位字節(jié),正如長度域中所指示的長度。數(shù)據(jù)域中的格式由編碼域中的
值決定。
5.1配置請求
描述
當(dāng)希望打開一個連接時,必須傳送配置請求包。選項(xiàng)域中由期望改變連接缺省值的配置選項(xiàng)
填充。配置選項(xiàng)不必包含使用缺省值的配置選項(xiàng)。
當(dāng)接收到了配置請求包時,必須傳送合適的數(shù)據(jù)包作為回應(yīng)。
配置請求包的格式總結(jié)如下。按照從左至右的順序被傳送。
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 編碼 | 標(biāo)識 | 長度 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 選項(xiàng) ...
+-+-+-+-+
編碼
1代表配置請求。
標(biāo)識
當(dāng)選項(xiàng)域中的內(nèi)容改變或當(dāng)接收到對前一次請求的無效回答時,標(biāo)識域應(yīng)做改變。重傳時,
標(biāo)識域則不應(yīng)改變。
選項(xiàng)
選項(xiàng)域長度可變,包含有零個或多個希望協(xié)商的配置選項(xiàng)的列表。全部的配置選項(xiàng)將同時協(xié)
商。選項(xiàng)域的格式將在后面的章節(jié)詳細(xì)討論。
5.2配置確認(rèn)
描述
如果對方發(fā)送來的配置請求包中的配置選項(xiàng)都是可識別并且可接受,就可以發(fā)送配置確認(rèn)
包。其中已被確認(rèn)的選項(xiàng)的順序和選項(xiàng)自身都不能以任何方式修改。
接收到的配置確認(rèn)包中的標(biāo)識域必須同上一次發(fā)送的配置請求包中的標(biāo)識域匹配。此外,在
配置確認(rèn)包中選項(xiàng)必須同上一次發(fā)送的配置請求包中的選項(xiàng)完全一致。
配置請求包的格式總結(jié)如下。按照從左至右的順序被傳送。
0 1 2 用于通知對方己方可以接收更大
的數(shù)據(jù)包,或者要求對方發(fā)送更小的數(shù)據(jù)包。
它的缺省值是1500字節(jié)。如果要求更小的數(shù)據(jù)包,當(dāng)連接失去同步時應(yīng)用仍將按150
0字節(jié)接收信息域。
應(yīng)用注意事項(xiàng):
此選項(xiàng)說明了應(yīng)用的能力。對方并沒有要求使用最大的能力。舉例來說,當(dāng)MRU為204
8字節(jié),而對方?jīng)]有被要求發(fā)送2048字節(jié)大小的數(shù)據(jù)包。此時對方不需要使用配置否定
包表明它僅僅發(fā)送比2048字節(jié)小的數(shù)據(jù)包,因?yàn)閼?yīng)用始終要求支持至少
1500字節(jié)的數(shù)據(jù)包。最大接收單元配置選項(xiàng)格式小結(jié)如下。按照從左至右的順序被傳
送。
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 類型 | 長度 | 最大接收單元 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
類型
1
長度
4
最大接收單元
最大接收單元域有兩個八位字節(jié),它指定了信息域和填充域所能接受的最大字節(jié)數(shù)。它不包
括幀協(xié)議域,循環(huán)校驗(yàn)碼和任何因透明傳輸而需要的位或字節(jié)。
6.2認(rèn)證協(xié)議
描述
在進(jìn)行某些連接時可能希望在交換網(wǎng)絡(luò)層數(shù)據(jù)包之前要求對方來認(rèn)證自己。 這個配置選項(xiàng)
提供了協(xié)商用指定的認(rèn)證協(xié)議進(jìn)行認(rèn)證的方法。缺省情況下,認(rèn)證是不需要的。
應(yīng)用時不能在配置請求包中包含多個認(rèn)證協(xié)議配置選項(xiàng)。相反的,應(yīng)該首先配置最期望使用
的認(rèn)證協(xié)議。如果被配置否定包所否定,應(yīng)該在下一次配置請求中配置其次最期望使用使用
的認(rèn)證協(xié)議。
應(yīng)用發(fā)送配置請求包表明它希望對方對自己進(jìn)行認(rèn)證。如果對方發(fā)送來配置確認(rèn)包,表示它
同意使用指定的協(xié)議進(jìn)行erkins, D., "Requirements for an Internet
Standard Point-to-Point Protocol", RFC 1547, Carnegie Mellon University,
December 1993.??
評論
查看更多