本文從PPP協定的角度講起,談論什麼是乙太網路與非同步傳輸網路,介紹何謂PPPoE協定和PPPoA協定,還會詳細說明PPPoE在乙太網路中建立連線的過程、PPPoE承襲了那些PPP協定的主要特性,最後則拿PPPoE與PPPoA做比較。
表1 Cisco網路設備工作內容與運作協定
其中,在連線認證方面,會要求建立連線的一方(也就是Caller)輸入與認證相關的資訊,例如密碼之類,輸入認證之相關資訊的目的是,為了確認要求建立連線的一方有足夠的管理權限以便使用這樣的PPP連線。一般而言,會被使用的認證協定有PAP協定和CHAP協定。
而壓縮主要可以用來增加PPP連線的網路流量,當然作法如同名稱所示,就是將傳遞的資料透過壓縮的方式,減少所需要承載的網路封包大小。一般在Cisco的路由器上,會使用的壓縮協定包含Stacker和Predictor。
與眾多網路協定一樣,PPP協定的連線也具備錯誤偵測的功能,通常會使用Quality Magic Number來確保比較穩定而且不會有網路迴圈的資料傳輸。
至於最後的多連結部分,PPP協定的連線也可以在路由器的介面(Interfaces)上具備流量平衡(Load Balancing)功能。所謂的Load Balancing就是在具有相同路徑選擇時,將網路流量平均分配到這些網路路徑上,以便達到網路流量平均分攤的效果,減少每一條網路路徑的負擔。
以圖3這個網路架構圖為例,假設伺服器X想要傳送封包給伺服器Y,從圖中可看出,伺服器X要到達伺服器Y必須經過三個路由器設備,但是可以經由路由器A、B、D這樣的網路路徑,也可以經由路由器A、C、D的網路路徑,若有開啟Load Balancing功能的話,則由伺服器X到伺服器Y的網路流量就會被分成兩條,分別走剛剛所說的兩種不同的網路路徑,這就是Load Balancing功能。
|
▲圖3 網路架構示意圖。 |
在Cisco路由器上與PPP協定相關的Load Balancing功能,有時候會與Multilink協定(也就是MLP)有關。另外要注意的是,Cisco的IOS從11.1版本以後就已經開始支援MLP。
MLP協定被定義於RFC編號1717文件內,MLP協定主要提供網路封包分割以及將切割的網路封包做定序的工作。一般而言,MLP協定會在平行多線路的環境同時發送網路封包,在某些情況下,這些MLP連線會像單一連線一樣的工作,如此一來,就可以在路由器之間有效增加網路流量。
PPPoA協定簡介
PPP協定會建構在其他網路架構之上,例如PPPoE就是PPP協定架構在乙太網路上。同樣地,PPPoA就是PPP協定架構於ATM網路環境。
ATM全名是Asynchronous Transfer Mode,指的是非同步傳輸模式。非同步傳輸模式廣域網路是新一代的高速廣域網路,其具備相當完備的服務品質保障,採用電路交換的方式進行通訊,在傳輸資料時,會先把整個資料切割成多個小區段的封包,每個封包的大小都一樣,傳送到目的地之後再進行組裝,許多國家早已投入大量的資源進行研究和使用。
目前而言,非同步傳輸模式網路的技術已經成熟,許多國家已經開始使用,台灣當然也是。非同步傳輸模式廣域網路是以交換機(Switch)為基礎,每一個交換機有許多的埠,而各個電腦必須使用ATM網路卡,透過適當的網路線材連接到交換機的某個埠上,以形成非同步傳輸模式網路。
而PPPoA協定就是這樣ATM網路環境中的PPP協定,最常見的使用範例就是用於DOCSIS和DSL運營商之間,將PPP網路封包裝在AAL5內。與PPPoE一樣,PPPoA最大的好處就是在ATM網路環境內提供認證、壓縮以及加密等功能,但是比PPPoE好的地方在於,PPPoA所運作的ATM網路環境並沒有像乙太網路一樣有網路封包最大限制的問題,而且PPPoA的加密效率比PPPoE的加密效率略高一籌。
了解PPP協定相關的RFC文件
在RFC編號1661和編號1332文件內,都有定義PPP協定的詳細規格。PPP協定主要被定義在RFC編號1661文件內,定義了各種認證方式、加密和解密方式、壓縮資料方式,以及PPP協定如何與其他網路協定的合作及交互關係。
另外,在RFC編號1994文件內,描述了關於PPP協定中的CHAP協定,也就是握手(Handshake)協定,用於建立撥號連接。而RFC編號2516文件中,定義了相當知名的PPPoE協定,PPPoE協定在乙太網路中用於傳輸PPP協定中的資料,經常被使用於ADSL上,若家裡有使用ADSL,應該會常常看到這個縮寫。
至於RFC編號2364文件中,則描述了PPPoA協定,這個協定主要用於,當以ATM網路卡來傳輸PPP協定的資料時所使用的,由於PPPoA是被用於ATM網路,所以也被稱為PPPoATM。
另外,PPP協定甚至還在兩個網路系統之間支援多點連接,以便增加網路頻寬,在這樣的網路環境下,PPP協定支援兩個頻寬的合併,也支援流量平衡的功能,而這些都被定義於RFC編號1717文件內。
前面有提到,PPP協定分為LCP和NCP兩個部分,各負責不同的工作內容。關於LCP的設定部分,在RFC編號1548和編號1570文件中都有描述。表2整理了與PPP協定相關的RFC文件,供大家參考。
表2 與PPP協定相關的RFC文件內容
結語
這篇文章主要以PPP協定的角度出發,帶出乙太網路與非同步傳輸網路,然後介紹PPPoE協定和PPPoA協定。其中提及PPPoE在乙太網路中建立連線的過程,也詳細介紹PPPoE承襲了PPP協定的主要特性,最後提到PPPoE與PPPoA的比較。
很多讀者相信在早期應該都使用過PPPoE網路,但是可能大多並不了解何謂PPPoE網路,更不可能了解或甚至聽過PPPoA協定,透過這篇文章,相信可以大大提升各位對於PPPoE與PPPoA協定的認識。
<本文作者:胡凱智,目前在Solera Holdings Inc.擔任亞太區首席技術長,曾於美商Mozilla擔任全球技術專案總監,並在趨勢科技任職七年多,有兩年美國矽谷工作經驗,在美國專利局擁有軟體專利。讀者交流建議:https://www.facebook.com/khu.page>