cost應用在什么接口?
在OSPF協議中,去往一個目的地,途徑的每一條鏈路的Cost計算是在發送時加上該端口Cost,接收時不加。比如要對R1去往12.1.1.2的路由的Metric進行修改,那么一個可行的方法就是修改R1本地出口的帶寬值,修改對端接口不會使Cost值變化。修改的命令為(config-if)# bandwith 1000(kbit)
OSPF中的度量值Cost = 100Mb / Bandwith,如今帶寬已發展到G比特時代,以100M作為參考值會使大于100M的鏈路開銷都為1,因為OSPF不識別小數(四舍五入為1),這樣不利于選路,建議用命令改為10G :(config-router)# auto-cost reference-bandwith 10000
OSPF在選路時的優先級:O > O IA > O E1 > O E2 即當去往一個目的地存在多條路徑時,Area內路由 > Area間路由 > 外部路由類型1 > 外部路由類型2, 同等路由類型時再比較Cost大小,這樣的規則不顧實際的帶寬而只按優先級行事,有可能造成次優選路。
另一個造成次優選路的原因是信息缺失,就以OSPF中的Stub和Total Stub來具體分析一下(NSSA和Total NSSA可分別與其對應)。Stub區域缺失的信息是外部路由,所以當Stub路由器有數據發往外部的時候,只能依靠ABR,而當一個Stub區域存在多個ABR的時候,會選擇最近的ABR作為出口(等距的話就會形成負載均衡,前提是關閉CEF),但是這樣并沒有考慮到各ABR到ASBR的開銷,即用部分 cost代替整體cost來選擇路徑,顯然是片面的;而Total Stub由于只有本Area的信息,對ABR更為依賴,即使在Area間路由的時候也可能會發生這樣的次優選路。
簡單來講,Stub路由器進行AS外部路由,Total Stub路由器進行AS外部路由和Area間路由時都認為: 總Cost = 自己到最近的ABR的Cost
當其他IGP協議重發布進OSPF時用的命令是 redistribute rip subnets metric-type 1/2 ,關鍵字“subnets” 使OSPF接受重發布進來的無類路由,如果不加,就只會發布主類網絡,比如3.0.0.0/8可以重發布進來,而13.1.1.0/24就會被Pass 掉。而重發布的路由類型可以是E1或E2,E1要優于E2,因為E1加上了本地到ASBR的Cost,信息更準確,E2就沒有考慮這些,所有重發布進來的路由默認Cost都是20。
PS:/32位主機路由
從路由的角度來看,不需要/32主機路由,但是從OSPF的SPF來看,如果在point-to-point,point-to-multipoint網絡中收到的LSA的ADV是本接口網絡的路由器,但又沒有形成相應的鄰接關系,就會認為“no reachable 不可達"。產生/32位的主機路由就是讓SPF的運算網開一面,即使在“一個網絡里”鄰居沒形成全,對應有/32路由的情況下,也認為ADV已經可達。