1. 程式人生 > >NQA、Track聯動監測ISP鏈路狀態

NQA、Track聯動監測ISP鏈路狀態

1、NQA基本概念

1. 測試組

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伺服器功能。

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

(3)      在MSR5660上配置NQA測試組

# 建立管理員名為admin、操作標籤為test1的NQA測試組。

# 配置測試型別為ICMP-echo。

# 配置目的地址為10.2.1.1。

# 測試頻率為9000ms。

# 配置聯動項1(連續失敗5次觸發聯動)。

[MSR5660-nqa-admin-test1-icmp-echo] quit

# 啟動ICMP-echo探測操作,並一直進行測試。

(4)      在MSR5660上配置Track項

# 配置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鏈路後。

# 顯示MSR5660上Track項的資訊。

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),配置的靜態路由無效。