一总 发表于 2019-1-27 07:57:46

OSPF(Open Shortest Path First)开放式最短路径优先协议01

  包结构:
http://blog.运维网.com/attachment/201110/112347189.jpg
  OSPF基于IP,协议号89.优先级为6(QOS会讲到)
  组播地址224.0.0.5和224.0.0.6
  IP头部后面紧跟的是OSPF包的包头。
http://blog.运维网.com/attachment/201110/112440193.jpg
  版本号:IPV4中OSPF版本号为2,IPV6的版本号是3.
  类型:表示跟在OSPF包头后的数据包类型。
  长度:OSPF数据包的长度,包括OSPF包头。
  路由器ID:指首发路由器的ID。
  区域ID:始发数据包的路由器所在的区域,如果数据在虚链路上发送,那么区域为0.0.0.0因为虚链路是骨干区域的一部分。
  校验和:对整个数据包的标准IP校验和。
  认证类型:正在使用的认证类型。
  HELLO包(用来建立和维持邻居关系,HELLO包中的所有参数都应当和邻居保持一致):
http://blog.运维网.com/attachment/201110/112524944.jpg
  HELLO间隔:HELLO数据包传送之间的时间间隔,如果接收路由器没有一个相同的值,那么他们不能建立一种邻接关系。
  可选项:其中的参数用来确保邻居之间的兼容性。
  路由器优先级:用来做DR/BDR的选举,如果为0,则不能参与DR/BDR的选举。
  指定路由器:指网络上,指定路由器的IP地址。注:这可能是始发路由器自己认为的DR,而不是最终的DR,如果是0.0.0.0,可能是网络类型不需要DR或还没有选出。
  备份指定路由器:指网络上,备份制定路由器的IP地址。注意细节同上。
  邻居:如果从邻居的HELLO包中看到了自己的RID,则进入TWO-WAY状态。
  DBD(数据库描述报文):
  作用,描述始发路由器数据库中的一些或全部LSA信息,以便接收者可以对比,DBD交互过程中,可能需要交换多个DBD,DBD中包含一个主/从控制关系标志,用来管理这些DBD交互
  序列号双方随机产生,比较RID,谁的RID大谁就是主。
http://blog.运维网.com/attachment/201110/112607638.jpg
  MTU:不分段的情况下,始发路由器可以发送的最大MTU大小。
  可选项:和HELLO包一样的可选项。(后面讲解)
  I位:初始位,如果这个DBD是第一个DBD,此位置1
  M位:数据包不是最后一个DBD,置1代表后续还有更多的数据包
  MS位:主从位,置1代表为主,置0代表从。
  序列号:用来确保路由器能收到完整的DBD序列。序列号将由主路由器在最初设置数值,而后递增。
  LSA头部:包含一个完整的LSA头部信息。
  LSR(链路状态请求包):
http://blog.运维网.com/attachment/201110/112648389.jpg
  DBD报文同步过程中,路由器会查看发来的LSA哪些本地没有,或者相同的LSA比本地更新。
  路由器会将这些LSA记录在链路状态请求列表中,然后,路由器发送一个或多个链路状态请求,来请求自己记录在链路状态请求列表中的这些LSA。
  链路状态类型:用来指明LSA类型。
  链路状态ID:不同的LSA类型此字段代表不同的意思。
  通告路由器:始发LSA通告路由器的RID。
  LSU(用于LSA泛洪或相应链路状态请求报文):
http://blog.运维网.com/attachment/201110/112723346.jpg
  LSA只能传送到直连的邻居,由直连的邻居重新封装传给下一个设备。TTL=1
  LSA数量:标示此LSU包含多少个LSA的详细信息。
  LSA:LSA数据包格式中描述的全部LSA。
  LSAck:
http://blog.运维网.com/attachment/201110/112803433.jpg
  LSAck用来做LSA的可靠泛洪,路由器从邻居收到的每条LSA都需要经过LSAck的确认。LSAck包含需要确认的LSA的头部信息。多个LSA可以通过一个LSAck去确认。
  确认分为延时确认和直接确认
  延时确认:通过此方法确认,更多的LSA可以被单个确认包来确认,被延时确认的数据包延时时间必须要小于5S,以避免不必要的重传
  直接确认:直接确认总是以单播发送,发生在下面两种情况,1.从邻居收到了重复的LSA,意味着邻居没有收到我的LSA确认2.收到一条LSA老化时间达到了最大的生存时间,说明邻居没有此LSA的实例了
  可选项字段:
http://blog.运维网.com/attachment/201110/112910357.jpg
  DC:表示始发路由器具有支持按需电路的OSPF能力。
  NP:N位和P位都用于NSSA区域,因此可以使用在同一位置,N位,仅用于HELLO包,置1时表示支持NSSA的外部LSA,如果N位置1,那么E位必须为0. P位表示可以路由器可以将7类转为5类LSA。
  MC:具有转发组播IP数据包的能力,用于MOSPF。
  E位:具有接受外部LSA的能力的路由器。此位置1,意味着,如果是Stub区域的话,所有STUB区域的路由器发出的LSA,此位应该为0,HELLO包中可以表示为一个接口是否有转发5类LSA的能力。
  MT:多拓扑OSPF,没有实现。



页: [1]
查看完整版本: OSPF(Open Shortest Path First)开放式最短路径优先协议01