剖析PPPoE會(huì)話的過(guò)程
在ADSL撥號(hào)的過(guò)程中,PPPoE協(xié)議有非常大的作用。那么具體的撥號(hào)過(guò)程,以及PPPoE的工作過(guò)程,就讓我們從下文來(lái)了解一下吧??纯淳唧w的會(huì)話過(guò)程是如何完成的。
主機(jī)網(wǎng)卡設(shè)置
以太網(wǎng)適配器 本地連接:
連接特定的 DNS 后綴 . . . . . . . :
描述. . . . . . . . . . . . . . . : Realtek RTL8101 Family PCI-E Fast Ethernet NIC (NDIS 6.0)
物理地址. . . . . . . . . . . . . : 00-03-25-4A-84-F0
DHCP 已啟用 . . . . . . . . . . . : 是
自動(dòng)配置已啟用. . . . . . . . . . : 是
自動(dòng)配置 IPv4 地址 . . . . . . . : 169.254.7.223(首選)
子網(wǎng)掩碼 . . . . . . . . . . . . : 255.255.0.0
默認(rèn)網(wǎng)關(guān). . . . . . . . . . . . . :
TCPIP 上的 NetBIOS . . . . . . . : 已啟用
1. 主機(jī)發(fā)出PPPoED廣播,進(jìn)行PPPoE Active Discovery Initiation(PADI),向接入設(shè)備提出所要求的服務(wù).以太網(wǎng)目的地址為廣播地址0xffffffff, CODE 字段為0x09, SESSION_ID為0x0000.PADI包必須至少包含一個(gè)服務(wù)名稱類型(Service-Name)的標(biāo)簽(標(biāo)簽類型字段為0x0101).
2. 接入設(shè)備收到在服務(wù)范圍內(nèi)的PADI包后,發(fā)送PPPoE有效發(fā)現(xiàn)提供(PPPoE Active Discovery Offer, PADO) 包以響應(yīng)請(qǐng)求.其CODE字段為0x07 ,SESSION_ID仍為0x0000.PADO包必須包含一個(gè)接入設(shè)備名稱類型(AC-Name)的標(biāo)簽(標(biāo)簽類型字段為0x0102)以及一個(gè)或多個(gè)服務(wù)名稱類型標(biāo)簽,表明可向用戶主機(jī)提供的服務(wù)種類.
3. 用戶主機(jī)在可能收到的多個(gè)PADO包中選擇一個(gè)合適的接入設(shè)備,選擇的原則是根據(jù)PADO 中接入設(shè)備名稱類型標(biāo)簽和服務(wù)名稱類型標(biāo)簽的內(nèi)容.然后向所選擇的接入設(shè)備發(fā)送PPPoE有效發(fā)現(xiàn)請(qǐng)求(PPPoE Active Discovery Request, PADR)包.其CODE 字段為0x19,SESSION_ID仍為0x0000.PADR包必須包一個(gè)服務(wù)名稱類型標(biāo)簽,確定向接入設(shè)備請(qǐng)求的服務(wù)種類.當(dāng)一個(gè)用戶主機(jī)在確定時(shí)間沒(méi)有收到PADO,他會(huì)重發(fā)一個(gè)PADI,同時(shí)等待兩倍的時(shí)間.這種過(guò)程可以根據(jù)需要重復(fù)多次.
4. 接入設(shè)備收到PADR包后準(zhǔn)備開(kāi)始PPP會(huì)話,它發(fā)送一個(gè)PPPoE 有效發(fā)現(xiàn)會(huì)話確認(rèn)(PPPoE Active Discovery Session-confirmation, PADS)包.其CODE 字段為0x65 , SESSION_ID為接入設(shè)備所產(chǎn)生的一個(gè)唯一的PPPoE會(huì)話標(biāo)識(shí)號(hào)碼.0xffff作為預(yù)留資源,目前不能被使用作SESSION_ID.PADS 包也必須包含一個(gè)服務(wù)名稱類型的標(biāo)簽確認(rèn)向用戶主機(jī)提供的服務(wù).當(dāng)用戶主機(jī)收到PADS包確認(rèn)后,雙方就進(jìn)入PPP會(huì)話階段.如果接入設(shè)備不能識(shí)別 PADR中的服務(wù)名稱類型的標(biāo)簽,則會(huì)回一個(gè)包含服務(wù)名稱錯(cuò)誤( Service-Name-Error ) 標(biāo)簽的PADS ,其SESSION_ID仍然是0x0000.如果用戶主機(jī)在確定時(shí)間沒(méi)收到PADS包,與沒(méi)收到PADO作同樣處理.
5. 用戶主機(jī)——>接入設(shè)備發(fā)送PPP LC configuration request,接入設(shè)備返回PPP LC configuration ACK或者PPP LC configuration reject.
6. 接入設(shè)備發(fā)送PPP——>用戶主機(jī)發(fā)送PPP LC configuration request,主機(jī)回復(fù)PPP LC configuration ACK和PPP LC Identification.
7. 用戶主機(jī)——>接入設(shè)備發(fā)送PPP PAP認(rèn)證信息,包括用戶名、密碼,都是明文傳送.接入設(shè)備進(jìn)行認(rèn)證確定.
8. 用戶主機(jī)與接入設(shè)備進(jìn)行其他協(xié)商.
網(wǎng)卡IP本來(lái)是自動(dòng)獲取的,我給他指定了固定IP:192.168.1.100,撥號(hào)撥不通,錯(cuò)誤代碼735,后恢復(fù)dhcp,仍然撥不通.將原寬帶連接刪除,新建寬帶連接,重新?lián)芴?hào)撥通.