基于PPP協(xié)議單片機拔號上網(wǎng)的設計與實(shí)現
3.簡(jiǎn)化PPP協(xié)議——配置各種數據包
(1)LCP包的配置
LCP包的配置如圖5所示。
a.LCP包概述
LCP包有3類(lèi):a鏈路配置包,用于建立和配置鏈路,包括Configure Ack、Configure Nak、Configure Request、Configure Reject;b鏈路結束包,用于結束一個(gè)鏈路,包括Terminate Request、Terminate Ack;c鏈路維修包,用于管理和調試一個(gè)鏈路,包括Code Reject、Protocol Reject、Echo Request、Echo Reply、Discard Request。LCP包的選項最常見(jiàn)的有:1 Maximum Receive Unit、2 Async Control Character Map、3 Authectication Protocol、7 Protocol Field Compression、8 Address and Control Field Compression。
b.LCP包種類(lèi)的取舍
本文中,只用了Configure-Request、Reject、Ack三種LCP數據包,這是實(shí)現應答所必需的最低限度。單片機發(fā)出的Request選項是我們預先設定的,而ISP發(fā)出的選項若有我們不接受的內部,則單片機回答一個(gè)Reject,任何一方接受請求時(shí)發(fā)Ack,因此未處理NAK數據包。本文也未處理剩余的七類(lèi)數據包,因任何原因造成的鏈路終止問(wèn)題都由單片機在程序的控制下重新?lián)芴杹?lái)解決。
c.LCP選項的取舍
由于我們每次發(fā)送(接收)的數據較少(由于單片機RAM的限制,設定的緩沖區很?。?,MRU選項默認值為1500字節,最小值為576字節,所以測試程序不支持選項1;選項2是必須支持的;選項3提供了發(fā)送password的方法,它的參數可以是 0xc023或0xc223。為簡(jiǎn)單起見(jiàn),本文的測試程序選擇了0xc023作為選項3的參數,這樣,程序將以明文的形在一個(gè)數據包中發(fā)出用戶(hù)名和密碼。測試程序不請求選項7和8的服務(wù),也就是根據默認的規定,發(fā)送的數據包含有PPP協(xié)議域和控制域。
tcp/ip相關(guān)文章:tcp/ip是什么
評論