扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
IPv6是对IPv4的革新,尽管大多数IPv6的路由协议都需要重新设计或者开发,但IPv6路由协议相对IPv4只有很小的变化。目前各种常用的单播路由协议(IGP 、EGP )和组播协议都已经支持IPv6.
1 IPv6单播路由协议
IPv6单播路由协议实现和IPv4中类似,有些是在原有协议上做了简单扩展(如,ISISv6、BGP4+),有些则完全是新的版本(如,RIPng 、OSPFv3)。
1.1 RIPng
下一代RIP 协议(简称RIPng )是对原来的IPv4网络中RIP-2 协议的扩展。大多数RIP 的概念都可以用于RIPng.
为了在IPv6网络中应用,RIPng 对原有的RIP 协议进行了修改:
UDP 端口号:使用UDP 的521 端口发送和接收路由信息
组播地址:使用FF02::9 作为链路本地范围内的RIPng 路由器组播地址
路由前缀:使用128 比特的IPv6地址作为路由前缀
下一跳地址:使用128 比特的IPv6地址
1.2 OSPFv3
OSPFv3是OSPF版本3 的简称,主要提供对IPv6的支持,遵循的标准为 RFC2740(OSPF for IPv6 )。与OSPFv2相比,OSPFv3除了提供对IPv6的支持外,还充分考虑了协议的网络无关性以及可扩展性,进一步理顺了拓扑与路由的关系,使得OSPF的协议逻辑更加简单清晰,大大提高了OSPF的可扩展性。
OSPFv3和OSPFv2的不同主要有:
修改了LSA 的种类和格式,使其支持发布IPv6路由信息
修改部分协议流程,使其独立于网络协议,大大提高了可扩展性
主要的修改包括用Router-ID 来标识邻居,使用链路本地(Link-local)地址来发现邻居等,使得拓扑本身独立于网络协议,与便于未来扩展。
进一步理顺了拓扑与路由的关系
OSPFv3在LSA 中将拓扑与路由信息相分离,一、二类LSA 中不再携带路由信息,而只是单纯的描述拓扑信息,另外用新增的八、九类LSA 结合原有的三、五、七类LSA 来发布路由前缀信息。
提高了协议适应性
通过引入LSA 扩散范围的概念,进一步明确了对未知LSA 的处理,使得协议可以在不识别LSA 的情况下根据需要做出恰当处理,大大提高了协议对未来扩展的适应性。
1.3 IS-ISv6
IS-IS 是由国际标准化组织ISO 为其无连接网络协议CLNP发布的动态路由协议。同BGP 一样,IS-IS 可以同时承载IPv4和IPv6的路由信息。
为了使IS-IS 支持IPv4,IETF在RFC1195 中对IS-IS 协议进行了扩展,命名为集成化IS-IS (Integrated IS-IS)或双IS-IS (Dual IS-IS)。这个新的IS-IS协议可同时应用在TCP/IP和OSI 环境中。在此基础上,为了有效的支持IPv6,IETF在draft-ietf-isis-ipv6-05.txt 中对IS-IS 进一步进行了扩展,主要是新添加了支持IPv6路由信息的两个TLV (Type-Length-Values)和一个新的NLP ID(NetworkLayer Protocol Identifier )。
TLV 是在LSP (Link State PDUs )中的一个可变长结构,新增的两个TLV分别是:
IPv6 Reachability (TLV type 236):
类型值为236 (0xEC),通过定义路由信息前缀、度量值等信息来说明网络的可达性。
IPv6 Interface Address(TLV type 232):
类型值为232 (0xE8),它相当于IPv4中的“IP Interface Address”TLV ,只不过把原来的32比特的IPv4地址改为128 比特的IPv6地址。
NLP ID是标识IS-IS 支持何种网络层协议的一个8 比特字段,IPv6对应的NLPID值为142 (0x8E)。如果IS-IS 路由器支持IPv6,那么它必须在Hello 报文中携带该值向邻居通告它支持IPv6.
1.4 BGP4+
传统的BGP-4 只能管理IPv4的路由信息,对于使用其它网络层协议(如IPv6等)的应用,在跨自治系统传播时就受到一定限制。
为了提供对多种网络层协议的支持,IETF对BGP-4 进行了扩展,形成BGP4+ ,目前的BGP4+ 标准是RFC2858 (Multiprotocol Extensions for BGP-4,BGP-4多协议扩展)。
为了实现对IPv6协议的支持,BGP-4+需要将IPv6网络层协议的信息反映到NLRI(Network Layer Reachable Information )及Next_Hop属性中。
BGP4+ 中引入的两个NLRI属性分别是:
MP_REACH_NLRI :Multiprotocol Reachable NLRI,多协议可达NLRI. 用于发布可达路由及下一跳信息。
MP_UNREACH_NLRI :Multiprotocol Unreachable NLRI,多协议不可达NLRI.用于撤销不可达路由。
BGP4+ 中的Next_Hop属性用IPv6地址来表示,可以是IPv6全球单播地址或者下一跳的链路本地地址。
BGP4+ 利用BGP 的多协议扩展属性来达到在IPv6网络中应用的目的,BGP 协议原有的消息机制和路由机制并没有改变。
2 IPv6组播路由协议
IPv6提供了丰富的组播协议支持,包括MLDv1 、MLDv1 Snooping、PIM-SM、PIM-DM、PIM-SSM.
2.1 MLDv1
Multicast Listener Discovery for IPv6 (简称MLD )为IPv6组播监听发现协议。MLD 是一个非对称的协议,IPv6组播成员(主机或路由器)和IPv6组播路由器的协议行为是不同的。它的目的是使IPv6路由器采用MLD 来发现与其直连的IPv6组播监听者的出现,并进行组成员关系的收集和维护,将收集的信息提供给IPv6路由器,使组播包传送到存在IPv6监听者的所有链路上。
MLDv1 与IPv4的IGMPv2基本相同。区别有两点:一、MLDv1 的协议报文地址使用IPv6地址;二、离开报文的名称不同。MLDv1 的离开报文是Multicast ListenerDone,IGMP的离开报文是IGMP Leave.
2.2 MLDv1 Snooping
MLDv1 Snooping与IPv4的IGMPv2 Snooping 基本相同,唯一的区别在于协议报文地址使用IPv6地址。
2.3 PIM-SM
PIM-SM称为基于稀疏模式的协议无关组播路由协议,它运用潜在的单播路由为组播树的建立提供反向路径信息,并不依赖与特定的单播路由协议。
IPv6的PIM-SM与IPv4的基本相同,唯一的区别在于协议报文地址及组播数据报文地址均使用IPv6地址。
2.4 PIM-DM
PIM-DM为密集模式的协议无关组播模式。
IPv6的PIM-DM与IPv4的基本相同,唯一的区别在于协议报文地址及组播数据报文地址均使用IPv6地址。
2.5 PIM-SSM
PIM-SSM 采用PIM-SM中的一部分技术用来实现SSM 模型。由于接收者已经通过其他渠道知道了组播源S 的具体位置,因此SSM 模型中无需RP节点,无需构建RPT 树,无需源注册过程,同时也无需MSDP来发现其他PIM 域内的组播源。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。