IP快转

功能介绍

IP快转概述

在不支持硬件转发的产品上,由软件转发IPv4/IPv6报文,为了使软件转发性能达到最优,设备实现了软件IPv4/IPv6快转技术REF(Ruijie Express Forwarding,锐捷快速转发)。快转可以主动解析下一跳,还可以实现流量负载均衡。

快转主要维护两张表:转发表和邻接表。转发信息库用来存放路由信息;邻接表用来存放下一跳的链路层信息,相当于ARP表和IPv6邻居表。

工作原理

基本概念

转发表

转发表又被称为FIB(Forwarding Information Base,转发信息库),是设备决定目标交换的查找表,FIB的条目与IP路由表条目之间有着一一对应的关系。由于FIB包含了所有必须的路由信息,因此就不需要再维护路由高速缓存。当网络拓扑或路由发生变化时,IP路由表被更新,FIB的表项随之发生变化。在报文转发的过程中,IP快转根据转发表选择报文的传输路径。

邻接表

邻接表包含了被路由报文的输出接口信息,例如下一跳列表、下一个处理部件或链路层输出封装等信息。当报文与某个邻接节点匹配时,将直接对报文进行封装,而后调用该节点的发送函数即可实现转发。为了便于检索和更新,邻接表一般组织成哈希表的形式;为了支持路由负载均衡,邻接节点的下一条列表信息被组织为负载均衡表的形式;邻接节点中可以不包含下一跳信息,可以包含下一个处理部件的索引号(例如其它线卡,多业务卡)。

主动解析

快转支持主动解析下一跳。对于以太网接口上的下一跳,如果MAC地址未知,快转将主动解析下一跳。IPv4快转请求ARP模块解析下一跳。

IPv6快转请求ND模块解析下一跳。

报文转发路径

报文的路由转发是根据报文的IPv4/IPv6地址,所以如果指定了报文源IPv4/IPv6地址和目的IPv4/IPv6地址,则该报文的转发路径将是确定的。

快转负载均衡

快转负载均衡就是利用多个网络设备通道均衡分担流量。在快转模型中,当路由前缀关联到多个下一跳时则为多径路由,此时该路由将关联到一个负载均衡表,并根据路由权重实现负载均衡。当IP报文依最长前缀匹配到该均衡表时,快转根据报文的IP地址进行散列,选中其中的一条路径转发报文。

ECMP负载均衡

ECMP(Equal Cost Multiple Path,等价多路径)负载均衡就是根据均衡算法,使相同报文流的报文从一条路径通过,不同报文流的报文从多条等价路由通过,实现均衡分担流量。

ECMP可以根据报文的源IP地址、目的IP地址、L4层源端口和L4层目的端口号等报文特征信息,采用一种或几种组合模式算法,对报文流进行区分,将同一报文流分配到同一条路径中通过,将不同的报文流均衡分配到各个等价路径中通过。

例如,采用源IP地址的流量均衡模式,会根据报文的源IP地址将报文分配到各个路径上。不同源IP地址的报文,在各等价路径上均衡分配;相同源IP地址的报文,固定从同一个路径转发。

哈希流量均衡控制

哈希流量均衡允许用户在不同场景下,更加灵活地控制流量均衡。流量哈希均衡控制功能如下。

弹性哈希功能

负载均衡集群通常使用ECMP和多台ToR(Top of Rack,机柜顶部)设备互联,其要求ToR设备将同一个会话的所有报文均衡给同一个调度服务器。当一台服务器失效时,传统的ToR流量均衡机制会将所有会话流打乱进行重新均衡,可能导致同一个会话均衡到两个服务器。弹性哈希功能可以确保在一条链路失效的情况下,其他链路上流量不受影响,只将失效链路的流量二次均衡到其它活跃链路,其他链路上的流量不受影响,从而保证同一会话只会均衡到同一台服务器。

哈希算法模式设置功能

当流量模型不同时,通过设置适当的哈希算法模式,可以适配不同的流量变化规律,以达到最优的均衡效果。

哈希扰动功能

设备流量均衡采用哈希散列方式,对于同类型两台设备上的同一条流,流量均衡算法会计算出相同的路径,在部署ECMP的环境下,可能导致两台设备上的同一条流均衡到同一台目的设备上,这种情况称之为哈希极化问题。哈希扰动因子就是用来影响设备流量均衡算法的,在不同设备上配置不一样的扰动因子,使设备实现对同一条流计算出不同路径的目的。

同步哈希功能

为了保障网络安全,实际组网通常会在内网和外网之间架设防火墙集群进行流量清洗,其要求一个会话的双向流(下行和上行)都要传递给防火墙集群中的同一台设备处理。一个会话中上行流和下行流的源IP和目的IP是颠倒的,如果采用传统哈希算法,上行流和下行流会被定向到不同的防火墙上,而同步哈希功能可以确保双向流计算出的路径一致。

指定哈希因子获取方式功能

对于VXLAN和GRE等隧道报文,报文头部有内外两层,可以指定哈希因子从报文内层或者外层获取,来达到更好的均衡效果。比如当隧道报文的外层IP相同,内层IP不同时,为了达到更佳的均衡效果,可以指定内层IP作为哈希因子。

协议规范

RFC 1812:Requirements for IP Version 4 Routers

配置任务概览

以下所有配置任务均为可选配置,请根据实际情况选择配置。

配置快转负载均衡

配置ECMP固定模板流量均衡

配置非法地址检查

配置管理口的三层转发

配置快转负载均衡

功能简介

快转负载均衡就是利用多个网络设备通道均衡分担流量。快转支持报文的负载均衡处理,在快转模型中,当路由前缀关联到多个下一跳时,成为多径路由,此时该路由将关联到一个负载均衡表,并依路由权重实现负载均衡。当IP报文依最长前缀匹配到该均衡表时,快转根据报文的IP地址进行散列,选中其中的一条路径转发报文。

IP快转支持三种负载均衡模式,即三种选路策略:

根据IP报文的目的IP地址进行均衡,对报文的目标地址进行散列,权重大的路径被选中的机率大。缺省采用此策略。

根据IP报文的源IP地址和目的IP地址进行均衡,对报文的源IP地址和目的IP地址进行散列,权重大的路径被选中的机率大。

根据IP报文的源IP地址进行均衡,对报文源IP地址进行散列,权重大的路径被选中的机率大。

配置步骤

进入特权模式。

enable

进入全局配置模式。

configure terminal

配置IP快转负载均衡算法。

(IPv6网络)

ipv6 ref load-sharing { original | original-only }

缺省情况下,IPv6快转的负载均衡算法为基于目的IPv6地址负载均衡。

配置ECMP固定模板流量均衡

功能简介

ECMP可以根据报文的源IP地址、目的IP地址、L4层源端口和L4层目的端口号等报文特征信息,采用一种或几种组合模式算法,对报文流进行区分,将同一报文流分配到同一条路径中通过,将不同的报文流均衡分配到各个等价路径中通过。

配置限制与指导

基础模式流量均衡策略的配置命令不区分IPv4和IPv6。

在ip ref load-balance命令中配置如下参数选择固定模板的ECMP流量均衡模式。

dst-ip:根据报文目的IP地址均衡流量。

src-dst-ip:根据报文源IP地址和目的IP地址均衡流量。

src-ip:根据报文源IP地址均衡流量。

配置步骤

进入特权模式。

enable

进入全局配置模式。

configure terminal

配置ECMP均衡策略。

ip ref load-balance { dst-ip | src-dst-ip | src-ip }

缺省情况下,根据输入报文的目的IP地址进行流量均衡。

配置非法地址检查

功能简介

在网络中,检查IPv4报文的目的IP地址,过滤非法地址报文,快转记录非法地址。

快转开启报文非法地址检查功能后,设备会对IPv4报文的目的IP地址进行检查,以下几类地址将被认定为非法:

主机地址为0(包括0.0.0.0)。

环回地址(127.0.0.0~127.255.255.255)。

E类地址(240.0.0.0~255.255.255.254)。

目的IP地址符合以上规则的非法报文将被设备丢弃,非法地址记入日志。

配置限制与指导

软件快转可过滤E类地址和环回地址,同时可根据指定掩码长度检查主机地址为0的非法地址。

配置步骤

进入特权模式。

enable

进入全局配置模式。

configure terminal

配置非法地址检查。

ip ref check [ masklen mask-length ]

缺省情况下,IPv4快转不检查非法目的IP地址。

配置管理口的三层转发

功能简介

在IPv4环境下,可以单独开启或关闭管理口的三层转发功能,不影响其他三层接口的转发功能。

配置限制与指导

在三层转发网络中,通过ip ref mgmt-forward命令开启管理口的三层转发功能,通过no ip ref mgmt-forward命令关闭管理口的三层转发功能。

配置步骤

进入特权模式。

enable

进入全局配置模式。

configure terminal

配置管理口的三层转发功能。

[ no ] ip ref mgmt-forward

缺省情况下,管理口的三层转发功能处于开启状态。

监视与维护

可以通过show命令行查看功能配置后的运行情况以验证配置效果。

可以通过执行clear命令来清除各类信息。

注意

在设备运行过程中执行clear命令,可能因为重要信息丢失而导致业务中断。

IP快转监视与维护

作用

命令

查看记录的非法地址

show ip logging [ clear ]

查看IPv4快转的指定集合邻接、本地邻接、指定IP对应邻接、指定接口关联邻接及所有邻接节点相关信息

show ip ref adjacency [ ipv4-address | interface interface-type interface-number ]

查看IPv4快转主动解析的下一跳

show ip ref resolve-list

查看IPv4快转表中的路由信息,参数default表示查看缺省路由

show ip ref route [ vrf vrf-name ] [ default | ipv4-address mask | statistics ]

查看ECMP固定模板负载均衡配置信息

show ip ref load-balance

查看ECMP增强模板负载均衡配置信息

show ip ref-load-balance-profile [ profile-name ]

查看IPv6快转的指定集合邻接、本地邻接、指定IPv6地址对应邻接、指定接口关联邻接及所有邻接节点相关信息

show ipv6 ref adjacency [ ipv6-address | interface interface-type interface-number ]

查看IPv6快转主动解析的下一跳

show ipv6 ref resolve-list

查看IPv6快转表中的路由信息,参数default表示查看缺省路由

show ipv6 ref route [ vrf vrf-name ] [ default | statistics | ipv6-address/prefix-length ]