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