pppoe
協議的工作流程包含發現和會話兩個階段,發現階段是無狀態的,目的是獲得
pppoe
終結端(在局端的
adsl
裝置上)的乙太網
mac位址,並建立乙個唯一的
pppoesession_id
。發現階段結束後,就進入標準的
ppp會話階段。
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
當乙個主機想開始乙個
pppoe
會話,它必須首先進行發現階段,以識別局端的乙太網
mac位址,並建立乙個
pppoesession_id
。在發現階段,基於網路的拓撲,主機可以發現多個接入集中器,然後允許使用者選擇乙個。當發現階段成功完成,主機和選擇的接入集中器都有了他們在乙太網上建立
ppp連線的資訊。直到
ppp會話建立,發現階段一直保持無狀態的
client/server
(客戶/
伺服器)模式。一旦
ppp會話建立,主機和接入集中器都必須為
ppp虛介面分配資源。
pppoe
協議會話的發現和會話兩個階段具體程序如下:
1. 發現(discovery
)階段
在發現(
discovery
)階段中使用者主機以廣播方式尋找所連線的所有接入集線器(或交換機),並獲得其乙太網
mac位址。然後選擇需要連線的主機,並確定所要建立的
ppp會話識別標號。發現階段有四個步驟,當此階段完成,通訊的兩端都知道
pppoesession_id
和對端的乙太網位址,他們一起唯一定義
pppoe
會話。這四個步驟如下: (
1)主機廣播乙個發起分組(
padi
),分組的目的位址為乙太網的廣播位址
0xffffffffffff
,code
(**)字段值為
0x09
,session_id
(會話id
)字段值為
0x0000
。padi
包必須至少包含乙個服務名稱型別的標籤(標籤型別字段值為
0x0101
),向接入集中器提出所要求提供的服務。 (
2)接入集中器收到在服務範圍內的
padi
包分組,傳送
pppoe
有效發現提供包(
pado
)分組,以響應請求。其中
code
字段值為
0x07
,session_id
字段值仍為
0x0000
。pado
分組必須包含乙個接入集中器名稱型別的標籤(標籤型別字段值為
0x0102
),以及乙個,或多個服務名稱型別標籤,表明可向主機提供的服務種類。 (
3)主機在可能收到的多個
pado
分組中選擇乙個合適的
pado
分組,然後向所選擇的接入集中器傳送
pppoe
有效發現請求分組(
padr
)。其中
code
欄位為0x19
,session_id
字段值仍為
0x0000
。padr
分組必須包含乙個服務名稱型別標籤,確定向接入集線器(或交換機)請求的服務種類。當主機在指定的時間內沒有接收到
pado
,它應該重新傳送它的
padi
分組,並且加倍等待時間,這個過程會被重複期望的次數。 (
4)接入集中器收到
padr
包後準備開始
ppp會話,它傳送乙個
pppoe
有效發現會話確認(
pads
)分組。其中
code
字段值為
0x65
,session_id
字段值為接入集中器所產生的乙個惟一的
pppoe
會話標識號碼。
pads
分組也必須包含乙個接入集中器名稱型別的標籤確認向主機提供的服務。當主機收到
pads
包確認後,雙方就進入
ppp會話階段。
【注意】如果主機正在等待接收
pads
分組,應該使用具有主機重新傳送
padr
的相似超時機制。在重試指定的次數後,主機應該重新傳送
padi
分組。
2. ppp
會話階段
使用者主機與接入集中器根據在發現階段所協商的
ppp會話連線引數進行
ppp會話。一旦
pppoe
會話開始,
ppp資料就可以以任何其它的
ppp封裝形式傳送。所有的乙太網幀都是單播的。
pppoe
會話的session_id
一定不能改變,並且必須是發現階段分配的值。
pppoe
還有乙個
padt
分組,它可以在會話建立後的任何時候傳送,來終止
pppoe
會話,也就是會話釋放。它可以由主機或者接入集中器傳送。當對方接收到乙個
padt
分組,就不再允許使用這個會話來傳送
ppp業務。
padt
包不需要任何標籤,其
code
字段值為
0xa7
,session_id
字段值為需要終止的
ppp會話的會話標識號碼。在傳送或接收
padt
後,即使正常的
ppp終止分組也不必傳送。
ppp對端應該使用
ppp協議自身來終止
pppoe
會話,但是當
ppp不能使用時,可以使用
padt。
以上各個階段的會話流程可用圖
4-5描述。
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /> 圖
4-5 pppoe
會話建立流程
對應於上節介紹的兩個
pppoe
協議會話的兩個階段,
pppoe
幀格式也包括兩種型別:發現階段的乙太網幀中的型別字段值為
0x8863
;ppp
會話階段的乙太網幀中的型別字段值為
0x8864
,均已得到
ieee
的認可。
pppoe
分組幀結構如圖
4-6所示。
圖4-6 pppoe
幀結構
pppoe
分組中的版本(
ver)
欄位和型別(
type
)字段長度均為
4位元,在當前版本
pppoe
建議中這兩個字段值都固定為
0x1。**(
code
)字段長度為
8位元,根據兩階段中各種資料報的不同功能而值不同。在
ppp會話階段
code
字段值為
0x00
,發現階段中的各步驟中的各種資料分組格式參見前面介紹。版本標識號碼(
session_id
)字段長度為
16位元,在乙個給定的
ppp會話過程中它的值是固定不變的,其中值
0xffffff
為保留值。長度(
length
)欄位為
16比特長,指示
pppoe
淨荷長度。發現階段
pppoe
載荷可以為空或由多個標記(
tag)組成,每個標記都是
tlv(型別-長度
-值)的結構;
ppp會話階段
pppoe
載荷為標準的點對點協議包。
PPPoE工作原理與幀格式
pppoe協議的工作流程包含發現和會話兩個階段,發現階段是無狀態的,目的是獲得pppoe終結端 在局端的adsl裝置上 的乙太網mac位址,並建立乙個唯一的pppoesession id。發現階段結束後,就進入標準的ppp會話階段。當乙個主機想開始乙個pppoe會話,它必須首先進行發現階段,以識別局...
CAN2 0A幀格式 與 LIN幀格式 簡單說明
各欄位解釋 sof 幀開始標誌位元是乙個顯性位元 0 由乙個或多個準備傳送幀的節點傳輸。sof標誌著幀的開始 或仲裁傳送幀的權利 並用於 硬同步 匯流排上的裝置。只有在開始傳送前匯流排上至少有11個處於隱性狀態的連續位元時,傳送方才能開始傳送幀。仲裁字段 仲裁字段包含12位元,前11位元被稱為仲裁i...
雜湊工作原理與應用
參考 我們使用乙個下標範圍比較大的陣列來儲存元素。可以設計乙個函式 雜湊函式,也叫做雜湊函式 使得每個元素的關鍵字都與乙個函式值 即陣列下標 相對應,於是用這個陣列單元來儲存這個元素 也可以簡單的理解為,按照關鍵字為每一 個元素 分類 然後將這個元素儲存在相應 類 所對應的地方。但是,不能夠保證每個...