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























