簡介
它使用傳統的基於PPP的軟體來管理一個不是使用
串列線路而是使用類似於乙太網的有向分組網路的連線。這種有登入和口令的標準連線,方便了接入供應商的記費。並且,連線的另一端僅當PPPoE連線接通時才分配
IP位址,所以允許IP位址的
動態復用。
PPPoE是由UUNET、Redback Networks和RouterWare所開發的。發表於RFC 2516說明中。
PPPoE的階段
PPPoE發現
由於傳統的
PPP連線是創建在
串列鏈路或撥號時創建的ATM虛電路連線上的,所有的PPP幀都可以確保通過電纜到達對端。但是
乙太網是多路訪問的,每一個節點都可以相互訪問。以太幀包含目的節點的
物理地址(
MAC地址),這使得該幀可以到達預期的目的節點。 因此,為了在乙太網上創建連線而交換PPP控制報文之前,兩個端點都必須知道對端的MAC地址,這樣才可以在控制報文中攜帶MAC地址。PPPoE發現階段做的就是這件事。除此之外,在此階段還將創建一個會話ID,以供後面交換報文使用。
PPP會話
一旦連線的雙方知道了對端的MAC地址,會話就創建了。
PPPoE發現階段
儘管傳統的PPP是
點對點協定,但是由於多個主機可以通過一個單獨的
物理連線連線到一個
服務提供者,因此PPPoE本身就是一個客戶端-伺服器的關係。 發現過程包含四個步驟。主機作為客戶端,ISP端的訪問
集中器作為伺服器。這四步在下面詳述。最後一步第五步是關閉一個現存會話的方法。
1.到伺服器
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設備才應該回復。
2.伺服器到客戶端
PADO為PPPoE Active Discovery Offer的縮寫。
一旦用戶計算機傳送了PADI報文,DSL-AC就會使用PADI中提供的MAC地址回復一個PADO報文。PADO報文中包含了DSL-AC的MAC地址、名稱以及服務名。如果多於一個POP的DSL-AC回復了PADO報文,用戶計算機就使用提供的名稱和服務來從中選擇一個。
3.客戶端到伺服器
PADR為PPPoE Active Discovery Request的縮寫。
當用戶計算機收到一個來自DSL-AC的可接受的PADO報文後,就會傳送一個PADR報文給DSL-AC,用來確認接受傳送PADO報文的DSL-AC所提供的PPPoE連線。
4.伺服器到客戶端
PADS為PPPoE Active Discovery Session-confirmation的縮寫。
上面的PADR報文由DSL-AC的PADS報文進行確認,並在其中攜帶一個會話ID。用戶計算機與此DSL-AC的連線就完整創建了。
5.任何一方
PADT為PPPoE Active Discovery Termination的縮寫。
這個報文終結用戶計算機與POP的的連線,可由用戶計算機或DSL-AC任意一方傳送。
使用時的缺點
使用Internet前,需先透過PPPoE進行撥接,而非計算機引導後立即上網。(引導後立即上網,詳見
DHCP,有些ISP有提供第1台PC自DHCP獲取固定IP)
部分
ISP會對PPPoE的連線用戶採取定時斷線,以節省營運成本及IP位址的占用,故對於需長時間掛網的用戶較不利。但也有部分ISP為提供用戶選擇PPPoE可發配非固定IP或固定IP的服務。
故障分析
這種情況主要針對
Windows ME和Windows98而言,解決辦法是在Windows98下添加撥號適配器組件即可。對Windows ME而言,因為它沒有直接添加撥號適配器的選項,所以必須在
控制臺中先刪除撥號
網路組件,再添加撥號網路組件,完成適配器的添加。
(2)691/629故障描述:不能通過驗證
可能的原因是用戶的賬戶或者密碼輸入錯誤,或用戶的
賬戶餘額不足,用戶在使用時未正常退出而造成
用戶賬號駐留,可等待幾分鐘或重新啟動後再撥號。
(3)630故障描述:無法撥號,沒有合適的網卡和驅動
可能的原因是網卡未安裝好、
網卡驅動不正常或網卡損壞。檢查網卡是否工作正常或更新網卡驅動。
(4)633故障描述:數據機(或其它連線設備)已在使用,或沒有正確配置。 如果是撥號
網路連線,則網路連線試圖使用的
COM連線埠正在被其他活動網路連線或其他進程(例如,諸如傳真程式之類的電話線路監視程式)使用。退出阻止使用COM連線埠的
應用程式。
(5)720故障描述:不支持PPPoE連線
(6)697故障描述:網卡禁用
只要在設備管理中重新啟用網卡即可。
(7)769故障描述:撥號時報769錯誤
在
Windows XP系統中網卡被禁用、系統檢測不到網卡或者
撥號軟體故障,有時會報769錯誤。重新啟用網卡、檢查網卡工作是否正常或重裝撥號軟體即可解決。
(8)678(651)故障描述:無法建立連線
遠程計算機沒有回響,
windows xp 錯誤代碼為678,windows 7錯誤代碼為651,造成此故障的原因是基礎線路問題,或者您的
網際網路服務提供商設備問題。
發展前景
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驗證缺陷所帶來的危害》