複製鏈接
請複製以下鏈接發送給好友

PPPOE

鎖定
PPPoE(英語:Point-to-Point Protocol Over Ethernet),以太網上的點對點協議,是將點對點協議(PPP)封裝在以太網(Ethernet)框架中的一種網絡隧道協議。由於協議中集成PPP協議,所以實現出傳統以太網不能提供的身份驗證、加密以及壓縮等功能,也可用於纜線調制解調器(cable modem)和數字用户線路(DSL)等以以太網協議向用户提供接入服務的協議體系。
中文名
基於以太網的點對點通訊協議
外文名
Point to Point Protocol over Ethernet
簡    稱
PPPoE
適    用
ADSL等
學    科
計算機
領    域
計算機

PPPOE簡介

PPPoE(英語:Point-to-Point Protocol Over Ethernet),以太網上的點對點協議,是將點對點協議(PPP)封裝在以太網(Ethernet)框架中的一種網絡隧道協議。由於協議中集成PPP協議,所以實現出傳統以太網不能提供的身份驗證、加密以及壓縮等功能,也可用於纜線調制解調器(cable modem)和數字用户線路(DSL)等以以太網協議向用户提供接入服務的協議體系。
本質上,它是一個允許在以太網廣播域中的兩個以太網接口間創建點對點隧道的協議。
Linux系統常用的pppd為例,支持PPP接口上面的IPIPv6IPX網絡層協議
它使用傳統的基於PPP的軟件來管理一個不是使用串行線路而是使用類似於以太網的有向分組網絡的連接。這種有登陸和口令的標準連接,方便了接入供應商的記費。並且,連接的另一端僅當PPPoE連接接通時才分配IP地址,所以允許IP地址的動態複用
PPPoE是由UUNET、Redback Networks和RouterWare所開發的。發表於RFC 2516説明中。

PPPOEPPPoE的階段

PPPoE分為兩個階段 [1] 

PPPOEPPPoE發現

由於傳統的PPP連接是創建在串行鏈路或撥號時創建的ATM虛電路連接上的,所有的PPP幀都可以確保通過電纜到達對端。但是以太網是多路訪問的,每一個節點都可以相互訪問。以太幀包含目的節點的物理地址MAC地址),這使得該幀可以到達預期的目的節點。 因此,為了在以太網上創建連接而交換PPP控制報文之前,兩個端點都必須知道對端的MAC地址,這樣才可以在控制報文中攜帶MAC地址。PPPoE發現階段做的就是這件事。除此之外,在此階段還將創建一個會話ID,以供後面交換報文使用。

PPPOEPPP會話

一旦連接的雙方知道了對端的MAC地址,會話就創建了。

PPPOEPPPoE發現階段

儘管傳統的PPP是點對點協議,但是由於多個主機可以通過一個單獨的物理連接連接到一個服務提供者,因此PPPoE本身就是一個客户端-服務器的關係。 發現過程包含四個步驟。主機作為客户端,ISP端的訪問集中器作為服務器。這四步在下面詳述。最後一步第五步是關閉一個現存會話的方法。 [2] 

PPPOE1.到服務器

PADI為PPPoE Active Discovery Initiation的縮寫。
如果一個用户想要使用DSL撥號連入Internet,那麼他的計算機必須首先在其ISP網絡服務提供點(POP)找到DSL訪問集中器(DSL-AC)。在以太網上通訊只能通過MAC地址。由於計算機不知道DSL-AC的MAC地址,於是就在以太網上廣播一個PADI報文。這個報文中包含發送者的MAC地址。
PADI報文可能被一個以上的DSL-AC接收。 只有可以提供“服務名稱”(Service-Name)的DSL-AC設備才應該回復。

PPPOE2.服務器到客户端

PADO為PPPoE Active Discovery Offer的縮寫。
一旦用户計算機發送了PADI報文,DSL-AC就會使用PADI中提供的MAC地址回覆一個PADO報文。PADO報文中包含了DSL-AC的MAC地址、名稱以及服務名。如果多於一個POP的DSL-AC回覆了PADO報文,用户計算機就使用提供的名稱和服務來從中選擇一個。

PPPOE3.客户端到服務器

PADR為PPPoE Active Discovery Request的縮寫。
當用户計算機收到一個來自DSL-AC的可接受的PADO報文後,就會發送一個PADR報文給DSL-AC,用來確認接受發送PADO報文的DSL-AC所提供的PPPoE連接。

PPPOE4.服務器到客户端

PADS為PPPoE Active Discovery Session-confirmation的縮寫。
上面的PADR報文由DSL-AC的PADS報文進行確認,並在其中攜帶一個會話ID。用户計算機與此DSL-AC的連接就完整創建了。

PPPOE5.任何一方

PADT為PPPoE Active Discovery Termination的縮寫。
這個報文終結用户計算機與POP的的連接,可由用户計算機或DSL-AC任意一方發送。

PPPOE使用時的缺點

  1. 使用Internet前,需先透過PPPoE進行撥接,而非計算機引導後立即上網。(引導後立即上網,詳見DHCP,有些ISP有提供第1台PC自DHCP獲取固定IP)
  2. 部分ISP會對PPPoE的連線用户採取定時斷線,以節省營運成本及IP地址的佔用,故對於需長時間掛網的用户較不利。但也有部分ISP為提供用户選擇PPPoE可發配非固定IP或固定IP的服務。
  3. Windows XP之後的WindowsMac OS XLinux等操作系統等皆已內置PPPoE的撥接功能,更早期的操作系統需另行安裝PPPoE的撥接程序,如Enternet 300、RAS PPPoE等。

PPPOE故障分析

(1)645故障描述:撥號適配器未裝
這種情況主要針對Windows ME和Windows98而言,解決辦法是在Windows98下添加撥號適配器組件即可。對Windows ME而言,因為它沒有直接添加撥號適配器的選項,所以必須在控制面板中先刪除撥號網絡組件,再添加撥號網絡組件,完成適配器的添加。
(2)691/629故障描述:不能通過驗證
可能的原因是用户的賬户或者密碼輸入錯誤,或用户的賬户餘額不足,用户在使用時未正常退出而造成用户賬號駐留,可等待幾分鐘或重新啓動後再撥號。
(3)630故障描述:無法撥號,沒有合適的網卡和驅動
可能的原因是網卡未安裝好、網卡驅動不正常或網卡損壞。檢查網卡是否工作正常或更新網卡驅動。
(4)633故障描述:調制解調器(或其它連接設備)已在使用,或沒有正確配置。
如果是撥號網絡連接,則網絡連接試圖使用的COM端口正在被其他活動網絡連接或其他進程(例如,諸如傳真程序之類的電話線路監視程序)使用。退出阻止使用COM端口的應用程序
如果是虛擬專用網絡(VPN),則不能打開網絡連接試圖使用的VPN設備。這需要您的系統管理員才能解決。
如果這是寬帶連接,則無法打開網絡連接嘗試使用的寬帶設備。確保要求硬件(電纜調制解調器)運行正常。有關所需硬件的詳細信息需要您的寬帶服務提供商來解答。
(5)720故障描述:不支持PPPoE連接
它是Windows 2000特有的故障,建議重新啓動後再進行連接,如仍不能排除故障,建議重裝系統。
(6)697故障描述:網卡禁用
只要在設備管理中重新啓用網卡即可。
(7)769故障描述:撥號時報769錯誤
Windows XP系統中網卡被禁用、系統檢測不到網卡或者撥號軟件故障,有時會報769錯誤。重新啓用網卡、檢查網卡工作是否正常或重裝撥號軟件即可解決。
(8)678(651)故障描述:無法建立連接
遠程計算機沒有響應,windows xp 錯誤代碼為678,windows 7錯誤代碼為651,造成此故障的原因是基礎線路問題,或者您的互聯網服務提供商設備問題。

PPPOE發展前景

PPPoE是從窄帶技術演化而來,PPP最早就是專門為電話線上網而設計的,當寬帶普及後,為了兼容以前的電話線用户習慣,故在寬帶網絡中繼承了PPP技術。PPPoE是一種過渡技術,已經基本處於淘汰階段。原因如下:
1、PPPoE是一種2層鏈路技術,正常下無法穿透三層交換機,若要在三層交換機傳輸,就必須做trunk,即把三層當作二層交換機使用。這導致不能充分發揮三層交換機的潛能,三層交換機的很多高級功能都無法使用,從而浪費了寶貴的網絡設備資源。也給整體網絡規劃造成了一定的複雜性。如果一開始採用了PPPoE認證,那麼以後想要使用三層交換機網絡規劃功能,調整整體網絡,那麼將是一個巨大的工作量。
2、寬帶使用PPPoE方式,將造成不必要的帶寬損耗,而且上網速度比正常寬帶速度要慢一個級別。原因是採用PPPoE比正常寬帶包,多了2個協議層,一個是PPPoE協議層,另一個就是PPP協議層,這幾個協議層頭會增加到正常數據包頭部裏,在傳輸數據過程中,多出了不少額外數據,撥號握手過程也比正常多了好幾個步驟。
3、2004年開始,ARP攻擊在網絡流行時,PPPoE由於自身與ARP無關的特點,使其具有天然免疫優勢,所以,當時很多場合對PPPoE有較高的需求。
但經過近10年網絡發展,隨着各種安全軟件普及,如360、電腦管家、以及各種殺毒軟件等都早已具有防止ARP攻擊功能。因此,ARP攻擊已經徹底消失殆盡。PPPoE的各種缺點已經越來越不適應寬帶網絡的發展。
4、PPPoE客户端一般都會採用操作系統自帶的PPPoE,但設置比較麻煩,有很多步驟,普通家庭用户若不熟悉,大多數根本搞不定,此時維護人員必須挨家挨户進行上門設置,這給網絡維護帶來了很大工作量。非常不利寬帶網絡用户的發展和運營,將經常接到用户關於PPPoE的使用投訴。
5、PPPoE的效率比較低,從PPPoE協議模型可以看出,BAS匯聚了用户的所有數據流,它必須將每一個PPPoE包都拆開檢查處理,這在很大程度上是沿襲了傳統的PPP處理的方式,一旦用户很多,數據包數量很大,解封裝速度就需要很快,BAS很大的精力花在檢測用户的數據包上,容易形成接入的“瓶頸”。
6、PPPoE由於採用了二層鏈路方式,所以在防止ARP三層包攻擊方式具有很大安全性,但PPPoE自身卻存在着協議不安全性,因為PPPoE認證是採用廣播方式,在網段內只要裝個網絡嗅探器,都能截獲到PPPoE包,並能做任意修改重定向。關於PPPoE安全漏洞詳細描述見最後參考資料《PPPoE驗證缺陷所帶來的危害》
參考資料
  • 1.    D'annunzio M A, Skahan Jr V D, Devereaux E E. Mobile communications network using point-to-point protocol over ethernet: U.S. Patent 7,054,322[P]. 2006-5-30.
  • 2.    Mamakos L, Lidl K, Evarts J, et al. A method for transmitting PPP over Ethernet (PPPoE)[R]. 1999.