《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 點對點通信協議PPPoE模塊的設計
點對點通信協議PPPoE模塊的設計
電子發燒友
摘要: 點對點通信協議PPPoE模塊的設計,目前,實現PPPoE協議的軟件有多種,且多數都是應用于PC機。該類軟件的作用主要是操作系統的撥號(P
Abstract:
Key words :

目前,實現PPPoE協議的軟件有多種,且多數都是應用于PC機。該類軟件的作用主要是操作系統的撥號(PPP)協議與以太網協議建立連接,通過PPPoE協議與ISP連接,獲得Internet連接服務。而本考到嵌入式系統的特點,直接在網絡協議數據鏈路層實現PPPoE協議。這樣做省去了鏈路層的PPP包到PPPoE包的轉換,提高了效率,并且具有良好的可移植性。

1 PPPoE協議框架

PPPoE協議共包括兩個階段,即PPPoE的媽現階段(PPPoE Discovery Stage)和PPPoE的會話階段(PPPoE Session Stage)。本文著重介紹PPPoE發現階段。對于PPPoE會話階段,可以看成與PPP的會話過程基本一樣,當然兩者在數據的封裝上還是有區別的。PPPoE并不需要PPP協議中的起始位標志、地址位、控制位和結束標志,也不需要PPP協議中規定的數據轉譯和CRC校驗,但要在PPP的數據報文前封裝PPPoE的報文頭。無論是哪一個階段的數據報文最終會被封裝成以太網幀傳送。

如果主機要開始一個PPPoE會話,它首先會在網絡上發送一個廣播,通過廣播尋找一個訪問集中器AC(Access Concentration)。當網絡上存在多個訪問集中器時,主機根據訪問集中器所能提供的服務或用戶預先配置的信息進行相應的選擇。訪問集中器選定后,主機開始與所選擇的訪問集中器建立一個PPPoE會話進程。在這一過程中,訪問集中器會為每一個PPPoE會話分配一個惟一的進程ID,會話建立后就開始了PPPoE的會話階段。在這個階段,已建立好點對點(邏輯點對點)連接的雙方采用PPP協議交換數據報文,從而完成一系列PPP的過程,最終將在這個點對點的邏輯通道上進行網絡層數據包的傳送。

PPPoE可以理解為在以太網上跑PPP數據,因此,其幀格式與以太幀格式一致,如圖1所示。通過類型域字段的內容,數據包的接收方可以識別以太網的數據域中承載的是什么協議的數據報文。PPPoE的兩大階段,也正是通過以太網的類型域進行區分的。這個域的值,在發現階段為0x8863,而在會話階段為0x8864。

PPPoE幀的載荷字承載PPPoE數據報文,報文格式如圖2所示,其中各字段的含義如下:

1)版本字段(ver)標志著協議版本信息,為4bits,目前協議規定其值為0x1。

2)類型字段(type),4bits,標志類型信息,值為0x1。

3)編碼字段(code),單個字節,在不同階段具有不同取值,本文稍候詳細分析。

4)會話ID字段(session id)由兩個字節組成,在發現階段,取值為0x0000,在后續的整個PPPoE會話過程中取值為發現階段所獲得的由AC分配的惟一值。

5)長度字段(length)由兩個字節組成,指示payload字段的長度,取值可以是0~1500。

6)凈載荷字荷(payload),該字段存放PPPoE協議幀所承載的數據,在發現階段承載零個或多個TAG結構,在會話階段承載PPP協議數據。但不是簡單的PPP封裝,因為并不需要PPP協議中的起始位標志、地址位、控制位和結束標志,也不需要PPP協議中規定的數據轉譯和CRC校驗。TAG結構如圖3所示。

2 PPPoE協議分析

PPPoE協議分為發現(Discovery)階段和會話(Session)階段。發現階段是一個無狀態的階段,該階段主要選擇訪問集中器,確定所要建立的PPP會話標識符Session ID,同時獲得對方點到點的連接信息;PPP會話階段執行標準的PPP過程。

1)發現階段

一個典型的發現階段分為四個步驟,當整個發現階段結束后,通信雙方分別獲取對方的MAC地址,并且共用一個Session ID,這兩個參數共同確定一個PPPoE會話。

第一步,發送PADI(PPPoE Active Discovery Initiation)幀。在PPPoE的以太幀結構中,編碼域的值為0x09,會話ID域的值設為0x0000。在這個步驟中,以太網目的地址為廣播并且在包中必須包含一個確切的服務名。

第二步,接收PADO(PPPoE Active Discovery Offer)幀。這一過程就是當ISP的PPPoE訪問集中器收到PADI幀后,若能夠滿足PADI提出的服務請求,可以發送PADO幀回應。PADO幀中的目的地址為發送PADI幀的客戶端的MAC地址,源地址為響應PADO幀的服務器地址。編碼域的值為0x07,會話ID域的值也設為0x0000。PADO幀還要包括PADI幀所提出的服務項。

第三步,發送PADR(PPPoE Active Discovery Request)幀。由于PADI包是廣播式的,故主機可能收到多個PADO響應幀。主機在可能收到的多個PADO幀中根據訪問集中器的名稱標簽或能提供的服務標簽選擇一個合適的訪問集中器,然后向所選擇的訪問集中器發送PPPoE有效發現請求(PADR)幀。其編碼域為0x19,Session ID域仍為0x0000,PADR幀必須包含一個服務名稱類型標簽,確定向接入服務請求的服務種類。

第四步,接收PADS(PPPoE Active Discovery Sessionconfirmation)幀。訪問集中器收到PADR幀后開始PPP會話,它發送一個PPPoE有效發現會話確認(PADS)幀。其編碼域為0x65,會話ID域此時為接入服務器所產生的惟一PPPoE會話標識號碼。PADS幀也必須包含一個訪問集中器名稱類型的標簽,確認向主機提供的服務。當主機收到PADS幀確認后,雙方進入PPP會話階段。若訪問集中器不能提供PADR中的服務名稱標簽所定義的服務,它必須回復PADS幀,此幀必須包含標簽類型Sevice-Name-Error的標簽,此時SESSION_ID必須為0x0000。

在完成上述步驟后,雙方進入會話階段。會話建立后,會話雙方任何一方都可以通過發送PADT(PPPoE active discover terminate)幀終止會話。PADT幀中的編碼字段值為0xA7,SEEION_ID字幀為在發現階段結束之后得到的會話ID值,以太幀類型字段還是0x8863。發送PADT后則該次PPPoE過程結束。

2)會話階段

當PPPoE會話開始后,PPP數據就像普通的PPP數據被傳送,這時以太幀的目的地址是單播地址,類型為0x8864,編碼域必須是0x00,SESSION_ID必須是發現階段建立的SESSION_ID,且在會話過程中不能改變。PPPoE凈載荷是PPP幀,會話過程實際上也就是實現PPP協議的過程,PPP分為三個階段。首先通過LCP完成相關鏈路控制協商過程,主要是建立、配置、測試數據鏈路,根據雙方的需求,進行鏈路的協商和配置。PAP密碼認證后,通過NCP,針對不同的網絡層協議的網絡控制階段。最后就是IP數據的傳輸階段。

3 PPPoE模塊軟件設計

應用于嵌入式系統的PPPoE軟件模塊主要通過系統中的以太網絡驅動在鏈路層與訪問集中器建立一個邏輯上點對點的通信鏈路,為上層TCP/IP協議棧服務。發送數據時,將上層IP分組封裝成PPPoE協議幀發送出去。在接收數據時,將接收到的PPPoE協議幀解析后,交由上層模塊處理,如圖4所示。與訪問集中器建立通信鏈路的過程是軟件設計的核心部分。

 PPPoE發現階段流程如圖5所示。發現階段分為四個過程完成:發送PADI、接收PADO、發送PADR和接收PADS。在發送PADI和PADR時要分別定時和計數,在有限的時間內沒有收到響應,就應重新發送;如果在重復發送若干次之后還沒有相應,說明此時網絡故障或者網絡上沒有能夠響應請示的服務器。

PPPoE會話階段是一個標準的PPP協商過程。整個協商過程為三部分:LCP Negotiation、PAP Negotiation、IPCP Negotiation。 LCP階段主要通過交換數據包與訪問集中器建立和配置鏈路,LCP流程如圖6所示。由于ISP提供商可能會不同,所接收到的LCP_REQ中包含的選項也可能不同,但其中必然包括OPTION3,表示鏈路所用的認證協議(Authentication Protocol)。實踐中根據與ISP的PPPoE過程的數據包分析,多數ISP采用PAP(Password Authentication Protocol)認證協議。也有的ISP采用CHAP(Challenge Handshake Authentication Protocol)認證協議,雙方可以通過協商采用合適的認證協議,本文采用PAP。

PAP協商過程比較簡單,發送PAP請求數據包,其中包括幀號和密碼,ISP返回確認數據包,PAP協商過程結束。

IPCP階段的目的是獲取ISP方提供的IP地址,流程如圖7所示。所以在IPCP階段的協商主要針對OPTION3進行。PPPoE模塊首先接收服務器端一個IPCP_REQ,這個IPCP_REQ包括OPTION3(其IP地址值通常無效);接著PPPoE模塊發送一個IPCP_ACK,ISP方會響應一個帶有有效地址的IPCP_NAK;然后PPPoE模塊就以這個地址再發一個IPCP_REQ,ISP服務器回應IPCP_ACK,IPCP結束。此時PPPoE模塊得到限服務器分配的有效I守址,隨后就可以在PPPoE協議之上傳送IP數據包。需要注意的是,在PPP協商過程結束后,服務器為了檢驗接入方鏈路的活動狀態,會定期發出LCP EchoRequest請求,此時PPPoE模塊需要發送LCP Echo-ACK作為應答。

嵌入式系統程序設計的特點是面向特定應用,由于資源有限,軟件必須去除冗余。本PPPoE模塊應用在以太電話中,在程序模塊設計中針對性地實現PPPoE協議的主要功能,盡量使代碼短小精悍,如省略掉了PPPoE發現階段網絡上有多個AC的情況,還省略了在會話階段對于LCP OPTION3(認證協議)以外選項的協商和IPCP PTION3(IP地址)以外的選項的協商等情況。它些情況,PPPoE模塊需要更多的代碼來處理,而對于以太話機這種特定的應用,有些選項是不必要的。另外,在軟件結構設計中,采用“超循環”結構來解決無操作系統問題,可以很好地實現以太話機中的任務調度功能。在代碼編寫上,采用C和匯編相結合的方法提高程序效率,同時采用流水操作、Inline、全局變量和共享內存等技術實現代碼長度和數據空間的優化。測試表明,實現PPPoE軟件所需的代碼空間和數據空間都比PC機環境下PPPoE軟件代碼要小得多。

PPPoE協議是當今ADSL寬帶接入Internet的主要技術之一,而嵌入式技術是如今IT技術發展的熱點,廣泛應用于信息家電和各種媒體通信終端設備。本文在對PPPoE協議深入分析的基礎上,結合嵌入式系統的特點,提出了PPPoE在嵌入式系統上的具體實現方法,通過運用這些優化方法,使軟件代碼空間和數據空間大大減少。目前該軟件模塊已成功應用在筆者自己開發的以太話機中。實際運行表明,軟件運行穩定、互通性好,所實現的PPPoE協議軟件具有良好的應用價值。

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲国产欧美一区| 国产自产高清不卡| 亚洲视频在线观看一区| 午夜精品久久久久久久久| 国产精品视频yy9299一区| 久久爱www久久做| 欧美日韩免费高清| 国语对白精品一区二区| 在线观看成人网| 一区二区三区久久久| 久久久www成人免费无遮挡大片| 美女啪啪无遮挡免费久久网站| 亚洲六月丁香色婷婷综合久久| 亚洲人成网在线播放| 99精品国产99久久久久久福利| 国产精品一区二区男女羞羞无遮挡| 欧美一级专区| 亚洲一二三级电影| 国产色产综合色产在线视频| 国产精品美女www爽爽爽| 韩国女主播一区二区三区| 亚洲一二三四区| 99re热精品| 国产美女搞久久| 99精品视频免费观看视频| 亚洲专区一区| 欧美性天天影院| 韩国成人福利片在线播放| 欧美日韩美女在线观看| 久久综合精品国产一区二区三区| 最新成人av在线| 久久久久一区二区三区| 亚洲欧美日本日韩| 国产综合色产在线精品| 99亚洲精品| 国产欧美一区二区视频| 久久精品视频在线免费观看| 国产精品综合色区在线观看| 亚洲一区网站| 亚洲一区二区动漫| 亚洲一区二区免费| 中文无字幕一区二区三区| 国内精品嫩模av私拍在线观看| 久久综合给合久久狠狠色| 欧美日韩一区二区三区在线观看免| 国产精品s色| 日韩图片一区| 亚洲国产成人久久| 一区二区三区四区五区在线| 99这里只有久久精品视频| 国产精品日韩精品| 久久亚洲欧美国产精品乐播| 久久国产婷婷国产香蕉| 欧美久久久久久| 在线视频精品一区| 久久午夜影视| 亚洲国产精品一区二区三区| 欧美性色视频在线| 欧美日产国产成人免费图片| 精东粉嫩av免费一区二区三区| 久久九九免费视频| 午夜在线电影亚洲一区| 国产精品腿扒开做爽爽爽挤奶网站| 国产精品久久久久高潮| 欧美电影免费观看高清完整版| 国产免费成人av| 亚洲女女女同性video| 欧美四级伦理在线| 韩曰欧美视频免费观看| 欧美成人精精品一区二区频| 国产精品毛片在线| 亚洲嫩草精品久久| 国产真实久久| 亚洲福利视频免费观看| 国产一区二区三区视频在线观看| 免费欧美电影| 亚洲一级免费视频| 在线观看欧美精品| 亚洲国产日韩欧美一区二区三区| 蜜桃av一区二区在线观看| 黄色精品免费| 国产在线精品成人一区二区三区| 欧美bbbxxxxx| 午夜精品久久久久久| 宅男精品导航| 曰韩精品一区二区| 欧美激情视频在线播放| 欧美成人a视频| 欧美精品一区在线| 午夜欧美理论片| 欧美破处大片在线视频| 国产精品女主播| 国产精品美女久久久久久免费| 国产日韩欧美在线视频观看| 免费日韩精品中文字幕视频在线| 亚洲国产日韩美| 香港久久久电影| 噜噜爱69成人精品| 欧美96在线丨欧| 日韩一级裸体免费视频| 国产伦精品一区二区三区免费迷| 欧美日韩国产精品自在自线| 一区二区三区 在线观看视频| 久久久久久久欧美精品| 国产精品久久久久77777| 久久综合色天天久久综合图片| 欧美va日韩va| 欧美一区二区视频网站| 亚洲精品美女免费| 伊人久久男人天堂| 一区二区激情视频| 国产亚洲欧美日韩一区二区| 亚洲视频高清| 欧美精品啪啪| 在线视频欧美精品| 亚洲高清不卡在线观看| 国产欧美日韩视频一区二区| 国产精品九九久久久久久久| 亚洲欧美在线aaa| 欧美精品成人| 久久久久久久久伊人| 1024欧美极品| 欧美成人免费视频| 欧美有码在线观看视频| 狠狠狠色丁香婷婷综合久久五月| 欧美日韩精品久久| 国产精品久久久久久五月尺| 国产视频久久久久久久| 久久只精品国产| 欧美一区二区视频在线观看| 久久久精品日韩| 国产精品影视天天线| 久久中文精品| 亚洲图片自拍偷拍| 免费在线观看成人av| 久久精品国产v日韩v亚洲| 另类天堂视频在线观看| 亚洲午夜精品一区二区三区他趣| 国产精品99久久久久久久久| 亚洲精品综合精品自拍| 国内精品嫩模av私拍在线观看| 国产精品久久久久久久第一福利| 亚洲天堂成人在线观看| 欧美一区二区高清| 久久久久久久久综合| 亚洲综合欧美日韩| 国内精品视频在线观看| 麻豆精品在线视频| 久久成人人人人精品欧| 久久久久久久波多野高潮日日| 亚洲精品一区二区网址| 亚洲免费视频成人| 国内成人自拍视频| 亚洲激情电影在线| 亚洲一区二区不卡免费| 国产在线欧美日韩| 久久精品国产77777蜜臀| 亚洲激情视频在线播放| 亚洲男人的天堂在线观看| 国产精品网站在线观看| 国产一区二区三区久久久| 欧美黄色免费网站| 欧美在线高清视频| 亚洲无人区一区| 亚洲七七久久综合桃花剧情介绍| 欧美日韩亚洲另类| 亚洲精品一区在线观看| 久久久综合激的五月天| 亚洲午夜电影在线观看| 蜜桃av一区二区在线观看| 亚洲小视频在线| 久久中文字幕导航| 日韩视频在线一区| 一区二区三区波多野结衣在线观看| 国产精品久久久久久福利一牛影视| 黄色国产精品一区二区三区| 日韩视频精品在线| 国产综合在线看| 欧美黑人一区二区三区| 久久影视三级福利片| 日韩亚洲欧美一区| 久久精品视频亚洲| 国产精品嫩草影院一区二区| 亚洲欧美日韩综合aⅴ视频| 日韩一区二区精品视频| 亚洲啪啪91| 欧美岛国在线观看| 久久疯狂做爰流白浆xx| 一区二区视频免费在线观看| 韩曰欧美视频免费观看| 91久久一区二区| 久久噜噜噜精品国产亚洲综合| 亚洲影院在线观看| 久久影院亚洲| 午夜激情综合网| 欧美日韩亚洲一区三区| 免费在线观看成人av| 伊人夜夜躁av伊人久久| 欧美高潮视频| 国内久久婷婷综合| 亚洲免费网站| 国产亚洲va综合人人澡精品| 欧美久久久久久久| 国产精品极品美女粉嫩高清在线| 国产欧美精品一区aⅴ影院| 久久亚洲私人国产精品va| 欧美视频专区一二在线观看| aa级大片欧美| 欧美高清在线精品一区| 亚洲美女视频在线观看| 亚洲一区3d动漫同人无遮挡| 美腿丝袜亚洲色图| 久久久久久久久蜜桃| 亚洲精品视频在线观看网站| 久久免费精品视频| 欧美色大人视频| 欧美另类专区| 欧美紧缚bdsm在线视频| 亚洲国产合集| 欧美mv日韩mv国产网站app| 一区二区精品| 国产亚洲精品激情久久| 中国成人亚色综合网站| 久久国产精品久久久| 欧美视频一区在线观看| 亚洲尤物在线| 在线播放视频一区| 欧美久久99| 日韩亚洲欧美综合| 国产精品99一区二区| 日韩西西人体444www| 欧美大色视频| 裸体一区二区| 亚洲综合电影| 国产日本欧洲亚洲| 欧美日本免费一区二区三区| 伊人成人开心激情综合网| 久久av一区二区三区亚洲| 亚洲精品中文字幕在线观看| 国产主播喷水一区二区| 亚洲精品国产精品乱码不99按摩| 樱桃成人精品视频在线播放| 亚洲精品国久久99热| 在线视频中文亚洲| 国产精品扒开腿爽爽爽视频| 欧美日韩国产va另类| 欧美在线视频免费| 久久乐国产精品| 日韩午夜av| 亚洲高清毛片| 欧美日韩无遮挡| 欧美激情免费在线| 亚洲一区二区三区精品视频| 久久女同互慰一区二区三区| 国产亚洲欧美日韩一区二区| 久久尤物视频| 欧美成人a视频| 久久九九国产精品| 亚洲精品欧洲精品| 在线天堂一区av电影| 好吊色欧美一区二区三区四区| 欧美日韩日本网| 国产精品久久午夜夜伦鲁鲁| 国产欧美一区二区在线观看| 一本色道久久精品| 久久人人97超碰人人澡爱香蕉| 国产精品国产三级国产aⅴ入口| 亚洲一区二区伦理| 免费不卡在线观看av| 亚洲精美视频| 久久噜噜噜精品国产亚洲综合| 亚洲一区二区三区在线观看视频| 激情五月***国产精品| 久久久久久综合网天天| 美女主播精品视频一二三四| 黄色日韩在线| 亚洲欧美国产一区二区三区| 国产一区二区中文字幕免费看| 国产亚洲精品久久久久动| 国产专区综合网| 制服丝袜亚洲播放| 国产精品第一页第二页第三页| 99这里有精品| 一区二区三区四区五区精品| 欧美日韩一区自拍| 欧美成人精品一区二区三区| 欧美日韩一级视频| 久久久久国色av免费观看性色| 亚洲国产一区在线| 欧美片在线播放| 久久久福利视频| 国产欧美日韩视频一区二区| 激情六月综合| 国产精品亚洲激情| 欧美二区在线观看| 99国产精品国产精品久久| 久久久蜜桃一区二区人| 欧美人成在线视频| 亚洲乱码精品一二三四区日韩在线| 国产免费一区二区三区香蕉精| 亚洲麻豆国产自偷在线| 久久激情综合| 亚洲欧美激情视频在线观看一区二区三区| 影音欧美亚洲| 亚洲免费观看高清完整版在线观看熊| 国产精品欧美在线| 玉米视频成人免费看| 午夜视频久久久| 国产精品a久久久久久| 国产欧美一区二区三区久久| 欧美久久视频| 国色天香一区二区| 欧美精品精品一区| 亚洲精品乱码久久久久久按摩观| 欧美性淫爽ww久久久久无| 在线观看精品一区| 国产精品v片在线观看不卡| 欧美亚洲尤物久久| 久久久91精品国产一区二区精品| 在线不卡a资源高清| 欧美视频一区二区三区…| 久久精品国产亚洲一区二区三区| 亚洲香蕉成视频在线观看| 亚洲精品视频在线观看网站| 久久国产精品久久久久久| 久久久综合香蕉尹人综合网| 一区二区三区视频在线看| 国产免费一区二区三区香蕉精|