广域网二层之PPP协议
1.廣域網概述
WAN:wide area network,廣域網是一種覆蓋范圍較大的網絡,可以跨市,跨國通信。常見的廣域網協議有PPP、HDLC、FR、ATM等。
分類:
1.點對點
????????PPP和HDLC都是屬于點對點協議,點對點協議的優點是可以獨享帶寬,數據高效轉發,但是相對來說,成本較大。PPP屬于公有協議,支持不同網段訪問,而HDLC屬于私有協議,不同網段不能訪問。??PPP,是一種點到點的公有協議,工作在數據鏈路層,是二層協議的一種。PPP是多個協議組成的協議簇,包含有LCP協議、認證協議、NCP協議。PPP協議協商一般需要經歷三個階段,LCP鏈路協商、認證協商和網絡協商。PPP協議通過封裝PPP幀來進行二層通信,不需要MAC地址。
2.MA
MA多路訪問網絡,支持鏈路共享,成本較低,但是會造成帶寬分擔,數據擁塞等。
MA又分為BMA和NBMA兩大類。
????????BMA:廣播多路訪問,支持廣播報文,比如ethernet協議。
????????NBMA:非廣播多路訪問,不支持廣播報文,比如FR和ATM。
3.融合網絡
????????PPP協議具有獨享,高效,安全等特點,但是相對MA網絡來說,成本過于高昂。以太網絡可以實現鏈路共享,降低成本,但是以太網絡不具有安全性,因此,將PPP和ethernet融合起來的協議就是PPPOE協議。
2.PPP鏈路協商過程
????????
? ? ? ?PPP通過LCP協議用來進行鏈路協商,包括一些重要參數的協商,比如MRU(最大數據接收單元)、魔術字、認證類型等參數。
? ? ? ? MRU最大數據接收單元,數值相當于是接口MTU(最大數據傳輸單元),在LCP協商過程中,這個數值可以不一致,LCP可以自動協商MRU大小。
? ? ? ? 魔術字,是一個隨機生成的數字,可用于二層防環。當兩邊魔術字數值相同時,則認為出現了環路,數值不合法,發送config-nak要求對方重新發起請求,當對方第二次隨機生成的魔術字和本端不相同時,則認為該數值合法有效,且沒有環路。
? ? ? ? 認證類型,在PPP中屬于可選的協議類型,當認證方配置了認證模式后,會通過次字段協商兩邊支持的認證類型是否一致。
? ? ? ? LCP協商過程:
????????
????????1.R1發送config-request給R2,包含自己的MRU1200以及魔術字是A。
????????2.R2收到以后,查看MRU數值合法,魔術字和本端不沖突,則回復config-ack進行確認。
? ? ? ? 3.同時R2也需要發送config-request給R1,包含自己的MRU1300以及魔術字是B。
? ? ? ? 4.R1收到以后,查看MRU數值合法,魔術字和本端不沖突,則回復config-ack進行確認。
此時LCP鏈路協商階段完成。
抓包報文如下:
????????
?3.PPP認證協商過程
? ? ? ? 認證協議分類兩大類,PAP認證和CHAP認證,認證方一般把存儲憑證在AAA中。
? ? ? ? 認證方和被認證方,認證方一般是表示ISP運行商,是服務端。被認證方一般表示用戶,是客戶端。
? ? ? ? PAP(密碼認證協議),需要兩次報文交互即可,由被認證方主動發送用戶名和密碼給認證方,由認證方進行確認。PAP認證屬于明文認證,安全性較低。
? ? ? ? CHAP(挑戰握手認證協議),需要三次報文交互,由認證方發起挑戰值報文,并攜帶一個隨機數和ID值給被認證方,再由被認證方發送接口用戶名以及一個hash1值,這個hash1值是根據認證方發來的隨機數和ID加上接口下密碼經過MD5算法計算得出的數字串。認證方收到以后,根據被認證方發來的用戶名,到AAA下尋找對應用戶名的密碼,在根據隨機數和ID加上AAA下匹配的密碼經過MD5算法計算出另一個hash2,比較hash1和hsah2是否相等,相等則認證通過,否則認證不通過。
PAP認證協商過程:
????????
?首先要經過LCP協商階段:
????????1.R1發送config-request給R2,包含自己的MRU1200以及魔術字是A。
????????2.R2收到以后,查看MRU數值合法,魔術字和本端不沖突,則回復config-ack進行確認。
? ? ? ? 3.同時R2也需要發送config-request給R1,包含自己的MRU1300以及魔術字是B,還有認證模式是PAP。
? ? ? ? 4.R1收到以后,查看MRU數值合法,魔術字和本端不沖突,認證模式本端支持,則回復config-ack進行確認。
認證協商階段:
? ? ? ? 1.R1發送帶有用戶名和密碼給R2
? ? ? ? 2.R2收到以后在AAA下查找用戶名以及密碼是否都匹配,匹配則回復ack,不匹配回復nak。
R2配置:
[r2-Serial1/0/0]link-protocol ppp----鏈路協議為PPP協議 [r2-Serial1/0/0]mtu 1300---設置MTU為1300 [r2-Serial1/0/0]ppp authentication-mode pap---設置認證模式PAP認證 [r2-aaa]local-user hw password cipher 123----AAA下存儲認證憑證 [r2-aaa]local-user hw service-type ppp----設置用戶服務類型為PPPR1配置:
[r1-Serial1/0/0]link-protocol ppp----鏈路協議為PPP協議 [r1-Serial1/0/0]mtu 1200----設置MTU為1200 [r1-Serial1/0/0]ppp pap local-user hw password simple 123----設置PAP認證用戶名和密碼抓取報文如下:
LCP階段:
?PAP階段:
CHAP認證協商過程:
????????
?
?首先要經過LCP協商階段:
????????1.R1發送config-request給R2,包含自己的MRU1200以及魔術字是A。
????????2.R2收到以后,查看MRU數值合法,魔術字和本端不沖突,則回復config-ack進行確認。
? ? ? ? 3.同時R2也需要發送config-request給R1,包含自己的MRU1300以及魔術字是B,還有認證模式是CHAP。
? ? ? ? 4.R1收到以后,查看MRU數值合法,魔術字和本端不沖突,認證模式本端支持,則回復config-ack進行確認。
認證協商階段:
? ? ? ? 1.認證方R2發送challenge報文給R1,帶有一個空的用戶名,以及ID和一個隨機數。
? ? ? ? 2.R1收到以后回復response報文,包含接口下用戶名以及根據ID和隨機數和接口下密碼經過MD5算法出的hash1。
? ? ? ? 3.R2收到response報文,根據攜帶的用戶名到AAA下查找此用戶和對應密碼,根據該用戶的密碼加ID和隨機數經過MD5算法得出hash2,比較hash1和hash2,相同則認證成為,否則失敗。
R2配置:
[r2-Serial1/0/0]link-protocol ppp----鏈路協議為PPP協議 [r2-Serial1/0/0]mtu 1300---設置MTU為1300 [r2-Serial1/0/0]ppp authentication-mode chap---設置認證模式CHAP認證 [r2-aaa]local-user hw password cipher 123----AAA下存儲認證憑證 [r2-aaa]local-user hw service-type ppp----設置用戶服務類型為PPP?R1配置:? ??
[r1-Serial1/0/0]link-protocol ppp----鏈路協議為PPP協議 [r1-Serial1/0/0]mtu 1200----設置MTU為1200 [r1-Serial1/0/0]ppp chap user hw----設置CHAP認證用戶名 [r1-Serial1/0/0]ppp chap password simple 123----設置CHAP認證密碼抓取報文如下:
? ? ? ? LCP階段:
? ? ? ?
CHAP認證階段:
?????????
?4.PPP網絡協商過程
? ? ? ? PPP協議根據NCP來進行網絡協商,NCP包含多種類型,比如IPCP,IPXCP等。在串口鏈路中,PPP根據IPCP進行IP地址協商。IPCP地址協商分為兩類,一類是靜態地址協商,一類的動態地址協商,IPCP支持自動分配地址。
? ? ? ? 靜態地址協商過程:
????????
當接口手工配上IP地址以后,IPCP為靜態協商地址。
1.R1發送config-request給R2,包含有自己的接口IP地址。
2.R2收到config-request,查看 對方IP地址是否合法有效,可以使用就回復ack。
3.同時R2也要發送config-request給R1,包含有自己的接口IP地址。
4.R1收到config-request,查看 對方IP地址是否合法有效,可以使用就回復ack。
抓取報文如下:
????????
?動態地址協商過程:
? ? ? ??
1.R1接口沒有IP地址時,IPCP報文里的IP是0.0.0.0。
2.R2收到config-request,查看 對方IP地址不是合法有效地址,回復NAK,并分配一個地址給R1。
3.R1收到config-nak,查看對方分配給自己的IP地址,重新以此地址重新發起config-request。
4.R2收到config-request,查看 對方IP地址是否合法有效,可以使用,回復ack。
5.同時R2也要發送config-request給R1,包含有自己的接口IP地址。
6.R1收到config-request,查看 對方IP地址是否合法有效,可以使用就回復ack。
R2配置:
[r2-Serial1/0/0]link-protocol ppp----鏈路協議為PPP協議 [r2-Serial1/0/0]mtu 1300---設置MTU為1300 [r2-Serial1/0/0]ppp authentication-mode chap---設置認證模式CHAP認證 [r2-Serial1/0/0]ip address 10.1.12.2 255.255.255.0 ----配置接口地址 [r2-Serial1/0/0]remote address 10.1.30.1----分配給對端的地址 [r2-aaa]local-user hw password cipher 123----AAA下存儲認證憑證 [r2-aaa]local-user hw service-type ppp----設置用戶服務類型為PPP??R1配置:? ??
[r1-Serial1/0/0]link-protocol ppp----鏈路協議為PPP協議 [r1-Serial1/0/0]mtu 1200----設置MTU為1200 [r1-Serial1/0/0]ppp chap user hw----設置CHAP認證用戶名 [r1-Serial1/0/0]ppp chap password simple 123----設置CHAP認證密碼 [r1-Serial1/0/0]ip address ppp-negotiate---設置接口IP由PPP自動獲取抓取報文如下:
????????
ping測試:
?
總結
以上是生活随笔為你收集整理的广域网二层之PPP协议的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 矿机价格又双叕暴跌!个人挖不到收益,区块
- 下一篇: 现代永磁同步电机控制原理及matlab仿