PPPoE技術白皮書

PPPoE技術白皮書

關鍵詞:PPPEthernetPPPoE

    要:PPPoE是一種通過一個遠端接入設備為以太網上的主機提供接入服務,並可以對接入的每個主機實現控製和計費的技術。本文介紹了PPPoE的產生背景、技術優點、工作過程和典型組網應用。

縮略語:

縮略語

英文全名

中文解釋

ADSL

Asymmetric Digital Subscriber Line

非對稱數字用戶線

DSLAM

Digital Subscriber Line Access Multiplexer

數字用戶線接入複用器

PPP

Point to Point Protocol

點對點協議

PPPoE

PPP Over Ethernet

在以太網上承載PPP協議

PADI

PPPoE Active Discovery Initiation

PPPoE活動發現發起報文

PADO

PPPoE Active Discovery Offer

PPPoE活動發現提供報文

PADR

PPPoE Active Discovery Request

PPPoE活動發現請求報文

PADS

PPPoE Active Discovery Session-confirmation

PPPoE活動發現會話報文

PADT

PPPoE Active Discovery Terminate

PPPoE活動發現終結報文

 



概述

1.1  產品背景

人們想通過相同的接入設備來連接到遠程站點上的多個主機,同時接入設備能夠提供與撥號上網類似的訪問控製和計費功能。在眾多的接入技術中,把多個主機連接到接入設備的最經濟的方法就是以太網,而PPP協議可以提供良好的訪問控製和計費功能,於是產生了在以太網上傳輸PPP的方法,即PPPoE

PPPoE協議的提出解決了用戶上網收費等實際應用問題,得到了寬帶接入運營商的認可並廣為采用。

1.2  技術優點

對於用戶來說,PPPoE的優點如下:

l              沿襲傳統的撥號上網方式,依舊使用他們熟悉的硬件以及類似的軟件進行Internet的接入。

l              兼容現有的所有xDSL Modem需要對客戶端的xDSL Modem進行複雜的配置。

l              使用以太網網卡連接PCxDSL Modem,允許多台PC同時共享xDSL線路,可以節約用戶投資。

對於運營商來說,PPPoE的優點如下:

l              運營商可以通過數字用戶線、電纜調製解調器或無線連接等方式提供支持多用戶的寬帶接入服務。

l              運營商可以利用可靠和熟悉的技術來加速部署高速互聯網業務,對現有網絡部署影響小。

l              運營商可以通過訪問控製功能對用戶的身份進行確認,通過計費功能對用戶進行計費,同時對用戶的網絡行為進行監控,保證了網絡安全。

l              終端用戶可同時接入多個運營商,這種動態服務選擇的功能可以使運營商容易創建和提供新的業務。

PPPoE技術實現方案

2.1  PPPoE組網結構

PPPoE使用Client/Server模型,PPPoE的客戶端為PPPoE ClientPPPoE的服務器端為PPPoE ServerPPPoE ClientPPPoE Server發起連接請求,兩者之間會話協商通過後,PPPoE ServerPPPoE Client提供接入控製、認證等功能。

根據PPP會話的起止點所在位置的不同,有兩種組網結構:

l              第一種方式在設備之間建立PPP會話,所有主機通過同一個PPP會話傳送數據,主機上不用安裝PPPoE客戶端撥號軟件,一般是一個企業(公司)共用一個賬號(圖中PPPoE Client位於企業/公司內部,PPPoE Server是運營商的設備)。

圖1 PPPoE組網結構圖1

l              第二種部署方式,PPP會話建立在Host和運營商的路由器之間,為每一個Host建立一個PPP會話,每個Host都是PPPoE Client,每個Host一個帳號,方便運營商對用戶進行計費和控製。Host上必須安裝PPPoE客戶端撥號軟件。

圖2 PPPoE組網結構圖2

2.2  PPPoE報文格式

PPPoE報文的格式就是在以太網幀中攜帶PPP報文,如3所示。

圖3 報文格式

各個字段解釋如下:

l              Destination_address域:一個以太網單播目的地址或者以太網廣播地址(0xffffffff)。對於Discovery數據包來說,該域的值是單播或者廣播地址,PPPoE Client尋找PPPoE Server的過程使用廣播地址,確認PPPoE Server後使用單播地址。對於Session階段來說,該域必須是Discovery階段已確定的通信對方的單播地址。

l              Source_address域:源設備的以太網MAC地址。

l              Ether_type:設置為0x8863Discovery階段或拆鏈階段)或者0x8864Session階段)。

l              Ver域:4bitsPPPoE版本號,值為0x1

l              Type域:4bitsPPPoE類型,值為0x1

l              Code域:8bitsPPPoE報文類型。Code域為0x00,表示會話數據。Code域為0x09,表示PADI報文;Code域為0x07,表示PADOPADT報文;Code域為0x19,表示PADR報文;Code域為0x65,表示PADS報文。報文的具體情況請參見附錄部分。

l              Session_ID域:16bits,對於一個給定的PPP會話,該值是一個固定值,並且與以太網Source_addressDestination_address一起實際地定義了一個PPP會話。值0xffff為將來的使用保留,不允許使用。

l              Length域:16bits,定義PPPoEPayload域長度。不包括以太網頭部和PPPoE頭部的長度。

2.3  PPPoE工作過程

PPPoE的協商過程如4所示:

圖4 PPPoE協商過程

PPPoE可分為三個階段,即Discovery階段、Session階段和Terminate階段。

2.3.1  Discovery階段

Discovery階段由四個過程組成。完成之後通信雙方都會知道PPPoESession_ID 以及對方以太網地址,它們共同確定了唯一的PPPoE Session

(1)        PPPoE Client廣播發送一個PADI報文,在此報文中包含PPPoE Client想要得到的服務類型信息。

(2)        所有的PPPoE Server收到PADI報文之後,將其中請求的服務與自己能夠提供的服務進行比較,如果可以提供,則單播回複一個PADO報文。

(3)        根據網絡的拓撲結構,PPPoE Client可能收到多個PPPoE Server發送的PADO報文,PPPoE Client選擇最先收到的PADO報文對應的PPPoE Server做為自己的PPPoE Server,並單播發送一個PADR報文。

(4)        PPPoE Server產生一個唯一的會話IDSESSION ID),標識和PPPoE Client的這個會話,通過發送一個PADS報文把會話ID發送給PPPoE Client,如果沒有錯誤,會話建立後便進入PPPoE Session階段。

2.3.2  Session階段

PPPoE Discovery階段的工作為PPPoE ClientPPPoE之間建立了Session,之後PPPoE便進入了Session階段,Session階段可劃分為兩部分,一是PPP協商階段,二是PPP報文傳輸階段。

PPPoE Session上的PPP協商和普通的PPP協商方式一致,分為LCP、認證、NCP三個階段。

(1)        LCP階段主要完成建立、配置和檢測數據鏈路連接。

(2)        LCP協商成功後,開始進行認證工作,認證協議類型由LCP協商結果(CHAP或者PAP)決定。

(3)        認證成功後,PPP進入NCP階段,NCP是一個協議族,用於配置不同的網絡層協議,常用的是IP控製協議(IPCP),它負責配置用戶的IPDNS等工作。

PPPoE SessionPPP協商成功後,其上就可以承載PPP數據報文。

PPPoE Session階段所有的以太網數據包都是單播發送的。

2.3.3  Terminate階段

PPP通信雙方應該使用PPP協議自身(比如PPP終結報文)來結束PPPoE會話,但在無法使用PPP協議結束會話時可以使用PADT報文。

進入PPPoE Session階段後,PPPoE ClientPPPoE Server都可以通過發送PADT報文的方式來結束PPPoE連接。PADT數據包可以在會話建立以後的任意時刻單播發送。在發送或接收到PADT後,就不允許再使用該會話發送PPP流量了,即使是常規的PPP結束數據包也不允許發送。

典型組網應用

3.1  利用ADSL Modem將局域網接入Internet

3.1.1  組網需求

企業希望使用一個公共帳號訪問Internet

l              Router A作為PPPoE Client,通過一個帳號訪問Internet(相當於整個企業的員工公用這個帳號)。

l              Router B作為PPPoE Server連接至DSLAM,提供RADIUS認證、計費等功能,同時連接到Internet

3.1.2  組網圖

圖5 利用ADSL Modem將局域網接入Internet組網圖

3.2  無線PPPoE接入

3.2.1  組網需求

AP設備作為PPPoE ClientBRAS設備作為PPPoE Server,終端用戶可以直接通過無線網絡訪問Internet

3.2.2  組網圖

圖6 無線PPPoE接入組網圖

參考文獻

l              RFC1661The Point-to-Point Protocol (PPP)

l              RFC2516A Method for Transmitting PPP Over Ethernet (PPPoE)

附錄

5.1  報文結構

1. PADIPPPoE Active Discovery Initiation

l              Code域為0x09

l              Session_ID域為0x0000

l              TAG_TYPE域為0x0101Service-Name),表明後麵緊跟的是服務的名稱。有且隻有一個TAG_TYPEService-NameTAG,其他類型的TAG可選。

圖7 PADI數據包舉例

2. PADOPPPoE Active Discovery Offer

l              Code域為0x07

l              SESSION_ID域為0x0000

l              TAG_TYPE域為0x0101Service-Name),表明後麵緊跟的是服務的名稱;為0x0102AC-Name)表明後麵緊跟的字符串唯一地表示了某個特定的訪問集中器。有且隻有一個TAG_TYPEAC-NameTAG,至少一個TAG_TYPEService-NameTAG

圖8 PADO數據包舉例

3. PADRPPPoE Active Discovery Request

l              Code域為0x19

l              SESSION_ID0x0000

l              TAG_TYPE域為0x0101Service-Name),表明後麵緊跟的是服務的名稱。有且隻有一個TAG_TYPEService-NameTAG,其他類型的TAG可選。

圖9 PADR數據包舉例

4. PADSPPPoE Active Discovery Session-confirmation

l              Code域為0x65

l              SESSION_IDDiscovery階段分配的數值。

l              TAG為可選。

圖10 PADS數據包舉例

5. PADTPPPoE Active Discovery Terminate

l              Code域為0xa7

l              SESSION_ID域為Discovery階段分配的數值。

l              TAG

圖11 PADT數據包舉例

 

 

 

Copyright ©2009 杭州華三通信技術有限公司 版權所有,保留一切權利。

非經本公司書麵許可,任何單位和個人不得擅自摘抄、複製本文檔內容的部分或全部,並不得以任何形式傳播。

本文檔中的信息可能變動,恕不另行通知。

附件下載

聯係我們