網路拓撲例項13:IPv4靜態路由與NQA聯動

南空城發表於2020-12-10

組網圖形

        

IPv4靜態路由與NQA聯動簡介

  • 網路質量分析NQA(Network Quality Analysis)是一種實時的網路效能探測和統計技術,可以對響應時間、網路抖動、丟包率等網路資訊進行統計。NQA能夠實時監視網路QoS,在網路發生故障時進行有效的故障診斷和定位。
  • 當網路比較簡單,或者交換機不能通過動態路由協議建立到達目的網路的路由時,可以配置靜態路由。但是,與動態路由協議不同,靜態路由自身沒有檢測機制,當網路發生故障時,靜態路由無法感知,需要由管理員介入,這樣無法保證及時進行鏈路切換,可能造成業務較長時間中斷。
  • 部署IPv4靜態路由與BFD聯動的方案可以適應鏈路的變化情況,但是IPv4靜態路由與BFD聯動要求鏈路兩端的裝置都支援BFD功能。如果鏈路兩端有裝置不支援BFD功能,可以配置IPv4靜態路由與NQA聯動,當NQA測試例檢測到鏈路故障後,會把與其繫結的靜態路由從IP路由表刪除,使業務流量切換到無鏈路故障的路由,避免業務的長時間中斷。

組網需求

  • 如圖1所示為某公司網路,接入層裝置SwitchD和SwtichE通過靜態路由與匯聚層裝置SwtichB和SwitchC互聯,網路設計成冗餘備份結構。使用者希望實現如下需求:
  • 為靜態路由部署檢測機制,使靜態路由能夠感知到鏈路故障,保證在鏈路出現故障時能及時進行鏈路切換,避免造成業務較長時間中斷;
  • 正常情況下,要求業務流量使用主用鏈路SwitchB→SwitchD進行傳輸;
  • 當主用鏈路出現故障後,業務流量切換到備用鏈路SwitchC→SwitchD。

配置思路

  • 1.建立ICMP型別的NQA測試例,用來檢測主用鏈路的故障。
  • 在NQA測試例客戶端SwitchB與被測試裝置SwitchD之間建立ICMP型別的NQA測試例,檢測主用鏈路SwitchB→SwitchD是否正常。
  • 2.配置靜態路由,並繫結NQA測試例。
  • 在匯聚層交換機SwitchB和SwitchC上配置靜態路由,其中在SwitchB上配置靜態路由與NQA聯動,當NQA測試例檢測到鏈路故障時,通知路由管理模組把靜態路由從IP路由表中刪除。
  • 3.配置動態路由協議。在匯聚層交換機SwitchA、SwitchB和SwitchC上配置動態路由協議,使他們之間可以相互學習路由。
  • 4.OSPF協議引入靜態路由,併為主用鏈路設定較低的開銷值,實現主備兩條鏈路冗餘備份。
  • 在匯聚層交換機SwitchB和SwitchC上配置OSPF協議引入靜態路由,並且為SwitchC引入的靜態路由設定較高的開銷值。SwitchA從SwitchB和SwitchC學習到通往同一目的地址的路由時,會優先選擇開銷值較低的鏈路SwitchB→SwitchD。

操作步驟

  • 1.配置各介面所屬的VLAN

  # 配置SwitchA。SwitchB、SwitchC、SwitchD和SwitchE的配置與SwitchA類似,不再贅述。

<HUAWEI> system-view
[HUAWEI] sysname SwitchA
[SwitchA] vlan batch 30 40
[SwitchA] interface gigabitethernet 0/0/1
[SwitchA-GigabitEthernet0/0/1] port link-type trunk
[SwitchA-GigabitEthernet0/0/1] port trunk allow-pass vlan 30
[SwitchA-GigabitEthernet0/0/1] quit
[SwitchA] interface gigabitethernet 0/0/2
[SwitchA-GigabitEthernet0/0/2] port link-type trunk
[SwitchA-GigabitEthernet0/0/2] port trunk allow-pass vlan 40
[SwitchA-GigabitEthernet0/0/2] quit
  •  2.配置各VLANIF介面的IP地址

  # 配置SwitchA。SwitchB、SwitchC、SwitchD和SwitchE的配置與SwitchA類似,不再贅述。

[SwitchA] interface vlanif 30
[SwitchA-Vlanif30] ip address 192.168.3.1 24
[SwitchA-Vlanif30] quit
[SwitchA] interface vlanif 40
[SwitchA-Vlanif40] ip address 192.168.4.1 24
[SwitchA-Vlanif40] quit
  •  3.在SwitchB上配置SwitchB和SwitchD之間的NQA測試例
[SwitchB] nqa test-instance user test   //建立管理者為user,例項名為test的NQA測試例
[SwitchB-nqa-user-test] test-type icmp   //配置NQA測試例的測試型別為ICMP
[SwitchB-nqa-user-test] destination-address ipv4 192.168.1.2   //配置NQA測試例的目的地址為192.168.1.2
[SwitchB-nqa-user-test] frequency 20   //配置NQA測試例自動執行測試的時間間隔為20秒
[SwitchB-nqa-user-test] probe-count 2   //配置NQA測試例的一次測試探針數目為2
[SwitchB-nqa-user-test] interval seconds 5   //配置NQA測試例的傳送報文的時間間隔為5秒
[SwitchB-nqa-user-test] timeout 4   //配置NQA測試例的一次探測的超時時間為4秒
[SwitchB-nqa-user-test] start now
[SwitchB-nqa-user-test] quit
  •  4.配置靜態路由

  # 在SwitchB上配置與NQA測試例聯動的靜態路由。

[SwitchB] ip route-static 192.168.7.0 255.255.255.0 Vlanif 10 192.168.1.2 track nqa user test

   # 在SwitchC上配置靜態路由。

[SwitchC] ip route-static 192.168.7.0 255.255.255.0 Vlanif 60 192.168.6.2
  •  5.在SwitchA、SwitchB和SwitchC上配置動態路由協議。本例選擇OSPF動態路由協議。

  # 在SwitchA上配置OSPF協議。

[SwitchA] ospf 1 router-id 10.1.1.1
[SwitchA-ospf-1] area 0.0.0.0
[SwitchA-ospf-1-area-0.0.0.0] network 192.168.3.0 0.0.0.255
[SwitchA-ospf-1-area-0.0.0.0] network 192.168.4.0 0.0.0.255
[SwitchA-ospf-1-area-0.0.0.0] quit
[SwitchA-ospf-1] quit

   # 在SwitchB上配置OSPF協議。

[SwitchB] ospf 1 router-id 10.2.2.2
[SwitchB-ospf-1] area 0.0.0.0
[SwitchB-ospf-1-area-0.0.0.0] network 192.168.3.0 0.0.0.255
[SwitchB-ospf-1-area-0.0.0.0] quit
[SwitchB-ospf-1] quit

   # 在SwitchC上配置OSPF協議。

[SwitchC] ospf 1 router-id 10.3.3.3
[SwitchC-ospf-1] area 0.0.0.0
[SwitchC-ospf-1-area-0.0.0.0] network 192.168.4.0 0.0.0.255
[SwitchC-ospf-1-area-0.0.0.0] quit
[SwitchC-ospf-1] quit
  •  6.在SwitchB和SwitchC上配置OSPF動態路由協議引入靜態路由

  # 在SwitchB上配置OSPF動態路由協議引入靜態路由,並且把路由開銷值設定為10。

[SwitchB] ospf 1
[SwitchB-ospf-1] import-route static cost 10
[SwitchB-ospf-1] quit

   # 在SwitchC上配置OSPF動態路由協議引入靜態路由,並且把路由開銷值設定為20。

[SwitchC] ospf 1
[SwitchC-ospf-1] import-route static cost 20
[SwitchC-ospf-1] quit
  •  7.檢視配置結果

  配置完成後,在系統檢視下,在匯聚層交換機SwitchB上執行display current-configuration | include nqa命令,可以看到靜態路由已經繫結NQA測試例。執行display nqa results命令,可以看到NQA測試例已經建立。

  # 檢視NQA for靜態路由的配置。

[SwitchB] display current-configuration | include nqa
ip route-static 192.168.7.0 255.255.255.0 Vlanif10 192.168.1.2 track nqa user test
nqa test-instance user test

   # 檢視NQA測試結果。

[SwitchB] display nqa results test-instance user test

 NQA entry(user, test) :testflag is active ,testtype is icmp 
  1 . Test 288 result   The test is finished
   Send operation times: 2              Receive response times: 2          
   Completion:success                 RTD OverThresholds number: 0       
   Attempts number:1                    Drop operation number:0            
   Disconnect operation number:0        Operation timeout number:0         
   System busy operation number:0       Connection fail number:0           
   Operation sequence errors number:0   RTT Status errors number:0         
   Destination ip address:192.168.1.2                                    
   Min/Max/Average Completion Time: 3/4/3                                
   Sum/Square-Sum  Completion Time: 7/25                                 
   Last Good Probe Time: 2019-09-09 09:55:38.2                           
   Lost packet ratio: 0 %

   可以看到“Lost packet ratio: 0 %”,這說明鏈路狀態完好。

  # 檢視SwitchB的路由表,可以看到靜態路由存在於路由表中。

[SwitchB] display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 10       Routes : 10       

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
    192.168.1.0/24  Direct  0    0           D   192.168.1.1     Vlanif10
    192.168.1.1/32  Direct  0    0           D   127.0.0.1       Vlanif10
    192.168.3.0/24  Direct  0    0           D   192.168.3.2     Vlanif30
    192.168.3.2/32  Direct  0    0           D   127.0.0.1       Vlanif30
    192.168.4.0/24  OSPF    10   2           D   192.168.3.1     Vlanif30
    192.168.5.0/24  Direct  0    0           D   192.168.5.1     Vlanif50
    192.168.5.1/32  Direct  0    0           D   127.0.0.1       Vlanif50
    192.168.7.0/24  Static  60   0           D   192.168.1.2     Vlanif10

   # 檢視匯聚層交換機SwitchA的路由表。

[SwitchA] display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 7        Routes : 7        

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
    192.168.3.0/24  Direct  0    0           D   192.168.3.1     Vlanif30
    192.168.3.1/32  Direct  0    0           D   127.0.0.1       Vlanif30
    192.168.4.0/24  Direct  0    0           D   192.168.4.1     Vlanif40
    192.168.4.1/32  Direct  0    0           D   127.0.0.1       Vlanif40
    192.168.7.0/24  O_ASE   150  10          D   192.168.3.2     Vlanif30

  可以看到有一條到192.168.7.0/24的路由,下一跳指向192.168.3.2,cost值為10,因此業務流量會優先走鏈路SwitchB→SwitchD。

  # 關閉SwitchB的GigabitEthernet0/0/3 介面,模擬鏈路故障。

[SwitchB] interface GigabitEthernet0/0/3
[SwitchB-GigabitEthernet0/0/3] shutdown
[SwitchB-GigabitEthernet0/0/3] quit

   # 檢視NQA測試結果。

[SwitchB] display nqa results test-instance user test

 NQA entry(user, test) :testflag is active ,testtype is icmp 
  1 . Test 309 result   The test is finished
   Send operation times: 2              Receive response times: 0          
   Completion:failed                 RTD OverThresholds number: 0       
   Attempts number:1                    Drop operation number:2            
   Disconnect operation number:0        Operation timeout number:0         
   System busy operation number:0       Connection fail number:0           
   Operation sequence errors number:0   RTT Status errors number:0         
   Destination ip address:192.168.1.2                                   
   Min/Max/Average Completion Time: 0/0/0                                
   Sum/Square-Sum  Completion Time: 0/0                                  
   Last Good Probe Time: 0000-00-00 00:00:00.0                           
   Lost packet ratio: 100 %

   可以看到“Completion:failed”、“Lost packet ratio: 100 %”,這說明鏈路發生了故障。

  # 檢視SwitchB的路由表,可以看到靜態路由消失。

[SwitchB] display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 8        Routes : 8        

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
    192.168.3.0/24  Direct  0    0           D   192.168.3.2     Vlanif30
    192.168.3.2/32  Direct  0    0           D   127.0.0.1       Vlanif30
    192.168.4.0/24  OSPF    10   2           D   192.168.3.1     Vlanif30
    192.168.5.0/24  Direct  0    0           D   192.168.5.1     Vlanif50
    192.168.5.1/32  Direct  0    0           D   127.0.0.1       Vlanif50
    192.168.7.0/24  O_ASE   150  20          D   192.168.3.1     Vlanif30

   # 檢視SwitchA的路由表。

[SwitchA] display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 7        Routes : 7        

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
    192.168.3.0/24  Direct  0    0           D   192.168.3.1     Vlanif30
    192.168.3.1/32  Direct  0    0           D   127.0.0.1       Vlanif30
    192.168.4.0/24  Direct  0    0           D   192.168.4.1     Vlanif40
    192.168.4.1/32  Direct  0    0           D   127.0.0.1       Vlanif40
    192.168.7.0/24  O_ASE   150  20          D   192.168.4.2     Vlanif40

   因為SwitchB上的NQA測試例與靜態路由是聯動的,當NQA檢測到鏈路故障後,就迅速通知SwitchB與其繫結的靜態路由不可用,SwitchA也不能從SwitchB處學到通往192.168.7.0/24的路由。但是SwitchA可以從SwitchC處學到通往192.168.7.0/24的路由,因此可以看到通往192.168.7.0/24的路由下一跳指向192.168.4.2,cost值為20。業務流量切換到鏈路SwitchC→SwitchD。

 

相關文章