?? 點到點協議 .txt
字號:
點到點協議
2004-2-23加入 來自華中理工大學 作者aijing翻譯 0條評論 點擊963次
1.簡介
點到點協議是為在兩個對等實體間傳輸數據包建立簡單連接而設計的。這種連接提供了同
時的雙向的全雙工操作,并且假定數據包是按順序投遞的。PPP連接提供了一種廣泛的
解決辦法,方便地將多種多樣不忘的值作為最大接收單元的值。
填充域
在傳輸中,信息域可能會由附加任意數目的字節填充至最大接收單元長度。這由
每個協議負責將信息域和填充域區分開來。
3.PPP連接操作
3.1概述
為了在點到點連接中建立通信,PPP連接的每一端都必須首先發送LCP數據
包來配置和測試數據連接。在連接建立后,對等實體還有可能需要認證。
然后,PPP必須發送NCP數據包來選擇一種或多種網絡層協議來配置。一旦
被選中的網絡層協議被配置好后,該網絡層的數據報就可以在鏈路上傳送了。
鏈路將保持可配置的狀態直到有LCP數據包和NCP數據包終止連接,或者由
其他外部事件發生時(例如非活動時鐘計時已滿或網絡管理人員的干涉)。
3.2狀態圖
在配置維持和終止點到點連接的過程中,PPP連接經歷了幾個不同的階段,這
些階段由以下簡化的狀態圖說明:
+------+ +-----------+ +--------------+
| | 連接 | | 已打開 | | 成功/無
| 死亡 |------->| 建立 |---------->| 認證 |--+
| | | | | | |
+------+ +-----------+ +--------------+ |
^ | | |
| 失敗 | 失敗 | |
+<--------------+ +----------+ |
| | |
| +-----------+ | +---------+ |
| 斷開 | | | 正在關閉 | | |
+------------| 終止 |<---+<----------| 網絡 |<-+
| | | |
+-----------+ +---------+
3.3連接死亡階段(物理層未準備好)
一個連接的開始和結束都要經歷此階段。當一個外部事件(例如檢測到載波或網
絡管理人員配置)指示物理層已準備好并可以使用時,PPP將進入建立連接階段。
在此階段,LCP協議自動機(后面將提到)處在初始或正在開始狀態。當進入
到建立連接階段后會引發UP事件通知LCP協議自動機。
應用注意事項:
典型的,一個連接將在調制解調器連接斷開后自動返回到此階段。在使用電話線
的連接情況下,這個階段將相當的短,短到很少有足夠的時間能用儀器檢測到它的存在。
3.4建立連接階段
鏈路控制協議(LCP)通過交換配置數據包建立連接。當LCP協議自動機進
入已打開狀態,并且發送和接收過配置確認數據包時,為建立連接的交換過程才完成。
所有的配置選項都被假定為缺省值,除非在配置交互的過程中改變。關于LCP
配置選項的進一步討論參見后面的章節。
有一點是非常重要的,就是那些只有與特定網絡層協議無關的選項才能被LCP
配置。配置單獨的網絡層協議是在網絡層協議階段由相應的網絡控制協議來配置。
在此階段接收到的任何非LCP數據包將被靜默丟棄。
接收到LCP配置請求數據包將引起PPP連接從網絡層協議階段或認證階段返
回到建立連接階段。
3.5認證階段
在某些連接時,在允許網絡層協議數據包交換之前希望對對等實體進行認證。
缺省時,認證不是必要的。如果應用時希望對等實體使用某些認證協議進行認證
,這種要求必須在建立連接階段提出。
認證階段應該緊接在建立連接階段后。然而,可能有連接質量的決定并行出現。
應用時絕對不允許連接質量決定數據包的交換使認證有不確定的延遲。
認證階段后的網絡層協議階段必須等到認證結束后才能開始。如果認證失敗,將轉而進入
終止連接階段。
僅僅是連接控制協議、認證協議、連接質量監測的數據包才被允許在此階段中出現。所有
其它在此階段中接收到的數據包都將被靜默丟棄。
應用注意事項:
應用時不能簡單的因為超時或缺少回應就認為認證失敗。應該允許重傳,僅當試
圖認證的次數超過一定的限制時才進入終止連接階段。
如果對方拒絕認證,己方有權進入終止連接階段。
3.6網絡層協議階段
一旦PPP完成了上述階段,每一個網絡層協議(例如IP、IPX、
AppleTalk)必須單獨的由相應的網絡控制協議(NCP)配置。
每一個網絡控制協議可以隨時打開或關閉。
應用注意事項:
因為可能一開始就會使用需要花費大量時間的連接質量決定,所以當等待對方進
行網絡控制協議配置時應該避免使用固定的超時限制。
當一個網絡控制協議自動機達到已打開的狀態時,PPP連接上就可以傳送相應
的網絡層協議數據包。當接收到的任何所支持的網絡層協議數據包時,只要相應的網絡控
制協議狀態自動機未進入已打開狀態,都將作靜默丟棄處理。
應用注意事項:
只要LCP協議狀態自動機處于已打開的狀態,任何接收到的不支持的協議數據
包都將返回協議拒絕包(后面將提到)。所支持的協議數據包都將靜默丟棄。
在此階段,連接上流通的包括LCP數據包、NCP數據包和網絡層協議數據包。
3.7終止連接階段
PPP連接可以隨時終止。原因可能是載波丟失、認證失敗、連接質量失敗、超
時計數器溢出,或者網絡管理員關閉連接。
LCP通過交換連接終止包來終止連接。當連接正在被終止的時候,PPP會通
知網絡層以便它采取相應的動作。
在交換過終止請求包后,將通知物理層斷開以便使連接真正終止,尤其是在認證失敗的時
侯。發送連接終止請求包的一方應該等待接收到連接終止確認包之后或超時計數器計滿之
后再斷開。收到連接終止確認包的一方應該等待對方首先斷開,并且決不能斷開直到至少
有一個超時計時器在發送了終止連接確認包之后溢出。然后PPP應該進入連接死亡階段
。
在此階段所有接收到的非LCP數據包都將被靜默丟棄。
應用注意事項:
關閉時使用LCP就已足夠。并不需要每一個NCP都發送終止連接數據包。相
反的,一個NCP協議自動機關閉并不能關閉整個PPP連接,即使這個NCP協議自動
機是當前唯一處于已打開狀態。
4. 選項協商自動機
有限狀態自動機由事件、動作、狀態遷移定義。事件包括接收外部命令,諸如打開、關閉
、超時計時器溢出和接收到對方發送過來的數據包。動作包括打開超時計數器和向對方發
送數據包。
有些類型的數據包,諸如配置否定包和配置拒絕包,或者編號拒絕包和協議拒絕包,或者
回應請求包、回應回答包和丟棄請求包在自動機的描述中都是不可區分的。正如后面將要
提到的,雖然這些不同類型的數據包會引起相同的狀態遷移,但它們確實起到了不同的作
用。
事件 動作
Up = 低層已連接 tlu = 該層已連接
Down = 低層已斷開 tld = 該層已斷開
Open = 打開連接 tls = 該層已開始連接
Close= 關閉連接 tlf = 該層已關閉連接
TO+ = 超時計時器溢出且超時計數器值大于零 irc = 初始化超時計數器
TO- = 超時計時器溢出且超時計數器值小于零 zrc = 超時計數器清零
RCR+ = 收到正確的配置請求包 scr = 發送配置請求包
RCR- = 收到不正確的配置請求包
RCA = 收到配置確認包 sca = 發送配置確認包
RCN = 收到配置否定包/拒絕包 scn = 發送配置否定包/拒絕包
RTR = 收到終止請求包 str = 發送終止請求包
RTA = 收到終止確認包 sta = 發送終止確認包
RUC = 收到未知編碼包 scj = 發送編碼拒絕包
RXJ+ = 收到編碼拒絕包 (允許的)
或受到協議拒絕包
RXJ- = 收到編碼拒絕包 (糟糕的)
或受到協議拒絕包
RXR = 收到回應請求包 ser = 發送回應回答包
或者收到回應回答包
或者收到丟棄請求包
4.1狀態轉移表
以下就是完整的狀態轉移表。狀態水平列出來的。低層仍然沒有準備好。超時計
時器也沒有運行在此狀態下。
當低層變得可用時,就發送配置請求包。
Closed狀態
在此狀態下,連接有效,但是沒有出現Open事件。超時計時器也沒有運行在
此狀態下。
此時接收到配置請求包后,將發送終止請求包。接收到終止確認包將被靜默丟棄
以免產生循環。
Stopped狀態
此狀態是在Closed狀態發生了Open事件后遷移而來的。當自動機在進
行了tlf動作后或發送了終止請求包后在等待Down事件時就進入此狀態。超時計時
器也沒有運行在此狀態下。
此時接收到配置請求包后,將做出合適的回答。接收到其他類型的包時,就發送
終止確認包。接收到終止確認包將被靜默丟棄以免產生循環。
基本原理:
Stopped狀態是連接終止階段、連接配置失敗和其它自動機的錯誤模式的
交匯之處。
還存在著Down事件(由tlf動作引發)和RCR事件的競爭的情況。當R
或拒絕其它用戶的請求。自從連接被確認為可用時,就可以由一個Down事件和一個緊
接著的Open事件來通知LCP來模擬實現。應該特別注意的是Close事件不能由
其它的原因引發。
此時將觸發一個Down事件,隨即緊接著一個Up事件。這樣做將使得連接有
次序的開始重新協商,自動機由Closing狀態轉移到Stopping狀態,并且
tlf動作將斷開連接。自動機將在Stopped狀態或Starting狀態中等待
下一次連接。
Timeout(TO+,TO-)事件
Timeout事件指示超時計時器溢出。當發送出配置請求包和終止請求包后
超時計時器開始計時。
TO+事件指示著超時計數器的值仍然大于零。其中超時計數器每減一,就表明
配置請求包或終止請求包就重傳一次。
TO-事件指示著超時計數器的值小于零,再沒有任何數據包需要重傳了。
Receive-Configure-Request(RCR+,RCR-)事件
RCR事件出現表明接收到了從對方發送來的配置請求包。配置請求包的到來表
明對方希望打開連接并且指定連接選項。配置請求包將在后面有更詳細的描述。
RCR+事件表明對方的配置請求是可以接受的,并且將傳送配置確認包。
RCR-事件表明對方的配置請求是不能接受,并且將傳送相應的配置否定包或
配置拒絕包。
應用注意事項:
這些事件可以在自動機已處于Opened狀態的時候發生。這時必須立即準備
好重新協商選項。
Receive-Configure-Ack(RCA)事件
RCA事件出現表明收到了對方κ褂茫眨鶚錄
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -