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