版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、PPP數(shù)據(jù)幀的格式PPP協(xié)議也許大家都聽說過,可以說現(xiàn)在家里的ADSL都是通過PPP協(xié)議進(jìn)行鏈路的搭建,今天就說說PPP到底是個(gè)啥東東。 想要了解PPP,個(gè)人認(rèn)為有3個(gè)關(guān)鍵的知識點(diǎn)。 1、PPP數(shù)據(jù)幀的格式; 2、PPP的幾種報(bào)文; 3、PPP的狀態(tài)轉(zhuǎn)移 首先說說的PPP數(shù)據(jù)幀的格式,因?yàn)镻PP是鏈路層協(xié)議,所以我們將它的數(shù)據(jù)單位稱為幀,7EFF037E標(biāo)志地址控制協(xié)議域信息域校驗(yàn)標(biāo)志1B1B1B2B缺省1500B2B1B每一個(gè)PPP數(shù)據(jù)幀均是以一個(gè)標(biāo)志字節(jié)起始和結(jié)束的,該字節(jié)為0x7E(這樣很容易區(qū)分出每個(gè)PPP幀) 緊接在起始標(biāo)志字節(jié)后的一個(gè)字節(jié)是地址域,該字節(jié)為0xFF。我們熟知網(wǎng)絡(luò)是分
2、層的,且對等層之間進(jìn)行相互通信,而下層為上層提供服務(wù)。當(dāng)對等層進(jìn)行通信時(shí)首先需獲知對方的地址,而對不同的網(wǎng)絡(luò),在數(shù)據(jù)鏈路層則表現(xiàn)為需要知道對方的MAC地址、X.121地址、ATM地址等;在網(wǎng)絡(luò)層則表現(xiàn)為需要知道對方的IP地址、IPX地址等;而在傳輸層則需要知道對方的協(xié)議端口號。例如如果兩個(gè)以太網(wǎng)上的主機(jī)希望能夠通信的話,首先發(fā)送端需獲知對端的MAC地址。但由于PPP協(xié)議是被運(yùn)用在點(diǎn)對點(diǎn)的鏈路上的特殊性,它不像廣播或多點(diǎn)訪問的網(wǎng)絡(luò)一樣,因?yàn)辄c(diǎn)對點(diǎn)的鏈路就可以唯一標(biāo)示對方,因此使用PPP協(xié)議互連的通信設(shè)備的兩端無須知道對方的數(shù)據(jù)鏈路層地址,所以該字節(jié)已無任何意義,按照協(xié)議的規(guī)定將該字節(jié)填充為全1的
3、廣播地址。同地址域一樣,PPP數(shù)據(jù)幀的控制域也沒有實(shí)際意義,按照協(xié)議的規(guī)定通信雙方將該字節(jié)的內(nèi)容填充為0x03。(既然無意義,就可以隨便賦值了吧,呵呵,只要大家都遵守一個(gè)標(biāo)準(zhǔn)就行)就PPP協(xié)議本身而言,我們最關(guān)心的內(nèi)容應(yīng)該是它的協(xié)議域和信息域。協(xié)議域可用來區(qū)分PPP數(shù)據(jù)幀中信息域所承載的數(shù)據(jù)報(bào)文的內(nèi)容。協(xié)議域的內(nèi)容必須依據(jù)ISO 3309的地址擴(kuò)展機(jī)制所給出的規(guī)定。該機(jī)制規(guī)定協(xié)議域所填充的內(nèi)容必須為奇數(shù),也即是要求低字節(jié)的最低位為“1”,高字節(jié)的最低位為“0”。如果當(dāng)發(fā)送端發(fā)送的PPP數(shù)據(jù)幀的協(xié)議域字段不符合上述規(guī)定,則接收端會認(rèn)為此數(shù)據(jù)幀是不可識別的,那么接收端會向發(fā)送端發(fā)送一個(gè)Protoc
4、ol-Reject報(bào)文,在該報(bào)文尾部將完整地填充被拒絕的報(bào)文。信息域缺省時(shí)最大長度不能超過1500字節(jié),其中包括填充域的內(nèi)容,1500字節(jié)大小等于PPP協(xié)議中配置參數(shù)選項(xiàng)MRU(Maximum Receive Unit)的缺省值,在實(shí)際應(yīng)用當(dāng)中可根據(jù)實(shí)際需要進(jìn)行信息域最大封裝長度選項(xiàng)的協(xié)商。信息域如果不足1500字節(jié)時(shí)可被填充,但不是必須的,如果填充則需通信雙方的兩端能辨認(rèn)出有用與無用的信息方可正常通信。 協(xié)議域和信息域是需要合在一起看的,目前主要用到的協(xié)議類型有LCP、NCP和普通的IP協(xié)議,而他們相對應(yīng)的協(xié)議域字段則為0C021、08021和00021,可以看到應(yīng)證了這句話:也即是要求低字
5、節(jié)的最低位為“1”,高字節(jié)的最低位為“0”。而后面的信息根據(jù)不同協(xié)議包含了不同的報(bào)文內(nèi)容。0C021LCP數(shù)據(jù)報(bào)文校驗(yàn)08021NCP數(shù)據(jù)報(bào)文校驗(yàn)00021IP數(shù)據(jù)報(bào)文校驗(yàn)其實(shí)這3種不同協(xié)議就對應(yīng)PPP協(xié)議在運(yùn)行過程中的不同狀態(tài),以后會在PPP狀態(tài)轉(zhuǎn)移中介紹到,我們可以很容易根據(jù)PPP幀的協(xié)議域就判斷目前 處于PPP的哪個(gè)階段。遇到PPP問題,我們通常通過抓包,然后判斷PPP哪個(gè)階段有問題,再進(jìn)行分析和問題定位。注意一點(diǎn)的就是,NCP不是一種協(xié)議, 它的全稱是網(wǎng)絡(luò)控制協(xié)議,也就是說最后雙方都遵循的數(shù)據(jù)傳輸協(xié)議,可以是IPCP,也可以是IPXCP。 CRC校驗(yàn)域主要是對PPP數(shù)據(jù)幀傳輸?shù)恼_性進(jìn)
6、行檢測的,當(dāng)然在數(shù)據(jù)幀中引入了一些傳輸?shù)谋WC機(jī)制是好的,但可以反過來說,同樣我們會引入更多的開銷,這樣可能會增加應(yīng)用層交互的延遲。 最后給大家一個(gè)通過Ethereal抓下來的PPP幀,對應(yīng)上面的說明,看看大家是否可以看懂:7EFF03C02101 01 00 17 02 06 00 0A 00 00 05 06 00 0B 42 CB 07 02 08 02 0D03 067E 1.1PPP概述點(diǎn)到點(diǎn)協(xié)議(Point to Point Protocol,PPP)是IETF(Internet Engineering Task Force,因特網(wǎng)工程任務(wù)組)推出的點(diǎn)到點(diǎn)類型線路的數(shù)據(jù)鏈路層協(xié)議。它
7、解決了SLIP中的問題,并成為正式的因特網(wǎng)標(biāo)準(zhǔn)。PPP協(xié)議在RFC 1661、RFC 1662和RFC 1663中進(jìn)行了描述。PPP支持在各種物理類型的點(diǎn)到點(diǎn)串行線路上傳輸上層協(xié)議報(bào)文。PPP有很多豐富的可選特性,如支持多協(xié)議、提供可選的身份認(rèn)證服務(wù)、可以以各種方式壓縮數(shù)據(jù)、支持動態(tài)地址協(xié)商、支持多鏈路捆綁等等。這些豐富的選項(xiàng)增強(qiáng)了PPP的功能。同時(shí),不論是異步撥號線路還是路由器之間的同步鏈路均可使用。因此,應(yīng)用十分廣泛。 1PPP的層次結(jié)構(gòu) PPP支持各種類型的硬件,包括EIA/TIA 232、EIA/TIA 449、EIA/TIA 530、V.35、V.21等。只要是點(diǎn)到點(diǎn)類型的線路都可以
8、運(yùn)行PPP。在數(shù)據(jù)鏈路層,PPP通過LCP協(xié)議進(jìn)行鏈路管理,相當(dāng)于以太網(wǎng)數(shù)據(jù)鏈路層的MAC子層。而在網(wǎng)絡(luò)層,由NCP為不同的協(xié)議提供服務(wù)。這里的NCP相當(dāng)于以太網(wǎng)數(shù)據(jù)鏈路層的LLC子層。如圖1所示。圖1 PPP的層次結(jié)構(gòu)2 PPP的功能PPP主要完成了以下功能:鏈路控制PPP為用戶發(fā)起呼叫以建立鏈路;在建立鏈路時(shí)協(xié)商參數(shù)選擇;通信過程中隨時(shí)測試線路,當(dāng)線路空閑時(shí)釋放鏈路等。PPP中完成上述工作的組件是鏈路控制協(xié)議LCP(Link Control Protocol,LCP)。網(wǎng)絡(luò)控制當(dāng)LCP將鏈路建立好了以后,PPP要開始根據(jù)不同用戶的需要,配置上層協(xié)議所需的環(huán)境。PPP使用網(wǎng)絡(luò)控制協(xié)議NCP(
9、Network Control Protocol,NCP)來為上層提供服務(wù)接口。針對上層不同的協(xié)議類型,會使用不同的NCP組件。如對于IP提供IPCP接口,對于IPX提供IPXCP接口,對于APPLETALK提供ATCP接口等。 1.2 PPP過程從開始發(fā)起呼叫到最終通信完成后釋放鏈路,PPP的工作經(jīng)歷了一系列的過程。下面,是這一過程的描述。當(dāng)一個(gè)PC終端撥號用戶發(fā)起一次撥號后,此PC終端首先通過調(diào)制解調(diào)器呼叫遠(yuǎn)程訪問服務(wù)器,如提供撥號服務(wù)的路由器。當(dāng)路由器上的遠(yuǎn)程訪問模塊應(yīng)答了這個(gè)呼叫后,就建立起一個(gè)初始的物理連接。接下來,PC終端和遠(yuǎn)程訪問服務(wù)器之間開始傳送一系列經(jīng)過PPP封裝的LCP分組
10、,用于協(xié)商選擇將要采用的PPP參數(shù)。如果上一步中有一方要求認(rèn)證,接下來就開始認(rèn)證過程。如果認(rèn)證失敗,如錯(cuò)誤的用戶名、密碼,則鏈路被終止,雙方負(fù)責(zé)通信的設(shè)備或模塊(如用戶端的調(diào)制解調(diào)器或服務(wù)器端的遠(yuǎn)程訪問模塊)關(guān)閉物理鏈路回到空閑狀態(tài)。如果認(rèn)證成功則進(jìn)行下一步。在這步驟中,通信雙方開始交換一系列的NCP分組來配置網(wǎng)絡(luò)層。對于上層使用的是IP協(xié)議的情形來說,此過程是由IPCP完成的。當(dāng)NCP配置完成后,雙方的邏輯通信鏈路就建立好了,雙方可以開始在此鏈路上交換上層數(shù)據(jù)。當(dāng)數(shù)據(jù)傳送完成后,一方會發(fā)起斷開連接的請求。這時(shí),首先使用NCP來釋放網(wǎng)絡(luò)層的連接,歸還IP地址;然后利用LCP來關(guān)閉數(shù)據(jù)鏈路層連接
11、;最后,雙方的通信設(shè)備或模塊關(guān)閉物理鏈路回到空閑狀態(tài)。 圖2給出了上述過程的示意圖。圖2 PPP過程1.3 PPP幀格式PPP幀格式以HDLC幀格式為基礎(chǔ),做了很少的改動。二者的主要區(qū)別是:PPP是面向字符的,而HDLC是面向位的。PPP在點(diǎn)到點(diǎn)串行線路上使用字符填充技術(shù)。所以,所有的幀的大小都是字節(jié)的整數(shù)倍。 圖3中給出了PPP的幀格式。圖3 PPP的幀格式PPP幀是以標(biāo)準(zhǔn)HDLC標(biāo)志字節(jié)()開始和結(jié)束的。接下來是地址字段,缺省情況下,被固定設(shè)成二進(jìn)制數(shù),因?yàn)辄c(diǎn)到點(diǎn)線路的一個(gè)方向上只有一個(gè)接收方。地址字段后面是控制字段,缺省情況下,被固定設(shè)成二進(jìn)制數(shù)。因?yàn)槿笔∏闆r下,地址字段、控制字段總是常
12、數(shù)。因此,這兩部分實(shí)際可以省略不要(需要通過LCP進(jìn)行協(xié)商)。 接下來是協(xié)議字段。用來標(biāo)明后面攜帶的是什么類型的數(shù)據(jù)。其缺省大小為2個(gè)字節(jié)。但如果是LCP包,則可以是1字節(jié)。 接下來是數(shù)據(jù)字段。其長度可變,缺省最大長度為1500字節(jié)。 接下來是校驗(yàn)和字段,通常情況下是2個(gè)字節(jié),但也可以是4字節(jié)。1.4 LCP協(xié)商選項(xiàng)LCP用來在通信鏈路建立初期,在通信雙方之間協(xié)議功能選項(xiàng)。表1列出了其中主要的選項(xiàng)。它們是身份驗(yàn)證、壓縮、回叫、多鏈路。表1 PPP LCP協(xié)商選項(xiàng)特 性解釋協(xié)議身份驗(yàn)證鏈路建立成功前要求提供正確的密碼PAP,CHAP壓縮在帶寬有限的鏈路提供對數(shù)據(jù)的壓縮功能Predictor,St
13、acker,MPPC回叫由被叫方重新呼叫原呼叫發(fā)起方Cisco Callback,MS Callback多鏈路需要的時(shí)候進(jìn)行多鏈路捆綁、負(fù)載均衡MP1.5 LCP協(xié)商的其他選項(xiàng)除了身份認(rèn)證方法之外,PPP的LCP還提供了鏈路壓縮、回叫、多鏈路捆綁等選項(xiàng)。 1鏈路壓縮PPP協(xié)議運(yùn)行在速率十分有限的點(diǎn)到點(diǎn)串行鏈路上。為了提高數(shù)據(jù)發(fā)送效率,可以采用對數(shù)據(jù)進(jìn)行壓縮后再傳送的方法,我們將其稱為鏈路壓縮。LCP支持以下一些鏈路壓縮方法:Stac、Predictor、MPPC以及TCP頭部壓縮。不同的方法對CPU及內(nèi)存的需求并不相同。有些需要更多的內(nèi)存(內(nèi)存密集型),有些則需要占用更多的CPU時(shí)間(CPU密
14、集型)。壓縮原理和效果也不相同。Stac:Stac壓縮算法基于Lempel-Ziv理論,它通過查找、替換傳送內(nèi)容中的重復(fù)字符串的方法達(dá)到壓縮數(shù)據(jù)的目的。使用Stac壓縮算法可以選擇由各種硬件(適配器、模塊等)壓縮或者由軟件進(jìn)行壓縮,還可以選擇壓縮的比率。Stac壓縮算法需要占用較多的CPU時(shí)間。MPPC:MPPC是微軟的壓縮算法實(shí)現(xiàn),它也是基于Lempel-Ziv理論,也需要占用較多的CPU時(shí)間。Predictor:Predictor預(yù)測算法通過檢查數(shù)據(jù)的壓縮狀態(tài)(是否已被壓縮過)來決定是否進(jìn)行壓縮。因?yàn)椋瑢?shù)據(jù)的二次壓縮一般不會有更大的壓縮率。相反,有時(shí)經(jīng)過二次壓縮的數(shù)據(jù)反而比一次壓縮后的數(shù)
15、據(jù)更大。Predictor算法需要占用更多的內(nèi)存。TCP頭部壓縮:TCP頭部壓縮基于Van Jacobson算法,該算法通過刪除TCP頭部一些不必要的字節(jié)來實(shí)現(xiàn)數(shù)據(jù)壓縮的目的。 2回叫回叫又稱為回?fù)?,是指?dāng)通信一方撥號到另一方后,由另一方斷開撥號連接并進(jìn)行反向的撥號。這對于從甲地到乙地的電話費(fèi)大于從乙地到甲地的電話費(fèi)的情形。這時(shí),可以由甲方首先發(fā)起到乙方的呼叫連接,當(dāng)乙方收到甲方的呼叫請求后,斷開乙方的呼叫。然后,從乙方發(fā)起到甲方的回叫。甲方應(yīng)答后,雙方的通信鏈路就建立起來了?;亟羞€有更安全的優(yōu)點(diǎn)。因?yàn)橐曳皆诨亟兄翱梢则?yàn)證對方是否是合法用戶,或者可以用口令數(shù)據(jù)庫的方法或者可以用檢驗(yàn)對方電話號
16、碼的方法。 3多鏈路捆綁LCP的多鏈路捆綁(MP)選項(xiàng)通過將通信兩端之間的多條通信鏈路捆綁成一條虛擬的鏈路而達(dá)到擴(kuò)充鏈路可用帶寬的目的。LCP的多鏈路捆綁可以在多種類型的物理接口上實(shí)現(xiàn),包括異步串行接口、同步串行接口、ISDN基本速率接口BRI、ISDN主速率接口PRI。LCP的多鏈路捆綁也支持不同的上層協(xié)議封裝類型,如X.25、ISDN、幀中繼等。限于篇幅,關(guān)于以上LCP協(xié)商選項(xiàng)的配置這里就不再詳細(xì)介紹了。2 PPP配置(Cisco)2.1 PPP基本配置1封裝對于同步串行接口,默認(rèn)的封裝格式是HDLC(Cisco私有實(shí)現(xiàn))??梢允褂妹頴ncapsulation ppp將封裝格式改為PPP
17、。如圖4所示。圖4 PPP串行封裝當(dāng)通信雙方的某一方封裝格式為HDLC,而另一方為PPP時(shí),雙方關(guān)于封裝協(xié)議的協(xié)商將失敗。此時(shí),此鏈路處于協(xié)議性關(guān)閉(protocol down)狀態(tài),通信無法進(jìn)行。如圖5所示。圖5兩端路由器串行接口封裝格式不一致這時(shí),在路由器RouterA與路由器RouterB的鏈路沒有成功建立之前,路由器RouterA及RouterB的路由表將為空。當(dāng)路由器RouterA的串行接口Serial 0/0又改為封裝成PPP協(xié)議時(shí),雙方的通信將恢復(fù)正常。如圖6所示,是在路由器RouterA上產(chǎn)生的debug ppp events的輸出。可以發(fā)現(xiàn),成功地安裝了此鏈路的路由條目。同時(shí)
18、,系統(tǒng)提示該鏈路協(xié)議被激活,鏈路可用。圖6命令debug ppp events的輸出同時(shí),使用show ip route命令可以看到RouterA安裝了兩條路由條目,一條是到達(dá)網(wǎng)絡(luò)192.168.0.0/24的一條直連路由,另一條是到達(dá)主機(jī)192.168.0.2/32的一條直連主機(jī)路由。如圖7所示。圖7命令show ip route的輸出當(dāng)將路由器RouterA的Serial 0/0的封裝格式再次改為HDLC時(shí),命令debug ppp events將給出如圖8所示的提示信息,提示該鏈路上的路由條目被刪除。同時(shí),系統(tǒng)通告該接口協(xié)議性關(guān)閉。圖8命令debug ppp events的輸出 同時(shí),debug ppp negotiation的輸出也表明了這一點(diǎn),如圖9所示。圖9命令debug ppp negotiation的輸出 2 autoselect可以配置一個(gè)接口根據(jù)接收到的字符自動判斷遠(yuǎn)程撥號用戶協(xié)議類型并調(diào)用相應(yīng)的處理過程。如圖10
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度危險(xiǎn)品運(yùn)輸與安全裝卸協(xié)議3篇
- 專業(yè)水泥購銷協(xié)議規(guī)范版B版
- 二零二五年度電子商務(wù)平臺建設(shè)與運(yùn)營管理協(xié)議2篇
- 專項(xiàng)融資委托代理協(xié)議(2024版)版A版
- 個(gè)人借款抵押車復(fù)雜合同(2024版)2篇
- 二零二五年度城市綜合體項(xiàng)目投資合作協(xié)議5篇
- 專業(yè)短視頻攝制服務(wù)合同(2024年)3篇
- 2025年度生物制藥研發(fā)與市場推廣合作協(xié)議2篇
- 2025年度廠房物業(yè)管理與能源審計(jì)服務(wù)協(xié)議4篇
- 2025年度廠區(qū)生態(tài)景觀綠化養(yǎng)護(hù)服務(wù)合同樣本4篇
- 2024版?zhèn)€人私有房屋購買合同
- 2025年山東光明電力服務(wù)公司招聘筆試參考題庫含答案解析
- 《神經(jīng)發(fā)展障礙 兒童社交溝通障礙康復(fù)規(guī)范》
- 2025年中建六局二級子企業(yè)總經(jīng)理崗位公開招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024年5月江蘇省事業(yè)單位招聘考試【綜合知識與能力素質(zhì)】真題及答案解析(管理類和其他類)
- 注漿工安全技術(shù)措施
- 《食品與食品》課件
- 2024年世界職業(yè)院校技能大賽“食品安全與質(zhì)量檢測組”參考試題庫(含答案)
- 讀書分享會《白夜行》
- 2023上海高考英語詞匯手冊單詞背誦默寫表格(復(fù)習(xí)必背)
- 人民軍隊(duì)歷史與優(yōu)良傳統(tǒng)(2024)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
評論
0/150
提交評論