- IPv6 单播路由协议:
IGP(Internal Gateway Protocol)
EGP(External Gateway Protocol)
- IPv6 IGP主要有:
- RIPng
是在RIP基础上开发的用于IPv6网络的路由协议,在工作机制上与RIP基本相同,是IPv6中基于距离向量的内部网关路由协议。但为了支持IPv6地址格式,RIPng对RIP做了一些改动。RIPng一般作为中等或者偏小规模的网络自治系统中的内部网关路由协议
- RIPng技术实现:
通过UDP报文进行路由信息交换,使用端口号521发送和接收数据报。特别的查询信息可以不从源节点端口521发出,但是必须发送到目标节点的端口521
每个路由器都有接口连接一个或者多个网络(直连网络)。RIP协议的实现依赖这些网络的相关信息。包括目的地址前缀、前缀长度以及度量等。RIPng使用跳数(hop count)作为度量(metric)。RIPng网络的度量是1~15之间的整数,大于或等于16的跳数定义为无穷大,即目的网络或主机不可达。
RIP的启动和运行过程:
- RIPng与RIP的不同点报文格式不同。RIPng有两类RTE:目的前缀RTE和下一跳RTE。目的前缀RTE指明可达目的网络,下一跳RTE为RIPng提供了直接指定下一跳IPv6地址的能力。下一跳RTE指明的IPv6地址适用于跟随其后的目的前缀RTE,直到RIPng报文结束或者出现另一个下一跳RTE为止
报文长度不同
发送方式不同
端口号不同
安全机制不同
OSPFv3
OSPFv3是在OSPFv2基础上开发的用于IPv6网络的路由协议。
作为链路状态路由选择算法,其实现机制没有本质改变
OSPFv3运行在IPv6网络中,它同OSPFv2并不兼容,但处理流程基本保持一致,eg:泛洪过程,DR选举。对区域的支持以及SPF计算流程,OSPFv3只是在v2基础上进行了一些改进,以支持报文格式的变化并处理IPv6中128bit的地址
OSPFv3和OSPFv2的不同点:
OSPFv3在OSPFv2基础上做出了一些必要的改造,这些改进包括以下几方面
链路概念取代网络概念
OSPFv2是基于网络运行的,两个路由器要形成邻居关系必须在同一网段:OSPFv3的实现是基于链路的,同一链路不同子网上的节点也可以直接通话
报文去除地址语义
对于OSPFv3来说,除了LS Update报文载荷中存在地址以外,协议报文中不再提供地址信息;Router-LSA和Network-LSA中也不再包含网络地址;OSPF Router ID,区域ID和Link State ID仍然保留IPv4中32bit的长度,因此不能使用IPv6地址来代表这些信息
增加泛洪范围
LSA的泛洪范围已经被明确地定义在LSA的LS Type字段,目前有以下3种LSA泛洪范围:本链路范围:用于Link LSA;区域范围:用于Router LSA、Network LSA、Inter Area Prefix LSA、 Inter Area Router LSA和Intra Area Prefix LSA;自治域范围:用于AS-external-LSA
链路支持多实例复用
link-local地址的使用
IS-ISv6
IS-ISv6可以同时承载IPv4和IPv6的路由信息,完全可以独立用于IPv4网络和IPv6网络。
IS-ISv6新增加了支持IPv6路由信息的两个TLV和一个新的NLP ID(Network Layer Protocol Identifier)。TLV是在LSP(Link State PDUs)中的一个可变长结构
多拓扑IS-ISv6技术
使用 IS-ISv6实现Ipv6扩展的前提是所有的IPv6和IPv4拓扑信息必须一致。如果网络中一些路由器或者链路不支持IPv6,从而导致IPv6和IPv4拓扑的不同,而支持双协议栈的路由器感知不到这种情况,IPv6数据流仍会被转发到这些不支持IPv6的路由器或链路,转发的数据流就会被丢弃处理。IS-IS MT用来解决以上提到的问题,在IPv6独立的拓扑上运行SPF算法
IPv6 EGP一般指BGP4+
原有的消息机制和路由机制并没有改变,BGP4+和BGP4完全兼容,可以独立地在IPv4网络上或者IPv6网络上运行
BGP4+使用了一个BGP的特殊属性MP-BGP来承载IPv6的路由信息,这种路由信息被称为IPv6 NLRI。BGP4+中引入了两个NLRI属性:
MP_REACH_NLRI:multi-Protocol Reachable NLRI,多协议可达NLRI;用于发布可达路由下一跳信息
MP_UNREACH_NLRI:multi-Protocol Unreachable NLRI,多协议不可达NLRI;用于撤销不可达路由
路由协议选择
外部网关协议(EGP)只有一种选择,即BGP4+。内部网关协议(IGP)的选择需要根据各种IGP特点以及网络特点进行综合考虑。小规模网络可以选择RIPng作为其IGP,而大规模网络和骨干网通常选择IS-ISv6或OSPFv3作为其IGP
双协议栈网络IGP的选择有以下几种。
OSPFv2+OSPFv3,原有网络使用OSPFv2时,该选择较为常见。IPv4和IPv6可以遵循不同的拓扑,OSPFv3进程失败不会影响OSPFv2,反之亦然。但这种方式存在两个进程占用路由器CPU资源较多的缺陷
IS-ISv4/IS-ISv6,原有的网络使用IS-ISv4时,该选择较常见。IS-ISv6在路由器中为一个进程占用路由器CPU资源较少,但进程的崩溃将会造成IPv4/IPv6网络同时崩溃,且如果采用单拓扑IS-ISv6,要求IPv4/IPv6路由拓扑必须相同
OSPFv2+IS-ISv6,原有网络使用的路由器不能很好的支持OSPFv3时,作为过渡期,有时会用这种选择,但IPv6 only IS-IS并不十分稳定,互操作性也较差
IS-ISv4+OSPFv3,这种选择很少使用,基本没有意义
多播路由协议:
包括:MLDv1、MLDv1 Snooping、PIM-SM、PIM-DM
多播管理协议:Multicast Listener Discovery for IPv6(简称MLD)为IPv6多播监听发现协议。MLD协议源自IGMP协议,协议行为完全相同
MLD Snooping与IPv4的IGMP Snooping基本相同,唯一区别在于协议报文地址使用IPv6地址
多播路由协议:
IPv6 PIM洗衣的特别之处在于:IPv6 PIM发送链路本地之地范围和全球范围的协议报文时,报文的源IPv6地址分别使用发送接口的链路本地地址和全球单播地址
IPv6多播不支持MSDP协议,对于域间IPv6多播路由器信息的传递,可以使用IPv6的MBGP协议,其与IPv4的MBGP协议基本相同