NQA、Track聯動監測ISP鏈路狀態
1、NQA基本概念
NQA測試組是一組測試引數的集合,如測試型別、測試目的地址、測試目的埠等。NQA測試組由一個管理員名稱和一個操作標籤來標識。管理員通過NQA測試組來實現對NQA測試的管理和排程。
在一臺裝置上可以建立多個NQA測試組,可以同時啟動多個NQA測試組進行測試。
啟動NQA測試組後,每隔一段時間進行一次測試,測試的時間間隔由frequency命令來設定。
一次NQA測試由若干次連續的探測組成,探測的次數由probe count命令來設定
NQA支援多種測試型別:ICMP-echo、DHCP、DNS、FTP、HTTP、UDP-jitter、SNMP、TCP、UDP-echo、UDP-tracert、Voice、Path-jitter和DLSw測試。不同測試型別中,探測的含義不同:
· 對於TCP和DLSw測試,一次探測操作是指建立一次TCP或DLSw連線;
· 對於UDP-jitter和Voice測試,一次探測操作是指連續傳送多個探測報文,傳送探測報文的個數由probe packet-number命令來設定;
· 對於FTP、HTTP、DHCP和DNS測試,一次探測操作是指完成一次相應的功能,例如上傳或下載一個檔案,獲取一個Web頁面,申請一個IP地址,將一個域名解析為IP地址;
· 對於ICMP-echo和UDP-echo測試,一次探測操作是指傳送一個探測報文;
· 對於SNMP測試,一次探測操作是指傳送三個SNMP協議報文,分別對應SNMPv1、SNMPv2c和SNMPv3三個版本;
· 對於Path-jitter測試,一次探測操作分為兩個步驟:首先通過tracert探路獲取到達目的地址的路徑(最大為64跳);再根據tracert結果,分別向路徑上的每一跳傳送多個ICMP-echo探測報文,傳送探測報文的個數由probe packet-number命令來設定;
· 對於UDP-tracert測試,對目的節點進行的整個Tracert過程稱為一次測試,對於一個特定TTL值的節點發送一個探測報文的操作稱為一次探測,對於同一個TTL值的節點發送探測報文的次數由probe count命令來設定。
如上圖所示,NQA測試的典型組網中包括以下兩部分:
· NQA測試的源端裝置:又稱為NQA客戶端,負責發起NQA測試,並統計探測結果。NQA測試組在NQA客戶端上建立。
· NQA測試的目的端裝置:負責接收、處理和響應NQA客戶端發來的探測報文。
¡ 在進行TCP、UDP-echo、UDP-jitter和Voice型別測試時,必須在目的端裝置上配置NQA伺服器功能,開啟指定IP地址和埠上的監聽服務。此時,目的端裝置又稱為NQA伺服器。當NQA伺服器接收到客戶端傳送給指定IP地址和埠的探測報文後,將對其進行處理,併發送響應報文。
¡ 在其他型別的測試中,目的端裝置只要能夠處理NQA客戶端傳送的探測報文即可,不需要配置NQA伺服器功能。例如,在FTP測試中,目的端裝置上需要配置FTP伺服器相關功能,以便處理客戶端傳送的FTP報文,而無需配置NQA伺服器功能。
(1) NQA客戶端構造指定測試型別的探測報文,併發送給目的端裝置;
(3) NQA客戶端根據是否收到應答報文,以及應答報文中的時間戳,計算報文丟失率、往返時間等。
1.2 支援聯動功能
聯動功能是指在監測模組、Track模組和應用模組之間建立關聯,實現這些模組之間的聯合動作。聯動功能利用監測模組對鏈路狀態、網路效能等進行監測,並通過Track模組將監測結果及時通知給應用模組,以便應用模組進行相應的處理。聯動功能的詳細介紹,請參照下文。
如上圖所示,NQA可以作為聯動功能的監測模組,對NQA探測結果進行監測,當連續探測失敗次數達到一定數目時,就通過Track模組觸發應用模組進行相應的處理。
(1) 通過NQA監測地址192.168.0.88是否可達。
(2) 如果192.168.10.88可達,則認為該靜態路由有效,NQA不通知Track模組改變Track項的狀態;如果NQA發現192.168.0.88不可達,則通知Track模組改變Track項的狀態。
(3) Track模組將改變後的Track項狀態通知給靜態路由模組。靜態路由模組據此可以判斷該靜態路由項是否有效。
NQA可以對探測結果進行監測,在本地記錄監測結果,或通過Trap訊息將監測結果通知給網路管理系統,以便網路管理員瞭解NQA測試執行結果和網路效能。
NQA通過建立閾值告警項,並在閾值告警項中配置監測的物件、閾值型別及觸發的動作,來實現閾值告警功能。
閾值告警項包括invalid、over-threshold和below-threshold三種狀態:
· NQA測試組未啟動時,閾值告警項的狀態為invalid。
· NQA測試組啟動後,每次測試或探測結束時,檢查監測的物件是否超出指定型別的閾值。如果超出閾值,則閾值告警項的狀態變為over-threshold;如果未超出閾值,則狀態變為below-threshold。
NQA閾值告警功能支援的監測物件及對應的測試型別,如表1-1所示。
表1-1 NQA閾值告警功能支援的監測物件及對應的測試型別
ICMP-echo、DHCP、DNS、FTP、HTTP、SNMP、TCP、UDP-echo和DLSw測試型別 |
|
ICMP-echo、DHCP、DNS、FTP、HTTP、SNMP、TCP、UDP-echo和DLSw測試型別 |
|
ICPIF(Calculated Planning Impairment Factor,計算計劃損傷元素)值 |
Voice測試型別 |
MOS(Mean Opinion Scores,平均意見得分)值 |
Voice測試型別 |
NQA閾值告警功能支援的閾值型別包括:
· 平均值(average):監測一次測試中探測結果的平均值,如果平均值不在指定的範圍內,則該監測物件超出閾值。例如,監測一次測試中探測持續時間的平均值。
· 累計數目(accumulate):監測一次測試中探測結果不在指定範圍內的累計數目,如果累計數目達到或超過設定的值,則該監測物件超出閾值。
· 連續次數(consecutive):NQA測試組啟動後,監測探測結果連續不在指定範圍內的次數,如果該次數達到或超過設定的值,則該監測物件超出閾值。
NQA閾值告警功能可以觸發如下動作:
· none:只在本地記錄監測結果,以便通過顯示命令檢視,不向網路管理系統傳送Trap訊息。
· trap-only:不僅在本地記錄監測結果,當閾值告警項的狀態改變時,還向網路管理系統傳送Trap訊息。
· trigger-only:在顯示資訊中記錄監測結果的同時,觸發其他模組聯動。
Track的用途是實現聯動功能。如圖1-1所示,聯動功能通過在監測模組、Track模組和應用模組之間建立關聯,實現這些模組之間的聯合動作。聯動功能利用監測模組對鏈路狀態、網路效能等進行監測,並通過Track模組將監測結果及時通知給應用模組,以便應用模組進行相應的處理。例如,在靜態路由、Track和NQA之間建立聯動,利用NQA監測靜態路由的下一跳地址是否可達。NQA監測到下一跳不可達時,通過Track通知靜態路由模組該監測結果,以便靜態路由模組將該條路由置為無效,確保報文不再通過該靜態路由轉發。
2.1 聯動功能工作原理
· Track模組與監測模組聯動
· Track模組與應用模組聯動
Track模組和監測模組之間通過Track項建立關聯。監測模組負責對介面狀態、鏈路狀態等進行監測,並將監測結果通知給Track模組;Track模組根據監測結果改變Track項的狀態。
· 如果監測結果為監測物件工作正常(如介面處於Up狀態、網路可達),則對應Track項的狀態為Positive。
· 如果監測結果為監測物件出現異常(如介面處於Down狀態、網路不可達),則對應Track項的狀態為Negative。
· 如果監測結果無效(如NQA作為監測模組時,與Track項關聯的NQA測試組不存在),則對應Track項的狀態為NotReady。
· NQA(Network Quality Analyzer,網路質量分析)
· BFD(Bidirectional Forwarding Detection,雙向轉發檢測)
Track模組和應用模組之間通過Track項建立關聯。Track項的狀態改變後,通知應用模組;應用模組根據Track項的狀態,及時進行相應的處理,從而避免通訊的中斷或服務質量的降低。
· VRRP(Virtual Router Redundancy Protocol,虛擬路由器冗餘協議)
在某些情況下,Track項狀態發生變化後,如果立即通知應用模組,則可能會由於路由無法及時恢復等原因,導致通訊中斷。例如,VRRP備份組中Master路由器通過Track監視上行介面的狀態。上行接口出現故障時,Track通知Master路由器降低優先順序,使得Backup路由器搶佔成為新的Master,負責轉發報文。當上行介面恢復時,如果Track立即通知原來的Master路由器恢復優先順序,該路由器將立即承擔轉發任務。此時該路由器可能尚未恢復上行的路由,從而導致報文轉發失敗。在這種情況下,使用者可以配置Track項狀態發生變化時,延遲一定的時間通知應用模組。
下面以NQA、Track和靜態路由聯動為例,說明聯動功能的工作原理。
使用者在裝置上配置了一條靜態路由,下一跳地址為192.168.0.88。如果192.168.0.88可達,則報文可以通過該靜態路由轉發,該靜態路由有效;如果192.168.0.88不可達,則通過該靜態路由轉發報文會導致報文轉發失敗,此時,需要將該靜態路由置為無效。通過在NQA、Track模組和靜態路由之間建立聯動,可以實現實時監測下一跳的可達性,以便及時判斷靜態路由是否有效。
(1) 建立NQA測試組,通過NQA測試組監測目的地址192.168.0.88是否可達。
(2) 建立和NQA測試組關聯的Track項。192.168.0.88可達時,NQA會將監測結果通知給Track模組,Track模組將該Track項的狀態變為Positive;192.168.0.88不可達時,NQA將監測結果通知給Track模組,Track模組將該Track項的狀態變為Negative。
(3) 配置這條靜態路由和Track項關聯。如果Track模組通知靜態路由Track項的狀態為Positive,則靜態路由模組將這條路由置為有效;如果Track模組通知靜態路由Track項的狀態為Negative,則靜態路由模組將這條路由置為無效。
生產網路需求:
1、實時監測ISP鏈路狀態,通過網管IMC報警,拓撲如下圖
(2) 在MSR5660上配置靜態路由,並與Track項關聯。
# 配置到預設路由,並配置靜態路由與Track項1關聯。
[RouterA] ip route-static 0.0.0.0 0.0.0.0 track 1
# 建立管理員名為admin、操作標籤為test1的NQA測試組。
# 配置測試型別為ICMP-echo。
# 配置目的地址為10.2.1.1。
# 測試頻率為9000ms。
# 配置聯動項1(連續失敗5次觸發聯動)。
[MSR5660-nqa-admin-test1-icmp-echo] quit
# 啟動ICMP-echo探測操作,並一直進行測試。
# 配置Track項1,關聯NQA測試組(管理員為admin,操作標籤為dianxin)的聯動項1。
# 顯示Router A上Track項的資訊。
Track ID: 1
State: Positive
Duration: 0 days 0 hours 0 minutes 0 seconds
Notification delay: Positive 0, Negative 0 (in seconds)
Tracked object:
NQA entry: admin test1
Reaction: 1
# 顯示Router A的路由表。
Destinations : 13 Routes : 13
Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/32 Direct 0 0 127.0.0.1 InLoop0
10.1.1.0/24 Static 60 0 10.2.1.1 GE2/0/1
10.2.1.0/24 Direct 0 0 10.2.1.2 GE2/0/1
10.2.1.0/32 Direct 0 0 10.2.1.2 GE2/0/1
10.2.1.2/32 Direct 0 0 127.0.0.1 InLoop0
10.2.1.255/32 Direct 0 0 10.2.1.2 GE2/0/1
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.0/32 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
127.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
224.0.0.0/4 Direct 0 0 0.0.0.0 NULL0
224.0.0.0/24 Direct 0 0 0.0.0.0 NULL0
255.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
以上顯示資訊表示,NQA測試的結果為下一跳地址1.1.1.1可達(Track項狀態為Positive),配置的靜態路由生效。
斷開ISP鏈路後。
Track ID: 1
State: Negative
Duration: 0 days 0 hours 0 minutes 0 seconds
Notification delay: Positive 0, Negative 0 (in seconds)
Tracked object:
NQA entry: admin test1
Reaction: 1
Destinations : 12 Routes : 12
Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/32 Direct 0 0 127.0.0.1 InLoop0
10.2.1.0/24 Direct 0 0 10.2.1.2 GE2/0/1
10.2.1.0/32 Direct 0 0 10.2.1.2 GE2/0/1
10.2.1.2/32 Direct 0 0 127.0.0.1 InLoop0
10.2.1.255/32 Direct 0 0 10.2.1.2 GE2/0/1
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.0/32 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
127.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
224.0.0.0/4 Direct 0 0 0.0.0.0 NULL0
224.0.0.0/24 Direct 0 0 0.0.0.0 NULL0
255.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
以上顯示資訊表示,NQA測試的結果為下一跳地址1.1.1.1不可達(Track項狀態為Negative),配置的靜態路由無效。