PPP(Point-to-Point Protocol點到點協議)是為在同等單元之間傳輸數據包這樣的簡單鏈路設計的鏈路層協議。這種鏈路提供全雙工操作,并按照順序傳遞數據包。設計目的主要是用來通過撥號或專線方式建立點對點連接發送數據,使其成為各種主機、網橋和路由器之間簡單連接的一種共通的解決方案。
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鏈路就建立起來了。