從基礎(chǔ)了解PPP協(xié)議
想要掌握一個(gè)協(xié)議,我們就需要從它基礎(chǔ)來了解。那么這里我們就具體解析一下PPP協(xié)議的內(nèi)容。首先讓我們看一下PPP協(xié)議概述,目前大多數(shù)模擬撥號連接都采用PPP做為數(shù)據(jù)鏈路協(xié)議,主要有下面特點(diǎn):
錯(cuò)誤檢測
自動(dòng)協(xié)商網(wǎng)絡(luò)層地址
CHAP or PAP 認(rèn)證
數(shù)據(jù)壓縮
符合ISO標(biāo)準(zhǔn)
PPP和串行線路Internet協(xié)議(SLIP)常常使人混淆,SLIP僅僅支持IP協(xié)議,PPP支持IP、IPX、以及AppleTalk等多協(xié)議。
PPP將數(shù)據(jù)鏈路層為為3個(gè)子層:
NCP 建立和協(xié)商網(wǎng)絡(luò)層協(xié)議及相應(yīng)的地址
LCP 建立鏈路、認(rèn)證用戶和檢測鏈路質(zhì)量
HDLC 在鏈路上封裝數(shù)據(jù)包
表1 概述PPP協(xié)議及其子層
OSI層 常見協(xié)議
第3層IP、IPX、AppleTalk
第2層 NCP、LCP、HDLC
第1層 EIA/TIA-232、X.24、V.23、V.35和ISDN等
與PPP相關(guān)的RFC:
RFC1144 TCP/IP數(shù)據(jù)包壓縮
RFC1220 PPP在網(wǎng)橋上的擴(kuò)充
RFC1334 PPP認(rèn)證協(xié)議
RFC1378 PPP AppleTalk控制協(xié)議(ATCP)
RFC1552 PPP互聯(lián)網(wǎng)數(shù)據(jù)包交換控制協(xié)議(IPXCP)
RFC1570 PPP LCP協(xié)議擴(kuò)充
RFC1661 PPP協(xié)議(PPP)
RFC1662 PPP中的HDLC封裝
RFC1990 PPP多鏈路協(xié)議(MP)
注:在http://www.isi.edu/in-notes/rfcxxxx.txt概要,xxxx代表RFC的編號。
PPP協(xié)議的大多數(shù)擴(kuò)展功能如數(shù)據(jù)糾錯(cuò)及支持多種網(wǎng)絡(luò)協(xié)議等,都是由LCP和NCP來控制的。LCP用于配置和測試數(shù)據(jù)鏈路,工作方式如下:
第1步 鏈路建立階段―――首先打開連接,然后確定相關(guān)通信參數(shù)(包括MTU、compress type、及鏈路認(rèn)證類型。鏈路設(shè)置完后確認(rèn)幀,然后是可選的鏈路質(zhì)量確認(rèn)階段,LCP確定鏈路質(zhì)量
第2步 可選(必要)的認(rèn)證階段―――兩種認(rèn)證方式:質(zhì)詢應(yīng)答握手認(rèn)證協(xié)議(CHAP)和密碼認(rèn)證協(xié)議(PAP)。PPP本身不需要認(rèn)證,cisco路由器異步線路需要認(rèn)證,建議使用CHAP認(rèn)證方式。
第3步 網(wǎng)絡(luò)層協(xié)議階段―――LCP引導(dǎo)NCP激活和配置網(wǎng)絡(luò)層協(xié)議。這一階段結(jié)束后即可傳輸數(shù)據(jù)包。
第4步 鏈路終止階段―――LCP指導(dǎo)NCP關(guān)閉layer 3。
LCP使用3種類型LCP數(shù)據(jù)幀完成上述步驟:
鏈路建立幀(Link establishment frames)―――建立鏈路
鏈路終止幀(Link terminateon frames)―――關(guān)閉鏈路
鏈路維護(hù)幀(Link maintenance frames)―――維護(hù)鏈路