Ospf的报文的内容
Ip header 4 组播地址:224.0.0.5 协议号89 。版本是2,支持ipv4,版本v3支持ipv6,type 值得是包的类型,例如hello等。报头长度,
rouer-id,每台路由器需要配置router-id,如果不配置的话,则选举顺序如下:1、优先选择手动指定(任意,唯一)2、如果没有手动指定,则首先选择环回口,ip地址最大的,作为rouer-id,如果环回口没有,则选择物理接口最大的ip地址作为router-id。
Area id 标示路由器属于的area
Check-sum 校验
Authentication type 验证类型,包括 无认证,明文认证,md5认证
Authentication 如果使用明文认证 则显示在此处
Data 包不同,则数据内容不一样
Hello包的内容,ospf建立邻居的必要条件:hello时间和dead时间,hello时间,每10s发一次,或者是每30s发一次,和网络类型有关。Dead时间,是4倍的hello时间。Ospf的hello时间必须匹配才能建立邻居关系。Area id必须一致才能建立邻居关系。启用认证,密钥一致,才能建立邻居关系。Stub area flag stub标识一定一致,才能建立邻居关系。
Hello包的其他内容:邻居、router 优先级、DR ip adDRess、BDR ip adDRess
ospf建立邻居关系的过程
1、 down state 还没有运行ospf
2、 init state 我的router-id 是xx,我没有看到任何人,即hello包的nei字段空。
3、 two-way state当hello包发出去,被收到,并且反馈回来对方的hello包的时候,对方说:我的router-id 是xx,并且我看到了你。
Two-way状态两种情况,如果是p2p网络,则进入exstart 状态,如果是ma网络还要选举DR和BDR。
4、 exstart 状态,在该状态。选举完DR和BDR后,并交换dbd,dbd的第一个状态就是查看主从关系。Router-id高的是主。Dbd是隐式确认,dbd的报文有三个字段,第一个字段叫I,init第二个字段叫m,more,第三个叫ms,master/slave。开始各自的序列号,一旦选举了主从以后,则跟着主的序列号继续进行。
5、 exchange state 互相交互dbd,并完成交互。
6、 loading state lsr和lsu发过去发回来的过程,就是按需要请求,并确认
7、 full state 完全交互完了以后的状态。稳定状态
dbd中包含mtu的值,两边接口mtu不一致,邻居关系也不能建立。
Show ip ospf in 查看运行ospf的接口。输出包括:router-id 、cost值等
Cost=10的8次方 除以带宽,带宽的单位是bps,而eigrp的带宽单位是kbps。
S口的cost 是 10的8次方除以 (1.544*10的六次方)
Show ip ospf brief 查看ospf的摘要
在ospf中,如果环回口被通告进ospf,不管环回配置的多少位的掩码,收到的路由都是32位的,在环回口中添加一条命令:ip ospf network point-to-point,就可以还原原来的掩码。
不同的网络类型,hello时间和dead时间可能不一样。
Ip ospf hello-interval xx 修改hello时间 hello时间不一致,不能建立邻居关系
DR和BDR的选举
在MA网络中,才会发生选举,由于MA网络中,路由器太多,所以需要选举DR 和BDR.
DR和BDR监听224.0.0.6 DR other路由器监听224.0.0.5 。在p2p网络中,所有路由器发224.0.0.5.
DR的选举方式:
1、 比较大的路由器priority,默认都是1,包含在hello包中。
2、 如果priority一样,则比较router-id,router-id大的,为DR
Ip ospf priority xx 修改优先级 如果设置为0,则不参与选举。
如果一开始不是DR,即使把优先级变大,DR依然稳定,不会发生抢占。如果clear ip ospf process,则重新进行DR 和BDR的选举。如果新加入一台路由器,当DR down掉的时候,BDR直接升级为DR,重新选举BDR。虽然DR、BDR、DRother叫做指定路由器等,其实是接口概念,因为针对不同的接口所处的网络环境,路由器扮演的角色也不同。在ma网络中,使用了不同的子网,则不同的网段分别选举DR和BDR。