共找到2條詞條名為PPPOE的結果 展開
- 一種網路隧道協議
- PPOE
PPPOE
一種網路隧道協議
PPPoE(英語:Point-to-Point Protocol Over Ethernet),乙太網上的點對點協議,是將點對點協議(PPP)封裝在乙太網(Ethernet)框架中的一種網路隧道協議。由於協議中集成PPP協議,所以實現出傳統乙太網不能提供的身份驗證、加密以及壓縮等功能,也可用於纜線數據機(cable modem)和數字用戶線路(DSL)等以乙太網協議向用戶提供接入服務的協議體系。
modem接入技術面臨一些相互矛盾的目標,既要通過同一個用戶前置接入設備連接遠程的多個用戶主機,又要提供類似撥號一樣的接入控制,計費等功能,而且要儘可能地減少用戶的配置操作。PPPoE的目標就是解決上述問題,1998年後期問世的乙太網上點對點協議(PPPoverEthernet)技術是由Redback網路公司、客戶端軟體開發商RouterWare公司以及Worldcom子公司UUNET Technologies公司在IETFRFC的基礎上聯合開發的。通過把最經濟的區域網技術-乙太網和點對點協議的可擴展性及管理控制功能結合在一起,網路服務提供商和電信運營商便可利用可靠和熟悉的技術來加速部署高速網際網路業務。它使服務提供商在通過數字用戶線、電纜數據機或無線連接等方式,提供支持多用戶的寬頻接入服務時更加簡便易行。同時該技術亦簡化了最終用戶在選擇這些服務時的配置操作。
PPPoE:乙太網上的 PPP
(PPPoE:Point to Point Protocol over Ethernet)
在 乙太網上承載PPP協議(點到點連接協議),它利用乙太網將大量主機組成網路,通過一個遠端接入設備連入網際網路,並對接入的每一個主機實現控制、計費功能。極高的性能價格比使PPPoE在包括小區組網建設等一系列應用中廣泛採用。
PPPoE 的乙太網有效載荷顯示如下:
PPPOE
8
16
32 bit
Ver
Type
Code
Session-ID
Length
Payload
VER―PPPOE版本。必須設置為0x1。
TYPE―必須設置為 0x1。
CODE―Discovery和PPP Session階段有定義。
SESSION_ID―無符號值。Discovery數據包中有該欄位定義。對於特定的PPP Session而言,該值為固定值。實際上,該欄位定義了包括乙太網SOURCE_ADDR和DESTINATION_ADDR的PPP。0xffff作為預留值,不作使用。
LENGTH―表示PPPoE有效載荷長。不包括乙太網或 PPPoE 頭的長度。
隨著低成本的寬頻技術變得日益流行,DSL(Digital Subscriber Line)數字用戶線技術更是使得許多計算機在網際網路上能夠酣暢淋漓的衝浪了。但是這也增加了DSL服務提供商們對於網路安全的擔心。
通過ADSL方式上網的計算機大都是通過乙太網卡(Ethernet)與網際網路相連的。同樣使用的還是普通的TCP/IP方式,並沒有附加新的協議。另外一方面,數據機的撥號上網,使用的是PPP協議,即Point to Point Protocol,點到點協議,該協議具有用戶認證及通知IP地址的功能。PPP over Ethernet(PPPoE)協議,是在乙太網路中轉播PPP幀信息的技術,尤其適用於DSL等方式。
PPPoE協議的工作流程包含發現和會話兩個階段,發現階段是無狀態的,目的是獲得PPPoE終結端(在局端的ADSL設備上)的乙太網MAC地址,並建立一個唯一的PPPoE SESSION-ID。發現階段結束后,就進入標準的PPP會話階段。
當一個主機想開始一個PPPoE會話,它必須首先進行發現階段,以識別局端的乙太網MAC地址,並建立一個PPPoE SESSION-ID。在發現階段,基於網路的拓撲,主機可以發現多個接入集中器,然後允許用戶選擇一個。當發現階段成功完成,主機和選擇的接入集中器都有了他們在乙太網上建立PPP連接的信息。直到PPP會話建立,發現階段一直保持無狀態的Client/Server(客戶/伺服器)模式。一旦PPP會話建立,主機和接入集中器都必須為PPP虛介面分配資源。
PPPoE協議會話的發現和會話兩個階段具體進程如下。
在發現(Discovery)階段中用戶主機以類似廣播的方式尋找所連接的所有接入集中器(或交換機),並獲得其乙太網MAC地址。然後選擇需要訪問的接入集中器,並確定所要建立的PPP會話唯一標識號碼。發現階段有4個步驟,當此階段完成,通信的兩端都知道PPPoE SESSION-ID和對端的乙太網地址,他們一起唯一定義PPPoE會話。這4個步驟如下。
(1)主機廣播發起分組(PADI),分組的目的地址為乙太網的廣播地址0×ffffffffffff,CODE(代碼)欄位值為0×09,SESSION-ID(會話ID)欄位值為0×0000。PADI分組必須至少包含一個服務名稱類型的標籤(標籤類型欄位值為0×0101),向接入集中器提出所要求提供的服務。
(2)接入集中器收到在服務範圍內的PADI分組,發送PPPoE有效發現提供包(PADO)分組,以響應請求。其中CODE欄位值為0×07,SESSION-ID欄位值仍為0×0000。PADO分組必須包含一個接入集中器名稱類型的標籤(標籤類型欄位值為0×0102),以及一個或多個服務名稱類型標籤,表明可向主機提供的服務種類。
(3)主機在可能收到的多個PADO分組中選擇一個合適的PADO分組,然後向所選擇的接入集中器發送PPPoE有效發現請求分組(PADR)。其中CODE欄位為0×19,SESSION_ID欄位值仍為0×0000。PADR分組必須包含一個服務名稱類型標籤,確定向接入集線器(或交換機)請求的服務種類。當主機在指定的時間內沒有接收到PADO,完整它應該重新發送它的PADI分組,並且加倍等待時間,這個過程會被重複期望的次數。
(4)接入集中器收到PADR分組后準備開始PPP會話,它發送一個PPPoE有效發現會話確認PADS分組。其中CODE欄位值為0×65,SESSION-ID欄位值為接入集中器所產生的一個唯一的PPPoE會話標識號碼。PADS分組也必須包含一個接入集中器名稱類型的標籤以確認向主機提供的服務。當主機收到PADS分組確認后,雙方就進入PPP會話階段。
用戶主機與接入集中器根據在發現階段所協商的PPP會話連接參數進行PPP會話。一旦PPPoE會話開始,PPP數據就可以以任何其他的PPP封裝形式發送。所有的乙太網幀都是單播的。PPPoE會話的SESSION-ID一定不能改變,並且必須是發現階段分配的值。
PPPoE還有一個PADT分組,它可以在會話建立后的任何時候發送,來終止PPPoE會話,也就是會話釋放。它可以由主機或者接入集中器發送。當對方接收到一個PADT分組,就不再允許使用這個會話來發送PPP業務。PADT分組不需要任何標籤,其CODE欄位值為0×a7,SESSION-ID欄位值為需要終止的PPP會話的會話標識號碼。在發送或接收PADT后,即使正常的PPP終止分組也不必發送。PPP對端應該使用PPP協議自身來終止PPPoE會話,但是當PPP不能使用時,可以使用PADT。
PPPOE
2.AC向客戶端發送PADO報文。
3.客戶端根據回應,發起PADR請求給AC。
4.Ac產生一個session id,通過PADS發給客戶端。
5.客戶端和AC之間進行PPP的LCP協商,建立鏈路層通信。同時,協商使用PAP、CHAP認證方式。
6.AC通過Challenge報文發送給認證客戶端,提供一個128bit的Challenge。
7.客戶端收到Challenge報文後,將密碼和Challenge做MD5演演算法后的Challenge—Password,在Response回應報文中把它發送給AC設備。
8.Ac將Challenge、challenge-Password和用戶名一起送到RADIus用戶認證伺服器,由RADIUS用戶認證伺服器進行認證。
9.RADIUS用戶認證伺服器根據用戶信息判斷用戶是否合法,然後回應認證成功/失敗報文到AC。如果成功,攜帶協商參數,以及用戶的相關業務屬性給用戶授權。如果認證失敗,則流程到此結束。
10.AC將認證結果返回給客戶端。
11.用戶進行NCP(如IPCP)協商,通過AC獲取到規劃的IP地址等參數。
12.認證如果成功,AC發起計費開始請求給RADIUS用戶認證伺服器。
13.RADIUS用戶認證伺服器回應計費開始請求報文。用戶上線完畢,開始上網。
假如客戶端要通過一個區域網與遠程的PPPoE伺服器進行身份驗證,這時,它們會有兩個不同的會話階段,Discovery階段和PPP會話階段。當一個客戶端想開始一個PPPoE會話時,它必須首先進行發現階段以識別對端的乙太網MAC地址,並建立一個PPPoESESSON_ID。在發現階段,基於網路的拓撲結構,客戶端可以發現多個PPPoE伺服器,然後從中選擇一個,不過通常都是選擇反應最快的一個。
Discovery階段是一個無狀態的階段,該階段主要是選擇接入伺服器,確定所要建立的PPP會話標識符Session ID,同時獲得對方點到點的連接信息;PPP會話階段執行標準的PPP過程。當此階段完成,通信的兩端都知道PPPoESESSON_ID和對端的乙太網地址,它們一起定義了一個唯一的PPPoE會話。這些步驟包括客戶端廣播一個發起分組(PADI),一個或多個PPPoE伺服器發送響應分組(PADO),客戶端向選中的伺服器發送請求分組(PADR),選中的PPPoE伺服器發送一個確認分組(PADS)給客戶端。當客戶端接收到確認分組,它可以開始進行PPP會話階段。當PPPoE伺服器發送出確認分組,它可以開始PPP會話。
當客戶端在指定的時間內沒有接收到PADO,它應該重新發送它的PADI分組,並且加倍等待時間,這個過程會被重複期望的次數。如果客戶端正等待接收PADS,應該使用具有客戶端重新發送PADR的相似超時機制。在重試指定的次數后,主機應該重新發送PADI分組。PPPoE還有一個PADT分組,它可以在會話建立后的任何時候發送,來終止PPPoE會話。它可以由客戶端或者PPPoE伺服器發送。當接收到一個PADT,不再允許使用這個會話來發送PPP業務在發送或接收PADT后,即正常的PPP不能使用時,可以使用PADT,一旦PPPoE會話開始,PPP數據就可以以任何其它的PPP封裝形式發送。所有的乙太網幀都是單播的,身份驗證是發生在會話階段的,PPPoE會話的SESSION_ID一定不能改變,並且必須是發現階段分配的值。
建立PPPoE通道(ADSL撥號)分兩個階段:發現階段和PPP會話階段。
在發現階段,乙太網上的客戶機要找到一個訪問集中器(AC,Access Concentrator),也就是局端的AC,不是客戶端的那個貓,發現階段完成後,客戶機和AC都得到要在乙太網上建立PPP通道的相關信息。
發現階段是無狀態的,也就是兩邊都不用保存以前的狀態信息;只有PPP會話開始后,雙方就要建立一個虛擬的PPP通信介面,具體在Linux下會有ppp0網卡,在windows下網路連接中增加ADSL的介面。
協議值
PPPoE數據是直接在以太頭數據之上的,其等級和ARP、IP等是相同的,在以太頭的類型欄位中,用0x8863表示是PPPoE發現階段數據,用0x8864表示PPP會話階段數據,如下所示。(類比:0x0800表示IP數據,0x0806表示ARP數據)
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 1 | 2 | 3 | 4 | 5 | 6 | ||
Destination_ADDR (6 octets) | ||||||||||||||||
Source_ADDR (6 octets) | ||||||||||||||||
Ether_TYPE (2 octets) | ||||||||||||||||
payload | ||||||||||||||||
Checksum |
PPPoE協議頭
0 1 | 2 3 | 4 5 | 6 7 | 8 9 | 0 1 | 2 3 | 4 5 | 6 7 | 8 9 | 0 1 | 2 3 | 4 5 | 6 7 | 8 9 | 0 1 |
VER | TYPE | CODE | SESSION_ID | ||||||||||||
LENGTH | payload |
PPPOE協議頭有6個位元組,正好和14位元組的以太頭實現了4位元組對齊,包括以下欄位:
VER:版本號,4位,必須為0x01TYPE:類型,4位,必須是0x01CODE:8位,在發現階段和PPP會話階段有不同的定義,表示PPPOE數據類型SESSION_ID:16位,用來定義一個PPP會話,在發現過程中定義。LENGTH:16位,表示負載長度,不包括以太頭和PPPOE頭。
CODE域值 | 包類型 |
0x09 | PADI(PPPoE Active Discovery Initiation) |
0x07 | PADO(PPPoE Active Discovery Offer) |
0x19 | PADR(PPPoE Active Discovery Request) |
0x65 | PADS(PPPoE Active Discovery Session-confirmation) |
0xa7 | PADT(PPPoE Active Discovery Terminate) |
PPPoE發現階段數據的以太類型是0x8863。
TAG
在發現階段用於交換客戶機和AC的信息,建立PPPoE通道,負載信息都是PPPoE信息,並沒有上層協議數據。
發現階段的負載稱為TAG,一個TAG信息格式如下,負載信息中可能會包含多個TAG:
0 1 | 2 3 | 4 5 | 6 7 | 8 9 | 0 1 | 2 3 | 4 5 | 6 7 | 8 9 | 0 1 | 2 3 | 4 5 | 6 7 | 8 9 | 0 1 |
TAG_TYPE | TAG_LENGTH | ||||||||||||||
TAG_VALUE |
TAG_TYPE:16位,表示TAG類型
TAG_LENGTH:16位,表示TAG_VALUE部分的長度
TAG_VALUE:TAG值
TAG_TYPE可取以下值(注意第一位元組為2表示是錯誤信息):
0x0000 End-Of-List
0x0101 Service-Name
0x0102 AC-Name
0x0103 Host-Uniq
0x0104 AC-Cookie
0x0105 Vendor-Specific
0x0110 Relay-Session-Id
0x0201 Service-Name-Error
0x0202 AC-System-Error
0x0203 Generic-Error
PPPoE主動發現初始包
PPPoE主動發現初始包(PPPoE Active Discovery Initiation,PADI)由客戶機發出,以太頭中的目的地址是以太廣播地址FF:FF:FF:FF:FF:FF,PPPoE頭中的CODE為0x09,SESSION_ID值必須為0,負載部分必須只包含一個Service-Name類型的TAG表示請求的服務類型,另外可以包含其他TAG,整個PPPoE包不能超過1484位元組,這樣省出的16位元組可以由ADSL中繼設備添加中繼TAG。
一個PADI包的例子為:
01 | 2 3 | 4 5 | 6 7 | 8 9 | 0 1 | 2 3 | 4 5 | 6 7 | 8 9 | 0 1 | 2 3 | 4 5 | 6 7 | 8 9 | 0 1 | |||
0xffffffff | ||||||||||||||||||
0xffff | Host_mac_addr | |||||||||||||||||
SESSION_ID=0x0000 | LENGTH =0x0004 | |||||||||||||||||
TAG_TYPE = 0x0101 | TAG_LENGTH = 0x0000 |
PPPoE主動發現提議包
PPPoE主動發現提議包(PPPoE Active Discovery Offer,PADO)由AC發出,用來回應客戶機的PADI包,以太頭中的目的地址是客戶機的MAC地址,PPPOE頭中的CODE為0x07,SESSION_ID值必須為0,負載部分必須包含一個AC-Name類型的TAG,用來指示本AC的名稱,一個在PADI包中指定的Service-Name的TAG,另外可以包含其他Service-Name的TAG。如果AC不對該客戶機提供服務,AC就不回應PADO包。一個PADO包的例子為:
01 | 2 3 | 4 5 | 6 7 | 8 9 | 0 1 | 2 3 | 4 5 | 6 7 | 8 9 | 0 1 | 2 3 | 4 5 | 6 7 | 8 9 | 0 1 | |||
Host_mac_addr | ||||||||||||||||||
Host_mac_addr (cont) | Access_Concentrator_mac_addr | |||||||||||||||||
Access_Concentrator_mac_addr (cont) | ||||||||||||||||||
ETHER_TYPE = 0x8863 | v=1 | t=1 | CODE=0x07 | |||||||||||||||
SESSION_ID=0x0000 | LENGTH =0x0020 | |||||||||||||||||
TAG_TYPE = 0x0101 | TAG_LENGTH = 0x0000 | |||||||||||||||||
TAG_TYPE = 0x0102 | TAG_LENGTH = 0x0018 | |||||||||||||||||
0x47 | 0x6f | 0x20 | 0x52 | |||||||||||||||
0x65 | 0x64 | 0x42 | 0x61 | |||||||||||||||
0x63 | 0x6b | 0x20 | 0x2d | |||||||||||||||
0x20 | 0x65 | 0x73 | 0x68 | |||||||||||||||
0x73 | 0x68 | 0x65 | 0x73 | |||||||||||||||
0x68 | 0x6f | 0x6f | 0x74 |
PPPoE主動發現請求包
PPPoE主動發現請求包(PPPoE Active Discovery Request,PADR)由客戶機發出,因為可能會有多個AC對客戶機發出的PADI包回應了PADO包,客戶機從回應的PADO包中選擇一個AC發送PADR包,以太頭中的目的地址是該AC的MAC地址。
PPPoE主動發現會話確認包
PPPoE主動發現會話確認包(PPPoE Active Discovery Session-confirmation,PADS)由AC發出,收到客戶機的PADR包后,AC將產生一個SEESSION_ID值用來標誌本次PPP會話,以PADR包方式發送給客戶機。以太頭中的目的地址是客戶機的MAC地址,PPPoE頭中的CODE為0x65,SESSION_ID值必須為所生成的那個SESSION_ID,負載部分必須只包含一個Service-Name類型的TAG,表示該服務類型被AC接受,另外可以包含其他TAG。如果AC不接受PADR中的Server-Name,PADS中則包含一個Service-Name-Error類型的TAG,這時SESSION_ID設置為0。
PPPoE主動發現停止包
PPPoE主動發現停止包(PPPoE Active Discovery Terminate,PADT)表示PPPoE會話過程的結束,AC和客戶機都可以主動發出。以太頭中的目的地址是對方的MAC地址,PPPoE頭中的CODE為0xa7,SESSION_ID值必須為PPPoE會話過程的SESSION_ID,不需要TAG。
在PPP會話階段,PPP包被封裝在PPPoE以太幀中,以太包目的地址都是單一的,以太協議為0x8864,PPPoE頭的CODE必須為0,SESSION_ID必須一直為發現階段協商出的SEESION_ID值,PPPoE的負載是整個PPP包,PPP包前是兩位元組的PPP協議ID值。
一個PPPOE會話過程包的例子為:
01 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Access_Concentrator_mac_addr (cont) Access_Concentrator_mac_addr(cont) Host_mac_addr Host_mac_addr (cont) ETHER_TYPE = 0x8863 v=1 t=1 CODE=0x00 SESSION_ID=0x1234 LENGTH =0x???? PPP PROTOCOL = 0xc021 PPP payload |
注意:由於PPPoE頭是6位元組,PPP協議ID號兩個位元組,一共要佔用8個位元組,而乙太網的MTU值為1500,所以上層PPP負載數據不能超過1492位元組,所以PPP協商時協商的最大接收單元值不能超過1492位元組,也就是相當於在PPPoE環境下的MTU是1492位元組。
客戶機啟動撥號程序,發送PADI包,ADSL MODEM回應PADO包,客戶機再發送PADR包,ADSL MODEM回應PADS包后建立PPPoE通道,隨後客戶機進行普通的PPP協議撥號過程,不過PPP數據包都是包裝進以太幀中的,撥號成功后客戶機和伺服器之間建立了PPP通道,ADSL MODEM起到將以太幀轉換為PPP包的作用。ADSL雖然是用電話線,但所用頻率不是通話用的頻率,所以ADSL撥號不影響打電話。通信結束后,會發送PADT斷開PPPoE通道。
我們用以下一問一答的方式提供PPPoE的有關知識,希望能夠對讀者有一定的幫助。這些知識大都來源Vicomsoft公司對TCP/IP路由技術的一些解釋及我們對網際網路連接的理解。
Vicomsoft公司開發和提供了Network Address Translation(網路地址翻譯)和TCP/IP路由技術,其中包括了PPP和PPPoE的全部特性。我們的軟體允許用戶以一種或多種方式將整個LAN(區域網)與網際網路相連,也稱軟路由。Vicomsoft在TCP/IP協議(包括PPP,PPPoE)的領域內取得很多寶貴經驗,並且願意將它的信息與有志於此的人分享。
PPPTCP/IP信息包本身並不能夠通過串列鏈路來傳輸,這使得它不適合於WAN廣域網(Wide Area Networks)。截止到撰寫此稿之時,還沒有一個切實可行的方法來擴展乙太網,雖然在不久的將來,隨著光纖10G乙太網的出現,這種情況將會得到改觀。而這些年來,電信公司在全世界建設了無數的串列通信鏈接網,因此他們迫切需要一種協議,使得TCP/IP信息包可以在串列線路上傳送。因此出現兩個有用的協議。
·SLIP (Serial Line Internet Protocol) 串列線路網際網路協議
·PPP
其中PPP是Point to Point Protocol(點到點協議)的字母縮寫。它是TCP/IP網路協議集的成員之一。也可以認為PPP是對TCP/IP的一個擴展,它增加了兩組有用的功能。
·它可以通過串列鏈路來傳送TCP/IP信息包。
·用戶登錄認證
PPP性能更加豐富,而且很大程度上取代了SLIP的地位。因為在公用電話系統中也採用了部分串列鏈路,所以必須確保通信的可靠性。為此,PPP將用戶名與密碼安全結合在一起,比如當接駁要求發起時,此要求通過PPP協議轉發到路由器和伺服器,這時候就可以進行安全驗證了。因為PPP具有在串列鏈路上傳遞TCP/IP 信息包的能力,並且還可以進行安全驗證,所以網際網路服務提供商ISP(Internet Service Providers)一般都是利用PPP協議,允許撥號用戶與網際網路相連。
PPPoEPPP是為串列通信設計的,現在它與乙太網(Ethernet)相結合,成為在乙太網路中轉播PPP幀信息的技術。也稱PPP over Ethernet,即PPPoE協議。PPP協議與乙太網並不是兼容的東西,因此用戶經常感到十分的迷惑,為什麼要將乙太網與PPP結合在一起呢?
如果我們將TCP/IP通信與公路交通相比的話,那麼基本的TCP/IP協議就是這個城市的街道網。街道上有許多的路口(或者停車點),人們在馬路上可以很容易地上車或者下車。但是人們不知道每條街上有多少輛車在跑,而且每新增加一個路口將帶來新的管理任務,因為你將更不清楚有多少人,有多少車在街道上跑了。PPP就好比鐵路,人們只能在固定的站點上上車或者下車,因此對乘客的管理和控制也相對容易(比如上車必須買票。)因此不妨再打個比喻,PPPoE就象是在街道上跑的火車,事實上這不是不可能的,比如電車軌道,地鐵。它帶來的好處是顯而易見的,首先它不影響城市裡其它的交通,其次還給你帶來鐵路的優點,比如流量的控制。
有些ISP並不是通過串列鏈路與用戶相連的,這種情況下PPPoE也可以帶來部分好處;使用串列鏈路的ISP早已經在數據機通信上使用PPP了,另一方面,DSL提供商通過乙太網,而不是串列鏈路通信,因此PPPoE可以滿足許多人的需要。並且,許多人對於PPPoE的附加能力感到特別滿意。因為PPPoE允許ISP們對用戶的登錄安全進行控制和測量用戶流量。
誰將使用PPPoE然而目前為止,只有DSL提供商是在使用PPPoE協議,cable modem有線電視網路服務提供商將在近兩年內也採用PPPoE。
誰將需要PPPoE需要使用PPPoE的DSL提供商通常會給他們的用戶提供多種PPPoE軟體。如果你只是通過DSL將一台電腦與網際網路相連,那麼這就足夠了。然而如果是企業用戶,需要將整個區域網通過DSL與網際網路相連,DSL提供商所提供的軟體就不夠用了。在區域網(LAN)與DSL的連接使用中,路由器和網際網路共享軟體的使用將存在一些兼容的問題。你需要與DSL服務提供商共同討論解決這個問題。
Vicomsoft公司的建議如果你是通過DSL和PPPoE將一台電腦與網際網路相連,那麼DSL提供商為你提供的軟體是已經足夠的,但是仍然有可以替換的產品。Vicomsoft公司推出的SurfDoubler軟體為PPPoE提供全方位的支持,隨著帶寬的增加,對各種類型的網際網路連接都可提供升級版。
如果你是使用DSL和PPPoE將一個區域網與網際網路相連,最經濟的方法就是使用由你的DSL ISP為你分配的唯一的公用IP地址。通過網際網路共享軟體和硬體,區域網內的用戶都可以享受到寬頻上網的樂趣了。但是要考慮的是網際網路共享軟體和硬體是否與你的PPPoE軟體兼容呢?我們的建議是你登錄到網際網路共享軟體和硬體的網站,在搜索引擎內鍵入"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是從窄帶技術演化而來,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驗證缺陷所帶來的危害》[2]
寬頻認證技術是寬頻計費系統的一個重要組成部分,它是對用戶進行上網管理控制的基本必要技術手段。目前寬頻常見的寬頻認證技術,包括WEB認證、客戶端認證、PPPoE認證、802.1X認證等。其中WEB認證和客戶端認證是最常用的寬頻認證技術,PPPoE認證是以前窄帶電話線時代遺留下來的認證技術,目前處於淘汰階段。802.1x也是早期一種認證技術,是基於埠的認證技術,但其嚴重依賴於其它第三方網路設備,對其它設備要求較高,部署缺乏靈活性和擴展性,所以,該技術目前也處於淘汰階段,很少有用戶採用這種技術。關於PPPoE特點前景詳細分析見上面章節《PPPoE認證特點及發展前景》
● ● 使用Internet前,需先透過PPPoE進行撥接,而非計算機引導后立即上網。(引導后立即上網,詳見DHCP,有些ISP有提供第1台PC自DHCP獲取固定IP)
● ● 部分ISP會對PPPoE的連線用戶採取定時斷線,以節省營運成本及IP地址的佔用,故對於需長時間掛網的用戶較不利。但也有部分ISP為提供用戶選擇PPPoE可發配非固定IP或固定IP的服務。
● ● 目前Windows XP之後的Windows,Mac OS X、Linux等操作系統等皆已內置PPPoE的撥接功能,更早期的操作系統需另行安裝PPPoE的撥接程序,如Enternet 300、RAS PPPoE等。