山東 孟慶杰 何鈺
LDP 即標(biāo)簽分發(fā)協(xié)議,是 MPLS 體系中的一種重要協(xié)議。在MPLS 網(wǎng)絡(luò)中,兩個標(biāo)簽交換路由器(LSR)必須用在它們之間或通過它們轉(zhuǎn)發(fā)流量的標(biāo)簽上達成一致。LDP 鄰居建立不起來,會影響到LSR之間數(shù)據(jù)的交互。
筆者單位兩臺核心路由器之間的MPLS VPN 出現(xiàn)故障,經(jīng)過ping 和show 等命令進行測試以及查看設(shè)備的相關(guān)配置,最終將故障定位在BRAS 和路由器間的LDP鄰居關(guān)系失效,失效原因是BRAS 和其中一臺核心路由器物理鏈路DOWN,接下來就詳細介紹一下網(wǎng)絡(luò)故障的處理過程。
近日有運維人員反映某專線業(yè)務(wù)出現(xiàn)故障,得知故障后我們立即開始排查。通過進一步了解得知該專線業(yè)務(wù)是金融類業(yè)務(wù),使用的是MPLS 三層VPN,通過運維人員提供的故障IP 地址作為依據(jù)開始排查。
圖1 網(wǎng)絡(luò)拓撲結(jié)構(gòu)
為了盡快完成故障的排查,下面簡要介紹一下網(wǎng)絡(luò)拓撲結(jié)構(gòu),如圖1 所示。
通過圖1 我們可以看到專線分支單位使用ONU 進行接入,上聯(lián)OLT 設(shè)備進行匯聚,OLT 直連BRAS 設(shè)備,BRAS 設(shè)備和核心路由器1 之間使用MPLS 三層VPN 將數(shù)據(jù)轉(zhuǎn)發(fā)至位于核心路由器上1 的專線單位總部。完成整個網(wǎng)絡(luò)情況的梳理后,接下來需要登錄到BRAS 上對故障的IP 地址進行ping測試,測試沒有發(fā)現(xiàn)問題。既然向下ping 沒有問題,那么向上ping專線單位總部(IP 地址是172.28.0.38)呢?得到的結(jié)果如圖2 所示。
通過圖2 對專線單位總部IP 地址的ping 測試結(jié)果是不通。使用同樣的命令在BRAS 上ping 核心路由器和專線單位的互聯(lián)地址呢?結(jié)果也是不通,那么這樣就可以將故障定位在核心路由器1 和BRAS 之間。
圖2 ping 專線總部結(jié)果示意圖
剛才我們介紹到兩臺設(shè)備之間運行的MPLS 三層VPN,那就將排查的重點放在MPLS 上。我們先在BRAS 上查看下VPN 實例的路由學(xué)習(xí)情況,這里需要使用到的命令是“show ip forwarding route vrf NongXin_Data”,具體查看結(jié)果如圖3 所示。
通過上面對VPN 實例路由學(xué)習(xí)的查看發(fā)現(xiàn)了問題,即從核心路由器方向以及相鄰BRAS 學(xué)習(xí)的網(wǎng)段出接口都是NULL,即黑洞路由。黑洞路由是將所有無關(guān)路由吸入其中,使它們有來無回的路由。那么為什么BRAS 從核心路由器1 上學(xué)習(xí)到的路由被丟到黑洞去了呢?
上面我們講到兩臺設(shè)備間運行的是MPLS 三層VPN,那么我們可以繼續(xù)排查下LDP 協(xié)議和鄰居關(guān)系是否正常,首先需要查看的是BRAS上LDP 的配置,即:
圖3 查看VPN 實例的路由學(xué)習(xí)示意圖
圖4 從核心路由器1 學(xué)習(xí)的路由
圖5 查看BRAS 的isis 鄰接關(guān)系
通過對LDP 配置的查看可以看到smartgroup4 加入了MPLS LDP 實例1 中,我們可以再使用命令“show running-config-interface smartgroup4”查看到該聚合口連接的是核心路由器1,那么我們看下從核心路由器1學(xué)習(xí)的路由正確嗎?即如圖4 所示。
通過對在BRAS 查看學(xué)習(xí)到核心路由器1 的路由發(fā)現(xiàn),路由的下一跳和出接口都是核心路由器2,那就是說從核心路由器2 學(xué)習(xí)過來的,即兩臺路由器之間的心跳線發(fā)揮了作用。那么我們再查看下BRAS 和核心路由器1 的鄰居關(guān)系建立情況,使用命令“show mpls ldp neighbor instance 1”,結(jié)果沒有發(fā)現(xiàn)鄰居。然后再使用命令“show isis adjacency”查看BRAS的isis 鄰接關(guān)系,如圖5所示。
通過上面的命令可以看到該BRAS 只和路由器2 建立了isis 鄰接關(guān)系,那為什么沒有和路由器1 建立鄰接關(guān)系呢?既然BRAS 和路由器2 互聯(lián)使用聚合組1,那么和路由器1 互聯(lián)使用哪個聚合口?上面我們在查看BRAS上LDP 配置時已經(jīng)得知是smartgroup4,那么這就需要查看該smartgroup 狀態(tài)是否正常。
通過對該smartgroup4組的查看,smartgroup 成員端口處于不活動的,查看該成員端口狀態(tài)是down。這時立即對該端口的物理鏈路進行排查,最后隨著端口的UP,smartgroup4 工作正常,同時BRAS 和路由器1 的LDP 鄰接關(guān)系建立也恢復(fù)正常,至此故障的專線得以解決。