自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

初識PPPoE協(xié)議

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
PPPoE協(xié)議是我們這次將要重點(diǎn)講解的協(xié)議,在文章中,我們分析了它的工作原理,數(shù)據(jù)報(bào)文格式,數(shù)據(jù)報(bào)文中Tag(標(biāo)記)的格式等內(nèi)容。

大家因該都知道PPPoE協(xié)議是以太網(wǎng)中點(diǎn)對點(diǎn)傳輸協(xié)議。那么對于這個(gè)協(xié)議的一些工作原理,特點(diǎn)分析,以及應(yīng)用內(nèi)容,我們在本文中將要為大家仔細(xì)匯總一下,希望對大家的學(xué)習(xí)能夠有所幫助。

一、 PPPOE協(xié)議介紹

PPPOE,全稱Point-to-Point Protocol Over Ethernet,它工作在OSI的數(shù)據(jù)鏈路層,PPPOE協(xié)議提供了在廣播式的網(wǎng)絡(luò)(如以太網(wǎng))中多臺主機(jī)連接到遠(yuǎn)端的訪問集中器(我們對目前能完成上述功能的設(shè)備為寬帶接入服務(wù)器)上的一種標(biāo)準(zhǔn)。

1. PPPOE的工作原理

PPPOE協(xié)議共包括兩個(gè)階段,即PPPOE的發(fā)現(xiàn)階段(PPPOE Discovery Stage)和PPPOE的會話階段(PPPOE Session Stage)。而兩者的主要區(qū)別在于只是在PPP的數(shù)據(jù)報(bào)文前封裝了PPPOE的報(bào)文頭。

當(dāng)一個(gè)主機(jī)希望能夠開始一個(gè)PPPOE會話時(shí),它首先會在廣播式的網(wǎng)絡(luò)上尋找一個(gè)訪問集中器,當(dāng)然可能網(wǎng)絡(luò)上會存在多個(gè)訪問集中器時(shí),對于主機(jī)而言則會根據(jù)各訪問集中器(AC,Access Concentration)所能提供的服務(wù)或用戶的預(yù)先的一些配置來進(jìn)行相應(yīng)的選擇。當(dāng)主機(jī)選擇完了所需要的訪問集中器后,就開始和訪問集中器建立一個(gè)PPPOE會話進(jìn)程。在這個(gè)過程中訪問集中器會為每一個(gè)PPPOE會話分配一個(gè)唯一的進(jìn)程ID,會話建立起來后就開始了PPPOE的會話階段,在這個(gè)階段中已建立好點(diǎn)對點(diǎn)連接的雙方(這種點(diǎn)對點(diǎn)的結(jié)構(gòu)與PPP不一樣,它是一種邏輯上的點(diǎn)對點(diǎn)關(guān)系)就采用PPP協(xié)議來交換數(shù)據(jù)報(bào)文,從而完成一系列PPP的過程,最終將在這點(diǎn)對點(diǎn)的邏輯通道上進(jìn)行網(wǎng)絡(luò)層數(shù)據(jù)報(bào)的傳送。

2. PPPOE的數(shù)據(jù)報(bào)文格式

我們簡要介紹一下PPPOE的數(shù)據(jù)報(bào)文格式。PPPOE的數(shù)據(jù)報(bào)文是被封裝在以太網(wǎng)幀的數(shù)據(jù)域內(nèi)的。簡單來說我們可能把PPPOE報(bào)文分成兩大塊,,一大塊是PPPOE的數(shù)據(jù)報(bào)頭,另一塊則是PPPOE的凈載荷(數(shù)據(jù)域),對于PPPOE報(bào)文數(shù)據(jù)域中的內(nèi)容會隨著會話過程的進(jìn)行而不斷改變。

◆PPPOE數(shù)據(jù)報(bào)文最開始的4位為版本域,協(xié)議中給出了明確的規(guī)定,這個(gè)域的內(nèi)容填充0x1。

◆緊接在版本域后的4位是類型域,協(xié)議中同樣規(guī)定,這個(gè)域的內(nèi)容填充為0x1。

◆代碼域占用1個(gè)字節(jié),對于PPPOE 的不同階段這個(gè)域內(nèi)的內(nèi)容也是不一樣的。

◆會話ID點(diǎn)用2個(gè)字節(jié),當(dāng)訪問集中器還未分配唯一的會話ID給用戶主機(jī)的話,則該域內(nèi)的內(nèi)容必須填充為0x0000,一旦主機(jī)獲取了會話ID后,那么在后續(xù)的所有報(bào)文中該域必須填充那個(gè)唯一的會話ID值。

◆長度域?yàn)?個(gè)字節(jié),用來指示PPPOE數(shù)據(jù)報(bào)文中凈載荷的長度。

◆數(shù)據(jù)域,有時(shí)也稱之為凈載荷域,在PPPOE的不同階段該域內(nèi)的數(shù)據(jù)內(nèi)容會有很大的不同。在PPPOE的發(fā)現(xiàn)階段時(shí),該域內(nèi)會填充一些Tag(標(biāo)記);而在PPPOE的會話階段,該域則攜帶的是PPP的報(bào)文。

這里我們主要來介紹一下PPPOE發(fā)現(xiàn)階段的報(bào)文格式以及它的報(bào)文:

1) PPPOE數(shù)據(jù)報(bào)文中Tag(標(biāo)記)的格式

對于發(fā)現(xiàn)階段的PPPOE數(shù)據(jù)報(bào)文而言,它的凈載荷可能包含零個(gè)或多個(gè)Tag(標(biāo)記),實(shí)際上這些標(biāo)記的意義非常類似于PPP配置參數(shù)選項(xiàng),它同樣也是要經(jīng)過協(xié)商的。對于PPPOE協(xié)議而言,沒有像PPP的配置參數(shù)選項(xiàng)那樣定義了很多細(xì)節(jié),而只是一個(gè)初略的定義,因此在實(shí)際當(dāng)中實(shí)現(xiàn)這個(gè)過程會依據(jù)不同廠商的設(shè)備有不同。標(biāo)記的類型域?yàn)?個(gè)字節(jié),下表列出了各種標(biāo)記類型的含義:

標(biāo)記類型 標(biāo)記說明

0x0000 表示PPPOE報(bào)文數(shù)據(jù)域中一串標(biāo)記的結(jié)束,為了保證版本的兼容性而保留,在有些報(bào)文中有應(yīng)用。

0x0101 服務(wù)名,主要用來表明網(wǎng)絡(luò)側(cè)所能提供給用戶的一些服務(wù)。

0x0102 訪問集中器名,當(dāng)用戶側(cè)接收到了AC的回應(yīng)的PADO報(bào)文時(shí),就可獲從所攜帶的標(biāo)記中獲知訪問集中器的名子,而且還可以據(jù)此來選擇相應(yīng)的訪問集中器。

0x0103 主機(jī)唯一標(biāo)識,類似于PPP數(shù)據(jù)報(bào)文中的標(biāo)識域,主要是用來匹配發(fā)送和接收端的,因?yàn)閷τ趶V播式的網(wǎng)絡(luò)中會同時(shí)存在很多個(gè)PPPOE的數(shù)據(jù)報(bào)文。

0x0104 AC-Cookies,主要被用來防止惡意性DOS功擊。

0x0105 銷售商的標(biāo)識符。

0x0110 中繼會話ID,對于PPPOE的數(shù)據(jù)報(bào)文也同樣可以像DHCP報(bào)文一樣被中斷到另外的AC上終結(jié),這個(gè)字段則是用來維護(hù)另一個(gè)連接的。

0x0201 服務(wù)名錯(cuò)誤,當(dāng)請求的服務(wù)名不被對端所接受時(shí),會在響應(yīng)的報(bào)文中攜帶這個(gè)標(biāo)記。

0x0202 訪問集中器名出錯(cuò)。

0x0203 一般性錯(cuò)誤。

◆標(biāo)記的長度域?yàn)?個(gè)字節(jié),它用來指明標(biāo)記數(shù)據(jù)域的長度。

◆標(biāo)記的數(shù)據(jù)域中用來放置不同類型標(biāo)記所對應(yīng)的相關(guān)數(shù)據(jù)。

2) PPPOE發(fā)現(xiàn)階段的數(shù)據(jù)報(bào)文

PPPOE的發(fā)現(xiàn)階段可分為四步,其實(shí)這個(gè)過程也是PPPOE四種數(shù)據(jù)報(bào)文的交換的一個(gè)過程。當(dāng)完成這四步后,用戶主機(jī)與訪問集中器雙方就能獲知對方的MAC地址和唯一的會話ID號,從而進(jìn)入到下一個(gè)階段(PPPOE的會話階段)。實(shí)際上雙方在互相知道了對方的MAC地址后,就已經(jīng)在廣播式的網(wǎng)絡(luò)上確定了一一的對應(yīng)關(guān)系,為了保證這個(gè)連接的有效性,同時(shí)使PPPOE協(xié)議能更加靈活的運(yùn)用,因此還加入了會話ID字段,通過這兩個(gè)條件就可完成確定雙方點(diǎn)對點(diǎn)的關(guān)系。

在這個(gè)階段一開始,由于接入用戶并不知道訪問集中器的MAC地址,則使用類似于ARP解析的過程的機(jī)制來獲取訪問集中器的MAC地址。首先由接入用戶側(cè)發(fā)起一個(gè)初始化的廣播報(bào)文,對于訪問集中器如果配置了PPPOE的業(yè)務(wù)時(shí),它會時(shí)實(shí)檢測網(wǎng)絡(luò)上的數(shù)據(jù)包,當(dāng)發(fā)現(xiàn)以太網(wǎng)數(shù)據(jù)幀中所承載的是PPPOE報(bào)文時(shí)(通過協(xié)議域的內(nèi)容來區(qū)分),就會將其交給相應(yīng)的模塊去處理。當(dāng)收到初始化報(bào)文后,訪問集中器會向該用戶回應(yīng)一個(gè)報(bào)文。如果網(wǎng)絡(luò)上存在很多這樣的訪問集中器且都收到了用戶側(cè)發(fā)送的初始化報(bào)文時(shí),它們也都會向用戶側(cè)會送一個(gè)確認(rèn)報(bào)文,如果該用戶收到這個(gè)報(bào)文后,則會依據(jù)報(bào)文中所攜帶的內(nèi)容或本端的一些配置來選擇一個(gè)唯一的訪問集中器進(jìn)行會話。到此時(shí)已完成了前兩步了,那么剩下的兩步則是協(xié)商一些所提供的服務(wù)選項(xiàng)和獲取PPPOE會話階段所必須的會話ID值。

說明:在這個(gè)階段,所有數(shù)據(jù)報(bào)文是被承載在以太網(wǎng)的數(shù)據(jù)域中的,而且以太網(wǎng)數(shù)據(jù)幀的協(xié)議域始終為0x8863。

在PPPOE發(fā)現(xiàn)階段的四步的過程中,PPPOE會遇到PADI、PADO、PADR和PADS這四種報(bào)文。PPPOE中的PADT報(bào)文是用來終止一條會話的。

◆PADI(PPPOE Active Discovery Initiation)報(bào)文

PPPOE發(fā)現(xiàn)階段的***步,也即是由用戶側(cè)首先發(fā)送這樣一個(gè)報(bào)文。用戶主機(jī)是以廣播的方式發(fā)送這個(gè)報(bào)文,所以該報(bào)文所對應(yīng)的以太網(wǎng)幀的目的地址域應(yīng)填充為全1,而源地址域填充用戶主機(jī)的MAC地址。廣播包可能會被多個(gè)訪問集中器接收到。

◆PADO(PPPOE Active Discovery Offer)報(bào)文

PPPOE發(fā)現(xiàn)階段的第二步,也即是由訪問集中器回應(yīng)各用戶主機(jī)發(fā)送的PADI報(bào)文,此時(shí)該報(bào)文所對應(yīng)的以太網(wǎng)幀的源地址填充訪問集中器的MAC地址,而目的地址則填充從PADI中所獲取的用戶主機(jī)的MAC地址。

◆PADR(PPPOE Active Discovery Request)報(bào)文

PPPOE發(fā)現(xiàn)階段的第三步,也即是由用戶主機(jī)向訪問服務(wù)器發(fā)送單播的請求報(bào)文。當(dāng)用戶主機(jī)收到PADO報(bào)文后,會從這些報(bào)文中挑選一個(gè)訪問集中器作為后續(xù)會話的對象。由于用戶主機(jī)在收到PADO報(bào)文后,就獲知了訪問集中器的MAC地址,因此PADR報(bào)文所以應(yīng)的以太網(wǎng)幀的源地址填充用戶主機(jī)的MAC地址,而以太網(wǎng)的目的地址填充為訪問集中器的MAC地址。

◆PADS(PPPOE Active Discovery Session-confirmation)報(bào)文

PPPOE發(fā)現(xiàn)階段的第四步,也即是***一步,此時(shí)訪問集中器當(dāng)收到PADR報(bào)文時(shí),就準(zhǔn)備進(jìn)入開始一個(gè)PPP的會話了,而此時(shí)訪問集中器會為在這個(gè)會話分配一個(gè)唯一的會話進(jìn)程ID,并在發(fā)送給主機(jī)的PADS報(bào)文中攜帶上這個(gè)會話ID。當(dāng)然如果訪問集中器不滿足用戶所申請的服務(wù)的話,則會向用戶發(fā)送一個(gè)PADS報(bào)文,而其中攜帶一個(gè)服務(wù)名錯(cuò)誤的標(biāo)記,而且此時(shí)該P(yáng)ADS報(bào)文中的會話ID填充0x0000。

◆PADT(PPPOE Active Discovery Terminate)報(bào)文

PADT報(bào)文可能在會話進(jìn)行開始之后的任意時(shí)間內(nèi)被發(fā)送,主要是用來終止一個(gè)PPPOE會話的止。它可以由主機(jī)或訪問集中器發(fā)送,目的地址填充為對端的以太網(wǎng)的MAC地址

二、 PPPOE Discovery詳細(xì)解碼

捕獲PPPOE數(shù)據(jù)包,可以看出這是PPPOE發(fā)現(xiàn)階段的***步的PADI報(bào)文,我們來詳細(xì)說明:

◆版本:1,協(xié)議中給出了明確的規(guī)定,這個(gè)域的內(nèi)容填充0x1。

◆類型:1協(xié)議中也給了明確的規(guī)定,這里也職能填充0x1

◆代碼:0x09,表示該報(bào)文是發(fā)現(xiàn)階段的 PADI報(bào)文

◆會話ID:0,表示還沒有會話ID

◆長度:16,表示PPPOE數(shù)據(jù)報(bào)文中凈載荷的長度

◆PPP發(fā)現(xiàn)標(biāo)記:在面我們列出的標(biāo)記類型表可以看出

責(zé)任編輯:佟健 來源: 百度空間
相關(guān)推薦

2010-09-02 15:50:01

PPPoE協(xié)議

2010-09-06 13:53:21

PPPoE協(xié)議

2010-07-01 16:41:33

PPPOE協(xié)議

2010-09-07 12:06:46

PPPoE協(xié)議

2012-03-05 13:41:58

OpenFlow

2010-09-10 14:25:00

Daytime協(xié)議

2010-07-08 12:34:46

HART協(xié)議

2010-09-07 14:21:22

PPPoE協(xié)議

2010-07-06 17:47:44

PPPoE協(xié)議

2010-09-16 13:03:02

PPPoE協(xié)議配置

2010-09-07 12:02:50

PPPoE協(xié)議

2010-09-07 14:47:42

2010-07-06 17:05:22

PPPOE協(xié)議

2010-06-12 17:12:21

PPPOE協(xié)議

2010-09-06 16:35:18

PPPoE協(xié)議

2010-09-17 15:28:45

Internet網(wǎng)絡(luò)協(xié)

2010-09-06 16:48:23

PPPoE協(xié)議BAS

2010-09-27 14:31:35

PPPoE協(xié)議配置

2010-09-06 14:55:30

2010-06-17 14:57:44

RS-232協(xié)議
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號