OSPF其它LSA詳解&域間彙總及過濾
域間彙總
在OSPF裏面有兩種角色能夠作彙總:
1.ABR:能夠生成3類,針對3類域間路由作彙總
2.ASBR:生成5類,能夠對外部路由作彙總
【實驗配置】2:20
在R1上建立lo0口宣告進OSPF,ABR會針對這條鏈路信息通告一個3類LSA
在R1上看這條鏈路是否被宣告進OSPF:
show ip ospf database router self-originate
邏輯接口/物理接口但沒有鄰居關係,會被通告成stub network 末節網絡
在lo 1口下配置的是24位掩碼地址,宣告的時候宣告成32位了,這是爲何?
由於網絡類型爲LOOPBACK,這個網絡類型在RFC中沒有定義過,RFC中只有5種網絡類型,思科私有。OSPF裏面會認爲全部的LOOPBACK都是一個主機地址,通告的時候都通告成32位的主機地址。在華爲裏面沒有LOOPBACK網絡類型,在華爲裏面是點到點網絡類型。
那如何去通告一個24位的路由?
更改網絡類型,把LOOPBACK改爲點到點或者廣播網
再去看router LSA,變成24位
默認是LOOPBACK的會宣告成32位的,會形成標籤分錯,須要改爲正確的掩碼
在ABR上針對lo0和lo1口的這兩條路由作一個彙總,彙總成16位的
9:36
路由彙總:
數路由的公共位就能夠了,不同的位置所有填充爲0
在R2上作路由彙總
鏈路信息來自於區域0,須要針對區域0的鏈路信息作一個彙總,通告一個彙總的3類LSA,前綴 1.1.0.0 255.255.0.0
router ospf 1
area 0 range 1.1.0.0 255.255.0.0
R3上如今只變成一條路由,在OSPF上若是作了彙總會抑制明細路由;彙總之後只通告彙總路由而不通告明細路由
針對路由彙總作路由過濾
在R3上面沒有這條路由
LSA的刪除
在OSPF裏面,若是想取消或者撤銷掉這條LSA通告,把LSA時間加成3600而後刪除(1類LSA除外),1類LSA只能經過序列號刪除,只能由始發者操做
經過彙總命令行實現一個路由的過濾:
若是隻針對一條明細作過濾,只想過濾1.1.1.1同時放行1.1.2.0?
area 0 range 1.1.1.1 255.255.255.255 not-advertise
將3條鏈路信息作個彙總,Metric值都不同,分別是十、100、200,若是彙總成一條,這條彙總的Metric值怎麼算?
華爲彙總的路由Metric值,選 最大的一個鏈路信息的Metric值
思科中域間彙總路由的Metric值等於最小鏈路的Metric值加1
*******************************************************
路由過濾
27:49
OSPF的路由過濾:
一、針對LSA(ABR、ASBR)
二、針對路由(全部設備均可以)
ABR-3類LSA
ASBR-5類LSA
過濾能夠在區域0裏面作,也能夠在區域1裏作,方向不同
針對1.1.1.1作一個過濾
area 0 filter-list prefix 經過前綴列表匹配路由條目,前綴列表只能匹配路由不能匹配流量
分兩段匹配:
1.先匹配前綴
2.再匹配掩碼
ge-大於等於多少
le -小於等於多少
ip prefix-list ccie permit 1.1.0.0/16 ge 32 le 32 //匹配32位路由
查看:show ip prefix-list
在area 0裏面,ABR彙總,彙總成3類LSA,針對區域0是出out方向,針對區域1是in方向
在區域0裏面配置filter-list
area 0 filter-list prefix ccie out
查看前綴列表:
show ip prefix-list
1.1.1.1的3類LSA沒有
show ip ospf database
一、ABR上使用filter-list過濾3類LSA, filter-list只能適用於ABR設備。
router ospf 1
log-adjacency-changes
area 1 filter-list prefix ccie in \\filter-policy的方向區分:
鏈路信息的來源區域屬於OUT方向,而生成後的3類LSA的通告區域屬於IN方向。
針對路由過濾 (分發列表)
經過分發列表來作過濾,分發列表是能夠綁定多個工具的
R3上面有個1.1.2.0 ,過濾這條路由條目能夠用分發列表
分發列表是針對於路由條目來作過濾的和LSA不要緊
distribute是針對路由條目來作過濾的
OSPF是先收LSA,根據SPF算法計算最短路徑計算路由,把路由放到RIB表裏面。
在加RIB表的時候執行了一次distribute-list,方向是依據路由表判斷的。參考物是路由表
加表-IN 方向(針對路由表來講是IN方向)
出路由表,重分發-OUT方向(ASBR的過濾)
經過分發列表能夠在全部的OSPF設備上執行路由過濾,判斷分發列表的使用方向須要參考路由表,若是是將路由條目放入到路由表,就是IN方向,若是是從路由表重分發到路由協議,就是OUT方向。
用ACL做過濾:
//經過ACL匹配路由條目
access-list 1 deny 1.1.2.0 0.0.0.255
access-list 1 permit any //放行其餘
//在進程下面調用distribute-list
router ospf 1
distribute-list 1 in
R2上已通過濾了1.1.2.0的路由條目,R2是否還會向區域·1發送一條1.1.2.0的3類LSA?
本地已經作了路由過濾了,R2不會再通告3類LSA
若是在ABR上針對這條路由作了一個distribute-list路由過濾,在ABR的路由表裏面是不存在這條路由條目的,因爲ABR上不存在路由條目,這條路由就不該該生成3類LSA通告給區域1;區域1的全部路由器想到達域間路由的話,必需要走ABR,3類LSA通告者是ABR,須要先把這個報文交給ABR,ABR才能轉發給目的地址;如今ABR都沒有路由條目發3類LSA徹底沒有意義。
過濾的話,若是在3的話徹底沒有任何影響。
思考題是針對5類LSA
鏈路狀態ID通告的是一條外部路由前綴:
若是在一臺路由器上面配置兩條靜態路由,掩碼不同路由前綴是同樣的。
1.1.1.0/30
1.1.1.0/24
把這兩條路由條目所有重分發進OSPF,它會通告幾條LSA? 2條5類LSA,鏈路狀態ID是不是同樣的?
因爲頭部是同樣的,
把兩條靜態路由重分發進ospf:
router ospf 1
redistribute static subnets
show ip ospf database
Link ID不同,Link ID在5類LSA中是用來通告路由前綴的,實際上不會將兩條5類LSA的Link ID配置成同樣的,對方收到LSA之後會比較頭部信息,Link ID和ADV Router(通告路由器)都同樣 ,對方會認爲是一條,這樣就有問題,重分發的時候1.1.1.0/30是用廣播地址(1.1.1.3)做爲前綴地址去通告的,因爲頭部是同樣的沒有辦法去區分路由條目,須要這樣去作一個區分
開啓0子網:ip subnet-zero //0子網
no ip subnet-zero //關閉0子網功能
192.168.0.0/24
192.168.0.0/30
若是不攜帶掩碼長度的話,192.168.0.0/30對方確定會認爲這是一個主類網段,會和192.168.0.0/24形成衝突,子網的0.0和主類的0.0不能區分開來;若是是192.168.0.4/30不會形成衝突;這時開啓ip subnet-zero就能夠應用0子網
子網掩碼的最大長度:
廣播網:30
串口 (點到點) :31
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">redis
附件列表