資源描述:
《pppoe交互過程解析》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、CambridgeIndustriesGroup(CIG)PartnershipfortheNextGenerationBroadbandAccessPPPOE交互過程?CambridgeIndustriesGroupRevisionHistoryDateVersionDescriptionAuthor6/13/2021?CambridgeIndustriesGroup5PPPOE交互過程1.適用范圍PPPoE=PPPOverEthernetPPPoE主要協(xié)議標(biāo)準(zhǔn):RFC2516本文介紹了PPPOE建立鏈接以及協(xié)商的交互過程。2.描述PPPOE鏈接建立的過程
2、包括PPPOE發(fā)現(xiàn)階段以及PPPOE回話階段,如下圖所示:下面將對這兩個階段的交互分別描述。122.1PPPoE發(fā)現(xiàn)階段2.1.1PPPOE發(fā)現(xiàn)階段的交互過程主要有四個包,即PADI,PADO,PADR,PADS,用pppoed過濾PPPOE發(fā)現(xiàn)階段的包,如下圖:6/13/2021?CambridgeIndustriesGroup51.用戶主機發(fā)出PPPOE有效發(fā)現(xiàn)初始(PADI)包。以太網(wǎng)目的地址為廣播地址0xf*6,CODE字段為0x09,SESSION_ID為0x0000。2.接入設(shè)備收到在服務(wù)范圍內(nèi)的PADI包后,發(fā)送PPPOE有效發(fā)現(xiàn)提供(PADO
3、)包以響應(yīng)請求。其CODE字段為0x07,SESSION_ID仍為0x0000。PADO包必須包含一個接入設(shè)備名稱類型(AC-Name)的標(biāo)簽(標(biāo)簽類型字段為0x0102)以及一個或多個服務(wù)名稱類型標(biāo)簽,表明可向用戶主機提供的服務(wù)種類。3.用戶主機在可能收到的多個PADO包中選擇一個合適的接入設(shè)備,選擇的原則是根據(jù)PADO中接入設(shè)備名稱類型標(biāo)簽和服務(wù)名稱類型標(biāo)簽的內(nèi)容。然后向所選擇的接入設(shè)備發(fā)送PPPOE有效發(fā)現(xiàn)請求(PADR)包。其CODE字段為0x19,SESSION_ID仍為0x0000。PADR包必須包一個服務(wù)名稱類型標(biāo)簽,確定向接入設(shè)備請求的服務(wù)種
4、類。當(dāng)一個用戶主機在確定時間沒有收到PADO,他會重發(fā)一個PADI,同時等待兩倍的時間。這種過程可以根據(jù)需要重復(fù)多次。4.接入設(shè)備收到PADR包后準(zhǔn)備開始PPP會話,它發(fā)送一個PPPOE有效發(fā)現(xiàn)會話確認(rèn)(PADS)包。其CODE字段為0x65,SESSION_ID為接入設(shè)備所產(chǎn)生的一個唯一的PPPOE會話標(biāo)識號碼。發(fā)現(xiàn)階段的兩大任務(wù):1、尋找可用的服務(wù)器;2、得到sessionID,開始PPP的建鏈過程。。具體抓包如下:1.1PPPoE會話階段1.1.1PPPoE會話階段主要分LCP協(xié)商階段,認(rèn)證階段,IPCP階段等,在這些階段順利完成后,就可以進(jìn)行數(shù)據(jù)傳輸
5、了。LCP協(xié)商階段:LCP=LinkControlProtocol,鏈路控制協(xié)議此階段主要是協(xié)商鏈路的一些參數(shù),如最大接收單元MRU、MagicNumber,以及后續(xù)認(rèn)證時使用的協(xié)議等。LCP協(xié)商分為LCPConfigurationRequest和LCPConfigurationAck,如下圖:截圖LCPConfigurationRequest如下:6/13/2021?CambridgeIndustriesGroup5可以看到,SessionID就是之前PPPOE發(fā)現(xiàn)階段獲得的那個,這邊協(xié)商了MRU,并且提出認(rèn)證使用的Magicnumber。一般而言,MRU
6、和MTU取值相同,PPPOE的最大MTU不能超過1492。計算方法如下:首先,以太網(wǎng)幀大小限制:EthernetMinSize=512bit=64ByteEthernetMaxSize=1518Byte去掉以太網(wǎng)幀頭后的盡荷為:EthernetIPMTU=1518–18(6SRCMAC+6DSTMAC+2TYPE+4CRC)=1500B所以,再去掉PPPOESESSION和PPP頭的開銷,所以PPPOE的MRU最大值為:PPPoEMTU/MRU=1500–8(6PPPoE_SESSION+2PPP_HEADER)=1492B其中PPPOESESSION幀結(jié)構(gòu)
7、如下:抓包中也可以看到。Magic-number選項用來協(xié)商雙方的魔術(shù)字,兩端魔術(shù)字不能重復(fù),魔術(shù)字可用來檢測鏈路的環(huán)回情況。該選項提供了一種探測短路連接和其它數(shù)據(jù)鏈路層異常的方法當(dāng)一方接收到帶有魔數(shù)選項的配置請求數(shù)據(jù)幀后,將接收到的魔數(shù)與上次發(fā)送的魔數(shù)進(jìn)行比較,如果不相同就認(rèn)為沒有發(fā)生短路。如果兩個魔數(shù)相同,則需要發(fā)送一個攜帶不同魔數(shù)的配置否認(rèn)幀,然后將接收到的魔數(shù)與發(fā)送的魔數(shù)進(jìn)行比較。在廣域鏈路上,最常用的一種檢測鏈路的方法就是在遠(yuǎn)端將發(fā)送和接受短接成環(huán)路,在本端發(fā)送的信號如果能被自己成功的接受到,那么線路就有可能是Ok的,這就是LoopBack測試。如
8、果環(huán)路在測試之后并未撤掉,PPP又沒有引如Magic