OSPF度量值
OSPF使用Cost(开销)作为度量值。
开销=参考带宽/接口带宽。开销小于1的情况下按1计算。
参考带宽默认值是100Mbit/s。
例如:
千兆以太网:100/1000 = 0.1 小于1按1计算
串行链路:100/1.544 = 64
ensp串行链路:100/2.048 = 48
带宽越大、开销就越小,路径优先值就越高。
路径的开销值,以累计cost为开销值,也就是从源地址到目的地所有路由器出接口的cost总和。
相关命令:
修改接口开销
[R1-GigabitEthernet0/0/0]ospf cost (1-65535)
修改参考带宽
[R1-ospf-10]bandwidth-reference (1-2147483648)
OSPF三大表项
邻居表
查看方式
<R1>display ospf peer
OSPF邻居表显示了OSPF路由器之间的邻居状态。
其中,Dead timer due in 35 sec ,表示失效时间35秒。
路由表
查看方式
<R1>display ospf routing
OSPF路由表包含Destination、Cost和NextHop等指导转发的信息。
Transitnet类型:网段路由。一般采用在直连接口,需要维护邻居之间的拓扑信息和路由信息。
stubnet类型:主机路由。一般才用在环回接口,不需要维护邻居之间的拓扑信息,只需要维护路由信息。
LSDB
查看方式
<R1>display ospf lsdb
Type:LSA的类型--1类 2类。
LinkState ID:描述拓扑信息或者路由信息--根据LSA的类型不同。
AdvRouter:通告的路由器。
age: LSA的存放时间。
Len:长度。以字节为单位。
Sequence:LSA的序列号。当拓扑产生变化之后 +1,以十六进制计算。
Metric:开销。
OSPF邻居
OSPF工作过程概览
邻居与邻接的区别
1 邻居-2way,邻接-full。
2 邻居只知道对方的RID,邻接交互LSA。
OSPF报头
OSPF一共定义了5种类型的报文,不同类型的OSPF报文有相同的头部格式。
OSPF报文直接采用IP封装,在报文的IP头部中,协议号为89。
Version :对于当前所使用的OSPFv2,该字段的值为2。
Router ID:表示生成此报文的路由器的Router ID。
Area ID:表示此报文需要被通告到的区域。
Type:类型字段。
Packet length:表示整个OSPF报文的长度,单位是字节。
Checksum:校验字段,其校验的范围是整个OSPF报文,包括OSPF报文头部。
Auth Type:为0时表示不认证;为1时表示简单的明文密码认证;为2时表示加密(MD5)认证。
Authentication:认证所需的信息。该字段的内容随AuType的值不同而不同。
HELLO报文
Hello报文的主要作用:
1 邻居发现:自动发现邻居路由器。
2 邻居建立:完成Hello报文中的参数协商,建立邻居关系。
3 邻居保持:通过周期性发送和接收,检测邻居运行状态。
Network Mask | ||
Hello Interval | Options | Router Priority |
RouterDeadInterval | ||
Designated Router | ||
Backup Designated Router | ||
Neighbor | ||
… |
Network Mask:发送Hello报文的接口的网络掩码。
HelloInterval:发送Hello报文的时间间隔。通常为10s。
RouterDeadInterval:失效时间。如果在此时间内未收到邻居发来的Hello报文,则认为邻居失效。通常为40s。
Neighbor:邻居,以Router ID标识。
Options:
E:是否支持外部路由
MC:是否支持转发组播数据包
N/P:是否为NSSA区域
Router Priority:DR优先级。默认为1。如果设置为0,则路由器不能参与DR或BDR的选举。
Designated Router:DR的接口地址。
Backup Designated Router:BDR的接口地址。
建立邻居关系
OSPF使用Hello报文发现和建立邻居关系。
在以太网链路上,缺省时,OSPF采用组播的形式发送Hello报文(目的地址224.0.0.5)。
OSPF Hello报文中包含了路由器的Router ID、邻居列表等信息。
Down:这是邻居的初始状态,表示没有从邻居收到任何信息。
Init:在此状态下,路由器已经从邻居收到了Hello报文,但是自己的Router ID不在所收到的Hello报文的邻居列表中,为空值。
2-way:在此状态下,路由器发现自己的Router ID存在于收到的Hello报文的邻居列表中,记录下了邻居的RID。
相关命令:
修改HELLO时间
[R1-GigabitEthernet0/0/0]ospf timer hello Second(s)
修改死亡时间
[R1-GigabitEthernet0/0/0]ospf timer dead Second(s)
查看所有接口信息(可查看HELLO时间和死亡时间)
<R1>display ospf interface all
PS:死亡时间是HELLO时间的四倍,如果修改HELLO时间,那么死亡时间会更跟着变化,如果只修改死亡时间,那HELLO时间不会发生变化。