嵌入式單片機PPP協議的應用
下面是由服務器發送的一段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。 linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論