[晁夫君 昃草心 代金鳳 陳本效]
互聯(lián)網數(shù)據(jù)中心(Internet Data Center)簡稱IDC,是電信部門利用已有的互聯(lián)網通信線路、帶寬資源,建立標準化的電信專業(yè)級機房環(huán)境,為企業(yè)、政府提供服務器托管、租用以及相關增值等方面的全方位服務。IDC 網絡構成了網絡基礎資源的一部分,提供了高速的數(shù)據(jù)傳輸服務以及高速接入的業(yè)務。市場規(guī)模保持快速增長的趨勢,是運營商業(yè)務的快速增長點,對占有市場份額、提升收入,具有重要的作用。
在本案例中,IDC 網絡與城域網核心設備之間通過多個trunk 互通,使用loopback 地址建立EBGP 的鄰居,在鏈路發(fā)生故障的情況下,出現(xiàn)EBGP 鄰居沒有中斷且部分IDC 業(yè)務地址路由形成環(huán)路的問題。通過對IDC 網與城域網EBGP 鄰居的問題進行研究,最終定位問題并提出解決方案,保障了業(yè)務的安全性,確保在鏈路發(fā)生故障的情況下,流量按照設定的路徑傳送,不存在任何安全隱患。
本文通過IDC 網與城域網EBGP 鄰居之間出現(xiàn)的故障,介紹IDC 網絡存在的問題。
由于光纜故障,IDC 機房兩臺核心NE5000E 路由器至城域網核心NE5000E-1 路由器共4 條100G 鏈路(經OTN 傳輸)和16 條10G 鏈路(裸纖傳輸)全部中斷。通過檢查,發(fā)現(xiàn)流量自動切換至城域網核心NE5000E-2 路由器方向,中繼流量未擁塞;半小時后,陸續(xù)收到IDC 用戶騰訊、淘寶、百度等申告部分網頁打不開。
維護人員根據(jù)用戶提供的故障IP 地址查詢路由表信息時,發(fā)現(xiàn)IDC 兩臺NE5000E 至城域網NE5000E-1 路由器的EBGP 鄰居沒有中斷,仍然是Established(本文所有IP 地址均未采用真實IP 地址);同時通過網管發(fā)現(xiàn)城域網NE5000E 兩臺路由器之間流量異常增加,通過故障現(xiàn)象和網絡拓撲架構分析,確定故障原因是部分用戶業(yè)務路由環(huán)路所導致的。
維護人員手工將IDC 兩臺NE5000E至城域網NE5000E-1的EBGP 鄰居shutdown,聯(lián)系用戶確認業(yè)務恢復。
山東省濟南市某IDC 網絡NE5000E 路由器與城域網核心NE500OE 路由器通過多條鏈路互通,使用loopback與對端設備分別建立EBGP 的鄰居關系,IDC 網NE5000E之間、城域網NE5000E 之間均建立IBGP 的鄰居關系。
由于光纜故障,ICD 兩臺NE5000E 路由器至城域網NE5000E-1 路由器的4 條100G(經OTN)和16 條10G中繼(裸纖)全部中斷,如圖1 所示。
圖1 IDC 網絡與城域網核心網絡互通拓撲圖
故障發(fā)生后,省內用戶訪問IDC 部分IP 地址段(IDC將最優(yōu)路由發(fā)往城域網NE5000E-1 方向的IP 地址段),用戶訪問城域網NE5000E-2 方向的IP 地址段和省外用戶訪問IDC 業(yè)務無影響。
(1)IDC 兩臺NE5000E 與城域網NE5000E-1 之間直連鏈路全部中斷,并且EBGP 鄰居之間已配置ebgp-maxhop=2,EBGP 鄰居為何沒有中斷?
分析:通常情況下,EBGP 對等體之間通過直連的物理鏈路建立鄰居,如果不滿足這一要求,則必須使用ebgp-max-hop 命令允許它們之間經過多跳建立TCP 連接。BGP 使用Loopback 接口建立EBGP 鄰居時,ebgp-maxhop 命令用來配置允許BGP 同非直連網絡上的對等體建立EBGP 連接,同時可以指定允許的最大跳數(shù),否則鄰居無法建立。
故障發(fā)生時,IDC NE5000E-1 與城域網NE5000E-1設備通過繞行城域網NE5000E-2,保持EBGP 鄰居為Established 狀態(tài),所以EBGP 鄰居沒有中斷,如圖2 所示。
圖2 EBGP 鄰居狀態(tài)示意圖
(2)部分用戶業(yè)務路由形成環(huán)路
分析:IDC NE5000E 在城域網NE5000E 互聯(lián)的出方向,發(fā)布路由時配置不同的MED 值,引導省內用戶訪問IDC 的業(yè)務流量從不同的平面進入IDC。
MED 屬性相當于IGP 使用的度量值,它用于判斷流量進入AS 時的最佳路由。當一個運行BGP 的設備通過不同的EBGP 對等體得到目的地址相同但下一跳不同的多條路由時,在其它條件相同的情況下,將優(yōu)先選擇MED 值較小者作為最佳路由。
以路由20.1.1.1/32 為例:
IDC NE5000E-1 發(fā)往城域網NE5000E-1 的20.1.1.1/32的路由引用路由策略,設置MED 為100;發(fā)往城域網NE5000E-2 的20.1.1.1/32 的路由引用路由策略,設置MED 為200;
在城域網NE5000E-1 查看20.1.1.1/32 的路由,如圖3所示,優(yōu)選IDC-NE5000E-1 轉發(fā)流量。
圖3 城域網NE5000E-1 路由信息
城域網NE5000E-2 查看20.1.1.1/32 的路由,從直連的IDC 兩臺NE5000E 傳過來的路由MED 值為200,從城域網NE5000E-1 傳過來的路由MED 值為100,因此優(yōu)選城域網NE5000E-1 方向轉發(fā)流量,如圖4 所示。
圖4 城域網NE5000E-2 路由信息
此時省內用戶訪問20.1.1.1/32 段IDC 的業(yè)務,會優(yōu)選城域網NE5000E-1 轉發(fā)流量至IDC 網絡。
因為城域網NE5000E-1 未中斷與IDC 的EBGP 鄰居關系,分流至城域網NE5000E-1 的流量依然優(yōu)選城域網NE5000E-1 做為流量出口。由于城域網NE5000E-1 與IDC互聯(lián)鏈路全部中斷,流量需繞行至城域網NE5000E-2 轉發(fā),但MED 值選路原則依然有效,城域網NE5000E-2 依然會優(yōu)選城域網中MED 值為100 的下一跳,即NE5000E-1,最終流量在城域網兩臺NE5000E之間不停循環(huán)直至丟棄,如圖5 所示。
圖5 城域網流量繞行示意圖
通過對IDC 網絡與城域網之間EBGP 鄰居存在的問題進行研究,可以得出如下結論。
BGP 使用Loopback 接口建立EBGP 鄰居時,必須使用ebgp-max-hop 命令允許它們之間經過多跳建立TCP 連接,同時可以指定允許的最大跳數(shù),否則鄰居無法建立。在IDC 網絡與城域網的網絡拓撲中,IDC 兩臺NE5000E與城域網NE5000E-1 共4 個100G、16 個10G 互聯(lián)鏈路全部中斷。雖然IDC NE5000E 配置了ebgp-max-hop=2,但鏈路中斷后,IDC NE5000E 仍可以通過繞行城域網NE5000E-2 保持EBGP 鄰居為Established 狀態(tài)。分流至城域網NE5000E-1 的流量依然優(yōu)選城域網NE5000E-1 做為流量出口,由于城域網NE5000E-1 與IDC 互聯(lián)鏈路全部中斷,流量需繞行至城域網NE5000E-2 轉發(fā);但MED 值選路原則依然有效,城域網NE5000E-2 仍然會優(yōu)選城域網中MED 值為100 的下一跳,即NE5000E-1,最終流量在城域網兩臺NE5000E 之間不停循環(huán)直至丟棄。由此導致部分IDC 業(yè)務地址路由形成路由環(huán)路,省內用戶訪問部分IDC 業(yè)務異常。
IDC NE5000E 與城域網NE5000E 之間配置的EBGP鄰居使用了ebgp-max-hop=2 的方式,來指定允許的最大跳數(shù)為2 跳,當ebgp 最大跳數(shù)為2 時,通過一臺設備轉接建立EBGP 鄰居也能夠滿足。所以在本案例中,IDC 兩臺NE5000E 與城域網NE5000E-1 的互聯(lián)鏈路全部中斷,但EBGP 鄰居仍然為Established 狀態(tài)。使用ebgp-maxhop=2 無法限制EBGP 的鄰居的狀態(tài)。
通用TTL安全保護機制GTSM(Generalized TTL Security Mechanism)通過對TTL 的檢測來達到防止攻擊的目的,如果攻擊者模擬真實的BGP 協(xié)議報文,對一臺路由器不斷的發(fā)送攻擊報文,路由器收到這些報文后,發(fā)現(xiàn)是發(fā)送給本機的報文,則直接上送控制層面的BGP 協(xié)議處理,而不加辨別其“合法性”,這樣導致路由器控制層面因為處理這些“合法”的報文,系統(tǒng)異常繁忙,CPU 占用率高。GTSM 通過檢測IP 報文頭中的TTL 值是否在一個預先定義好的特定范圍內,對IP 層以上的業(yè)務進行保護,對于不符合TTL 值范圍的報文,將其丟棄,增強系統(tǒng)的安全性。這樣就避免了網絡攻擊者模擬的“合法”BGP 報文占用CPU,也可以避免故障發(fā)生時NE5000E 繞行其他設備建立EBGP 鄰居。
針對NE5000E做配置整改:刪除ebgp-max-hop 2命令,修改配置為:peer x.x.x.x valid-ttl-hops 1,可以避免類似故障發(fā)生時NE5000E 繞行其他設備成功建立EBGP 鄰居。
方案實施后,經過對網絡拓撲結構中的各條鏈路進行中斷測試,對各種故障場景進行模擬,分析路由發(fā)布及業(yè)務流向,流量模型均按照設定的路徑傳送,保障了網絡業(yè)務承載的安全可靠性。
對具有相同網絡拓撲結構的EBGP 鄰居進行檢查,逐一梳理,消除網絡中存在的安全隱患,將IDC 網與城域網打造成高質量的精品網絡。
通過對現(xiàn)網使用loopback 地址建立EBGP 鄰居存在的問題進行研究,分析網絡中存在的安全隱患,提出改進的措施,提高了網絡的自愈能力,確保網絡的健壯性。本方案簡單易行,具有創(chuàng)新性,對于保障網絡安全、提高網絡的穩(wěn)定性具有重要的意義,值得借鑒。