a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式單片機PPP協議的應用介紹

嵌入式單片機PPP協議的應用介紹

作者: 時間:2012-03-12 來源:網絡 收藏

(Point-to-Point Protocol)提供了在串行點對點鏈路上傳輸數據報的方法,支持異步8位數據及位導向的同步連接(如ISDN)。它提供了一種管理兩點間會話的有效方法,正在取代SLIP(Serial Line Interface Protocol)成為點對點網絡的標準。

是在中嵌入協議,以實現與計算機之間的PPP數據傳輸,使它既可以作為PPP連接的客戶端,也可以作為獨立的PPP服務器端來使用。它在家電控制和小型數據傳輸系統中具有非常廣闊的前景,并且具有成本低、傳輸穩定等特點,是當前單片機研究的熱門話題之一。

1 PPP的工作原理

PPP采用高級數據鏈路控制(HDLC)協議作為在對點鏈路上分裝數據報的基本方法。使用可擴展的鏈路控制協議(LCP)來建立、配置和測試數據鏈路。用網絡控制協議簇(NCP)來建立和配置不同的網絡層協議,PPP允許同時采用多種網絡層協議。

為了建立點對點鏈路上的通信連接,發送端PPP首先發送LCP幀,以配置和測試數據鏈路。在LCP建立好數據鏈路并協調好所選設備后,發送端PPP發送NCP幀,以選擇和配置一個或多個網絡層協議。當所選的網絡層協議配置好后,便可以將各網絡層協議的數據包發送到數據鏈路上。配置好的鏈路將一直處于通信狀態,直到LCP幀或NCP幀明確提示關閉鏈路,或有其它的外部事件發生。PPP連接狀態圖如圖1所示。

本文引用地址:http://www.j9360.com/article/171904.htm

1.1 連接死亡階段

一個連接的開始和結束都要經歷這個階段。當一個外部事件指示物理層已準備好并可使用時,PPP進入建立連接階段。此時,LCP自動機處于初始階段。當它向鏈路建立階段轉換時將給LCP自動機發送一個UP事件信號。

1.2 連接建立階段

LCP用于交換配置信息包、建立連接。一旦一個配置成功的信息包發送且被接收,就完成了交換,進入LCP開啟狀態。所有的配置選項都假定使用默認值,除非在配置交換過程中被改變。只有那些與特定的網絡層協議無關的選項才會被LCP配置。收到LCP配置數據包將使鏈路從網絡層協議階段或者認證階段返回到鏈路建立階段。

1.3 認證階段

在某些連接情況下,希望在允許網絡層協議交換數據前對等實行認證。默認情況下,是不要求認證的。認證要求必須在建立連接階段提出,然后進入認證階段。如果認證失敗,將進入連接終止階段。在此階段只對連接協議、認證協議、連接質量測試數據包進行處理。

1.4 網絡層協議階段

一旦PPP完成上述階段,便進入網絡協議階段。每一個網絡層協議 (例如IP、IPX、AppleTalk等)必須有相應的網絡控制協議(NCP)單獨配置,每個網絡控制協議都可以隨時打開或關閉。此階段,LCP協議自動狀態機處于打開狀態,接收到的任何不支持的協議數據包都會被返回一個協議拒絕包,而接收到的所有支持的數據包都將被丟棄。此時,鏈路上流通的是LCP數據包、NCP數據包以及網絡協議數據包。

1.5 終止連接階段

PPP連接可以隨時被終止。LCP通過交換連接終止包來終止連接。當連接被終止時,PPP會通知物理層采取相應的動作。只有當物理層斷開,連接才會真正被終止。此階段,接收到的所有非LCP數據包都將被丟棄。

2 PPP數據結構

PPP數據幀的結構如表1所示,PPP協議標志如表2所示。



每個PPP數據包的開始和結束都有一個0x7E的數據標志。在開始標志后,緊跟2個HDLC常量:地址常量0xFF和控制常量0x03。協議域長度通常為2字節,表示信息域里包含的是哪種協議以及它的處理信息。隨后是代碼(Code)、標識符(ID)和長度域(Length)。事實上它們都是信息域(Payload)的一部分。信息域長度最多為1500字節。代碼部分用來指示LCP、PAP、IPCP或者CHAP協議數據包中的某種類型。通常情況下,用來表示IP自尋址信息數據包的標識是0x45。ID對于每一幀來說都是唯一的,所有協議間的商談和響應都通過ID聯系在一起。只有當PPP協議幀被壓縮成IP尋址信息包時例外。這個時候ID表示的是一種服務類型。有效載荷部分是可變的,并能隨著請求和響應的變化作相應的改變。在IP自尋址情況下,IP數據包的大小與PPP協議幀的大小是兼容的,有效載荷包含有關協議的商談和數據包的保持。然后是一個長度為2字節循環冗余檢驗碼,以檢測數據幀中的錯誤。由于標志字符的值是0x7E,因此當該字符出現在信息字段中時, PPP需要對它進行轉義。具體實現過程如下:

(1)當遇到字符0x7E時,需連續傳送2個字符:0x7D和0x5E,以實現標志字符的轉義。

(2)當遇到轉義字符0x7D時,需連續傳送2個字符:0x7D和0x5D,以實現轉義字符的轉義。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

上一頁 1 2 3 下一頁

評論


相關推薦

技術專區

關閉