你了解PPPOE的工作流程么?
PPPoE簡介
PPPoE(Point-to-Point Protocol over Ethernet),即以太網(wǎng)上的點(diǎn)對(duì)點(diǎn)協(xié)議,它可以使以太網(wǎng)上的主機(jī)通過一個(gè)簡單接入設(shè)備連到Internet上,并對(duì)接入的用戶進(jìn)行控制、計(jì)費(fèi)管理。
PPPoE協(xié)議采用Client/Server(客戶端/服務(wù)器)方式,它將PPP報(bào)文封裝在以太網(wǎng)幀內(nèi),在以太網(wǎng)上提供點(diǎn)對(duì)點(diǎn)的連接。
PPPoE連接
PPPoE撥號(hào)連接包括Discovery(發(fā)現(xiàn))和Session(PPP會(huì)話)兩個(gè)階段。下面將分別介紹這兩個(gè)階段。
Discovery階段
此階段用來建立連接,當(dāng)一個(gè)用戶主機(jī)想開始一個(gè)PPPoE會(huì)話時(shí),首先必須進(jìn)行發(fā)現(xiàn)階段以識(shí)別PPPoE Server的以太網(wǎng)MAC地址,并建立一個(gè)PPPoE會(huì)話標(biāo)識(shí)(Session ID)。
Discovery階段的基本工作流程
如上圖所示, Discovery階段由四個(gè)步驟組成,下面將介紹它的基本工作流程。
1、PADI:如果要建立一條PPPoE連接,首先PPPoE客戶端就要以廣播的方式發(fā)送一個(gè)PADI(PPPoE Active Discovery Initiation)數(shù)據(jù)包,PADI數(shù)據(jù)包包括客戶端請(qǐng)求的服務(wù)。
2、PADO:當(dāng)PPPoE服務(wù)器(BRAS)收到一個(gè)PADI包之后,它會(huì)判斷自己是否能夠提供服務(wù),如果能夠提供服務(wù)的話,就會(huì)向客戶端發(fā)送PADO(PPPoE Active Discovery Offer)數(shù)據(jù)包來進(jìn)行回應(yīng)。PADO數(shù)據(jù)包包括PPPoE服務(wù)器名稱和與PADI數(shù)據(jù)包中相同的服務(wù)名。如果PPPoE服務(wù)器不能為PADI提供服務(wù),則不允許用PADO數(shù)據(jù)包響應(yīng)。
3、PADR:由于PADI是以廣播的形式發(fā)送出去的,PPPoE客戶端可能收到不止一個(gè)PADO數(shù)據(jù)包,它將審查所有接收到的PADO數(shù)據(jù)包并根據(jù)其中的服務(wù)器名或所提供的服務(wù)選擇一個(gè)PPPoE服務(wù)器,并向選中的服務(wù)器發(fā)送PADR(PPPoE Active Discovery Request)數(shù)據(jù)包。PADR數(shù)據(jù)包包括客戶端所請(qǐng)求的服務(wù)。
4、PADS:當(dāng)PPPoE服務(wù)器收到客戶端發(fā)送的PADR包時(shí),它就準(zhǔn)備開始一個(gè)PPPoE會(huì)話,它為PPPoE會(huì)話創(chuàng)建一個(gè)***的PPPoE會(huì)話ID,并向客戶端發(fā)送PADS (PPPoE Active Discovery Session- confirmation)包作為響應(yīng)。
當(dāng)發(fā)現(xiàn)階段正常結(jié)束后,通信的兩端都獲得會(huì)話標(biāo)識(shí)(Session ID)和對(duì)方的MAC地址,它們一起***定義一個(gè)PPPoE會(huì)話。
PPP會(huì)話階段
當(dāng)PPPoE進(jìn)入PPP會(huì)話階段后,客戶端和服務(wù)器將進(jìn)行標(biāo)準(zhǔn)的PPP協(xié)商,PPP協(xié)商通過后,數(shù)據(jù)通過PPP封裝發(fā)送。PPP報(bào)文作為PPPoE幀的凈荷被封裝在以太網(wǎng)幀內(nèi),發(fā)送到PPPoE鏈路的對(duì)端。Session ID必須是Discovery階段確定的ID,且在會(huì)話過程中保持不變,MAC地址必須是對(duì)端的MAC地址。
PPPoE連接的斷開
在會(huì)話階段的任意時(shí)刻,PPPoE服務(wù)器和客戶端都可向?qū)Ψ桨l(fā)送PADT(PPPoE Active Discovery Terminate)包通知對(duì)方結(jié)束本會(huì)話。當(dāng)收到PADT以后,就不允許再使用該會(huì)話發(fā)送PPP流量了。在發(fā)送或接收到PADT數(shù)據(jù)包后,即使是常規(guī)的PPP結(jié)束數(shù)據(jù)包也不允許發(fā)送。一般情況下,PPP通信雙方使用PPP協(xié)議自身來結(jié)束PPPoE會(huì)話,但在無法使用PPP時(shí)可以使用PADT來結(jié)束會(huì)話。
【編輯推薦】