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