PPPoE工作原理

        近年來,網絡數據業務發展迅速,寬帶用戶呈爆炸式的增長,運營商在採用xDSL,LAN,HFC,無線等多種接入方式的同時,爲了構建一個可運營、可管理、可盈利的寬帶網絡,十分關心如何有效地完成用戶的管理,PPPoE就是隨之出現的多種認證技術中的一種。
  

 

  1 PPPoE協議概述
  1.1PPPoE的工作原理
  
  PPPoE(PPP over Ethernet)是在以太網上建立PPP連接,由於以太網技術十分成熟且使用廣泛,而PPP協議在傳統的撥號上網應用中顯示出良好的可擴展性和優質的管理控制機制,二者結合而成的PPPoE協議得到了寬帶接入運營商的認可並廣爲採用。
  
  PPPoE建立過程可以分爲Discovery階段和PPP會話階段。Discovery階段是一個無狀態的階段,該階段主要是選擇接入服務器,確定所要建立的PPP會話標識符Session ID,同時獲得對方點到點的連接信息;PPP會話階段執行標準的PPP過程。
  
  一個典型的Discovery階段包括以下4個步驟:
  
  (1)主機首先主動發送廣播包PADI尋找接入服務器,PADI必須至少包含一個服務名稱類型的TAG,以表明主機所要求提供的服務。
  
  (2)接入服務器收到包後如果可以提供主機要求
  
  0 1 2 3 4 5 6 78 9 0 1 2 3 4 56 7 8 9 0 1 2 34 5 6 7 8 90 1
  
  以太網類=0x8863/8864版本(Ver)類型(Type)編碼(CODE)
  
  會話ID(Session ID)長度(Length)
  
  淨荷(Payload)
  
  (3)主機在迴應PADO的接入服務器中選擇一個合適的,併發送PADR告知接入服務器,PADR中必須聲明向接入服務器請求的服務種類。
  
  (4)接入服務器收到PADR包後開始爲用戶分配一個唯一的會話標識符Session ID,啓動PPP狀態機以準備開始PPP會話,併發送一個會話確認包PADS。
  
  主機收到PADS後,雙方進入PPP會話階段。在會話階段,PPPoE的以太網類域設置爲0x8864,CODE爲0x00,Session ID必須是Discovery階段所分配的值。
  
  PPP會話階段主要是LCP、認證、NCP 3個協議的協商過程,LCP階段主要完成建立、配置和檢測數據鏈路連接,認證協議類型由LCP協商(CHAP或者PAP),NCP是一個協議族,用於配置不同的網絡層協議,常用的是IP控制協議(IPCP),它負責配置用戶的IP和DNS等工作。
  
  PADT包是會話中止包,它可以由會話雙方的任意一方發起,但必須是會話建立之後纔有效。
  
  1.2PPPoE的特點
  
  PPPoE不僅有以太網的快速簡便的特點,同時還有PPP的強大功能,任何能被PPP封裝的協議都可以通過PPPoE傳輸,此外還有如下
  
  特點:
  
  (1)PPPoE很容易檢查到用戶下線,可通過一個PPP會話的建立和釋放對用戶進行基於時長或流量的統計,計費方式靈活方便。
  
  (2)PPPoE可以提供動態IP地址分配方式,用戶無需任何配置,網管維護簡單,無需添加設備就可解決IP地址短缺問題,同時根據分配的IP地址,可以很好地定位用戶在本網內的活動。
  
  (3)用戶通過免費的PPPoE客戶端軟件(如EnterNet),輸入用戶名和密碼就可以上網,跟傳統的撥號上網差不多,最大程度地延續了用戶的習慣,從運營商的角度來看,PPPoE對其現存的網絡結構進行變更也很小。
  
  DSLAM是ADSL匯聚設備,其內核採用ATM或IP但上聯口爲以太網口,BAS是局端實現PPPoE功能的接入服務器,它終結由用戶側發起的PPPoE進程。下行的以太幀從IP城域網經路由器送到BAS,被加上PPPoE的頭後送到DSLAM封裝成AAL5幀,經過交叉模塊發送到ADSL Modem,由其完成AAL5幀重組並解出以太幀發送到客戶端,客戶端從PPPoE包中取出IP數據包。
  
  上行的PPPoE包在ADSL Modem中封裝成AAL5幀,由ATM信元傳輸到局端的DSLAM,DSLAM負責終結ATM,重新組合出PPPoE包,並通過設好的PVC(永久虛電路)傳送到BAS處理。
  
  從上面可以看出,PPPoE將PPP承載到以太網之上,實質是在共享介質的網絡上提供一條邏輯上的點到點鏈路,對用戶而言,在DSLAM和ADSL Modem之間的ATM傳輸是透明的,如果將中間的DSLAM和ADSL Modem換成有線電視的接入設備,就是典型的HFC接入,BAS對PPPoE包的處理方式不變。
  
  3 PPPoE在BAS上的實現
  PPPoE撥號軟件在應用中已經很成熟(Windows XP以上版本自帶),下面重點討論PPPoE在接入服務器BAS中的實現方式。
  
  3.1PPPoE的效率
  
  從PPPoE協議模型可以看出,BAS匯聚了用戶的所有數據流,它必須將每一個PPPoE包都拆開檢查處理,這在很大程度上是沿襲了傳統的PPP處理的方式,雖然有很好的安全性,但一旦用戶很多,數據包數量很大,解封裝速度就需要很快,BAS很大的精力花在檢測用戶的數據包上,容易形成接入的“瓶頸”。
  
  爲此,在BAS的硬件結構上可以採用分佈式網絡處理器(NP)和ASIC芯片設計。網絡處理器是專門針對電信網絡設備而開發的專用處理器,它有一套專門的指令集,用於處理電信網絡的各種協議和業務,可以大大提高設備的處理能力。同時,ASIC芯片轉發數據包時接近硬件的轉發性能,遠非CPU軟件方式可比,採用這種方式將PPPoE數據流的處理與轉發分開,工作效率大大提高。此外在軟件系統結構上還應該與其他技術相結合,更好地發揮PPPoE的性能。
  
  3.2PPPoE與VLAN的結合
  
  VLAN即虛擬局域網,是一種通過將局域網內的設備邏輯地劃分成一個個不同的網段,從而實現虛擬工作組的技術。劃分VLAN的目的,一是提高網絡安全性,不同VLAN的數據不能自由交流,需要接受第三層的檢驗;二是隔離廣播信息,劃分VLAN後,廣播域縮小,有利於改善網絡性能,能夠將廣播風暴控制在一個VLAN內部。
  
  PPPoE是一個客戶端/服務器協議,客戶端需要發送PADI包尋找BAS,因此它必須同BAS在同一個廣播式的二層網絡內,與VLAN的結合很好地解決了這方面的安全隱患。此外通過將不同業務類型的用戶分配到不同的VLAN處理,可以靈活地開展業務,加快處理流程,當然VLAN的規劃必須在二層設備和BAS之間統一協調。
  
  BAS收到上行的PPPoE包後,首先判別VLAN ID的所屬類別,如果是普通的撥號用戶,則確定是Discovery階段還是會話階段的數據包,並嚴格按照PPPoE協議處理。在會話階段,根據不同的用戶類型從不同的地址池中向用戶分配IP地址,地址池由上層網管配置。如果是已經通過認證的用戶的數據包,則根據該用戶的服務類型處理,比如,如果是本地認證的撥號用戶,且對方也申請有同樣的功能,則直接由本地轉發。
  
  如果是專線用戶,則不用經過PPPoE複雜的認證過程,直接根據用戶的VLAN ID便可進入專線用戶處理流程,接入速度大大提高。此外爲了統一網管,在BAS與其他設備之間需要通信,這些數據包是內部數據包,也可根據VLAN ID來辨別。
  
  對於下行數據,由於BAS負責分配和解析用戶的IP,兼有網關的功能,它收到數據包的目的IP是用戶的,因此以IP爲索引查找用戶的信息比根據MAC要方便得多,這一點與普通的交換機有所不同,具體過程跟上行處理差不多。
  
  3.3PPPoE對多業務選擇的支持
  
  多業務選擇指的是用戶通過一條終結到BAS的PPP連接來自主地選擇後臺網絡運營商所提供的多種業務。之所以要支持多業務的選擇,一方面是因爲各種業務的具體實現在技術上的側重點是不同的,對網絡性能的要求也不盡相同,以前採取的固定分配的方式非常不便;另一方面,從網絡應用的發展看,網絡內容服務供應商ICP與網絡接入商ISP的分離是必然趨勢,在接入匯聚側,ISP必須嚴格保證將用戶選擇的業務流轉發到相應的ICP中去。
  
  目前採用的方法是用戶先在PPPoE撥號軟件中選擇相應的業務,然後對用戶進行業務授權確認,最後激活BAS內部相應的處理模塊。但是採用這種方式,用戶只能知道業務的名字,無法直觀地、全面地獲知BAS提供的各種業務類型,特別是在新業務的開展上十分困難,有很大的侷限性。
  
  因此可以將BAS與後臺業務選擇網關及RADIUS服務器相配合,採取先認證後選擇業務的方式,具體操作如下:
  
  (1)主機發送PADI尋找BAS,PADI中包含一個服務名類型的TAG,它的值爲空,表示該用戶可以接受任何類型的服務。
  
  (2)BAS收到包後回送PADO,PADO中包含所有可以提供的服務的TAG,同時,還包含一個服務名爲General的TAG。
  
  (3)主機發送PADR。用戶選擇已知的服務名,也可以選擇General服務。
  
  (4)BAS收到PADR包後爲用戶分配資源,並開始PPP協商過程。在PPP過程中,BAS將用戶輸入的賬號和密碼等信息送到RADIUS服務器上認證。
  
  (5)通過認證的用戶,享受BAS提供的該項服務,但如果選擇的是General,則被強制訪問與BAS直連的服務選擇網關。後臺的服務選擇網關是一臺具有Web Server功能的服務器,用戶可以通過Web的交互式界面得到可選擇業務的相關信息(包括費用、帶寬等),同時顯示該用戶賬號對應的信息。
  
  (6)用戶選擇相應的業務,同時服務選擇網關會定義各種用戶的業務範圍和操作權限。
  
  (7)服務選擇網關激活接入服務器內部相應的業務模型實現該業務。以上方式是嚴格按照PPPoE協議執行的,與當前流行的撥號軟件完全兼容,如果用戶對其他的業務根本不感興趣而對已申請的業務非常熟悉,也不影響用戶的習慣。
  
  從BAS的角度考慮,PPPoE的操作流程也沒有什麼改變,只是多添了一種服務類型而已。如果運營商當前沒有服務選擇網關,可以通過網管配置,在對PADI包的迴應時不包含General服務就可以了。
  


發佈了6 篇原創文章 · 獲贊 11 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章