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