IPv6动态路由协议
动态路由协议有自己的路由算法,能够自动适应网络拓扑的变化,适用于具有一定数量三层设备的网络。缺点是配置对用户要求比较高,对系统的要求高于静态路由,并将占用一定的网络资源和系统资源。
路由表和FIB表
路由器转发数据包的关键是路由表和FIB表,每个路由器都至少保存着一张路由表和一张FIB(Forwarding Information Base)表。路由器通过路由表选择路由,通过FIB表指导报文进行转发。
路由表
每台路由器中都保存着一张核心路由表(全局IP路由表),同时各个路由协议也维护着自己的路由表。
全局路由表
路由器使用本地核心路由表用来保存决策优选路由,并负责把优选路由下发到FIB表,通过FIB表指导报文进行转发。这张路由表依据各种路由协议的优先级和度量值来选取路由表。
协议路由表
协议路由表中存放着该协议发现的路由信息。路由协议可以引入并发布其他协议生成的路由。例如,在路由器运行OSPF协议,需要使用OSPF协议通告直连路由、静态路由或IS-IS路由时,要将这些路由引入到OSPF协议的路由表中。
FIB表的匹配
在路由表选择出路由后,路由表会将激活路由下发到FIB表汇总。当报文到达路由器时,会通过查找FIB表进行转发。
FIB表中每条转发项都指明到达某网段或某主机的报文应通过路由器的哪物理接口或逻辑接口发送,然后就可到达该路径的下一个路由器,或者不再经过别的路由器而传送到直接相连的网络中的目的主机。
FIB表的匹配遵循最长匹配原则。查找FIB表时,报文的目的地址和FIB中各表项的掩码进行按位“掩码与”,得到的地址符合FIB表项中的网络地址则匹配。最终选择一个最长的匹配的FIB表项转发报文。
RIPng简介
RIPng是一种较为简单的内部网关协议,是RIP在IPv6网络中的应用。RIPng主要用于规模较小的网络中,比如校园网以及结构较简单的地区性网络。由于RIPng的实现较为简单,在配置和维护管理方面也远比OSPFv3和IS-IS for IPv6容易,因此在实际组网中仍广泛的应用。
RIPng的特性
随着IPv6网络的建设,同样需要动态路由协议为IPv6报文的转发提供准确有效的路由信息。因此,IETF在保留了RIP优点的基础上针对IPv6网络修改形成了RIPng(RIP next generation,下一代RIP协议)。RIPng主要用于在IPv6网络中提供路由功能,是IPv6网络中路由技术的一个重要组成协议。
RIPng与RIP的差异
为了实现在IPv6网络中应用,RIPng对原有的RIP协议进行了修改:
RIPng使用UDP的521端口(RIP使用520端口)发送和接收路由信息。
RIPng的目的地址使用128比特的前缀长度(掩码长度)。
RIPng使用128比特的IPv6地址作为下一跳地址。
RIPng使用链路本地地址FE80::/10作为源地址发送RIPng路由信息更新报文。
RIPng使用组播方式周期性地发送路由信息,并使用FF02::9作为链路本地范围内的路由器组播地址。
RIPng报文由头部(Header)和多个路由表项RTEs(Route Table Entry)组成。在同一个RIPng报文中,RTE的最大数目根据接口的MTU值来确定。
RIPng防止路由环路
RIPng是一种基于距离矢量算法的路由协议,由于它向邻居通告的是本地IPv6路由表,所以存在路由环路的可能性.
RIPng通过水平分割和毒性反转来防止路由环路:
水平分割:RIPng从某个接口学到的路由,不会从该接口再发回给邻居设备。这样不但减少了带宽消耗,还可以防止路由环路。
毒性反转:
RIPng从某个接口学到路由后,将该路由的开销设置为16(不可达),并从原接口发回邻居路由器。利用这种方式,可以消除对方路由表中的无用信息,还可以防止路由环路。
提升RIPng网络的性能
在实际应用中,可以通过配置RIPng的一些特殊功能,以提升RIPng网络的性能。
通过调整RIPng定时器来改变RIPng网络的收敛速度。
通过调整接口发送更新报文的数量和时间间隔来减少对设备资源的消耗和对网络带宽的占用。
通过对RIPng报文进行零域检查,可以满足安全性较高的网络需求。
RIPng配置
1.配置IPv6地址
<Huawei>system-view
[Huawei]sysname AR1
[AR1]ipv6
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]ipv6 enable
[AR1-GigabitEthernet0/0/0]ipv6 address 2020:1:12::1 64
[AR1-GigabitEthernet0/0/0]quit
[AR1]interface GigabitEthernet 0/0/1
[AR1-GigabitEthernet0/0/1]ipv6 enable
[AR1-GigabitEthernet0/0/1]ipv6 address 1020:1:10