天天看點

3.1.0 廣域網(簡介、PPP、PAP、CHAP、PPPOE)

作者:HadesLing

觀前溫馨提示:

篇幅較大,本章主要有以下大點,可通過目錄與右側導航跳轉觀看:

(1)廣域網基本概念

(2)PPP協定介紹

(3)PAP與CHAP認證

(4)PPPOE介紹與配置

簡介

廣域網組網

  • 廣域網早期組網的X.25隻能提供64Kbit/s的帶寬
  • 其後DDN(Digital Data Network)資料網和FR(Frame Relay)幀中繼提供的帶寬提高到2Mbit/s
  • SDH(Synchronous Digital Hierachy)同步數字結構和ATM(Asynnchronous Transfer Mode)異步傳輸模式,進下一步把提升到了10Gbit/s
  • 最後發展到目前以IP為基礎的10Gbit/s甚至更高帶寬的廣域網絡

廣域網中的路由角色(PE/CE/P)概念

  • CE(CustomerEdge):使用者的邊緣裝置,服務提供商所連接配接的使用者端路由器。

CE路由器通過連接配接一個或多個PE路由器,為使用者提供多點服務接入。

CE路由器通常是一台IP路由器,它與連接配接的PE路由器建立鄰接關系。

  • PE(ProviderEdge):營運商的邊緣裝置,Provide的邊緣裝置,服務提供商骨幹網的邊緣路由器,它相當于标簽邊緣路由器(LER)。

PE路由器連接配接CE路由器和P路由器,是最重要的網絡節點。

使用者的流量通過PE路由器流入使用者網絡,或者通過PE路由器流到組網骨幹網。

  • P(Provider):營運商的内部核心層裝置,提供商路由器,服務提供商是不連接配接任何CE路由器的骨幹網路由裝置,它相當于标簽交換路由器(LSR)。

PPP協定

ppp 端對端/點對點 協定(Peer-Peer Protocol)

ppp有什麼用?用來幹嘛的?

答:PPP是一種點到點鍊路層協定,主要用于在全雙工的同異步鍊路上[Serial串行接口]進行點到點的資料傳輸。

3.1.0 廣域網(簡介、PPP、PAP、CHAP、PPPOE)

PPP協定的優勢

1、支援LCP協商:鍊路層參數協商

2、支援NCP協商:網絡層參數協商

3、支援使用者認證:PAP、CHAP

4、支援擴充:ppp可擴充的支援低層鍊路

  • 以太網網絡,PPP可擴充為PPPOE
  • ATM網絡,PPP可擴充為PPPOA

PPP協定之使用者認證

PAP認證

  • PAP密碼認證協定(Password Authentication Protocol)
  • PAP是明文互動認證
  • PAP的簡要認證過程
    • 1、認證方(伺服器)上建立認證的賬号密碼,被認證方(用戶端)上設定好用于認證的賬号密碼
    • 2、由被認證方向認證方發送認證資訊(賬号密碼),認證方檢查賬号密碼,比對成功則回複認證成功否則回複認證失敗。
    • 【用戶端】》主動認證》【伺服器】
3.1.0 廣域網(簡介、PPP、PAP、CHAP、PPPOE)

CHAP認證

  • CHAP 挑戰握手認證協定(Challenge Handshake Authentication Protocol )
  • CHAP是密文互動認證
  • CHAP的簡要認證過程:

1、認證方(伺服器)上建立認證的賬号密碼,被認證方(用戶端)上設定好用于認證的賬号密碼

2、認證方主動向被認證方發送挑戰封包

含有:(接口認證賬号、認證序号A、認證方随機數)

在單向chap認證中,認證方的接口認證賬号可有可無。

3、被認證方收到挑戰封包,檢視接口是否存在chap賬号密碼:

存在,則回複答複封包:封包序号A、接口認證賬号、HASH值 HASH值(認證序号A、認證方随機數、接口認證的密碼,三者進行MD5加密得出HASH值)封包序号從始至終都是認證方發送的封包序号。

不存在,則不回複資訊,預設認證失敗。

4、認證方收到答複封包:

(1)對收到的賬号在賬号資料庫中檢索出“密碼”

(2)基于封包序号,取出之前産生的“随機數”

(3)進行(封包序号A+認證方随機數+賬号對應密碼)三者進行MD5加密得到一個HASH值

5、兩個HASH值對比,一樣則說明認證成功,否則失敗。

3.1.0 廣域網(簡介、PPP、PAP、CHAP、PPPOE)

PPP協定之位址下發

在PPP協定中,可以隻在一端上配置位址實作将指定位址下發給對端。

[AR1]int s4/0/0
[AR1-Serial4/0/0]ip add 192.168.1.1 24
[AR1-Serial4/0/0]remote address 192.168.1.2	# 指定對端使用的位址

[AR2]int s4/0/0
[AR2-Serial4/0/0]ip add ppp-negotiate	# 通過鄰居擷取位址
Dec 19 2022 18:28:38-08:00 Huawei %%01IFNET/4/LINK_STATE(l)[63]:The line protoco
l PPP IPCP on the interface Serial1/0/0 has entered the UP state. 
# 出現該提示說明成功擷取到位址           

PPP協定的詳細建立過程

1、LCP協商

  • 主動發送Request封包給AR2進行鍊路層參數的協商。
  • request封包内容:MRU、認證協定、MP-Group、魔術字
    • MRU最大傳輸單元:保障雙向傳輸資料過程中不會因為MRU不同導緻丢包現象。
    • 認證協定:為下一個階段做鋪墊,表明是否需要認證。
    • MP-Group:表明是否存在鍊路聚合。
    • 魔術字:随機産生,起到防止環路現象,如果在接口收到自己所發送的魔術字,則直接丢棄。

對端收到發送的Request封包進行封包内的參數協商:

    • 1、如果協商的參數内容都是正常的,則向對端回複ACK封包,協商成功。
    • 2、如果協商的參數内容都識别,但存在不認可的參數,則回複NAK封包,NAK中攜帶自己認可的參數。
      • 收到NAK後的源将再次發送Request封包同時填充使用NAK封包内的參數。
    • 3、如果協商的參數有不識别的内容,則回複Reject封包,要求源重新協商,源将去除目标不識别的内容進行剔除再發送Request。

LCP協商完成之後,則周期發送Echo-Request、Echo-Replay維護鍊路狀态

2、pap/chap認證協商

如果沒有配置ppp authentication-mode,即沒有設定認證,則直接跳過該階段。

pap認證協商

    • 被認證《主動向》認證方發送Request封包進行參數協商:(攜帶認證賬号、明文密碼)
    • 認證方收到Request封包,将封包内的認證賬号+密碼和自身資料庫中的認證賬号+密碼進行對比:
      • ①對比結果相同,回複ACK封包,認證通過
      • ②對比結果不同,回複NAK封包,認證失敗
3.1.0 廣域網(簡介、PPP、PAP、CHAP、PPPOE)

chap認證協商

    • 認證方《主動向》被認證方,發送的Chalenge資訊(接口認證賬号<非必要>、認證序号ID、認證方随機數 )
    • 被認證方,檢視接口是否存在chap賬号密碼:

存在,則回複的response封包:封包序号A、接口認證賬号、HASH值 HASH值(認證序号A、認證方随機數、接口認證的密碼,三者進行MD5加密得到一個HASH值)封包序号從始至終都是認證方發送的封包序号。

不存在,則不回複資訊,預設認證失敗。

    • 認證方,收到回複的response封包:

(1)對收到的認證賬号,在賬号資料庫中檢索出“密碼”

(2)基于封包序号,取出之前産生的“認證方随機數”

(3)進行(封包序号A+随機數+賬号對應密碼)三者進行MD5加密得到一個HASH值

    • 認證方兩個HASH值對比,一樣則說明認證成功Success,否則失敗Failure。
3.1.0 廣域網(簡介、PPP、PAP、CHAP、PPPOE)

3、NCP協商

  • 最常見的NCP協定是IPCP,用來協商IP參數。
  • 如果該階段沒有協商成功》display ip interface brief,檢視接口狀态時會看到Protocol字段處于down狀态
3.1.0 廣域網(簡介、PPP、PAP、CHAP、PPPOE)
  • 認證方《主動向》被認證方,發送的Request資訊,攜帶 本端接口IP位址。
  • 被認證方收到Request封包:

如果參數不存在問題(位址沒有沖突、合法)則回複ACK封包如果參數存在問題(位址有沖突或不合規)則回複NAK封包NCP協商并不看你位址是否相同網段,而是看你的位址資訊是否有誤。

  • 當認證方收到ACK封包,表示協商成功,雙方将建立一條直連路由。這也是為什麼ppp鍊路中不同段位址也能互通的原因。
3.1.0 廣域網(簡介、PPP、PAP、CHAP、PPPOE)

4、建立完成之後,通過Echo Request、Echo Replay保活

5、建立chap認證方式的建立全過程抓包資訊:

Chap認證建立會話抓包資訊下載下傳(Wireshark 3.6.6 )下載下傳連結:https://download.csdn.net/download/qq_45443704/87320707

3.1.0 廣域網(簡介、PPP、PAP、CHAP、PPPOE)

PPP協定建立的狀态機

1.通信雙方開始建立PPP鍊路時,先進入到Establish階段。

2.在Establish階段,進行LCP協商:協商通信雙方的MRU(Maximum Receive Unit,最大接收單元)、認證方式和魔術字(Magic Number)等選項。 協商成功後進入Opened狀态,表示底層鍊路已建立。

3.如果配置了認證,将進入Authenticate階段。否則直接進入Network階段。

4.在Authenticate階段,會根據連接配接建立階段協商的認證方式進行鍊路認證。 認證方式有兩種:PAP和CHAP。如果認證成功,進入Network階段,否則進入Terminate階段,拆除鍊路,LCP狀态轉為Down。

5.在Network階段,PPP鍊路進行NCP協商。 通過NCP協商來選擇和配置一個網絡層協定并進行網絡層參數協商。(選擇一個IP位址進行網絡層參數協商)最常見的NCP協定是IPCP,用來協商IP參數。

6.在Terminate階段,如果所有的資源都被釋放,通信雙方将回到Dead階段。

3.1.0 廣域網(簡介、PPP、PAP、CHAP、PPPOE)

PPPOE

PPPOE簡介

PPPOE(PPP Over Ethernet)以太網承載PPP協定

1、PPPOE實作以太網上提供點到點的連接配接,PPPOE用戶端與PPPOE伺服器之間建立PPP進行傳輸資料。

2、使用PPP資料封裝的同時,為以太網上的主機提供接入服務,實作使用者連接配接控制和計費,在企業網絡與營運商網絡中應用廣泛。

PPP的幀結構

目前HCIA階段,簡要觀看即可。

3.1.0 廣域網(簡介、PPP、PAP、CHAP、PPPOE)

PPPOE的會話建立大緻過程

參考華為HCIA-Datacom V1.0 教育訓練教材.pdf (116.68MB)【章節:17 廣域網】

下載下傳位址:https://e.huawei.com/cn/talent/#/resources 搜尋下載下傳:hcia-datacom v1.0

3.1.0 廣域網(簡介、PPP、PAP、CHAP、PPPOE)

1、PPPOE會話發現

提前給你打個預防針,其實挺像DHCP的封包互動的…

1-PPPOE PADI 查找開始

1、PPPoE用戶端在本地以太網中廣播一個PPPOED PADI封包,此PADI封包中包含了用戶端需要的服務資訊。[類似于DHCP的Discover封包]

》PADI封包的目的MAC位址是一個廣播位址,Code字段為0x09,Session ID字段為0x0000。

》所有PPPoE伺服器端收到PADI封包之後,會将封包中所請求的服務與自己能夠提供的服務進行比較。

3.1.0 廣域網(簡介、PPP、PAP、CHAP、PPPOE)

2-PPPOE PADO 提供資訊

2、如果伺服器端可以提供用戶端請求的服務,就會回複一個PADO封包。[類似于DHCP的Offer封包]

》PADO封包的目的位址是發送PADI封包的用戶端MAC位址,Code字段為0x07,Session ID字段為0x0000。

3.1.0 廣域網(簡介、PPP、PAP、CHAP、PPPOE)

3-PPPOE PADR 請求資訊

3、用戶端可能會收到多個PADO封包[就像DHCP可以收到多個Offer封包],此時将選擇最先收到的PADO封包對應的PPPoE伺服器端,并發送一個PADR封包給這個伺服器端。

》PADR封包的目的位址是選中的伺服器端的MAC位址,Code字段為0x19,Session ID字段為0x0000。

3.1.0 廣域網(簡介、PPP、PAP、CHAP、PPPOE)

4-PPPOE PADS 會話确認

4、PPPoE伺服器端收到PADR封包後,會生成一個唯一的Session ID來辨別和PPPoE用戶端的會話,并發送PADS封包。

》PADS封包的目的位址是PPPoE用戶端的MAC位址,Code字段為0x65,Session ID字段是PPPoE伺服器端為本PPPoE會話産生的Session ID。

3.1.0 廣域網(簡介、PPP、PAP、CHAP、PPPOE)

5-華為的PPPOE會話發現邏輯示意圖

3.1.0 廣域網(簡介、PPP、PAP、CHAP、PPPOE)

2、PPPOE會話階段

PPPoE會話階段會進行PPP協商,分為LCP協商、認證協商、NCP協商三個階段。

3.1.0 廣域網(簡介、PPP、PAP、CHAP、PPPOE)

華為的PPPOE會話階段邏輯示意圖

3.1.0 廣域網(簡介、PPP、PAP、CHAP、PPPOE)

3、PPPOE會話終結

當PPPoE用戶端希望關閉連接配接時,會向PPPoE伺服器端發送一個PADT封包,用于關閉連接配接。

同樣,如果PPPoE伺服器端希望關閉連接配接時,也會向PPPoE用戶端發送一個PADT封包。

在用戶端上進行會話斷開:
<Client>reset pppoe-client all
<Client>
Dec 19 2022 23:23:27-08:00 Client %%01PPP/4/PHYSICALDOWN(l)[0]:On the interface 
Dialer1:0, PPP link was closed because the status of the physical layer was Down
. 
<Client>
Dec 19 2022 23:23:27-08:00 Client %%01IFNET/4/LINK_STATE(l)[1]:The line protocol
 PPP on the interface Dialer1:0 has entered the DOWN state. 
<Client>
Dec 19 2022 23:23:27-08:00 Client %%01IFNET/4/LINK_STATE(l)[2]:The line protocol
 PPP IPCP on the interface Dialer1:0 has entered the DOWN state.            
3.1.0 廣域網(簡介、PPP、PAP、CHAP、PPPOE)

華為的PPPOE會話終結邏輯示意圖

PPPOE的配置

環境介紹:

  • PPPOE伺服器撥号位址為192.168.1.254、位址池為192.168.1.0/24、撥号虛拟模闆序号1、使用chap認證、賬号密碼均是pppoe。
  • PPPOE用戶端使用撥号數字10與PPPOE伺服器進行建立會話。
  • PPPOE建立會話過程抓包資訊(Wireshark 3.6.6)下載下傳連結:https://download.csdn.net/download/qq_45443704/87320944
3.1.0 廣域網(簡介、PPP、PAP、CHAP、PPPOE)
伺服器:
# 1、建立DHCP位址池,給PPPOE撥号使用者下發位址
[Server]dhcp enable 
[Server]ip pool ppp
[Server-ip-pool-ppp]network 192.168.1.0 mask 24
[Server-ip-pool-ppp]gateway-list 192.168.1.254
[Server-ip-pool-ppp]q
# 2、配置PPPOE服務端使用chap認證,利用PPP的NCP協商給用戶端下發位址
[Server]interface Virtual-Template 1
[Server-Virtual-Template1]ppp authen chap
[Server-Virtual-Template1]ip add 192.168.1.254 24
[Server-Virtual-Template1]remote add pool ppp
[Server-Virtual-Template1]q
# 3、配置chap認證的賬号密碼(指令有所縮寫)
[Server]aaa
[Server-aaa]local pppoe pa cip pppoe
[Server-aaa]local pppoe ser ppp
[Server-aaa]q
# 4、接口應用PPPOE撥号模闆
[Server]int g0/0/0
[Server-GigabitEthernet0/0/0]pppoe-server bind virtual-template 1

# 你可能會有的疑惑:
# 1、接口不需要配置位址的嗎?
# 【撥号模闆中已經設定有了,應用模闆也相當于應用了位址】
# 2、用戶端不需位址嗎?
# 【用戶端會通過發送PADI、PADO、PADR、PADS等封包協助PPPOE的建立】
# 上面的PPPOE會話建立過程有所提到


用戶端:
[Client]interface Dialer 1
[Client-Dialer1]lin ppp
[Client-Dialer1]ppp chap user pppoe
[Client-Dialer1]ppp chap password ci pppoe
[Client-Dialer1]ip add ppp-negotiate 

[Client-Dialer1]dialer user client1
[Client-Dialer1]dialer bundle 10
[Client-Dialer1]q

[Client]int g0/0/0
[Client-GigabitEthernet0/0/0]pppoe-client dial-bundle-number 10

# PPPOE自動撥号成功提示
[Client]
Dec 19 2022 22:14:50-08:00 Client %%01IFNET/4/LINK_STATE(l)[1]:The line protocol
 PPP on the interface Dialer1:0 has entered the UP state. 
[Client]
Dec 19 2022 22:14:50-08:00 Client %%01IFNET/4/LINK_STATE(l)[2]:The line protocol
 PPP IPCP on the interface Dialer1:0 has entered the UP state. 
[Client]           

繼續閱讀