《在主備線路場景下—Track結合SLA的使用實踐》—那些你應該知道的知識(八)

寫在前面:

在之前的一篇文章中,我們已經講過Eigrp是如何計算重分佈路由的metric值的過程。在實際生產環境中,我們常常會針對重要的外聯單位,部署兩條運營商線路以保障業務的連續性。由於對端外聯單位的特殊情況,常常不允許我們配置動態路由協議,以實現線路的自動切換,我們可能只能通過配置靜態路由實現與對方網絡的路由可達。在這樣的情況下,我們往往需要使用靜態路由結合Track,在通過track結合SLA,以實現線路的自動切換。

下面我們來看具體的例子。


實驗環境:

VPC:10.1.2.2

在7206VXR上面起環回口 loopback 100:10.1.1.1

7206VXR1、7206VXR2、7206VXR3、7206VXR4配置EIGRP動態路由協議。

在7206VXR1上,重分佈直連路由。

在7206VXR3和7206VXR4上,將10.1.1.0的路由指向7206VXR,並重分佈靜態路由。

通過重分佈靜態路由Metric的設置,實現在7206VXR1上看,到達10.1.1.0的路由,優先走R4,其次走R2。

在VXR1上看,路由如下圖:

也就是主線路在7206VXR4,備線路在7206VXR3。

經驗證,VPC可以ping同VXR上的環回口loopback 100.


初步使用:

首先講一下上述環境中靜態路由結合Track和SLA的初步使用方法

實現思路:在主線路的設備上,靜態路由上配置Track,實現當Track Down的時候,靜態路由失效,從而去往10.1.1.0的路由,不會在VXR4上重分佈成功,使得在VXR1上看到去往10.1.1.0的路由指向R2,使得路由走備線。同樣,最好在VXR上,針對10.1.2.0的也配置Track,實現數據包的來回路徑一致。如果數據包來回路徑不一致,可能導致穿越防火牆時無法正常轉發的情況存在。

下面開始進行配置:

ip route 10.1.1.0 255.255.255.0 172.16.1.2 track 10

track 10 ip sla 10 reachability

ip sla 10

icmp-echo 172.16.1.2

ip sla schedule 10 life forever start-time now

!

我們可以查看當前Track的狀態

我們在VXR上,也進行相似的配置,如下:

ip route 10.1.1.0 255.255.255.0 172.16.1.2 track 10

track 10 ip sla 10 reachability

ip sla 10

icmp-echo 172.16.1.2

ip sla schedule 10 life forever start-time now

!

這裏,我們配置兩條靜態路由,通過配置不同的管理距離,實現去往10.1.2.0的路由主走主線路,當主線路失效時,走備線路。

首先,我們在VPC上ping測試,在R4上抓包確認去包與回包,都走主線路。

可以看到,去包與回包路由,都走的主線路。

下面,我們在VXR上,將主線路接口down掉,測試是否能夠主備線路切換成功。

(這裏由於是模擬器環境,對端接口down,本段接口並不會down,這於通過運營商mstp線路連接兩端的現象剛好一致)

在等待了一段時間後,重新ping通,線路切換成功。


優化使用:

然而,這裏我們看到,在丟了26個包後,才ping通。這個切換速度,在生產環境中顯然是不可忍受的

查看抓包情況

在71秒後,去往VPC去往10.1.1.1的ping包依然從VXR4的接口上發出,但由於對端接口down了(這裏由於模擬器的原因,本端接口沒有down)。對端根本不會收到該ping包,自然也不會迴應。

直到122秒後,由於線路切換完成,在VXR4上抓包再看不到VPC的ping包,從該路由器發出。

這說明,業務大約中斷了51秒,這顯然是生產環境中不可接受的。那麼是什麼導致了線路切換花費了這麼長的時間呢。

通過仔細查看抓包可以看到,在第55秒,VXR4剛發送了SLA的探測包,得到了對端的響應。

之後,直到115秒,VXR4才發出第二個SLA探測包。

也就是說,直到這時,VXR4才知道,對端不可達,將Track的狀態置爲Down.

之後,在VXR4上的靜態路由纔會失效,經過約7秒時間,去往10.1.1.1的ping包,不再從VXR4發出。

這個時間爲路由收斂的時間,是由於在VXR1中並沒有可行後繼,我們在VXR3上,設置了靜態路由管理距離爲200,這大於Eigrp外部路由170,靜態路由並沒有被提交路由表。也就是說此時,在VXR3上靜態路由根本沒有被重分佈進來。所以當VXR4告知,本地靜態路由失效,重分佈失效時。要等到VXR3收到這一消息,路由表中Eigrp重分佈路由失效,靜態路由生效時,VXR3上靜態路由才重分佈成功。之後再將此路有消息進行更新。所以這一過程,同樣消耗了較長的時間。

通過上述的分析,我們可以看到這是由於VXR4上SLA的探測包發送的間隔爲60秒,這導致當線路發生中斷時,VXR4上最長可能需要60秒,等到下一次探測包發出時,才知道對端不可達。

這裏我們可以通過優化SLA發送探測包的間隔時間,加快收斂速度。

加快收斂速度:

配製方法如下,在VXR4上

ip sla 10

icmp-echo 172.16.1.2

frequency 10

同樣,在VXR上,也需要進行相似的配置,否則仍然會導致切換時間較長。在這裏不再重複了

配置之後,我們進行切換測試

我們可以看到,切換速度明顯加快了。

通過抓包我們也可以看到,此時SLA探測的時間爲10秒

這裏,我們知道,通過修改sla的探測間隔時間,可以有效提高線路切換的速度,進而提高業務連續性。


特殊情況的處理:

在一些特殊情況下,可能出現線路質量不穩定的情況。具體表現爲時通時不通,在這樣的情況下,可能導致線路的頻繁切換,嚴重影響業務。

面對這樣的情況,我們可以延遲Track Down和 UP的時間,減少線路質量較差頻繁的對業務連續性造成影響。

延遲Track Down可以用來避免,一旦檢測到主線路丟包,就立即切換的情況發生。因爲一次sla icmp檢測只ping一個包,這存在一定的偶然性

配製方法如下:

ip sla 10

icmp-echo 172.16.1.2

frequency 10

延遲Track UP可以用來避免,主線路其實還未恢復至穩定,就導致回切,影響業務的情況。

配製方法如下:

!

track 10 ip sla 10 reachability

delay up 30

!

經實際驗證,該配置會在SLA檢測後,延遲對Track狀態的改變。以減緩線路質量抖動,造成線路頻繁切換,而對業務造成影響。


其他

查看Track與SLA狀態的方法

show track

show ip sla summary

show ip sla history

其中需要注意的是,要想查看SLA歷史信息,需要在配置SLA時,開啓記錄歷史信息和設置過濾器,設置方法如下:

R4(config)#ip sla 10

R4(config-ip-sla-echo)#history lives-kept 2

R4(config-ip-sla-echo)#history filter all

這樣便可以看到SLA的歷史信息了

其中,CompT代表測試包來回所花費的時間,Sense代表返回碼,1爲正常,4爲故障。

我們可以通過查看歷史信息的方式,查看線路故障時的具體情況。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章