網(wǎng)絡(luò)技術(shù)是從1990年代中期發(fā)展起來的新技術(shù),它把互聯(lián)網(wǎng)上分散的資源融為有機(jī)整體,實(shí)現(xiàn)資源的全面共享和有機(jī)協(xié)作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計(jì)算機(jī)、存儲(chǔ)資源、數(shù)據(jù)資源、信息資源、知識(shí)資源、專家資源、大型數(shù)據(jù)庫、網(wǎng)絡(luò)、傳感器等。 當(dāng)前的互聯(lián)網(wǎng)只限于信息共享,網(wǎng)絡(luò)則被認(rèn)為是互聯(lián)網(wǎng)發(fā)展的第三階段。 寬帶接入網(wǎng)有很多值得學(xué)習(xí)的地方,這里我們主要介紹PPPoE協(xié)議概述,包括介紹PPPoE的特點(diǎn)和實(shí)際應(yīng)用等方面。希望對(duì)大家有所幫助,對(duì)寬帶接入網(wǎng)有一個(gè)更加深刻的了解。
近年來,網(wǎng)絡(luò)數(shù)據(jù)業(yè)務(wù)發(fā)展迅速,寬帶用戶呈爆炸式的增長,運(yùn)營商在采用xDSL,LAN,HFC,無線等多種接入方式的同時(shí),為了構(gòu)建一個(gè)可運(yùn)營、可管理、可盈利的寬帶網(wǎng)絡(luò),十分關(guān)心如何有效地完成用戶的管理,PPPoE就是隨之出現(xiàn)的多種認(rèn)證技術(shù)中的一種。
1 PPPoE協(xié)議概述
1.1PPPoE的工作原理 PPPoE(PPP over Ethernet)是在以太網(wǎng)上建立PPP連接,由于以太網(wǎng)技術(shù)十分成熟且使用廣泛,而PPP協(xié)議在傳統(tǒng)的撥號(hào)上網(wǎng)應(yīng)用中顯示出良好的可擴(kuò)展性和優(yōu)質(zhì)的管理控制機(jī)制,二者結(jié)合而成的PPPoE協(xié)議得到了寬帶接入網(wǎng)運(yùn)營商的認(rèn)可并廣為采用。
PPPoE建立過程可以分為Discovery階段和PPP會(huì)話階段。Discovery階段是一個(gè)無狀態(tài)的階段,該階段主要是選擇接入服務(wù)器,確定所要建立的PPP會(huì)話標(biāo)識(shí)符Session ID,同時(shí)獲得對(duì)方點(diǎn)到點(diǎn)的連接信息;PPP會(huì)話階段執(zhí)行標(biāo)準(zhǔn)的PPP過程。 一個(gè)典型的Discovery階段包括以下4個(gè)步驟: 主機(jī)首先主動(dòng)發(fā)送廣播包PADI尋找接入服務(wù)器,PADI必須至少包含一個(gè)服務(wù)名稱類型的TAG,以表明主機(jī)所要求提供的服務(wù)。 (2)接入服務(wù)器收到包后如果可以提供主機(jī)要求 (3)主機(jī)在回應(yīng)PADO的接入服務(wù)器中選擇一個(gè)合適的,并發(fā)送PADR告知接入服務(wù)器,PADR中必須聲明向接入服務(wù)器請(qǐng)求的服務(wù)種類。 (4)接入服務(wù)器收到PADR包后開始為用戶分配一個(gè)唯一的會(huì)話標(biāo)識(shí)符Session ID,啟動(dòng)PPP狀態(tài)機(jī)以準(zhǔn)備開始PPP會(huì)話,并發(fā)送一個(gè)會(huì)話確認(rèn)包PADS。
主機(jī)收到PADS后,雙方進(jìn)入PPP會(huì)話階段。在會(huì)話階段,PPPoE的以太網(wǎng)類域設(shè)置為0x8864,CODE為0x00,Session ID必須是Discovery階段所分配的值。
PPP會(huì)話階段主要是LCP、認(rèn)證、NCP 3個(gè)協(xié)議的協(xié)商過程,LCP階段主要完成建立、配置和檢測數(shù)據(jù)鏈路連接,認(rèn)證協(xié)議類型由LCP協(xié)商(CHAP或者PAP),NCP是一個(gè)協(xié)議族,用于配置不同的網(wǎng)絡(luò)層協(xié)議,常用的是IP控制協(xié)議(IPCP),它負(fù)責(zé)配置用戶的IP和DNS等工作。PADT包是會(huì)話中止包,它可以由會(huì)話雙方的任意一方發(fā)起,但必須是會(huì)話建立之后才有效。
2 PPPoE的特點(diǎn)
PPPoE不僅有以太網(wǎng)的快速簡便的特點(diǎn),同時(shí)還有PPP的強(qiáng)大功能,任何能被PPP封裝的協(xié)議都可以通過PPPoE傳輸,此外還有如下
特點(diǎn):
PPPoE很容易檢查到用戶下線,可通過一個(gè)PPP會(huì)話的建立和釋放對(duì)用戶進(jìn)行基于時(shí)長或流量的統(tǒng)計(jì),計(jì)費(fèi)方式靈活方便。
(2)PPPoE可以提供動(dòng)態(tài)IP地址分配方式,用戶無需任何配置,網(wǎng)管維護(hù)簡單,無需添加設(shè)備就可解決IP地址短缺問題,同時(shí)根據(jù)分配的IP地址,可以很好地定位用戶在本網(wǎng)內(nèi)的活動(dòng)。
(3)用戶通過免費(fèi)的PPPoE客戶端軟件(如EnterNet),輸入用戶名和密碼就可以上網(wǎng),跟傳統(tǒng)的撥號(hào)上網(wǎng)差不多,最大程度地延續(xù)了用戶的習(xí)慣,從運(yùn)營商的角度來看,PPPoE對(duì)其現(xiàn)存的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行變更也很小。
DSLAM是ADSL匯聚設(shè)備,其內(nèi)核采用ATM或IP但上聯(lián)口為以太網(wǎng)口,BAS是局端實(shí)現(xiàn)PPPoE功能的接入服務(wù)器,它終結(jié)由用戶側(cè)發(fā)起的PPPoE進(jìn)程。下行的以太幀從IP城域網(wǎng)經(jīng)路由器送到BAS,被加上PPPoE的頭后送到DSLAM封裝成AAL5幀,經(jīng)過交叉模塊發(fā)送到ADSL Modem,由其完成AAL5幀重組并解出以太幀發(fā)送到客戶端,客戶端從PPPoE包中取出IP數(shù)據(jù)包。
上行的PPPoE包在ADSL Modem中封裝成AAL5幀,由ATM信元傳輸?shù)骄侄说腄SLAM,DSLAM負(fù)責(zé)終結(jié)ATM,重新組合出PPPoE包,并通過設(shè)好的PVC(永久虛電路)傳送到BAS處理。
從上面可以看出,PPPoE將PPP承載到以太網(wǎng)之上,實(shí)質(zhì)是在共享介質(zhì)的網(wǎng)絡(luò)上提供一條邏輯上的點(diǎn)到點(diǎn)鏈路,對(duì)用戶而言,在DSLAM和ADSL Modem之間的ATM傳輸是透明的,如果將中間的DSLAM和ADSL Modem換成有線電視的接入設(shè)備,就是典型的HFC接入,BAS對(duì)PPPoE包的處理方式不變。
3 PPPoE在BAS上的實(shí)現(xiàn)
PPPoE撥號(hào)軟件在應(yīng)用中已經(jīng)很成熟(Windows XP中自帶),下面重點(diǎn)討論P(yáng)PPoE在接入服務(wù)器BAS中的實(shí)現(xiàn)方式。
3.1PPPoE的效率 從PPPoE協(xié)議模型可以看出,BAS匯聚了用戶的所有數(shù)據(jù)流,它必須將每一個(gè)PPPoE包都拆開檢查處理,這在很大程度上是沿襲了傳統(tǒng)的PPP處理的方式,雖然有很好的安全性,但一旦用戶很多,數(shù)據(jù)包數(shù)量很大,解封裝速度就需要很快,BAS很大的精力花在檢測用戶的數(shù)據(jù)包上,容易形成寬帶接入網(wǎng)的“瓶頸”。
為此,在BAS的硬件結(jié)構(gòu)上可以采用分布式網(wǎng)絡(luò)處理器(NP)和ASIC芯片設(shè)計(jì)。網(wǎng)絡(luò)處理器是專門針對(duì)電信網(wǎng)絡(luò)設(shè)備而開發(fā)的專用處理器,它有一套專門的指令集,用于處理電信網(wǎng)絡(luò)的各種協(xié)議和業(yè)務(wù),可以大大提高設(shè)備的處理能力。同時(shí),ASIC芯片轉(zhuǎn)發(fā)數(shù)據(jù)包時(shí)接近硬件的轉(zhuǎn)發(fā)性能,遠(yuǎn)非CPU軟件方式可比,采用這種方式將PPPoE數(shù)據(jù)流的處理與轉(zhuǎn)發(fā)分開,工作效率大大提高。此外在軟件系統(tǒng)結(jié)構(gòu)上還應(yīng)該與其他技術(shù)相結(jié)合,更好地發(fā)揮PPPoE的性能。
3.2PPPoE與VLAN的結(jié)合 VLAN即虛擬局域網(wǎng),是一種通過將局域網(wǎng)內(nèi)的設(shè)備邏輯地劃分成一個(gè)個(gè)不同的網(wǎng)段,從而實(shí)現(xiàn)虛擬工作組的技術(shù)。劃分VLAN的目的,一是提高網(wǎng)絡(luò)安全性,不同VLAN的數(shù)據(jù)不能自由交流,需要接受第三層的檢驗(yàn);二是隔離廣播信息,劃分VLAN后,廣播域縮小,有利于改善網(wǎng)絡(luò)性能,能夠?qū)V播風(fēng)暴控制在一個(gè)VLAN內(nèi)部。
PPPoE是一個(gè)客戶端/服務(wù)器協(xié)議,客戶端需要發(fā)送PADI包尋找BAS,因此它必須同BAS在同一個(gè)廣播式的二層網(wǎng)絡(luò)內(nèi),與VLAN的結(jié)合很好地解決了這方面的安全隱患。此外通過將不同業(yè)務(wù)類型的用戶分配到不同的VLAN處理,可以靈活地開展業(yè)務(wù),加快處理流程,當(dāng)然VLAN的規(guī)劃必須在二層設(shè)備和BAS之間統(tǒng)一協(xié)調(diào)。BAS收到上行的PPPoE包后,首先判別VLAN ID的所屬類別,如果是普通的撥號(hào)用戶,則確定是Discovery階段還是會(huì)話階段的數(shù)據(jù)包,并嚴(yán)格按照PPPoE協(xié)議處理。在會(huì)話階段,根據(jù)不同的用戶類型從不同的地址池中向用戶分配IP地址,地址池由上層網(wǎng)管配置。如果是已經(jīng)通過認(rèn)證的用戶的數(shù)據(jù)包,則根據(jù)該用戶的服務(wù)類型處理,比如,如果是本地認(rèn)證的撥號(hào)用戶,且對(duì)方也申請(qǐng)有同樣的功能,則直接由本地轉(zhuǎn)發(fā)。
如果是專線用戶,則不用經(jīng)過PPPoE復(fù)雜的認(rèn)證過程,直接根據(jù)用戶的VLAN ID便可進(jìn)入專線用戶處理流程,接入速度大大提高。此外為了統(tǒng)一網(wǎng)管,在BAS與其他設(shè)備之間需要通信,這些數(shù)據(jù)包是內(nèi)部數(shù)據(jù)包,也可根據(jù)VLAN ID來辨別。
對(duì)于下行數(shù)據(jù),由于BAS負(fù)責(zé)分配和解析用戶的IP,兼有網(wǎng)關(guān)的功能,它收到數(shù)據(jù)包的目的IP是用戶的,因此以IP為索引查找用戶的信息比根據(jù)MAC要方便得多,這一點(diǎn)與普通的交換機(jī)有所不同,具體過程跟上行處理差不多。
3.3PPPoE對(duì)多業(yè)務(wù)選擇的支持 多業(yè)務(wù)選擇指的是用戶通過一條終結(jié)到BAS的PPP連接來自主地選擇后臺(tái)網(wǎng)絡(luò)運(yùn)營商所提供的多種業(yè)務(wù)。之所以要支持多業(yè)務(wù)的選擇,一方面是因?yàn)楦鞣N業(yè)務(wù)的具體實(shí)現(xiàn)在技術(shù)上的側(cè)重點(diǎn)是不同的,對(duì)網(wǎng)絡(luò)性能的要求也不盡相同,以前采取的固定分配的方式非常不便;另一方面,從網(wǎng)絡(luò)應(yīng)用的發(fā)展看,網(wǎng)絡(luò)內(nèi)容服務(wù)供應(yīng)商ICP與網(wǎng)絡(luò)接入商ISP的分離是必然趨勢,在接入?yún)R聚側(cè),ISP必須嚴(yán)格保證將用戶選擇的業(yè)務(wù)流轉(zhuǎn)發(fā)到相應(yīng)的ICP中去。
目前采用的方法是用戶先在PPPoE撥號(hào)軟件中選擇相應(yīng)的業(yè)務(wù),然后對(duì)用戶進(jìn)行業(yè)務(wù)授權(quán)確認(rèn),最后激活BAS內(nèi)部相應(yīng)的處理模塊。但是采用這種方式,用戶只能知道業(yè)務(wù)的名字,無法直觀地、全面地獲知BAS提供的各種業(yè)務(wù)類型,特別是在新業(yè)務(wù)的開展上十分困難,有很大的局限性。
因此可以將BAS與后臺(tái)業(yè)務(wù)選擇網(wǎng)關(guān)及RADIUS服務(wù)器相配合,采取先認(rèn)證后選擇業(yè)務(wù)的方式,具體操作如下:
主機(jī)發(fā)送PADI尋找BAS,PADI中包含一個(gè)服務(wù)名類型的TAG,它的值為空,表示該用戶可以接受任何類型的服務(wù)。 (2)BAS收到包后回送PADO,PADO中包含所有可以提供的服務(wù)的TAG,同時(shí),還包含一個(gè)服務(wù)名為General的TAG。 (3)主機(jī)發(fā)送PADR。用戶選擇已知的服務(wù)名,也可以選擇General服務(wù)。 (4)BAS收到PADR包后為用戶分配資源,并開始PPP協(xié)商過程。在PPP過程中,BAS將用戶輸入的賬號(hào)和密碼等信息送到RADIUS服務(wù)器上認(rèn)證。 (5)通過認(rèn)證的用戶,享受BAS提供的該項(xiàng)服務(wù),但如果選擇的是General,則被強(qiáng)制訪問與BAS直連的服務(wù)選擇網(wǎng)關(guān)。后臺(tái)的服務(wù)選擇網(wǎng)關(guān)是一臺(tái)具有Web Server功能的服務(wù)器,用戶可以通過Web的交互式界面得到可選擇業(yè)務(wù)的相關(guān)信息(包括費(fèi)用、帶寬等),同時(shí)顯示該用戶賬號(hào)對(duì)應(yīng)的信息。 (6)用戶選擇相應(yīng)的業(yè)務(wù),同時(shí)服務(wù)選擇網(wǎng)關(guān)會(huì)定義各種用戶的業(yè)務(wù)范圍和操作權(quán)限。 (7)服務(wù)選擇網(wǎng)關(guān)激活接入服務(wù)器內(nèi)部相應(yīng)的業(yè)務(wù)模型實(shí)現(xiàn)該業(yè)務(wù)。以上方式是嚴(yán)格按照PPPoE協(xié)議執(zhí)行的,與當(dāng)前流行的撥號(hào)軟件完全兼容,如果用戶對(duì)其他的業(yè)務(wù)根本不感興趣而對(duì)已申請(qǐng)的業(yè)務(wù)非常熟悉,也不影響用戶的習(xí)慣。
從BAS的角度考慮,PPPoE的操作流程也沒有什么改變,只是多添了一種服務(wù)類型而已。如果運(yùn)營商當(dāng)前沒有服務(wù)選擇網(wǎng)關(guān),可以通過網(wǎng)管配置,在對(duì)PADI包的回應(yīng)時(shí)不包含General服務(wù)就可以了。
對(duì)于運(yùn)營商來說,采用以上方式不僅大大提高了寬帶接入網(wǎng)用戶操作的透明度,還可以起到業(yè)務(wù)門戶的作用,為下一步的服務(wù)擴(kuò)展提供空間,而且從寬帶接入網(wǎng)以后發(fā)展的趨勢來看,按需分配與業(yè)務(wù)類型相應(yīng)的帶寬和QoS是必然的,PPPoE的這種業(yè)務(wù)選擇運(yùn)營模式是今后業(yè)務(wù)選擇的發(fā)展方向。
3.4PPPoE對(duì)組播的支持 PPPoE本身是一個(gè)點(diǎn)到點(diǎn)的協(xié)議,每一個(gè)用戶與BAS之間都有一條PPP的鏈接,用戶與BAS之間是通過這條鏈路經(jīng)二層設(shè)備以單播的形式傳輸數(shù)據(jù)。但是隨著網(wǎng)上視頻業(yè)務(wù)的不斷發(fā)展,人們對(duì)帶寬的需求越來越大,PPPoE對(duì)組播的支持顯得非常重要。PPPoE所支持的組播協(xié)議通常指的是二層組播協(xié)議IGMP proxy或IGMP Snooping,采取的基本方法是對(duì)每個(gè)組播數(shù)據(jù)包分組傳送,下面分析這兩種協(xié)議的實(shí)現(xiàn)方式。
3.4.1IGMP Snooping IGMP Snooping是靠偵聽用戶與路由器之間通信的IGMP報(bào)文維護(hù)組播地址和VLAN的對(duì)應(yīng)表的對(duì)應(yīng)關(guān)系,它將同一組播組的活動(dòng)成員映射為一個(gè)VLAN,在收到組播數(shù)據(jù)包后,僅向該組播組所對(duì)應(yīng)的VLAN成員轉(zhuǎn)發(fā)。主要操作流程如下:
主機(jī)與BAS進(jìn)行PPPoE協(xié)商,通過PPPoE認(rèn)證。
(2)主機(jī)向路由器發(fā)送IGMP成員報(bào)告包,BAS監(jiān)聽到該包,并從PPPoE數(shù)據(jù)包中得到組播組的地址,將該用戶添加到對(duì)應(yīng)的VLAN,如果該用戶是組播組的第一個(gè)用戶,則為這個(gè)組播組產(chǎn)生一個(gè)組播條目,并將該報(bào)文轉(zhuǎn)發(fā)至上層路由器以更新組播路由表。
(3)BAS收到路由器的組播數(shù)據(jù)報(bào)文時(shí),根據(jù)組播MAC地址和組播IP地址的對(duì)應(yīng)關(guān)系,找到對(duì)應(yīng)的VLAN,然后將數(shù)據(jù)包封裝成PPPoE的會(huì)話包,向VLAN內(nèi)的成員轉(zhuǎn)發(fā)。
(4)當(dāng)收到來自主機(jī)的申請(qǐng)離開組播組的包時(shí),BAS把收到該包的端口從相應(yīng)的VLAN中刪除,若該用戶是組播組最后一個(gè)用戶(此時(shí)VLAN為空),則把該VLAN刪除,并把該包內(nèi)容通過上行端口轉(zhuǎn)發(fā)出去。 IGMP Snooping的規(guī)則比較簡單,下行方向透傳查詢包,上行方向根據(jù)需要轉(zhuǎn)發(fā)加入或離開包,但要求BAS必須有3層提取功能,它對(duì)于主機(jī)和路由器是透明的。
3.4.2IGMP Proxy IGMP Proxy是靠攔截用戶和路由器之間的IGMP報(bào)文建立組播表,Proxy設(shè)備的上聯(lián)端口執(zhí)行主機(jī)的角色,下聯(lián)端口執(zhí)行路由器的角色。
下面是簡要流程: 主機(jī)與BAS進(jìn)行PPPoE協(xié)商,通過PPPoE認(rèn)證。 (2)上聯(lián)端口執(zhí)行主機(jī)的角色,響應(yīng)來自路由器的查詢,當(dāng)新增用戶組或者某組最后一個(gè)用戶退出時(shí),主動(dòng)發(fā)送成員報(bào)告包或者離開包。 (3)下行方向的業(yè)務(wù)包按照組播表進(jìn)行轉(zhuǎn)發(fā)。 (4)下聯(lián)端口執(zhí)行路由器的角色,完全按照IGMP V2中規(guī)定的機(jī)制執(zhí)行,包括查詢者選舉機(jī)制,定期發(fā)送通用查詢信息,收到離開包時(shí)發(fā)送特定查詢等。 IGMP Proxy在兩個(gè)端口分別實(shí)現(xiàn)不同的功能,工作量相對(duì)較大,其優(yōu)點(diǎn)是當(dāng)網(wǎng)絡(luò)中沒有路由器時(shí),IGMP Proxy設(shè)備可以起到查詢者的作用,而且如果要擴(kuò)展組播路由功能,Proxy比Snooping方便。考慮到BAS復(fù)制PPPoE多播數(shù)據(jù)對(duì)底層設(shè)備造成的巨大壓力,而且當(dāng)前的交換機(jī)和部分DSLAM(尤其是以IP為內(nèi)核的DSLAM)已經(jīng)開始支持二層組播,所以從發(fā)展的角度看采用IGMP Proxy更好一些。
4 結(jié)束語
寬帶接入網(wǎng)采用NP的硬件結(jié)構(gòu)以及PPPoE+VLAN的設(shè)計(jì)思想,大大提高了PPPoE的效率、安全性和可管理性,而增加PPPoE多業(yè)務(wù)選擇和組播業(yè)務(wù)的支持,向用戶提供優(yōu)質(zhì)靈活的服務(wù),將為正在蓬勃發(fā)展的寬帶建設(shè)注入新的活力。
網(wǎng)絡(luò)的神奇作用吸引著越來越多的用戶加入其中,正因如此,網(wǎng)絡(luò)的承受能力也面臨著越來越嚴(yán)峻的考驗(yàn)―從硬件上、軟件上、所用標(biāo)準(zhǔn)上......,各項(xiàng)技術(shù)都需要適時(shí)應(yīng)勢,對(duì)應(yīng)發(fā)展,這正是網(wǎng)絡(luò)迅速走向進(jìn)步的催化劑。
|