《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 嵌入式單片機中PPP協議的應用
嵌入式單片機中PPP協議的應用
摘要: PPP協議(Point-to-Point Protocol)提供了在串行點對點鏈路上傳輸數據報的方法,支持異步8位數據及位導向的同步連接(如ISDN)。它提供了一種管理兩點間會話的有效方法,正在取代SLIP(Serial Line Interface Protocol)協議成為點對點網絡的標準。
Abstract:
Key words :

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

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

1 PPP的工作原理

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

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

 


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,以實現轉義字符的轉義。

(3)默認情況下,如果字符的值小于0x20(例如ASCII控制字符),一般都要進行轉義。例如,遇到字符0x01時需連續傳送0x7D和0x21兩個字符(這時,第6個比特取補碼后變為1,而前面兩種情況均把它變為0)。這樣做是防止它們出現在雙方主機的串行接口驅動程序或調制解調器中,因為它們有時會把這些控制字符解釋成特殊的含義。另一種可能是用鏈路控制協議來指定是否需要對這32個字符中的某些值進行轉義。默認情況下是對所有的32個字符都進行轉義。

關于PPP協議的詳盡描述可以參閱RFC1661文檔。

3 單片機PPP協議

單片機PPP協議是PPP協議在單片機中的應用,有其特點。單片機的存儲空間只有64KB,而PPP協議包括LCP、PAP、IPCP以及NCP等協議,并且在連接建立后還要用到數據傳輸協議(TCP/IP、UDP等)、各種壓縮協議等。要把這些協議完全嵌入單片機是不可能的,所以只能根據實際需要選擇其中的一部分。

例如采用UDP協議而不是功能相對齊全但協議內容過于龐大的TCP/IP協議來傳輸數據,傳輸中基本上不使用數據壓縮協議,跳過單片機作為服務器端時的密碼驗證過程,省略IPX、AppleTalk等網絡層協議等。也就是說,本文的單片機PPP協議,事實上只包含了從PPP連接的建立到實現簡單的數據傳輸所必需的協議,而不包括PPP協議的所有功能。這種協議的取舍是由硬件的客觀限制以及實際的應用需要共同決定的。

4 單片機PPP協議PPP連接的建立

建立后的單片機PPP連接狀態如圖2所示。

 


其中,C51系統是已經植入PPP協議的51系列單片機,電話線部分也可以是某個網絡的一部分,甚至是Internet。

單片機PPP協議流程圖如圖3所示。

 


PPP連接的建立主要經過三個階段,分別是LCP協商、密碼認證以及網絡層協議配置。

4.1 LCP處理階段

首先,第一個LCP數據包被服務器端發送后,從服務器端返回一個PPP拒絕包給除密碼認證外的所有選項,接著服務器端強制認證協議進行協商(先前來自否定幀的PAP和CHAP都被發送)。隨后服務器端返回一個拒絕包給CHAP,本文用PAP來代替。然后服務器端認同并返回一個新的請求,這時候需要進行PAP。接下去對PAP進行確認,系統對字符映射的丟棄進行協商。最后所有控制特性被服務器端同意丟棄。

下面是由服務器發送的一段LCP建立連接的字符串:

0000:7E FF 03 C0 21 01 71 00 2B 01 04 06 40 05 06 3A 5D 8B B4 02 06 00
0016:00 00 00 11 04 06 40 17 04 00 64 00 02 03 04 C0 23 13 09 03 08 00
002C:03 0A 2C 2C 95 7F 7E

對它進行分析如表3。

 


4.2 PAP處理階段

首先,系統發送PAP數據包給服務器端,然后服務器端通過用戶ID和密碼驗證。

PAP密碼驗證協議在RFC1334中有詳細定義,主要是為撥號網絡中提供密碼保護。這個選項是可選的。在本應用軟件中,強制單片機和PC協商的選項中,PC要求密碼驗證,單片機端不要求。所以如果PC機作為服務器,單片機需要發送用戶名和密碼;如果單片機作服務器,則沒有密碼驗證的要求。

PAP的格式如圖4所示。

 


下面是單片機發送PAP的數據包:

7E FF 03 C0 23 01 06 00 0C 03 7A 77 6D 03 7A 77 6D…

解析如表4所示。

 


單片機向PC機發送PAP數據包是在PC機發送對單片機LCP選項的確認之后、PC機向單片機發送IPCP請求之前。

4.3 IPCP處理階段

IPCP是用來設置PPP連接中的網絡環境,包括IP地址、IP壓縮協議、DNS服務器地址等都是通過IPCP來協商的。首先服務器端發送請求進行IPCP協商,然后系統返回一個拒絕包給除IP地址外的所有操作。由于先前的發送被拒絕,服務器端發送一個回復,只包含IP地址。此時,系統相當于服務器端的IP地址認證,然后由請求信息和IP地址來完成三路握手協議。接著服務器端返回一個包含預先指派IP地址的拒絕包。此時連接建立并擁有一個指定的IP地址。IPCP幀的格式與LCP也是類似的:一字節的代碼,然后是標志,長度,選項。當IP協議的選項配置完,就可以開始通訊了。IPCP的詳細描述在RFC1332中。

連接建立后,PPP將在原有協議的基礎上調用網絡協議UDP(User Datagram Protocol)和ICMP(Internet Control Messages Protocol)等。有關用戶數據包協議UDP的詳細資料可參看RFC882、RFC883文檔;Internet信息控制協議ICMP的詳細資料可參看文檔RFC792。

 

本文來源于與非網 http://www.eefocus.com
原文地址:http://www.eefocus.com/article/10-09/2075521285761762.html

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美精品免费看| 国产一区二区三区久久悠悠色av| 午夜亚洲福利| 中文av一区二区| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美一区二区播放| 亚洲欧美成人一区二区三区| 一二三四社区欧美黄| 亚洲日本欧美天堂| 亚洲激情视频| 亚洲精品欧美日韩| 91久久精品日日躁夜夜躁国产| 在线观看国产精品网站| 亚洲第一精品久久忘忧草社区| 激情欧美日韩一区| 国内精品视频666| 国产在线精品一区二区中文 | 亚洲电影免费观看高清完整版在线 | 9色精品在线| 在线中文字幕不卡| 宅男噜噜噜66一区二区66| 亚洲视频一区二区在线观看 | 亚洲免费成人| 中国女人久久久| 亚洲综合丁香| 欧美亚洲视频一区二区| 亚洲成人在线网站| 99精品欧美一区二区三区综合在线| 亚洲美女诱惑| 亚洲午夜一级| 欧美一区二区在线视频| 久久精视频免费在线久久完整在线看| 久久午夜影视| 欧美激情一区二区在线 | 午夜精品亚洲| 久久久久久有精品国产| 免费日韩av片| 欧美色图五月天| 国产精品一区在线播放| 国产真实乱子伦精品视频| 悠悠资源网久久精品| 亚洲精品日韩综合观看成人91| 一区二区三区国产| 午夜精品一区二区三区四区| 亚洲电影中文字幕| 99国产精品久久久| 亚洲欧美国产77777| 久久久久99| 欧美日本中文字幕| 国产精品永久免费| 亚洲国产高清aⅴ视频| 日韩午夜在线视频| 午夜精品久久久久久久99樱桃| 亚洲观看高清完整版在线观看| 99视频精品全部免费在线| 亚洲欧美99| 另类欧美日韩国产在线| 欧美日韩一区二区国产| 国产日韩在线一区二区三区| 亚洲黄网站黄| 亚洲自拍偷拍网址| 亚洲精品免费一区二区三区| 亚洲欧洲av一区二区| 久久―日本道色综合久久| 欧美日韩国产免费| 国产一区二区精品久久| 亚洲三级免费观看| 久久成人一区| 亚洲一区二区三区四区五区午夜| 久久精品水蜜桃av综合天堂| 欧美日韩激情小视频| 国产一区成人| 99国内精品| 亚洲人成亚洲人成在线观看图片| 亚洲欧美乱综合| 欧美大片免费观看在线观看网站推荐| 国产精品视频区| 亚洲国产清纯| 久久成人18免费网站| 亚洲字幕一区二区| 欧美国产一区视频在线观看| 国产午夜精品久久| 亚洲视频电影在线| 亚洲乱码精品一二三四区日韩在线 | 国户精品久久久久久久久久久不卡| 亚洲精品视频免费观看| 久久精品国产一区二区电影| 亚洲欧美国产77777| 欧美精品福利在线| 狠狠噜噜久久| 夜夜夜久久久| 国产日本欧美一区二区三区| 欧美中在线观看| 香蕉国产精品偷在线观看不卡| 欧美在线国产精品| 欧美精品久久99久久在免费线| 国产精品系列在线| 亚洲美女av在线播放| 亚洲国产一区二区三区青草影视| 欧美一级视频免费在线观看| 欧美日韩一区二区三区四区在线观看| 一区二区三区在线视频观看| 欧美一级午夜免费电影| 亚洲欧美日本国产有色| 欧美日韩亚洲一区在线观看| 亚洲黄色尤物视频| 亚洲精品乱码久久久久久蜜桃麻豆 | 欧美一级久久久| 国产精品国产一区二区| 日韩一区二区精品在线观看| 亚洲精品视频一区| 欧美阿v一级看视频| 精品动漫av| 久久精品国产一区二区三| 久久精品国产免费观看| 国产九九视频一区二区三区| 亚洲一区二区三区高清| 亚洲淫片在线视频| 国产精品成人一区二区网站软件| 99国产麻豆精品| 亚洲无限乱码一二三四麻| 欧美日韩国产欧美日美国产精品| 亚洲级视频在线观看免费1级| 最新国产拍偷乱拍精品| 欧美福利一区二区| 91久久夜色精品国产九色| 日韩视频一区二区三区| 欧美日韩成人一区二区| 在线视频日本亚洲性| 小嫩嫩精品导航| 国产老肥熟一区二区三区| 亚洲欧美日韩综合aⅴ视频| 久久久国际精品| 精品51国产黑色丝袜高跟鞋| 亚洲电影自拍| 欧美高清视频在线观看| 亚洲欧洲另类国产综合| 一区二区三区国产精华| 国产精品99一区二区| 亚洲一区二区在线播放| 欧美亚洲在线播放| 国内精品模特av私拍在线观看| 亚洲黄色毛片| 欧美久久综合| 在线综合+亚洲+欧美中文字幕| 性色av一区二区三区在线观看 | 一本色道久久加勒比88综合| 亚洲免费一在线| 国产欧美va欧美va香蕉在| 欧美在线视屏| 欧美激情一区二区三区| 一区二区毛片| 久久xxxx精品视频| 在线观看亚洲视频啊啊啊啊| 在线亚洲一区二区| 国产精品自在在线| 亚洲欧洲一级| 欧美午夜在线| 欧美一区二区日韩| 男人天堂欧美日韩| 一本色道久久加勒比精品| 久久精品中文字幕一区| 亚洲精品1区| 午夜精品亚洲一区二区三区嫩草| 国内精品视频一区| 夜夜嗨av一区二区三区四季av| 国产精品午夜春色av| 亚洲国产老妈| 国产精品久久久久久五月尺| 久久精品色图| 国产精品99一区二区| 久久精品99国产精品酒店日本| 欧美日韩123| 欧美在线观看天堂一区二区三区| 欧美精品播放| 欧美在线不卡| 欧美视频一区二| 久久精品视频在线免费观看| 欧美日韩亚洲一区二| 久久精品av麻豆的观看方式| 欧美色图天堂网| 亚洲国产人成综合网站| 国产精品国产三级国产普通话蜜臀| 久久精品一区蜜桃臀影院| 欧美视频四区| 亚洲日韩欧美视频| 国产精品综合av一区二区国产馆| 日韩视频一区二区三区在线播放免费观看 | 国产精品美女www爽爽爽视频| 亚洲国产裸拍裸体视频在线观看乱了| 国产精品久久久久久av福利软件| 亚洲激情小视频| 国产精品一二| 在线一区二区视频| 精品91久久久久| 欧美一级淫片播放口| 亚洲九九爱视频| 久久综合狠狠| 午夜精品一区二区三区电影天堂 | 亚洲一区二区影院|