OSPF协议

发布时间 : 星期五 文章OSPF协议更新完毕开始阅读

链路状态请求 链路状态更新 链路状态确认

版本号 类型 数据库下载 数据库上载 扩散确认

包 长 度 路 由 器 ID 区 域 ID 检 验 和 身 份 验 证 身 份 验 证 AuType

图4 OSPF协议包的首部 数据库描述包是类型往为2的OSPF包,在形成邻接过程中的

路由器之间交换数据库描述包,且它们描述链路状态数据库。根据接口数和网络数,可能不只一个数据库描述包来传输整个链路状态数据库。在交换的过程中所涉及的路由器建立主从关系。主路由器发送包,而从路由器通过使用数据库描述(Database Description-DD)序列号认可接收到的包。接口MTU域指示通过该接口可发送的最大IP包长度。当通过虚链路发送包时,这个域设置为0。选项域包含3位,用于显示路由器的能力。I位是Init位,对数据库序列中的第一个包,设置为1。M位设置为1,表示在序列中还有更多的数据库描述包。MS位是主从位,在数据库描述包交换期间,1表示路由器是主路由器,而0表示路由器是从路由器。包的其余部分是一个或多个LSA,如图5所示。

Interface MTU Options DD sequence number An LSA Header 00000 I M MS 图5 数据库描述包格式

链路状态请求包是类型为3的OSPF包,它们的格式如图6所

示。当两个路由器完成交换数据库描述包时,路由器可检测链路状态数据库是否过时。当这种情况发生时,路由器可请求新一些的数据库描述包。

LS类型 链路状态ID 宣告路由器

图6 路由状态请求包格式

链路状态更新包是类型为4的OSPF包,它们用于实现LSA的

传播。链路状态更新包格式显示在图7中。每个链路状态更新包包含一个或多个LSA,而每个包通过使用链路状态确认包来认可。

LSA的个数 LSA

图7 链路状态更新包的格式

链路状态确认包是类型位5的OSPF包,其格式中除了OSPF包首部外,包括LAS的首部。这些包发送到三个地址之一:多点传送地址AllDRouters,多点传送地址AllSPFRouters,或单点

传送地址。

4.2 OSPF包承载的内容 ? 路由器链路状态宣告

路由器为每个有活动OSPF接口的区域生成一个路由器LSA。包含在路由器LAS中的信息是路由器接口在该区域中的状态,而LSA在整个区域传播。进入一个区域的所有路由器接口必须在一个路由器LSA中说明。链路状态ID域是路由器的OSPF ID。VEB位用于确定路由器可能有的链路类型。V位显示路由器虚拟链路的端点。

链路ID标识路由器的接口所连接的对象。链路ID一般等于邻居路由器的链路状态ID。链路数据域的内容取决于链路类型。如果路由器与存根区域连接,那么,这个域将包含这个网络的IP地址掩码。对其他类型的链路,这个域包含分配给该接口的IP地址。服务类型域通常设置为0,最后的值是度量值,或链路的费用。

? 网络链路状态宣告

网络LSA是类型为2的LAS,而这样的LSA是由支持两个或多个路由器的每个广播和NBMA网络所生成的。网络LSA是由网络的DR所创建的。这个LSA描述了连接到网络的所有的路由器,包括DR自己。链路状态ID是DR到这个区域的接口的IP地址。 ? 汇总链路状态宣告

类型3和类型4的LSA是汇总链路状态宣告。汇总LSA是有区域边界路由器生成的,而且它们说明区域的目标。3型汇总有IP地址目标,链路状态ID是IP的网络号。4型汇总LSA以一个自治系统边界路由器为其目标,链路状态ID是OSPF路由器ID。链路状态ID是两种类型LSA包之间的唯一区别。 ? 外部自治系统链路状态宣告

类型5是AS-External LSA,它被用于说明自治系统外的网络。AS-External LSA用于说明到外部网络的路由。链路状态ID域包含IP网络号或0.0.0.0,如果它描述一个默认路由,此时的作为掩码也是0.0.0.0。 5.OSPF协议的运行 5.1 Hello协议的运行

Hello协议的作用是发现和维护邻居关系、选举DR和BDR。在广播型网络上每一个路由器周期性地广播Hello包(目的地址是AllSPFRouter),使得它能够被邻居发现。每一个路由器的每个接口都有一个相关的接口数据结构,当Hello包里的特定参数(如Area ID, Authentication, Network Mask, HelloInterval, RouterDeadInterval 和Options values)相匹配时,Hello包才能被接收。Hello包中包含着本路由器所希望选举的DR和该DR的优先级、BDR和BDR的优先级、还有本路由器通过交换Hello协议包所“看”到的其它路由器。从Hello包里得到的邻居被放

联系合同范文客服:xxxxx#qq.com(#替换为@)