PPP及PPPOE協(xié)議介紹
發(fā)布時(shí)間:2008-10-31 閱讀數(shù): 次 來(lái)源:網(wǎng)樂(lè)原科技
PPP概念
PPP(Point-to-Point Protocol點(diǎn)到點(diǎn)協(xié)議)是為在同等單元之間傳輸數(shù)據(jù)包這樣的簡(jiǎn)單鏈路設(shè)計(jì)的鏈路層協(xié)議。這種鏈路提供全雙工操作,并按照順序傳遞數(shù)據(jù)包。設(shè)計(jì)目的主要是用來(lái)通過(guò)撥號(hào)或?qū)>€方式建立點(diǎn)對(duì)點(diǎn)連接發(fā)送數(shù)據(jù),使其成為各種主機(jī)、網(wǎng)橋和路由器之間簡(jiǎn)單連接的一種共通的解決方案。
PPP鏈路建立過(guò)程
PPP協(xié)議中提供了一整套方案來(lái)解決鏈路建立、維護(hù)、拆除、上層協(xié)議協(xié)商、認(rèn)證等問(wèn)題。PPP協(xié)議包含這樣幾個(gè)部分:鏈路控制協(xié)議LCP(Link Control Protocol);網(wǎng)絡(luò)控制協(xié)議NCP(Network Control Protocol);認(rèn)證協(xié)議,最常用的包括口令驗(yàn)證協(xié)議PAP(Password Authentication Protocol)和挑戰(zhàn)握手驗(yàn)證協(xié)議CHAP(Challenge-Handshake Authentication Protocol)。
LCP負(fù)責(zé)創(chuàng)建,維護(hù)或終止一次物理連接。NCP是一族協(xié)議,負(fù)責(zé)解決物理連接上運(yùn)行什么網(wǎng)絡(luò)協(xié)議,以及解決上層網(wǎng)絡(luò)協(xié)議發(fā)生的問(wèn)題。下面介紹PPP鏈路建立的過(guò)程:
PPP鏈路狀態(tài)機(jī)如圖1所示。一個(gè)典型的鏈路建立過(guò)程分為三個(gè)階段:創(chuàng)建階段、認(rèn)證階段和網(wǎng)絡(luò)協(xié)商階段。
階段1:創(chuàng)建PPP鏈路
LCP負(fù)責(zé)創(chuàng)建鏈路。在這個(gè)階段,將對(duì)基本的通訊方式進(jìn)行選擇。鏈路兩端設(shè)備通過(guò)LCP向?qū)Ψ桨l(fā)送配置信息報(bào)文(Configure Packets)。一旦一個(gè)配置成功信息包(Configure-Ack packet)被發(fā)送且被接收,就完成了交換,進(jìn)入了LCP開(kāi)啟狀態(tài)。 應(yīng)當(dāng)注意,在鏈路創(chuàng)建階段,只是對(duì)驗(yàn)證協(xié)議進(jìn)行選擇,用戶(hù)驗(yàn)證將在第2階段實(shí)現(xiàn)。
階段2:用戶(hù)驗(yàn)證
在這個(gè)階段,客戶(hù)端會(huì)將自己的身份發(fā)送給遠(yuǎn)端的接入服務(wù)器。該階段使用一種安全驗(yàn)證方式避免第三方竊取數(shù)據(jù)或冒充遠(yuǎn)程客戶(hù)接管與客戶(hù)端的連接。在認(rèn)證完成之前,禁止從認(rèn)證階段前進(jìn)到網(wǎng)絡(luò)層協(xié)議階段。如果認(rèn)證失敗,認(rèn)證者應(yīng)該躍遷到鏈路終止階段。在這一階段里,只有鏈路控制協(xié)議、認(rèn)證協(xié)議,和鏈路質(zhì)量監(jiān)視協(xié)議的packets是被允許的。在該階段里接收到的其他的packets必須被靜靜的丟棄。 最常用的認(rèn)證協(xié)議有口令驗(yàn)證協(xié)議(PAP)和挑戰(zhàn)握手驗(yàn)證協(xié)議(CHAP)。 認(rèn)證方式介紹在第三部分中介紹。
階段3:調(diào)用網(wǎng)絡(luò)層協(xié)議
認(rèn)證階段完成之后,PPP將調(diào)用在鏈路創(chuàng)建階段(階段1)選定的各種網(wǎng)絡(luò)控制協(xié)議(NCP)。選定的NCP解決PPP鏈路之上的高層協(xié)議問(wèn)題,例如,在該階段IP控制協(xié)議(IPCP)可以向撥入用戶(hù)分配動(dòng)態(tài)地址。 這樣,經(jīng)過(guò)三個(gè)階段以后,一條完整的PPP鏈路就建立起來(lái)了。
認(rèn)證方式
1 口令驗(yàn)證協(xié)議(PAP)
PAP是一種簡(jiǎn)單的明文驗(yàn)證方式。NAS(網(wǎng)絡(luò)接入服務(wù)器,Network Access Server)要求用戶(hù)提供用戶(hù)名和口令,PAP以明文方式返回用戶(hù)信息。很明顯,這種驗(yàn)證方式的安全性較差,第三方可以很容易的獲取被傳送的用戶(hù)名和口令,并利用這些信息與NAS建立連接獲取NAS提供的所有資源。所以,一旦用戶(hù)密碼被第三方竊取,PAP無(wú)法提供避免受到第三方攻擊的保障措施。
2 挑戰(zhàn)-握手驗(yàn)證協(xié)議(CHAP)
CHAP是一種加密的驗(yàn)證方式,能夠避免建立連接時(shí)傳送用戶(hù)的真實(shí)密碼。NAS向遠(yuǎn)程用戶(hù)發(fā)送一個(gè)挑戰(zhàn)口令(challenge),其中包括會(huì)話ID和一個(gè)任意生成的挑戰(zhàn)字串(arbitrary challengestring)。遠(yuǎn)程客戶(hù)必須使用MD5單向哈希算法(one-way hashing algorithm)返回用戶(hù)名和加密的挑戰(zhàn)口令,會(huì)話ID以及用戶(hù)口令,其中用戶(hù)名以非哈希方式發(fā)送。
CHAP對(duì)PAP進(jìn)行了改進(jìn),不再直接通過(guò)鏈路發(fā)送明文口令,而是使用挑戰(zhàn)口令以哈希算法對(duì)口令進(jìn)行加密。因?yàn)榉?wù)器端存有客戶(hù)的明文口令,所以服務(wù)器可以重復(fù)客戶(hù)端進(jìn)行的操作,并將結(jié)果與用戶(hù)返回的口令進(jìn)行對(duì)照。CHAP為每一次驗(yàn)證任意生成一個(gè)挑戰(zhàn)字串來(lái)防止受到再現(xiàn)攻擊(replay attack)。在整個(gè)連接過(guò)程中,CHAP將不定時(shí)的向客戶(hù)端重復(fù)發(fā)送挑戰(zhàn)口令,從而避免第3方冒充遠(yuǎn)程客戶(hù)(remote client impersonation)進(jìn)行攻擊。
PPP協(xié)議的應(yīng)用
PPP協(xié)議是目前廣域網(wǎng)上應(yīng)用最廣泛的協(xié)議之一,它的優(yōu)點(diǎn)在于簡(jiǎn)單、具備用戶(hù)驗(yàn)證能力、可以解決IP分配等。
家庭撥號(hào)上網(wǎng)就是通過(guò)PPP在用戶(hù)端和運(yùn)營(yíng)商的接入服務(wù)器之間建立通信鏈路。 目前,寬帶接入正在成為取代撥號(hào)上網(wǎng)的趨勢(shì),在寬帶接入技術(shù)日新月異的今天,PPP也衍生出新的應(yīng)用。典型的應(yīng)用是在ADSL(非對(duì)稱(chēng)數(shù)據(jù)用戶(hù)環(huán)線,Asymmetrical Digital Subscriber Loop)接入方式當(dāng)中,PPP與其他的協(xié)議共同派生出了符合寬帶接入要求的新的協(xié)議,如PPPoE(PPP over Ethernet),PPPoA(PPP over ATM)。
利用以太網(wǎng)(Ethernet)資源,在以太網(wǎng)上運(yùn)行PPP來(lái)進(jìn)行用戶(hù)認(rèn)證接入的方式稱(chēng)為PPPoE。PPPoE即保護(hù)了用戶(hù)方的以太網(wǎng)資源,又完成了ADSL的接入要求,是目前ADSL接入方式中應(yīng)用最廣泛的技術(shù)標(biāo)準(zhǔn)。
同樣,在ATM(異步傳輸模式,Asynchronous Transfer Mode)網(wǎng)絡(luò)上運(yùn)行PPP協(xié)議來(lái)管理用戶(hù)認(rèn)證的方式稱(chēng)為PPPoA。它與PPPoE的原理相同,作用相同;不同的是它是在ATM網(wǎng)絡(luò)上,而PPPoE是在以太網(wǎng)網(wǎng)絡(luò)上運(yùn)行,所以要分別適應(yīng)ATM標(biāo)準(zhǔn)和以太網(wǎng)標(biāo)準(zhǔn)。
PPP協(xié)議的簡(jiǎn)單完整使它得到了廣泛的應(yīng)用,相信在未來(lái)的網(wǎng)絡(luò)技術(shù)發(fā)展中,它還可以發(fā)揮更大的作用。