您好,欢迎访问三七文档
※OSPFv3简介※OSPFv3与OSPFv2的区别※OSPFv3消息※OSPFv3LSA格式●报头格式●LSA差异●路由器LSA●网络LSA●区域间前缀LSA●区域间路由器LSA●AS外部LSA●链路LSA●区域内前缀LSA●可选项字段※配置说明※基本配置※末梢区域※一条链路上的多个实例※运行在NBMA网络上的OSPFv3为了支持IPv6,对OSPF进行了扩展,在扩展的同时对协议进行了一些优化,OSPFv3在RFC2740中有详细描述。OSPFv3使用了与OSPFv2相同的基本实现机制---SPF算法、泛洪扩散、DR选举、区域等,一些定时器和度量值等变量和常量也是相同的。OSPFv3不支持向下兼容。每个链路上的协议处理IPv6接口可以配置多个不同子网的IP地址并通信。OSPFv3将OSPFv2中的“子网”概念改变为“链路”概念,允许同一链路上不同子网的邻居交换数据包。取消了寻址概念OSPFv3的路由器LSA和网络LSA不再携带IP地址,但是32位的RID、AID以及LSAID都进行了保留,OSPFv3的ID仍使用点分十进制表示,允许在现有的OSPFv2网络上简单地叠加一个OSPFv3网络。邻居总是通过RID标识在广播网络和NBMA网络的链路上,OSPFv2邻居是通过接口地址标识的,而其他类型链路的邻居是通过RID标识的。OSPFv3将对邻居的标识统一一致,均通过RID来标识邻居。增加了链路本地泛洪扩散范围OSPFv3保留了OSPFv2中AS和Area泛洪扩散的范围,但增加了一个链路本地泛洪扩散的范围。新曾的“链路LSA(LinkLSA)”用来携带仅仅与单个链路上的邻居相关联的信息,泛洪扩散范围是链路本地。链路本地地址的使用OSPFv3使用了路由器的链路本地IPv6地址作为源地址和下一跳地址,这些地址总是以FE80::/10开头的。取消了OSPF特有的认证IPv6协议使用认证扩展包头,是一个标准的认证过程,这是因为OSPFv3数据包自己的认证直接通过IPv6认证就可以了。对每个链路上多个实例的支持这种支持应用在多台OSPF路由器连接到单个广播链路上,但它们又不属于单个邻居关系的情况,一个例子就是共享网络接入点(NetworkAccessPoint,NAP)。例如,假定有4台路由器连接到同一个以太链路,R1和R2属于一个OSPF域,R3和R4属于另外一个不同的OSPF域。在OSPFv2中,可以利用认证来进行邻居关系的隔离,但这不是一个理想的办法。OSPFv3允许每条链路上具有多个不同的实例,这是通过在OSPF包头里增加一个“实例标识(InstanceID)”区别不同的实例来实现的,如果收到了与自己不同实例标识的数据包,将进行丢弃。更灵活地处理未知LSA类型在OSPFv2中,总是丢弃未知LSA类型,而OSPFv3可以把它们当做链路本地泛洪扩散范围,或者像它们被识别一样保存和泛洪扩散,但是它们自己的SPF算法中将忽略未知LSA。结果是,在OSPFv3中处理网络变化和继承新特性比在OSPFv2中更容易。OSPFv3同样使用协议号89(使用设置为89的下一报头值)。与OSPFv2一样,OSPFv3尽可能地使用多播,IPv6的AllSPFRouters多播地址是FF02::5,AllDRouter多播地址是FF02::6,它们的范围都是链路本地。OSPFv3同样使用了相同的5种消息类型:Hello、DD、LSR、LSA和LSAck,这和OSPFv2中的一样,包括它们的编号也相同。OSPFv3基本首部OSPFv3基本首部去掉了认证字段,它使用IPv6数据包本身的扩展报头来进行认证。实例ID用于支持在同一链路上运行多个OSPF实例。OSPFv3Hello数据包格式可选字段扩大到了24位,无效间隔时间减小到16位(65535秒)。OSPFv3DD数据包OSPFv3LSR、LSU和LSAck格式与OSPFv2消息格式相同。OSPFv3LSA报头格式与OSPFv2相比,去掉了可选字段,链路状态类型字段增加到16位。与OSPFv2相比,链路状态类型字段从8位增加到了16位,原因是增加了3个前置位。U位:指出了一台路由器如果不能识别LSA的功能代码(LSAFunctionCode)时,应该如何处理该LSA:0:未知的LSA将被作为链路本地泛洪扩散的范围处理。1:未知的LSA将与能够被识别的LSA一样被保存和扩散。S1和S2位:指出了LSA的泛洪扩散范围:LSA功能代码LSA功能代码是链路状态类型字段的最后13位,和OSPFv2相一致。它们的U位缺省都是0,除了两种类型的LSA以外,其他所有LSA的S位都标识位区域范围。两个例外是,AS外部LSA具有AS泛洪扩散范围,而链路LSA具有链路本地泛洪扩散范围。大多数OSPFv3的LSA和OSPFv2相应的LSA具有相同的功能,详见下页对照表。OSPFv3与OSPFv2的LSA对照表OSPFv3与OSPFv2的“路由器LSA”与“网络LSA”功能上有很大区别。在协议的扩展性方面,这是一个重要的改进。OSPFv2版本中,两个LSA把路由器首先看做是SPF树上的一个节点,因此当这些LSA扩散时,就假定了网络拓扑已经发生变化,从而区域内的所有节点在收到这些LSA后都需要重新运行SPF计算。由于OSPFv2使用这些LSA通告它们所连接的子网,因此,如果子网发生变化,相应的LSA也必须进行扩散,以便通告这种变化。即使一些并不影响SPF拓扑的地址变化,也会触发接收到这些LSA的路由器进行SPF计算。在那些具有很多定期变化的末梢链路的边界和接入路由器上,特别容易出现问题。OSPFv3的“路由器LSA”与“网络LSA”并不通告前缀,前缀通告功能被放入新的区域内前缀LSA中,这样“路由器LSA”与“网络LSA”对于SPF来说只代表路由器的节点信息,并且只有当与SPF算法相关的信息发生变化时,它们才会进行扩散。如果前缀发生变化,或者末梢链路的状态发生变化,这些信息将在区域内前缀LSA中进行扩散,而区域内前缀LSA不会触发SPF的运行。另外,OSPFv2把仅与直连邻居相关的信息也放在了“路由器LSA”与“网络LSA”中,这些不必要的信息伴随着这些LSA在整个区域中扩散。OSPFv3则是把邻居的特有信息放在“链路LSA”中,扩散范围仅是链路本地,这个改动对性能有微小的提升。区域间前缀、区域间路由器和类型7LSA的名字虽然变化了,但它们分别与OSPFv2中对应的网络汇总、ASBR汇总和NSSALSA具有相同的功能。AS外部和组成员LSA的名字和功能在两个OSPF版本中都是一样的。路由器LSA的格式仅描述施法路由器和与连接到邻居的链路,用于SPF计算。·可选项字段与OSPFv2的作用相同,长度增加到了24位。·类型(Type)指接口的类型,可以是以下类型·度量(Metric)指接口的出站代价(outboundcost)。·接口ID一个32位的值,用来把该接口与施法路由器上的其他接口区分开。·邻居接口ID(NeighborInterfaceID)是在Hello数据包中链路上邻居通告的接口ID,或者是类型2的链路上DR的接口ID。·邻居路由器ID(NeighborRouterID)指邻居的RID,或者是类型2的链路上DR的RID。网络LSA的格式与OSPFv2的“网络LSA”功能相同,区别是OSPFv3取消了在IPv6协议中没有意义的网络掩码字段。区域间前缀LSA与OSPFv2的“3类汇总LSA”功能相同,由ABR始发这种LSA到另一个区域。在OSPFv3中,只是名字变得更具有描述性。ABR路由器必须为每一个在区域内被通告的IPv6前缀发起一个单独的区域间前缀LSA。ABR也能够始发一个区域间前缀LSA向一个末梢区域,通过一条缺省路由。区域间前缀LSA的格式区域间路由器LSA与OSPFv2的“4类汇总LSA”功能相同,ABR向一个区域内始发一条区域间路由器LSA,用来通告一个在该区域外的ASBR路由器。对于所通告的每一个ASBR,ABR都需要始发单独的区域间路由器LSA。区域间路由器LSA的格式·可选项表示ASBR的可选性能。·度量表示ASBR的代价·目的路由器ID(DestinationRouterID)指ASBR的RID。AS外部LSA与OSPFv2中一样,用于通告处于OSPF路由选择域外部的前缀。对于每一个需要通告的外部前缀,都需要一条这样的LSA。AS外部LSA的格式·E标记与OSPFv2相同,0表示E1路由,1表示E2路由。·F标记当置位时,表示LSA中包含一个转发地址。·T标记当置位时,表示LSA中包含一个外部路由标记。·度量表示路由的代价,无论它是类型1还是类型2,都依赖于E标记的值。·前缀长度、前缀可选项和地址前缀完整地描述了嵌套的前缀。·转发地址如果包含这一项,它就是一个完整的128位IPv6地址,用来表示当前前缀的下一跳地址。只有F标记置位时才会包含该项。·外部路由标记(ExternalRouteTag)如果包含这一项,它承担的作用与OSPFv2中AS外部LSA的外部路由标记字段的作用是相同的,只有T标记置位时才会包含该项。·引用链路状态(ReferencedLinkStateID)和引用链路状态类型(ReferencedLinkStateType)如果包含这两项,将允许该前缀的附加信息包含在另一个LSA中。如果使用了这两个字段,它们将描述携带附加信息的LSA的链路状态ID和类型。所引用的LSA的通告路由器字段也必须与该AS外部LSA中通告路由器字段的值相匹配。如果带有外部路由标记,这些附加信息就和OSPFv3本身无关,它们可以在边界路由器之间穿越整个OSPF域。如果没有该功能,则两个字段全部置0。链路LSA格式链路LSA链路LSA只有用于两个直接相连的邻居之间的信息通信才有意义。链路LSA具有以下3个功能:(1)向与这条链路相连的其他所有路由器提供始发路由器的链路本地地址。(2)提供了与这条链路有关的IPv6前缀列表。(3)提供了这条链路始发的网络LSA有关的一组可选位的集合。·路由器优先级(RouterPriority)标识了分配给始发路由器接口的路由器优先级。·可选项表示始发路由器应该在为该链路发起的网络LSA中设置的可选项位,这同样是一个24位的可选项字段,由OSPFv3Hello、DD数据包以及许多LSA携带。·链路本地前缀地址是始发路由器与该链路相连的接口的128位链路本地前缀。·前缀数目是指在LSA中包含的IPv6前缀的数量。·前缀长度、前缀可选项和地址前缀用来描述一台或多台始发路由器上与链路相连的IPv6地址。该字段集合不仅用于链路LSA,还用于区域内前缀、区域间前缀和AS外部LSA。所通告的前缀长度可以是0~128之间的任意值。当前缀不是32位的偶倍数时,填0补充。前缀长度字段指定了未填充的前缀的长度。·传播位(Propagate,P)该位设置在NSSA区域边界重新通告的NSSA区域前缀上。·多播位(MC)如果置位,则表示应该在多播路由选择计算中包含该前缀。·本地地址位(LocalAddress,LA)如果置位,表示该前缀是一个通告路由器的接口地址。·无单播位(NoUnicast,NU)如果置位,表示该前缀应该从单播路由选择计算中排除。区域内前缀LSA格式区域内前缀LSA当一条链路或它的前缀发生变化时,相连的路由器会在整个区域内扩散一个区域内前缀LSA。这个LSA不会触发SPF计算,收到该LSA的路由器只是简单地把这个更新的前缀信息与始发路由器关联起来。在OSPFv3中,路由器与网络LSA只用来提供拓扑的信息服务,这使得在需要处理大量频繁变化前缀的网络上具有更好的扩展性。·前缀数目表示该LSA中包含的前缀的数量。·引用链路状态(ReferencedLinkStateID)、引用链路状态类型(ReferencedLinkStateType)和引用通告路由器(ReferencedAdvertisingRouter)用来标识与所包含的前缀相关联的路由器或网络LSA。如果一个前缀与路由器LSA相
本文标题:OSPFv3私房货
链接地址:https://www.777doc.com/doc-4480074 .html