目录
1.OSPF的分组类型
1.Hello包:用于发现邻居从而建立邻接关系,维护邻接关系。(使用224.0.0.5组播地址来实现,它是通过确保邻居之间的双向通信来建立和维护邻接关系的)
2.DBD包:用于描述LSDB中的LSA。
3.LSR包:用于请求缺少的LSA信息。
4.LSU包:用于发送完成的LSA。
5.LSAck:用于确认LSU,以确保可靠的传输和信息交换。
OSPF分组报头
版本号:用于IPV4的最新版本为第2版本,所以这里为2,而IPV6的为OSPF的第3版本。
消息类型:用于区分5种OSPF分组的,这里是类型1,也就是hello分组。
分组长度:OSPF分组的长度,单位为字节。
路由器ID:标识发送分组的源路由器。
区域ID:标识分组源于哪个区域。
校验和:用于分组报头错误检测,确保OSPF分组在传输过程中没有受损。
身份验证类型:OSPF身份验证选项,指出不进行身份验证或使用明文密码身份验证、还是使用MD5进行身份验证。
身份验证数据:这个与身份验证类型结合使用的,若身份验证没有启用,则这里没有数据。
2.Hello分组
Hello分组的字段:
网络掩码:通告的是源路由器的接口子网掩码。
hello间隔与失效间隔:hello间隔时间为路由器定期发送Hello的时间间隔(单位为秒,在多路访问网络上默认为10秒),失效间隔指的是路由器有多长时间没有收到邻居的分组就会认为它已经失效了,单位为秒,默认为Hello间隔的4倍。
活动邻居:包含已经建立双向通信关系的邻接路由器。路由器在收到邻居发送给自己的Hello分组中看到有自己后,才正式表明双向通信关系已经建立。
DR与BDR的IP地址:在多路访问网络中才会有这个数值。
路由器的优先级:用8位数字来表示,用于选举DR与BDR。
3.DBD分组
DBD包的标志字段有8位,前5位现在是没有用到的,只使用了后面的3位。
第6位:(I位,初始位)用于指出是否为首个DBD包,是则置位为1,不是则置位为0;
第7位:(M位,后继位):用于指出是否为最后一个DBD包,1则不是,0则是;
第8位:(MS位,主从位):用于指定路由器为主路由器或从路由器,1为主路由器,0表示从路由器。
注意:DBD分组的类型有两种
1.不包含LSA头部的DBD分组,它是用于选举主/从路由器的。
2.包含LSA头部的DBD分组,它是用于比较LSBD目录的。
4.LSR分组
LSR分组字段:
在收到DBD(相当于书名的目录)后,路由器就会检查本身的LSDB,若没有相应LSA条目(即没有相应书名的书本内容),就会发送请求没有的LSA条目(缺少的书本内容)给邻居路由器进行请求获取。
5.LSU分组
LSU分组它是用于发送完整的LSA信息的(拥有书本的完整内容),LSR发送的LSA信息是不完整的(相当于书的目录,没有内容的)。
6.LSAck分组
LSAck分组就是用于确认LSU已经收到了,以确保路由信息的可靠传输与交换。
注意:
1.LSA(Link State Advertise)链路状态通告是OSPF的路由更新信息;
2.OSPF协议号为89,它是位于IP报头里面的的;
3.OSPF协议它不是传输层协议,它的应用层数据是直接跨越传输层使用网络层封装的;
4.OSPF的五种分组报头字段是一样。