在通信線路質(zhì)量較差的年代粮坞,在數(shù)據(jù)鏈路層使用可靠傳輸協(xié)議曾經(jīng)是一種好辦法。因此初狰,能實(shí)現(xiàn)可靠傳輸?shù)母呒墧?shù)據(jù)鏈路控制HDLC(High-level Data Link Control)就成為當(dāng)時(shí)比較流行的數(shù)據(jù)鏈路層協(xié)議莫杈。但現(xiàn)在HDLC已很少使用了。對于點(diǎn)對點(diǎn)的鏈路奢入,簡單得多的點(diǎn)對點(diǎn)協(xié)議PPP(Point-to-Point Protocol)則是目前使用得最廣泛的數(shù)據(jù)鏈路層協(xié)議筝闹。
PPP協(xié)議的特點(diǎn)
我們知道,互聯(lián)網(wǎng)用戶通常都要連接到某個(gè)ISP才能接入到互聯(lián)網(wǎng)腥光。PPP協(xié)議就是用戶計(jì)算機(jī)和ISP進(jìn)行通信時(shí)所使用的數(shù)據(jù)鏈路層協(xié)議,PPP協(xié)議是IETF在1992年制定的关顷。經(jīng)過1993年和1994年的修訂,現(xiàn)在的PPP協(xié)議在1994年就已成為互聯(lián)網(wǎng)的正式標(biāo)準(zhǔn)[RFC 1661]武福。
PPP協(xié)議應(yīng)滿足的需求
IETF認(rèn)為议双,在設(shè)計(jì)PPP協(xié)議時(shí)必須考慮以下多方面的需求[RFC 1547]: (1)簡單 IETF在設(shè)計(jì)互聯(lián)網(wǎng)體系結(jié)構(gòu)時(shí)把其中最復(fù)雜的部分放在TCP協(xié)議中,而網(wǎng)際協(xié)議IP則相對比較簡單捉片,它提供的是不可靠的數(shù)據(jù)報(bào)服務(wù)平痰。在這種情況下,數(shù)據(jù)鏈路層沒有必要提供比IP協(xié)議更多的功能伍纫。因此宗雇,對數(shù)據(jù)鏈路層的幀,不需要糾錯(cuò)莹规,不需要序號赔蒲,也不需要流量控制。IETF把“簡單”作為首要的需求 良漱。 簡單的設(shè)計(jì)還可使協(xié)議在實(shí)現(xiàn)時(shí)不容易出錯(cuò)舞虱,從而使不同廠商在協(xié)議的不同實(shí)現(xiàn)上的互操作性提高了。我們知道母市,協(xié)議標(biāo)準(zhǔn)化的一個(gè)主要目的就是提高協(xié)議的互操作性砾嫉。 總之,這種數(shù)據(jù)鏈路層的協(xié)議非常簡單:接收方每收到一個(gè)幀窒篱,就進(jìn)行CRC檢驗(yàn)焕刮。如CRC檢驗(yàn)正確舶沿,就收下這個(gè)幀;反之配并,就丟棄這個(gè)幀括荡,其他什么也不做.
封裝成幀 PPP協(xié)議必須規(guī)定特殊的字符作為幀定界符(即標(biāo)志一個(gè)幀的開始和結(jié)束的字符),以便使接收端從收到的比特流中能準(zhǔn)確地找出幀的開始和結(jié)束位置溉旋。 透明性 PPP協(xié)議必須保證數(shù)據(jù)傳輸?shù)耐该餍曰濉_@就是說,如果數(shù)據(jù)中碰巧出現(xiàn)了和幀定界符一樣的比特組合時(shí)观腊,就要采取有效的措施來解決這個(gè)問題邑闲。多種網(wǎng)絡(luò)層協(xié)議 PPP協(xié)議必須能夠在在同一條物理鏈路上同時(shí)支持多種網(wǎng)絡(luò)層協(xié)議(如IP和IPX等)的運(yùn)行。當(dāng)點(diǎn)對點(diǎn)鏈路所連接的是局域網(wǎng)或路由器時(shí)梧油,PPP協(xié)議必須同時(shí)支持在鏈路所連接的局域網(wǎng)或路由器上運(yùn)行的各種網(wǎng)絡(luò)層協(xié)議苫耸。 多種類型鏈路 除了要支持多種網(wǎng)絡(luò)層的協(xié)議外,PPP還必須能夠在多種類型的鏈路上運(yùn)行儡陨。例如褪子,串行的(一次只發(fā)送一個(gè)比特)或并行的(一次并行地發(fā)送多個(gè)比特),同步的或異步的骗村,低速的或高速的嫌褪,電的或光的,交換的(動(dòng)態(tài)的)或非交換的(靜態(tài)的)點(diǎn)對點(diǎn)鏈路胚股。
這里特別要提到的是在1999年公布的在以太網(wǎng)上運(yùn)行的PPP笼痛,即PPP over Ethernet,簡稱為PPPoE[RFC 2516]琅拌,這是PPP協(xié)議能夠適應(yīng)多種類型鏈路的一個(gè)典型例子晃痴。PPPoE是為寬帶上網(wǎng)的主機(jī)使用的鏈路層協(xié)議。這個(gè)協(xié)議把PPP幀再封裝在以太網(wǎng)幀中(當(dāng)然還要增加一些能夠識別各用戶的功能)财忽。寬帶上網(wǎng)時(shí)由于數(shù)據(jù)傳輸速率較高倘核,因此可以讓多個(gè)連接在以太網(wǎng)上的用戶共享一條到ISP的寬帶鏈路。現(xiàn)在即彪,即使是只有一個(gè)用戶利用ADSL進(jìn)行寬帶上網(wǎng)(并不和其他人共享到ISP的寬帶鏈路)紧唱,也是使用PPPoE協(xié)議,
PPP協(xié)議的組成
1)一個(gè)將IP數(shù)據(jù)報(bào)封裝到串行鏈路的方法隶校。PPP既支持異步鏈路(無奇偶檢驗(yàn)的8比特?cái)?shù)據(jù))漏益,也支持面向比特的同步鏈路。IP數(shù)據(jù)報(bào)在PPP幀中就是其信息部分深胳。這個(gè)信息部分的長度受最大傳送單元MTU的限制绰疤。
2)一個(gè)用來建立、配置和測試數(shù)據(jù)鏈路連接的鏈路控制協(xié)議LCP(Link Control Protocol)舞终。通信的雙方可協(xié)商一些選項(xiàng)轻庆。在RFC 1661中定義了11種類型的LCP分組癣猾。
3)一套網(wǎng)絡(luò)控制協(xié)議NCP(Network Control Protocol),其中的每一個(gè)協(xié)議支持不同的網(wǎng)絡(luò)層協(xié)議余爆,如IP纷宇、OSI的網(wǎng)絡(luò)層、DECnet蛾方,以及AppleTalk等像捶。