开销计算
Cost计算公式:
开销=参考带宽/接口带宽
参考带宽默认值为100Mbit/s。
1、开销值越低路径则越优。
2、度量只与出方向的路径有关,路由器不会对入向流量执行路由决策。
3、在每次带宽出现变化时,OSPF开销就会重新计算,Dijkstra算法会将路径上的所有链路开销累加起来,以此来判断最优路径。
默认OSPF开销
链路类型 | 默认开销 |
T1(1.544Mbit/s串行链路) | 64 |
Ethernet | 10 |
FastEthernet | 1 |
GigabitEthernet | 1 |
10GigabitEthernet | 1 |
查看接口带宽
R1#show interfaces ethernet 0/0 Ethernet0/0 is up, line protocol is up Hardware is AmdP2, address is aabb.cc00.1000 (bia aabb.cc00.1000) Internet address is 12.1.1.1/24 MTU 1500 bytes, BW 10000 Kbit/sec, DLY 1000 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) <output omitted> |
查看OSPF接口带宽
R1#show ip ospf interface ethernet 0/0 Ethernet0/0 is up, line protocol is up Internet Address 12.1.1.1/24, Area 0, Attached via Network Statement Process ID 110, Router ID 89.1.1.1, Network Type BROADCAST, Cost: 10 Topology-MTID Cost Disabled Shutdown Topology Name 0 10 no no Base Transmit Delay is 1 sec, State BDR, Priority 1 Designated Router (ID) 89.2.2.2, Interface address 12.1.1.2 Backup Designated router (ID) 89.1.1.1, Interface address 12.1.1.1 Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 <output omitted> |
Cost=参考带宽100Mbit/接口带宽10Mbit=10
修改OSPF参考带宽
R1(config)#router ospf 110 R1(config-router)#auto-cost reference-bandwidth ? <1-4294967> The reference bandwidth in terms of Mbits per second R1(config-router)#auto-cost reference-bandwidth 10000 % OSPF: Reference bandwidth is changed. Please ensure reference bandwidth is consistent across all routers. 只有在OSPF域中使用一致的参考带宽才能确保所有路由器都正确地计算最优路径。 R1(config-router)#do show ip ospf int e0/0 Ethernet0/0 is up, line protocol is up Internet Address 12.1.1.1/24, Area 0, Attached via Network Statement Process ID 110, Router ID 89.1.1.1, Network Type BROADCAST, Cost: 1000 Topology-MTID Cost Disabled Shutdown Topology Name 0 1000 no no Base Transmit Delay is 1 sec, State BDR, Priority 1 Designated Router (ID) 89.2.2.2, Interface address 12.1.1.2 Backup Designated router (ID) 89.1.1.1, Interface address 12.1.1.1 Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 <output omitted> |
在OSPF进程下,通过命令auto-cost reference-bandwidth,将OSPF参考带宽修改为10000(单位Mbits),即10Gbit。根据计算公示计算出:
Cost=参考带宽10000Mbit/10Mbit=1000
修改OSPF的参考带宽会对OSPF中的所有本地接口开销构成影响。
直接修改接口带宽
R1(config)#int e0/1 R1(config-if)#bandwidth ? <1-10000000> Bandwidth in kilobits inherit Specify how bandwidth is inherited qos-reference Reference bandwidth for QOS test receive Specify receive-side bandwidth R1(config-if)#bandwidth 100000 R1(config-if)#do show ip ospf int e0/1 Ethernet0/1 is up, line protocol is up Internet Address 13.1.1.1/24, Area 0, Attached via Network Statement Process ID 110, Router ID 89.1.1.1, Network Type BROADCAST, Cost: 100 Topology-MTID Cost Disabled Shutdown Topology Name 0 100 no no Base Transmit Delay is 1 sec, State BDR, Priority 1 Designated Router (ID) 89.3.3.3, Interface address 13.1.1.3 Backup Designated router (ID) 89.1.1.1, Interface address 13.1.1.1 Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 <output omitted> |
Ethernet0/1默认接口带宽10Mbit,通过接口命令bandwidth,修改接口带宽值为100000(单位:k),即100Mbit,通过COST计算公式得出:
Cost=参考带宽10000Mbit/接口带宽100Mbit=100,上面已经将参考带宽修改为10000Mbit,所以此时已不是默认参考带宽了。
注意:
1、在接口上手动设置带宽值会覆盖OSPF用来计算接口开销的默认值。
2、修改接口带宽不仅会影响OSPF,也会影响如EIGRP等其他路由协议的开销计算。
使用OSPF接口配置命令(ip ospf cost)直接更改某个特定接口的OSPF开销
R1(config)#int e0/0 R1(config-if)#ip ospf cost ? <1-65535> Cost //取值范围 R1(config-if)#ip ospf cost 500 R1(config-if)#do show ip ospf int e0/0 Ethernet0/0 is up, line protocol is up Internet Address 12.1.1.1/24, Area 0, Attached via Network Statement Process ID 110, Router ID 89.1.1.1, Network Type BROADCAST, Cost: 500 Topology-MTID Cost Disabled Shutdown Topology Name 0 500 no no Base Transmit Delay is 1 sec, State BDR, Priority 1 Designated Router (ID) 89.2.2.2, Interface address 12.1.1.2 Backup Designated router (ID) 89.1.1.1, Interface address 12.1.1.1 Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 <output omitted> R1(config-if)#do show ip ospf interface brief Interface PID Area IP Address/Mask Cost State Nbrs F/C Et0/1 110 0 13.1.1.1/24 100 BDR 1/1 Et0/0 110 0 12.1.1.1/24 500 BDR 1/1 |
通过该命令(ip ospf cost)直接修改OSPF接口COST值,会覆盖通过参考带宽和接口带宽计算出来的开销值。
计算区域内路由开销
对于每条路由,OSPF都通过相加各个接口(目的网络路由的出接口)开销之和,来计算到达目的地址的开销值。对于每个子网来说,总开销值最低的路由就会被选为最优路由。
在两台路径最低总开销值相同的情况下,两条路由都会成为最优路径并被添加到路由表中。因此,路由器此时就会执行等价负载分担。
路由器R1可以通过R2或R3到达区域内网络A。由于通过R2的路径开销值更低,所以通过R2选为最优路径。
R1#show ip route ospf
4.0.0.0/24 is subnetted, 1 subnets O IA 4.4.4.0 [110/21] via 13.1.1.3, 00:11:09, Ethernet0/1 23.0.0.0/24 is subnetted, 1 subnets O 23.1.1.0 [110/20] via 12.1.1.2, 00:11:29, Ethernet0/0 24.0.0.0/24 is subnetted, 1 subnets O IA 24.1.1.0 [110/30] via 12.1.1.2, 00:11:09, Ethernet0/0 34.0.0.0/24 is subnetted, 1 subnets O IA 34.1.1.0 [110/20] via 13.1.1.3, 00:11:09, Ethernet0/1 R1#show ip route 23.1.1.0 255.255.255.0 Routing entry for 23.1.1.0/24 Known via "ospf 110", distance 110, metric 20, type intra area Last update from 12.1.1.2 on Ethernet0/0, 00:11:34 ago Routing Descriptor Blocks: * 12.1.1.2, from 89.3.3.3, 00:11:34 ago, via Ethernet0/0 Route metric is 20, traffic share count is 1 |
计算区域间路由开销
ABR使用3类LSA来传递区域间路由,3类LSA中包含ABR到达各个子网的最低开销。内部路由器会将自己到达ABR的开销和3类LSA中宣告的开销相累加。最后得出到达目的网络的总开销,如果有多个ABR,则开销最低的作为最优路由。
对于目的网络4.4.4.0/24:
R1通过R2的总开销为:10+类型3 LSA开销(20+1)=31;
R1通过R3的总开销为:15+类型3 LSA开销(5+1)=21;
R1#show ip ospf database summary 4.4.4.0 OSPF Router with ID (89.1.1.1) (Process ID 110) Summary Net Link States (Area 0) LS age: 1694 Options: (No TOS-capability, DC, Upward) LS Type: Summary Links(Network) Link State ID: 4.4.4.0 (summary Network Number) Advertising Router: 89.2.2.2 LS Seq Number: 80000003 Checksum: 0x7941 Length: 28 Network Mask: /24 MTID: 0 Metric: 21 LS age: 1694 Options: (No TOS-capability, DC, Upward) LS Type: Summary Links(Network) Link State ID: 4.4.4.0 (summary Network Number) Advertising Router: 89.3.3.3 LS Seq Number: 80000003 Checksum: 0xCDF8 Length: 28 Network Mask: /24 MTID: 0 Metric: 6
R1#show ip route ospf 4.0.0.0/24 is subnetted, 1 subnets O IA 4.4.4.0 [110/21] via 13.1.1.3, 00:00:03, Ethernet0/1 23.0.0.0/24 is subnetted, 1 subnets O 23.1.1.0 [110/20] via 12.1.1.2, 00:31:44, Ethernet0/0 24.0.0.0/24 is subnetted, 1 subnets O IA 24.1.1.0 [110/30] via 12.1.1.2, 00:31:24, Ethernet0/0 34.0.0.0/24 is subnetted, 1 subnets O IA 34.1.1.0 [110/20] via 13.1.1.3, 00:00:03, Ethernet0/1 |
区域内路由和区域间路由
为了避免区域边界单点故障的情况,网络中至少会使用两台ABR。因此,ABR可以从内部路由器以及其他ABR同时学习到某个特定子网的信息。对于一个相同的目的网络,虽然ABR可以从区域内路由和区域间路由同时学到。但,即使某个子网的区域间路由开销更低,路由器还是会优选区域内路径。
ABR R2可以在Area 1 中直接从路由器R4学到4.4.4.0/24的路由,同时也可以从ABR R3学到这个网络。虽然通过R3到达该网络的开销更低(为16),但ABR R2还是会选择通过区域内学习到的路由,开销为21。
R2#show ip route ospf 4.0.0.0/24 is subnetted, 1 subnets O 4.4.4.0 [110/21] via 24.1.1.4, 00:39:44, Ethernet0/1 13.0.0.0/24 is subnetted, 1 subnets O 13.1.1.0 [110/25] via 23.1.1.3, 00:38:27, Ethernet0/2 [110/25] via 12.1.1.1, 00:38:27, Ethernet0/0 34.0.0.0/24 is subnetted, 1 subnets O 34.1.1.0 [110/25] via 24.1.1.4, 00:08:13, Ethernet0/1 |