嵌入式PPPoE軟件模塊的設(shè)計(jì)與實(shí)現(xiàn)
發(fā)布時(shí)間:2007/8/28 0:00:00 訪問次數(shù):1077
作者:張 鋒 李 彤 黃永峰
摘要:分析了PPPoE協(xié)議的基本框架和協(xié)議過程,根據(jù)嵌入式系統(tǒng)資源有限和無操作系統(tǒng)支持的特點(diǎn),設(shè)計(jì)了一種適合于嵌入式系統(tǒng)的PPPoE軟件結(jié)構(gòu),提出了減少代碼長(zhǎng)度和數(shù)據(jù)存儲(chǔ)空間的化優(yōu)方法,在80D51芯片上成功實(shí)現(xiàn)了PPPoE協(xié)議軟件,并應(yīng)用在以太話機(jī)中。實(shí)際運(yùn)行證明,本PPPoE協(xié)議軟件在穩(wěn)定性、互通性和一致性等方面都具有良好的性能。
關(guān)鍵詞:PPPoE PPP 嵌入式系統(tǒng)
基于以太網(wǎng)的點(diǎn)對(duì)點(diǎn)通信協(xié)議PPPoE(Point to Point Protocol over Ethenet)是為了滿足越來越多的寬帶上網(wǎng)設(shè)備(如ADSL、無線、有線電視等)和越來越快的網(wǎng)絡(luò)之間的通信而指定開發(fā)的標(biāo)準(zhǔn),它給出了兩個(gè)廣泛的接受的標(biāo)準(zhǔn):以太網(wǎng)和PPP撥號(hào)協(xié)議。不難看出,PPPoE就是將PPP數(shù)據(jù)承載到以太網(wǎng)上,實(shí)質(zhì)是在共享介質(zhì)的網(wǎng)絡(luò)中提供一條邏輯上的點(diǎn)到點(diǎn)鏈路。對(duì)用戶而言,在DSLAM(DSL匯聚設(shè)備)與ADSL Modem之間的ATM傳輸是透明的,如果將中間的DSLAM和ADSL Modem換成有效電視的接入設(shè)備,就是典型的HFC接入。BAS(寬帶接入服務(wù)器)對(duì)PPPoE包的處理方式不變。而對(duì)于服務(wù)商,在現(xiàn)有局域網(wǎng)基礎(chǔ)上不需要花費(fèi)巨資做大面積改造。
目前,實(shí)現(xiàn)PPPoE協(xié)議的軟件有多種,且多數(shù)都是應(yīng)用于PC機(jī)。該類軟件的作用主要是操作系統(tǒng)的撥號(hào)(PPP)協(xié)議與以太網(wǎng)協(xié)議建立連接,通過PPPoE協(xié)議與ISP連接,獲得Internet連接服務(wù)。而本考到嵌入式系統(tǒng)的特點(diǎn),直接在網(wǎng)絡(luò)協(xié)議數(shù)據(jù)鏈路層實(shí)現(xiàn)PPPoE協(xié)議。這樣做省去了鏈路層的PPP包到PPPoE包的轉(zhuǎn)換,提高了效率,并且具有良好的可移植性。
1 PPPoE協(xié)議框架
PPPoE協(xié)議共包括兩個(gè)階段,即PPPoE的媽現(xiàn)階段(PPPoE Discovery Stage)和PPPoE的會(huì)話階段(PPPoE Session Stage)。本文著重介紹PPPoE發(fā)現(xiàn)階段。對(duì)于PPPoE會(huì)話階段,可以看成與PPP的會(huì)話過程基本一樣,當(dāng)然兩者在數(shù)據(jù)的封裝上還是有區(qū)別的。PPPoE并不需要PPP協(xié)議中的起始位標(biāo)志、地址位、控制位和結(jié)束標(biāo)志,也不需要PPP協(xié)議中規(guī)定的數(shù)據(jù)轉(zhuǎn)譯和CRC校驗(yàn),但要在PPP的數(shù)據(jù)報(bào)文前封裝PPPoE的報(bào)文頭。無論是哪一個(gè)階段的數(shù)據(jù)報(bào)文最終會(huì)被封裝成以太網(wǎng)幀傳送。
如果主機(jī)要開始一個(gè)PPPoE會(huì)話,它首先會(huì)在網(wǎng)絡(luò)上發(fā)送一個(gè)廣播,通過廣播尋找一個(gè)訪問集中器AC(Access Concentration)。當(dāng)網(wǎng)絡(luò)上存在多個(gè)訪問集中器時(shí),主機(jī)根據(jù)訪問集中器所能提供的服務(wù)或用戶預(yù)先配置的信息進(jìn)行相應(yīng)的選擇。訪問集中器選定后,主機(jī)開始與所選擇的訪問集中器建立一個(gè)PPPoE會(huì)話進(jìn)程。在這一過程中,訪問集中器會(huì)為每一個(gè)PPPoE會(huì)話分配一個(gè)惟一的進(jìn)程ID,會(huì)話建立后就開始了PPPoE的會(huì)話階段。在這個(gè)階段,已建立好點(diǎn)對(duì)點(diǎn)(邏輯點(diǎn)對(duì)點(diǎn))連接的雙方采用PPP協(xié)議交換數(shù)據(jù)報(bào)文,從而完成一系列PPP的過程,最終將在這個(gè)點(diǎn)對(duì)點(diǎn)的邏輯通道上進(jìn)行網(wǎng)絡(luò)層數(shù)據(jù)包的傳送。
PPPoE可以理解為在以太網(wǎng)上跑PPP數(shù)據(jù),因此,其幀格式與以太幀格式一致,如圖1所示。通過類型域字段的內(nèi)容,數(shù)據(jù)包的接收方可以識(shí)別以太網(wǎng)的數(shù)據(jù)域中承載的是什么協(xié)議的數(shù)據(jù)報(bào)文。PPPoE的兩大階段,也正是通過以太網(wǎng)的類型域進(jìn)行區(qū)分的。這個(gè)域的值,在發(fā)現(xiàn)階段為0x8863,而在會(huì)話階段為0x8864。
PPPoE幀的載荷字承載PPPoE數(shù)據(jù)報(bào)文,報(bào)文格式如圖2所示,其中各字段的含義如下:
1)版本字段(ver)標(biāo)志著協(xié)議版本信息,為4bits,目前協(xié)議規(guī)定其值為0x1。
2)類型字段(type),4bits,標(biāo)志類型信息,值為0x1。
3)編碼字段(code),單個(gè)字節(jié),在不同階段具有不同取值,本文稍候詳細(xì)分析。
4)會(huì)話ID字段(session id)由兩個(gè)字節(jié)組成,在發(fā)現(xiàn)階段,取值為0x0000,在后續(xù)的整個(gè)PPPo
作者:張 鋒 李 彤 黃永峰
摘要:分析了PPPoE協(xié)議的基本框架和協(xié)議過程,根據(jù)嵌入式系統(tǒng)資源有限和無操作系統(tǒng)支持的特點(diǎn),設(shè)計(jì)了一種適合于嵌入式系統(tǒng)的PPPoE軟件結(jié)構(gòu),提出了減少代碼長(zhǎng)度和數(shù)據(jù)存儲(chǔ)空間的化優(yōu)方法,在80D51芯片上成功實(shí)現(xiàn)了PPPoE協(xié)議軟件,并應(yīng)用在以太話機(jī)中。實(shí)際運(yùn)行證明,本PPPoE協(xié)議軟件在穩(wěn)定性、互通性和一致性等方面都具有良好的性能。
關(guān)鍵詞:PPPoE PPP 嵌入式系統(tǒng)
基于以太網(wǎng)的點(diǎn)對(duì)點(diǎn)通信協(xié)議PPPoE(Point to Point Protocol over Ethenet)是為了滿足越來越多的寬帶上網(wǎng)設(shè)備(如ADSL、無線、有線電視等)和越來越快的網(wǎng)絡(luò)之間的通信而指定開發(fā)的標(biāo)準(zhǔn),它給出了兩個(gè)廣泛的接受的標(biāo)準(zhǔn):以太網(wǎng)和PPP撥號(hào)協(xié)議。不難看出,PPPoE就是將PPP數(shù)據(jù)承載到以太網(wǎng)上,實(shí)質(zhì)是在共享介質(zhì)的網(wǎng)絡(luò)中提供一條邏輯上的點(diǎn)到點(diǎn)鏈路。對(duì)用戶而言,在DSLAM(DSL匯聚設(shè)備)與ADSL Modem之間的ATM傳輸是透明的,如果將中間的DSLAM和ADSL Modem換成有效電視的接入設(shè)備,就是典型的HFC接入。BAS(寬帶接入服務(wù)器)對(duì)PPPoE包的處理方式不變。而對(duì)于服務(wù)商,在現(xiàn)有局域網(wǎng)基礎(chǔ)上不需要花費(fèi)巨資做大面積改造。
目前,實(shí)現(xiàn)PPPoE協(xié)議的軟件有多種,且多數(shù)都是應(yīng)用于PC機(jī)。該類軟件的作用主要是操作系統(tǒng)的撥號(hào)(PPP)協(xié)議與以太網(wǎng)協(xié)議建立連接,通過PPPoE協(xié)議與ISP連接,獲得Internet連接服務(wù)。而本考到嵌入式系統(tǒng)的特點(diǎn),直接在網(wǎng)絡(luò)協(xié)議數(shù)據(jù)鏈路層實(shí)現(xiàn)PPPoE協(xié)議。這樣做省去了鏈路層的PPP包到PPPoE包的轉(zhuǎn)換,提高了效率,并且具有良好的可移植性。
1 PPPoE協(xié)議框架
PPPoE協(xié)議共包括兩個(gè)階段,即PPPoE的媽現(xiàn)階段(PPPoE Discovery Stage)和PPPoE的會(huì)話階段(PPPoE Session Stage)。本文著重介紹PPPoE發(fā)現(xiàn)階段。對(duì)于PPPoE會(huì)話階段,可以看成與PPP的會(huì)話過程基本一樣,當(dāng)然兩者在數(shù)據(jù)的封裝上還是有區(qū)別的。PPPoE并不需要PPP協(xié)議中的起始位標(biāo)志、地址位、控制位和結(jié)束標(biāo)志,也不需要PPP協(xié)議中規(guī)定的數(shù)據(jù)轉(zhuǎn)譯和CRC校驗(yàn),但要在PPP的數(shù)據(jù)報(bào)文前封裝PPPoE的報(bào)文頭。無論是哪一個(gè)階段的數(shù)據(jù)報(bào)文最終會(huì)被封裝成以太網(wǎng)幀傳送。
如果主機(jī)要開始一個(gè)PPPoE會(huì)話,它首先會(huì)在網(wǎng)絡(luò)上發(fā)送一個(gè)廣播,通過廣播尋找一個(gè)訪問集中器AC(Access Concentration)。當(dāng)網(wǎng)絡(luò)上存在多個(gè)訪問集中器時(shí),主機(jī)根據(jù)訪問集中器所能提供的服務(wù)或用戶預(yù)先配置的信息進(jìn)行相應(yīng)的選擇。訪問集中器選定后,主機(jī)開始與所選擇的訪問集中器建立一個(gè)PPPoE會(huì)話進(jìn)程。在這一過程中,訪問集中器會(huì)為每一個(gè)PPPoE會(huì)話分配一個(gè)惟一的進(jìn)程ID,會(huì)話建立后就開始了PPPoE的會(huì)話階段。在這個(gè)階段,已建立好點(diǎn)對(duì)點(diǎn)(邏輯點(diǎn)對(duì)點(diǎn))連接的雙方采用PPP協(xié)議交換數(shù)據(jù)報(bào)文,從而完成一系列PPP的過程,最終將在這個(gè)點(diǎn)對(duì)點(diǎn)的邏輯通道上進(jìn)行網(wǎng)絡(luò)層數(shù)據(jù)包的傳送。
PPPoE可以理解為在以太網(wǎng)上跑PPP數(shù)據(jù),因此,其幀格式與以太幀格式一致,如圖1所示。通過類型域字段的內(nèi)容,數(shù)據(jù)包的接收方可以識(shí)別以太網(wǎng)的數(shù)據(jù)域中承載的是什么協(xié)議的數(shù)據(jù)報(bào)文。PPPoE的兩大階段,也正是通過以太網(wǎng)的類型域進(jìn)行區(qū)分的。這個(gè)域的值,在發(fā)現(xiàn)階段為0x8863,而在會(huì)話階段為0x8864。
PPPoE幀的載荷字承載PPPoE數(shù)據(jù)報(bào)文,報(bào)文格式如圖2所示,其中各字段的含義如下:
1)版本字段(ver)標(biāo)志著協(xié)議版本信息,為4bits,目前協(xié)議規(guī)定其值為0x1。
2)類型字段(type),4bits,標(biāo)志類型信息,值為0x1。
3)編碼字段(code),單個(gè)字節(jié),在不同階段具有不同取值,本文稍候詳細(xì)分析。
4)會(huì)話ID字段(session id)由兩個(gè)字節(jié)組成,在發(fā)現(xiàn)階段,取值為0x0000,在后續(xù)的整個(gè)PPPo
熱門點(diǎn)擊
- 氣敏元件和傳感器技術(shù)的發(fā)展現(xiàn)狀
- 鉑電阻測(cè)溫儀的設(shè)計(jì)與實(shí)現(xiàn)
- 虛擬儀器驅(qū)動(dòng)器綜述
- 傳感器接口電路的抗干擾設(shè)計(jì)
- 8X8LED點(diǎn)陣顯示原理與編程技術(shù)
- 基于ADSP21060和VirtexII的圖
- 用PDIUSBD12和K9F5608U0A設(shè)
- 一種神經(jīng)信號(hào)調(diào)理電路的設(shè)計(jì)
- PXI總線數(shù)字輸入/輸出模塊的設(shè)計(jì)與實(shí)現(xiàn)
- 血流檢測(cè)儀的動(dòng)態(tài)電源管理模塊設(shè)計(jì)
推薦技術(shù)資料
- 按鈕與燈的互動(dòng)實(shí)例
- 現(xiàn)在趕快去看看這個(gè)目錄卞有什么。FGA15N120AN... [詳細(xì)]
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號(hào)調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究