PPP和PPPoE的應(yīng)用分析
我們知道PPP和PPPoE協(xié)議可以簡單實現(xiàn)點對點鏈路封裝,但是這個并不能滿足我們多樣的要求。目前豐富多彩的互聯(lián)網(wǎng)世界是承載在復(fù)雜、龐大的廣域網(wǎng)上,靈活方便的非點對點的以太網(wǎng)絡(luò)是現(xiàn)代網(wǎng)絡(luò)世界的主要常用媒介,那PPP是否已經(jīng)遠離了我們呢?答案是否定的,實際上,現(xiàn)在我在家中利用ADSL接入ISP登錄到我的博客來寫這篇文章,這一過程就離不開PPP協(xié)議。
就讓我用我們最熟悉的上網(wǎng)為例來講解吧.早期,人們用計算機外接modem(調(diào)制解調(diào)器)再通過電話線撥號來接入ISP(Internet接入服務(wù)提供商)連接Internet,就使用了PPP協(xié)議,具體來說,就是在"用戶撥出計算機 - 用戶modem - ISP modem -接入服務(wù)器"這樣一條點對點鏈路上,使用PPP封裝了IP報文來實現(xiàn)用戶至Internet網(wǎng)絡(luò)接入服務(wù)器之間IP報文的流控和計費等功能,如下圖:
點對點鏈路撥號接入ISP
上圖中,"電話線"這一串行連接是通過用戶電話撥入電話局提供的接入號碼來建立起來的,"撥號"這一概念,也就發(fā)端于此.這種撥號方式,用戶計算機與ISP接入服務(wù)器之間的連接線路完全占用了電話線的信道,所以用戶在使用計算機接入網(wǎng)絡(luò)之后,電話就處于占線狀態(tài),不能再同時接入語音電話.并且,這種使用modem通過電話線傳輸模擬信號的接入方式,***就只能達到56kbps的上網(wǎng)速率(實際使用時,由于鏈路問題,連這個速率都很難達到),生活在2009年的我們可以想象那時網(wǎng)民的生活是多么的水深火熱…
針對于上述缺陷,人們利用ISDN(綜合業(yè)務(wù)數(shù)字網(wǎng))技術(shù)改進了網(wǎng)絡(luò)接入方案.使用ISDN技術(shù),我們可以在依然使用原來的普通電話線的情況下,在電話線上傳輸數(shù)字信號.這是通過在電話線上建立ISDN信道來實現(xiàn)的,ISDN的BRI(基礎(chǔ)速率接口)支持2個B信道+1個D信道總共128kbps的連接速率,我們使用MLPPP(多鏈路PPP)協(xié)議將ISDN提供的多條點對點鏈路復(fù)合為一條點對點鏈路,這樣就可以利用BRI的128kbps速率高速(相對于原來的modem方式)接入網(wǎng)絡(luò)了.同時,ISDN可以在一條電話線線路上同時接入多個終端設(shè)備(計算機、電話等)同時使用.這一切,只需要將上圖中的調(diào)制解調(diào)器換為ISDN接入設(shè)備即可.
和ISDN技術(shù)類似的,我們現(xiàn)在經(jīng)常聽到和使用的ADSL技術(shù),也是在一定程度上對傳統(tǒng)電話線路的信道使用方式進行了優(yōu)化改造.ADSL是xDSL技術(shù)族的一員,傳輸速率可以達到Mbps數(shù)量級,xDSL有ADSL、VDSL、HDSL等多種模型,他們的區(qū)別就在于信號傳輸速率和傳輸距離上,其中ADSL在這些指標(biāo)上顯示出其非常適合作為家庭接入Internet的特點,所以人們普遍采用了ADSL.
其實,ISDN和ADSL相對于傳統(tǒng)modem撥號方式,只是改變了承載信號的物理層.
講上面這些ISDN和ADSL的內(nèi)容,目的是為了逐步引出這篇文章的主角 - PPPoE,但是,說真的,直到寫完了上面的內(nèi)容,外加查了很久的資料,我也沒真正找到確實可信的論據(jù)來證明為什么在ADSL物理鏈路上我們要選擇使用PPPoE來接入ISP… (使用PPPoE協(xié)議可將PPP幀之外再封裝上一層PPPoE頭,以達到在Ethernet網(wǎng)絡(luò)這種非點對點鏈路上傳輸PPP幀的目的.)
當(dāng)然,雖然沒有找到直接論據(jù),但是分析了眾多的資料后我是有收獲的,我可以說說自己的理解,有不對之處還請各位指點.
傳統(tǒng)的modem撥號和ISDN撥號都是用modem撥ISP的一個號碼,也就是得到ISP分配的一條電話線連接來建立起點對點物理鏈路的,而ADSL也是類似的物理層拓撲,所以我想應(yīng)該也是可以同樣的撥號方式直接接入ISP的.但是,為什么現(xiàn)實中ADSL不是這樣來使用的呢,為什么要在ADSL物理層之上再封裝"ethernet層+PPPoE層"然后再承載PPP而不是直接在ADSL物理層上承載PPP呢?ISP運營商到底出于什么考慮呢?
在ADSL網(wǎng)絡(luò)上直接封裝PPP,則這條點對點鏈路是起始與用戶的ADSL貓,終結(jié)于ISP運營商的DSLAM(數(shù)字用戶接入復(fù)用)設(shè)備,也就是ADSL物理鏈路的終點.對于用戶的管理與認(rèn)證授權(quán)控制必須要放在DSLAM設(shè)備上(當(dāng)然PPP支持遠程授權(quán),但這無疑將增加復(fù)雜度和風(fēng)險),這樣,ISP必須在很接近用戶物理位置也就是網(wǎng)絡(luò)的末梢底層的地方(因為ADSL物理線路不會很遠)來管理用戶.
ADSL撥號接入ISP網(wǎng)絡(luò)時的PPP鏈路
而如果采取PPPoE的方式,先將PPP封裝在PPPoE內(nèi),再在PPPoE外封裝Ethernet頭,然后再將這Ethernet幀通過ATM或LAPD(Link Access Procedure on the D channel)等鏈路層協(xié)議封裝在ADSL或ISDN物理連接上.這樣,點對點鏈路的起點將是封裝PPPoE的用戶計算機,終點可以是DSLAM,也可以是DSLAM之后的更高層的BAS(寬帶接入服務(wù)器)設(shè)備或其他哪里,就看PPPoE服務(wù)器被設(shè)置在哪里了(PPPoE報文在PPPoE服務(wù)器被解開),如上圖這種經(jīng)典的應(yīng)用場景中PPP鏈路就直到LNS設(shè)備才終結(jié)(PC到DSLAM之間是ADSL點對點鏈路承載PPPoE,DSLAM到BAS之間是ATM鏈路承載PPPoE,在BAS設(shè)備將PPP從PPPoE封裝中解出,然后,從BAS到LNS設(shè)備之間使用L2TP協(xié)議承載了PPP報文,L2TP將在本系列文行的后續(xù)文章中介紹).這樣,一是解決方案更加靈活,另外,由于管理設(shè)備可以位于更高(更靠近網(wǎng)絡(luò)核心)的位置,集中管理的用戶可以更多,可以降低運營商的成本.
解釋到這里,我覺得我這個解釋是很合理可信的:PPPoE虛擬撥號的使用使得PPP接入連接(也就是客戶)的認(rèn)證、授權(quán)點位置更加靈活,可是將其設(shè)置在更接近網(wǎng)路的核心的位置.我認(rèn)為,PPPoE這種協(xié)議的存在,重要的是提供了一種PPP報文的封裝方式,至于具體如何封裝并不是決定性的,用Ethernet封裝就是PPPoE,用ATM封裝就是PPPoA.但是,為什么普通modem撥號和ISDN沒有采用這樣的PPPoE撥號呢?我真的解釋不了,因為,理論上是絕對可行的.
本文中講到了PPPoE協(xié)議,但是截至目前,只是講到用它封裝了PPP幀然后放在專線鏈路(ADSL/ISDN)上傳輸.至于為什么要用PPPoE,以及PPPoE的具體本領(lǐng),還是下篇文章再向大家介紹吧.下次再見~