PPP協議基礎

2021-05-12 11:33:39 字數 2810 閱讀 8954

一、ppp簡介

ppp(point-to-point protocol點到點協議)是為在同等單元之間傳輸資料報這樣的簡單鏈路設計的鏈路層協議,是資料鏈路層協議中的一種,也是應用最廣的廣域網協議。這種鏈路提供全雙工操作,並按照順序傳遞資料報。設計目的主要是用來通過撥號或專線方式建立點對點連線傳送資料,使其成為各種主機、網橋和路由器之間簡單連線的一種共通的解決方案。

二、ppp協議結構和幀格式封裝

ppp有三個主要元件:

◎序列鏈路上對資料報進行封裝;

◎用於建立,配置和檢測資料鏈路連線的連線控制協議(lcp);

◎用於建立和配置不同網路層協議的網路控制協議(ncp)協議族。

為了在點對點連線上建立通訊,每個ppp端必須首先傳送lcp包以配置和檢測資料鏈結。在連線建立而且可選的選項都已經由lcp設定完成後,ppp必須必須傳送ncp包用以選擇和配置乙個或多個網路層協議。在每層的協議被配置完成後,就可以在鏈種上進行通訊了。在lcp或ncp顯式地關閉連線以前連線一保持開放。

ppp使用hdlc作為封裝的基礎,並使用hdlc幀校驗序列進行錯誤檢測。

三、ppp鏈路建立過程

ppp工作流程:

當使用者撥號接入 isp 時,路由器的數據機對撥號做出確認,並建立一條物理連線。pc 機向路由器傳送一系列的 lcp 分組(封裝成多個 ppp 幀)。這些分組及其響應選擇一些 ppp 引數,和進行網路層配置,ncp 給新接入的 pc機分配乙個臨時的 ip 位址,使 pc 機成為網際網路上的乙個主機。通訊完畢時,ncp 釋放網路層連線,收回原來分配出去的 ip 位址。接著,lcp 釋放資料鏈路層連線。最後釋放的是物理層的連線。 ppp和hdlc之間最主要的區別是,ppp是面向位元組的,hdlc是面向位的。

乙個典型的鏈路建立過程分為三個階段:建立階段、認證階段和網路協商階段。

階段1:建立ppp鏈路

lcp負責建立鏈路。在這個階段,將對基本的通訊方式進行選擇。鏈路兩端裝置通過lcp向對方傳送配置資訊報文(configure packets)。一旦乙個配置成功資訊包(configure-ack packet)被傳送且被接收,就完成了交換,進入了lcp開啟狀態。

應當注意,在鏈路建立階段,只是對驗證協議進行選擇,使用者驗證將在第2階段實現。

階段2:使用者驗證

在這個階段,客戶端會將自己的身份傳送給遠端的接入伺服器。該階段使用一種安全驗證方式避免第三方竊取資料或冒充遠端客戶接管與客戶端的連線。在認證完成之前,禁止從認證階段前進到網路層協議階段。如果認證失敗,認證者應該躍遷到鏈路終止階段。

在這一階段裡,只有鏈路控制協議、認證協議,和鏈路質量監視協議的packets是被允許的。在該階段裡接收到的其他的packets必須被靜靜的丟棄。

階段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協議簡介

ppp point to point protocol 協議是在slip的基礎上發展起來的,由於slip只支援非同步傳輸方式,無協商過程,它逐漸被ppp協議所替代.ppp協議作為一種提供在點到點鏈路上封裝,傳輸網路層資料報的資料鏈路層協議,處於osi參考模型的第二層,主要被發計用來支援全雙工的同非同...

ppp協議說明

1.兩台裝置使用ppp連線,直連線口屬於不同網段,是否可以ping通?可以ping通。因為ppp在進行ipcp協商後會把學習到的直連路由加入到路由表中。2.ppp 協議位於tcp ip協議棧中哪一層?其主要功能是什麼?ppp協議處於tcp ip協議棧中的鏈路層 第二層 是一種提供在點到點鏈路上傳輸封...

ppp協議功能

ppp協議功能 開始由驗證方向被驗證方傳送一段隨機的報文,並加上自己的主機名。當被驗證方收到驗證方的驗證請求,從中提取出驗證方所傳送過來的主機名,然後根據 該主機名在被驗證方裝置的後台資料庫中去查詢相同的使用者名稱的記錄,當查詢到後就使用該使用者名稱所對應的金鑰,然後根據這個金鑰 報文id和驗證方傳...