點到點協(xié)議PPP是一個被廣泛使用的廣域網(wǎng)協(xié)議,跨過同步和異步電路實現(xiàn)路由器到路由器(router-to-router)和主機到網(wǎng)絡(luò)(host-to-network)的點到點連接。PPP協(xié)議提供了一整套方案來解決鏈路建立、維護、拆除、上層協(xié)議協(xié)商、認(rèn)證等問題。
PPP協(xié)議包含三個部分:1、鏈路控制協(xié)議LCP:負(fù)責(zé)創(chuàng)建、維護、終止一次物理連接。2、網(wǎng)絡(luò)控制協(xié)議NCP:NCP是一組協(xié)議,負(fù)責(zé)解決物理連接上運行什么網(wǎng)絡(luò)協(xié)議,以及解決上層網(wǎng)絡(luò)協(xié)議發(fā)生的問題。NCP控制協(xié)議包括IPCP、IPv6CP、MPLSCP、OSINLCP、BCP等,IPCP(支持IPv4)是必須要進行協(xié)商的,其它的NCP協(xié)議可根據(jù)實際需要來選擇。3、認(rèn)證協(xié)議:最常用的是密碼驗證協(xié)議PAP和挑戰(zhàn)握手驗證協(xié)議CHAP。PAP和CHAP通常被用于在PPP封裝的串行線路上提供安全性認(rèn)證。PAP采用二次握手驗證,用戶名和密碼在鏈路上是以明文方式傳輸?shù)?。PAP的認(rèn)證過程如下:1、被驗證方發(fā)送用戶名和密碼到驗證方。2、驗證方根據(jù)用戶配置查看此用戶名和密碼是否正確,正確則認(rèn)證通過,不正確則認(rèn)證不通過。CHAP要比PAP安全得多,它使用三次握手周期性的驗證遠(yuǎn)端節(jié)點身份,CHAP的認(rèn)證過程如下:1、驗證方發(fā)送一些隨機產(chǎn)生的報文到被驗證方。2、被驗證方用自己的口令和MD5算法對該隨機報文進行加密,將生成的密文發(fā)回驗證方。3、驗證方用自己保存的被驗證方口令和MD5算法對原隨機報文加密,與被驗證方的密文比較,相同則認(rèn)證通過,不同則認(rèn)證不通過。
封裝:一種封裝多協(xié)議數(shù)據(jù)報的方法。PPP 封裝提供了不同網(wǎng)絡(luò)層協(xié)議同時在同一鏈路傳輸?shù)亩嗦窂?fù)用技術(shù)。PPP 封裝精心設(shè)計,能保持對大多數(shù)常用硬件的兼容性,克服了SLIP不足之處的一種多用途、點到點協(xié)議,它提供的WAN數(shù)據(jù)鏈接封裝服務(wù)類似于LAN所提供的封閉服務(wù)。所以,PPP不僅僅提供幀定界,而且提供協(xié)議標(biāo)識和位級完整性檢查服務(wù)。鏈路控制協(xié)議(LCP):一種擴展鏈路控制協(xié)議,用于建立、配置、測試和管理數(shù)據(jù)鏈路連接。網(wǎng)絡(luò)控制協(xié)議(NCP):協(xié)商該鏈路上所傳輸?shù)臄?shù)據(jù)包格式與類型,建立、配置不同的網(wǎng)絡(luò)層協(xié)議;配置:使用鏈路控制協(xié)議的簡單和自制機制。該機制也應(yīng)用于其它控制協(xié)議,例如:網(wǎng)絡(luò)控制協(xié)議(NCP)。為了建立點對點鏈路通信,PPP 鏈路的每一端,必須首先發(fā)送 LCP 包以便設(shè)定和測試數(shù)據(jù)鏈路。在鏈路建立,LCP 所需的可選功能被選定之后,PPP 必須發(fā)送 NCP 包以便選擇和設(shè)定一個或更多的網(wǎng)絡(luò)層協(xié)議。一旦每個被選擇的網(wǎng)絡(luò)層協(xié)議都被設(shè)定好了,來自每個網(wǎng)絡(luò)層協(xié)議的數(shù)據(jù)報就能在鏈路上發(fā)送了。鏈路將保持通信設(shè)定不變,直到有 LCP 和 NCP 數(shù)據(jù)包關(guān)閉鏈路,或者是發(fā)生一些外部事件的時候(如,休止?fàn)顟B(tài)的定時器期滿或者網(wǎng)絡(luò)管理員干涉)。應(yīng) 用:假設(shè)同樣是在Windows 98,并且已經(jīng)創(chuàng)建好“撥號連接”。那么可以通過下面的方法來設(shè)置PPP協(xié)議:首先,打開“撥號連接”屬性,同樣選擇“服務(wù)器類型”選項卡;然后,選擇默認(rèn)的“PPP:Internet,Windows NT Server,Windows 98”,在高級選項中可以設(shè)置該協(xié)議其它功能選項;最后,單擊“確定”按鈕即可。
當(dāng)用戶撥號接入 ISP 時,路由器的調(diào)制解調(diào)器對撥號做出確認(rèn),并建立一條物理連接(底層up)。PC 機向路由器發(fā)送一系列的 LCP 分組(封裝成多個 PPP 幀)。這些分組及其響應(yīng)選擇一些 PPP 參數(shù),和進行網(wǎng)絡(luò)層配置(此前如有PAP或CHAP驗證先要通過驗證),NCP 給新接入的 PC機分配一個臨時的 IP 地址,使 PC 機成為因特網(wǎng)上的一個主機。通信完畢時,NCP 釋放網(wǎng)絡(luò)層連接,收回原來分配出去的 IP 地址。接著,LCP 釋放數(shù)據(jù)鏈路層連接。最后釋放的是物理層的連接。