ospf lsa過濾

第1章    OSPF LSA過濾簡述

OSPF的過濾有兩種,一種是對路由表的過濾,這種方式只對配置過濾的路由器起作用,不能阻止LSA的泛洪,因此也不能影響其他路由器生成路由,filter-policy import(VRP) /distribute-list in(IOS)另一種是對LSA的過濾,這種方式其實並不是對LSA過濾,只是阻止LSA的生成,沒有了LSA,相應也會影響其他同區域或同自治域的路由器。

對路由表的過濾,適用所有運行OSPF的路由器;其他命令都是阻止LSA的生成,只能過濾原本應該是本路由器產生的LSA,這種過濾只能在LSA生成者上做過濾ASBRASE/NSSA LSA的生成者,ABRSUMMARY LSA的生成者,NSSA區域的ABRNSSAASE的生成者,所以我們很容易想到這種方式的過濾只能在ABRASBRNSSA區域的ABR上。

第2章    OSPF6種過濾方式

2.1 filter-policy importOSPF

只能用來過濾OSPF有效路由表裏的路由,並不能阻止LSA的泛洪。(除此之外,以下的過濾方式均是對LSA的過濾),被過濾的路由在路由表中爲inactive狀態。

對應IOS命令爲Router(config-router)# distribute-list 1 in/distribute-list prefix 1 in

Users can define a route map to prevent OSPF routes from being added to the routing table.

對應Junos命令爲import policyIOS並不認爲這是一種真正的OSPF過濾。

image002.png

R1路由器上配置兩條靜態路由,然後importospf中。

ip route-static 11.11.11.11 255.255.255.255 NULL0

ip route-static 111.111.111.111 255.255.255.255 NULL0

查看R2的路由表

<R2>dis ip routing-table

Route Flags: R - relay, D - download to fib

------------------------------------------------------------------------------

Routing Tables: Public

        Destinations : 13       Routes : 13

Destination/Mask    Proto  Pre  Cost     Flags NextHop         Interface

    11.11.11.11/32  O_ASE  150  1           D  100.0.12.1      Serial0/0/0

111.111.111.111/32  O_ASE  150  1           D  100.0.12.1      Serial0/0/0

然後在R2上配置filter-policy import過濾掉11.11.11.11/32的路由不讓其加入到R2的路由表中。

ospf 1

 filter-policy ip-prefix huawei import

#

 ip ip-prefix huawei index 10 deny 11.11.11.11 32

 ip ip-prefix huawei index 20 permit 0.0.0.0 0 less-equal 32

配置後查看R2的路由表:

<R2>dis ip routing-table

Route Flags: R - relay, D - download to fib

------------------------------------------------------------------------------

Routing Tables: Public

        Destinations : 13       Routes : 13

Destination/Mask    Proto  Pre  Cost     Flags NextHop         Interface

111.111.111.111/32  O_ASE  150  1           D  100.0.12.1      Serial0/0/0

可以看到路由表中已經沒有了11.11.11.11/32的路由但是LSDB中還是有的。

[R2]dis ospf lsdb

         OSPF Process 1 with Router ID 2.2.2.2

                 Link State Database

                 AS External Database

 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric

 External  11.11.11.11     111.111.111.111    200  36    80000001       1

 External  111.111.111.111 111.111.111.111    189  36    80000001       1

2.2 filter-policy export[acl/ip-prefix]/import-routeOSPF[route-policy]

該命令用來在ASBR上對ASE/NSSA過濾,可以對本臺路由器引入而產生的ASE/NSSA LSA做過濾,過濾徹底,所有OSPF域的路由器將不會收到被過濾的ASE/NSSA LSA

對應IOS命令爲Router(config-router)#distribute-list x out [rip]/ redistribute rip route-map

image003.png

R1上配置filter-policy export的策略,拒絕11.11.11.11/32lsa進入到ospf中。

ospf 1

 filter-policy ip-prefix huawei export   

 import-route static

#

 ip ip-prefix huawei index 10 deny 11.11.11.11 32

 ip ip-prefix huawei index 20 permit 0.0.0.0 0 less-equal 32

配置後在R1上查看lsdb,發現已經沒有了11.11.11.11/32ase lsa

[R1]dis ospf lsdb

         OSPF Process 1 with Router ID 111.111.111.111

                 Link State Database

                 AS External Database

Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric

 External  111.111.111.111 1.1.1.1             10  36    80000001       1

R2R3也同樣沒有了11.11.11.11/32ase lsa,當然也無法計算出路由來。

2.3 asbr-summary  not-advertiseOSPF

命令用來在ASBR 上可以對自身產生的ASE/NSSA做過濾,阻止本路由器產生符合特定條件的ASE/NSSA以及在NSSA區域的ABR上可以對75LSA做過濾,阻止本路由器根據NSSA產生符合特定條件的ASE

對應IOS命令爲Router(config-router)#summary-address 10.0.0.0 255.255.25.0 no advertise

image003.png

NSSA區域的ABR可以在ABR上對Type75LSA進行二次過濾

image004.png

R1上配置[R1-ospf-1]asbr-summary 11.11.11.11 255.255.255.255 not-advertise

配置後,查看R1lsab發現已經沒有了11.11.11.11/32ase lsa,其他路由器也沒有11.11.11.11/32ase lsa,同樣無法計算出路由,過濾徹底。

[R1-ospf-1]dis ospf lsdb

                 AS External Database

 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric

 External  111.111.111.111 1.1.1.1            142  36    80000001       1

對於在ABR上配置75時過濾時需要注意以下特性:

ABR全局路由表中只有存在FA地址的路由時,纔會將nssa-external轉換成external lsa,其他路由器收到這個externallsa後,還要檢查是否有到達fa地址的路由,如果沒有,不會參與計算,所以在ABR上如果對fa地址路由(該種過濾無法通過配置suppress-fa來搞定,因爲在ABR上根本沒有執行nssa-externalexternal)或lsa進行過濾,都會導致骨幹區其他路由器無法計算該路由。如果確實需要進行過濾,那麼需要在ABR上配置R2(config-router)#area 100 nssa translate type7 suppress-fa命令。

image005.png

在上圖的組網中,如果想在ABR上做Area 2區域的ASBR地址的LSA過濾,(我司VRP5命令爲aera視圖下abr-summary 100.0.15.0 255.255.255.0not-advertise,此時在ABR上仍舊有ASBR FA地址的路由和nssa-external路由,該路由器也會將nssa-external lsa轉換成external lsa,其他路由器也有externallsa,但由於沒有FA地址的路由,因此該external lsa不會參與計算,無法生成路由)或者(配置distribute-list in過濾掉FA的路由,此時ABR的路由表上由於沒有asbr FA地址的路由,也算不出來nssa-external的路由,同時ABR不會將nssa-external轉換成external,這樣其他路由器根本都不會再有externallsa),那麼會導致Area0的路由器無法到達AS1的網絡,因爲Area 2ASBR的地址被寫進了Type 7 LSAFA中,沒有到達這個FA地址的路由,Area0中的路由器無法使用這些Type575)的LSA計算路由。

注:主要原因是在ABR上將FA地址的LSA聚合了,導致Area0中沒有這個FA地址路由無法迭代。

This problem is solved by suppressing the forwarding address on the ABR so that the forwarding address is set to 0.0.0.0 in the Type-5 LSAs that were translated from Type-7 LSAs. A forwarding address set to 0.0.0.0 indicates that packets for the external destination should be forwarded to the advertising OSPF router, in this case, the translating NSSA ABR

配置命令:Router(config-router)# area 10 nssa translate type7 suppress-fa

CautionConfiguring this feature causes the router to be noncompliant with RFC 1587. Also, suboptimal routing might result because there might be better paths to reach the destination’s forwarding address. This feature should not be configured without careful consideration and not until the network topology is understood.

我司目前VRP5.5仍不支持此特性, VRP5.6版本開始支持該特性;Cisco12.2(15)T版本之後提供此特性。

注:在我司VRP5.6之前有一種解決方案,如果在ABR上配置了abr-summary not-advertiseASBR的路由做了過濾,那麼可以在ABR上配置asbr-summaryase路由進行一次聚合,這樣FA地址會改爲0,就不會再去查FA地址,保證網絡可通。(asbr-sunmary x.x.x.x聚合的網段可以和原來的網段一致,這樣也能夠發佈ase路由,並將FA0

2.4 filter import(area) [acl/ip-prefix/route-policy]

命令用來在ABR上作summary lsa過濾, 如果是骨幹區域(非骨幹區域),就防止從其他非骨幹區域(骨幹區域)轉換到該區域符合特定條件的summary lsa生成,過濾徹底。

對應IOS命令爲Router(config-router)# area area-id filter-list prefix prefix-list-name in

filter exportarea[acl/ip-prefix/route-policy]命令用來在ABR上作summary lsa過濾,如果是骨幹區域(非骨幹區域),就阻止從該區域轉換到其他非骨幹區域(骨幹區域)符合特定條件的summary lsa生成,過濾徹底。

對應IOS命令爲Router(config-router)# area area-id filter-list prefix prefix-list-name out

image006.png

配置summary lsa過濾前,在R3上查看summary lsa的條目:

<R3>dis ospf lsdb

         OSPF Process 1 with Router ID 3.3.3.3

                 Link State Database

                         Area: 0.0.0.0

 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric

Sum-Net   100.0.12.0      2.2.2.2            298  28    80000001    1562

 Sum-Net   1.1.1.1         2.2.2.2            282  28    80000001    1563

R2路由器上過濾100.0.12.0/30summary lsa不傳遞到area 0,配置命令如下:

ospf 1

 area 0.0.0.0

  network 2.2.2.2 0.0.0.0

  network 100.0.23.0 0.0.0.3

 area 0.0.0.100

  filter ip-prefix huawei export //area 0中配置filter ip-prefix huawei import作用相同

  network 100.0.12.0 0.0.0.3

#

 ip ip-prefix huawei index 10 deny 100.0.12.0 30

 ip ip-prefix huawei index 20 permit 0.0.0.0 0 less-equal 32

配置後查看R3summary lsa條目,發現已經沒有了100.0.12.0的條目:

<R3>dis ospf lsdb

         OSPF Process 1 with Router ID 3.3.3.3

                 Link State Database

                         Area: 0.0.0.0

 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric

Sum-Net   1.1.1.1         2.2.2.2            149  28    80000001    1563

2.5 abr-summary not-advertise(area)

用來在ABRsummary lsa做過濾,如果是骨幹區域(非骨幹區域),就防止從該區域轉換到其他非骨幹區域(骨幹區域)符合特定條件的summary lsa生成,類似filter-policy exportarea)命令的作用,但又有點區別,該命令只對本區域的區域內路由作過濾不對區域間路由做過濾。(原因是:這條命令是聚合命令,目前我們VRPIOS的聚合命令的實現是隻對本區域的路由做聚合而不對區域間路由做聚合,所以說abr-summary not-advertise這條命令實際只是對本區域的區域內路由起過濾作用)

image007.png

對應IOS命令爲:Router(config-router)#area 10 range 1.1.1.0 255.255.255.0 no-advertise

R2上配置abr-summary過濾1.1.1.1/32summary lsa

[R2-ospf-1-area-0.0.0.100]abr-summary 1.1.1.1 255.255.255.255 not-advertise

配置後在R3上查看lsa,發現已經沒有了1.1.1.1lsa信息。

<R3>dis ospf lsdb

         OSPF Process 1 with Router ID 3.3.3.3

                 Link State Database

                         Area: 0.0.0.0

 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric

Sum-Net   100.0.12.0      2.2.2.2             39  28    80000001    1562

2.6 ospf filter-lsa-out

該命令用來在廣播、NBMAP2P以及P2MP網絡中,配置對特定OSPF接口出方向的LSA進行過濾。有以下參數:

all:對所有的LSA(除了Grace LSA)都進行過濾。

summary:對Network Summary LSAType3)進行過濾。

acl acl-number:指定基本訪問控制列表編號。整數形式。

ase:對AS External LSAType5)進行過濾。

nssa:對NSSA LSAType7)進行過濾。

通過對特定OSPF接口出方向的LSA進行過濾可以不向鄰居發送無用的LSA,從而減少鄰居LSDB的大小,提高網絡收斂速度。

當兩臺路由器之間存在多條鏈路時,通過配置本地路由器可以在某些鏈路上過濾LSA的傳送,減少不必要的重傳,節省帶寬資源。

P2MP網絡中配置對指定鄰居發送的LSA進行過濾時,需要使用filter-lsa-out peer命令。


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