国家 / 地区

06-三层技术-IP路由配置指导

01-IP路由基础配置

本章节下载  (212.9 KB)

docurl=/cn/Service/Document_Software/Document_Center/Routers/Catalog/SR_Router/SR6600/Configure/Operation_Manual/H3C_SR6600_CG-R2603(V1.15)/06/201212/766602_30005_0.htm

01-IP路由基础配置

  录

1 IP路由基础配置... 1-1

1.1 IP路由概述.. 1-1

1.1.1 路由.. 1-1

1.1.2 路由表和FIB表.. 1-1

1.2 路由协议概述.. 1-3

1.2.1 静态路由与动态路由.. 1-3

1.2.2 动态路由协议分类.. 1-3

1.2.3 路由协议及路由优先级.. 1-4

1.2.4 负载分担与路由备份.. 1-5

1.2.5 路由迭代.. 1-5

1.2.6 路由信息共享.. 1-6

1.3 配置基于带宽的非平衡负载分担.. 1-6

1.4 配置全局负载分担方式.. 1-7

1.5 配置全局路由器ID号.. 1-7

1.6 路由表显示和维护.. 1-8

 


1 IP路由基础配置

除配置举例外,本文组网图中涉及的接口类型是为了方便描述而进行的示意,并不代表实际设备具有该类型的接口。

 

1.1  IP路由概述

1.1.1  路由

在因特网中进行路由选择和报文转发要使用路由器,路由器根据所收到的报文的目的地址选择一条合适的路径(通过某一网络),并将报文传送到下一个路由器。路径中最后的路由器负责将报文送交目的主机。

路由指的就是上面的路径信息,用来指导报文转发。

1.1.2  路由表和FIB表

路由器决策路由的关键是路由表,转发报文的关键是FIB(Forwarding Information Base)表。每个路由器中都至少保存着一张路由表和一张FIB表。

路由表中保存了各种路由协议发现的路由,根据来源不同,通常分为以下三类:

l              链路层协议发现的路由(也称为接口路由或直连路由)

l              网络管理员手工配置的静态路由

l              动态路由协议发现的路由

FIB表中每条转发项都指明了要到达某子网或某主机的分组应通过路由器的哪个物理接口发送,就可到达该路径的下一个路由器,或者不需再经过别的路由器便可传送到直接相连的网络中的目的主机。

1. 路由表

每台路由器中都保存着一张本地管理路由表,同时各个路由协议也维护着自己的一张路由表。

l              各个协议维护的路由表

协议路由表中存放着该协议发现的路由。

路由协议可以引入并发布其他协议生成的路由。例如,在路由器上运行OSPF协议,需要使用OSPF协议通告直连路由、静态路由或者IS-IS路由时,要将这些路由引入到OSPF协议的路由表中。

l              本地管理路由表

路由器使用本地管理路由表来保存协议路由和决策优选路由,并负责把优选路由下发到FIB表中,FIB指导报文进行转发。这张路由表依据各种路由协议的优先级和度量值来选取路由。

对于支持MPLS L3VPN的路由器,每一个VPN实例有一张本地管理路由表。

 

2. 路由表中内容

路由表中包含了下列关键项:

l              目的地址:用来标识IP数据报的目的地址或目的网络。

l              网络掩码:与目的地址一起来标识目的主机或路由器所在的网段的地址。将目的地址和网络掩码“逻辑与”后可得到目的主机或路由器所在网段的地址。例如:目的地址为129.102.8.10、掩码为255.255.0.0的主机或路由器所在网段的地址为129.102.0.0。掩码由若干个连续“1”构成,既可以用点分十进制法表示,也可以用掩码中连续“1”的个数来表示。

l              出接口:指明IP报文将从该路由器哪个接口转发。

l              下一跳IP地址:更接近目的网络的下一个路由器地址。如果只配置了出接口,下一跳IP地址是出接口的地址。

l              本条路由加入IP路由表的优先级:对于同一目的地,可能存在若干条不同下一跳的路由,这些不同的路由可能是由不同的路由协议发现的,也可能是手工配置的静态路由。优先级高(数值小)的路由将成为当前的最优路由。

根据路由目的地的不同,可划分为:

l              子网路由:目的地为子网

l              主机路由:目的地为主机

另外,根据目的地与该路由器是否直接相连,又可分为:

l              直接路由:目的地所在网络与路由器直接相连

l              间接路由:目的地所在网络与路由器非直接相连

为了不使路由表过于庞大,可以配置一条缺省路由。如果报文查找路由表失败,则根据缺省路由进行转发。

图1-1中,Router A与三个网络相连,其路由表如图所示。

1-1 路由表示意图

Destination

Nexthop

Interface

11.1.1.0

1.1.1.2

GE2/0/1

12.1.1.0

2.2.2.1

GE2/0/2

13.1.1.0

3.3.3.1

GE2/0/3

 

1.2  路由协议概述

1.2.1  静态路由与动态路由

静态路由配置方便,对系统要求低,适用于拓扑结构简单并且稳定的小型网络。其缺点是每当网络拓扑结构发生变化,都需要手工重新配置,不能自动适应。

动态路由协议有自己的路由算法,能够自动适应网络拓扑的变化,适用于具有一定规模的网络拓扑。其缺点是配置比较复杂,对系统的要求高于静态路由,并将占用一定的网络资源。

1.2.2  动态路由协议分类

对动态路由协议的分类可采用以下不同标准:

1. 根据作用范围

根据作用的范围,路由协议可分为:

l              内部网关协议(Interior Gateway Protocol,简称IGP):在一个自治系统内部运行,常见的IGP协议包括RIP、OSPF和IS-IS。

l              外部网关协议(Exterior Gateway Protocol,简称EGP):运行于不同自治系统之间,BGP是目前最常用的EGP

自治系统(Autonomous System)是拥有同一选路策略,并在同一技术管理部门下运行的一组路由器。

 

2. 根据使用算法

根据使用的算法,路由协议可分为:

l              距离矢量协议(Distance-Vector):包括RIP和BGP。其中,BGP也被称为路径矢量协议(Path-Vector)。

l              链路状态协议(Link-State):包括OSPF和IS-IS。

以上两种算法的主要区别在于发现和计算路由的方法不同。

3. 根据目的地址类型

根据目的地址的类型,路由协议可分成:

l              单播路由协议(Unicast Routing Protocol):包括RIP、OSPFBGP和IS-IS等。

l              组播路由协议(Multicast Routing Protocol):包括PIM-SM、PIM-DM等。

本部分手册主要介绍单播路由协议,组播路由协议请参见“IP组播配置指导”。

4. 根据IP协议版本

根据IP协议的版本,路由协议可分成:

l              IPv4路由协议:包括RIP、OSPFBGP和IS-IS等。

l              IPv6路由协议:包括RIPngOSPFv3IPv6 BGPIPv6 IS-IS等。

1.2.3  路由协议及路由优先级

对于相同的目的地,不同的路由协议(包括静态路由)可能会发现不同的路由,但这些路由并不都是最优的。事实上,在某一时刻,到某一目的地的当前路由仅能由唯一的路由协议来决定。为了判断最优路由,各路由协议(包括静态路由)都被赋予了一个优先级,当存在多个路由信息源时,具有较高优先级的路由协议发现的路由将成为当前路由。各种路由协议及其发现路由的缺省优先级如表1-1所示。

其中:0表示直接连接的路由,256表示任何来自不可信源端的路由。数值越小表明优先级越高。

1-1 路由协议及缺省时的路由优先级

路由协议或路由种类

相应路由的优先级

DIRECT

0

OSPF

10

IS-IS

15

STATIC

60

RIP

100

OSPF ASE

150

OSPF NSSA

150

IBGP

255

EBGP

255

UNKNOWN

256

 

除直连路由(DIRECT)外,各种路由的优先级都可由用户手工进行配置。另外,每条静态路由的优先级都可以不相同。

IPv4路由和IPv6路由有独立的路由表,两者互不影响。

 

1.2.4  负载分担与路由备份

1. 负载分担

多路由模式是指对同一路由协议来说,允许配置多条目的地相同且开销也相同的路由。当到同一目的地的路由中,没有更高优先级的路由时,这几条路由都被采纳,在转发去往该目的地的报文时,依次通过各条路径发送,从而实现网络的负载分担。对于同一目的地,特定的路由协议也可能会发现几条等值的路由,如果该路由协议在所有活跃的路由协议中优先级最高,那么这几条不同的路由都被看作当前有效的路由。这样,在路由协议层面上,保证了IP流量的负载分担。

目前实现支持负载分担的路由协议为静态路由、RIP、OSPFBGP和IS-IS。

 

2. 路由备份

使用路由备份可以提高网络的可靠性。用户可根据实际情况,配置到同一目的地的多条路由,其中优先级最高的一条路由作为主路由,其余优先级较低的路由作为备份路由。

正常情况下,路由器采用主路由转发数据。当线路出现故障时,该路由变为非激活状态,路由器选择备份路由中优先级最高的转发数据。这样,也就实现了从主路由到备份路由的切换。当主路由恢复正常时,路由器也恢复相应的路由,并重新选择路由。由于该路由的优先级最高,路由器选择主路由来发送数据。这就是从备份路由到主路由的切换。

1.2.5  路由迭代

对于BGP路由(直连EBGP路由除外)和静态路由(配置了下一跳)以及多跳RIP路由而言,其所携带的下一跳信息可能并不是直接可达,从指导转发的角度而言,它需要找到到达下一跳的直连出接口。路由迭代的过程就是通过路由的下一跳信息来找到直连出接口的过程。而对于OSPF和IS-IS等链路状态路由协议而言,其下一跳是直接在路由计算的时就得到,因此,不需要进行路由迭代。

1.2.6  路由信息共享

由于各路由协议采用的路由算法不同,不同的路由协议可能会发现不同的路由。如果网络规模较大,当使用多种路由协议时,往往需要在不同的路由协议间能够共享各自发现的路由。每种路由协议都有相应的路由引入机制,具体内容请参见“三层技术-IP路由配置指导”中各路由协议模块有关引入外部路由的描述。

1.3  配置基于带宽的非平衡负载分担

使能基于带宽的负载分担功能情况下,如果转发时查到多个出接口/下一跳,则获取所有的带宽值,并计算出各个接口应该分配的报文比例;然后结合当前接口已经转发的报文数目来决定使用哪个接口将报文转发出去。

关闭基于带宽的负载分担功能情况下,如果转发时查找到多个出接口/下一跳时,将简单的轮循所有接口,对报文进行发送。

1-2 配置基于带宽的负载分担

操作

命令

说明

进入系统视图

system-view

-

配置基于带宽的负载分担功能

bandwidth-based-sharing

必选

缺省情况下,关闭基于带宽的负载分担功能

进入接口视图

interface interface-type interface-number

-

配置接口的负载带宽值

load-bandwidth bandwidth

可选

缺省情况下,接口负载带宽为接口的物理带宽

当指定参数为0时关闭当前接口的路由功能,该接口将不会被选择,但不对物理接口的其它状态产生影响

退回用户视图

return

-

显示基于带宽的负载分担的FIB信息

display fib [ vpn-instance vpn-instance-name ] bandwidth-based-sharing [ | { begin | exclude | include } regular-expression ]

可选

display命令可以在任意视图下执行

 

1.4  配置全局负载分担方式

设备上存在多条等价路由时,可以根据报文中的信息(比如源IP地址、目的IP地址等)逐流进行负载分担,还可以基于报文逐包进行负载分担。

1-3 配置全局负载分担方式

操作

命令

说明

进入系统视图

system-view

-

配置全局负载分担方式(集中式设备)

ip load-sharing mode per-flow [ dest-ip | src-ip ]

可选

缺省情况下,设备采用per-flow方式

配置全局负载分担方式(分布式设备)

ip load-sharing mode { all | slot slot-number } per-flow [ dest-ip | src-ip ]

可选

缺省情况下,设备采用per-flow方式

 

建议用户在无流量的情况下更改负载分担方式,否则某些业务可能会受到影响。

 

1.5  配置全局路由器ID

一些动态路由协议要求使用Router ID,如果在启动这些路由协议时没有指定Router ID,则缺省使用路由管理的Router ID。选择规则如下:

l              如果通过命令router id配置Router ID,则按照配置结果设置。没有配置Router ID,则按照下面的规则进行选择。

l              如果存在配置IP地址的Loopback接口,则选择Loopback接口地址中最大的作为Router ID。

l              如果没有配置IP地址的Loopback接口,则从其他接口的IP地址中选择最大的作为Router ID(不考虑接口的up/down状态)。

l              当且仅当被选为Router ID的接口IP地址被删除/修改,才触发重新选择过程,其他情况(例如:接口down;已经选取了一个非Loopback接口地址后又配置了一个Loopback接口地址;配置一个更大的接口地址等)不触发重新选择的过程。

1-4 配置全局路由器ID号

配置任务

说明

详细配置

进入系统视图

system-view

-

配置全局路由器ID

router id router-id

可选

缺省情况下,未配置全局路由管理的Router ID

 

l          各个VPN实例分别在属于该VPN实例的接口地址中进行选择。

l          存在主备的情况下,系统将备份命令行配置的Router ID或从接口地址中选择出来的Router ID。主备倒换后平滑的时候,系统将检查从地址中选出的Router ID的有效性,如果无效将重新进行选择。

l          Router ID改变之后,各协议需要通过手工执行reset命令才会取新的Router ID。

 

1.6  路由表显示和维护

查看路由表的信息是定位路由问题的基本方法。在任意视图下执行display命令可以显示路由表信息。在用户视图下执行reset命令可以清除路由表的统计信息。

1-5 路由表显示和维护

操作

命令

查看路由表中当前激活路由的摘要信息

display ip routing-table [ multiple-topology multiple-topology-name | vpn-instance vpn-instance-name ] [ verbose ] [ | { begin | exclude | include } regular-expression ]

查看指定目的地址的路由

display ip routing-table [ multiple-topology multiple-topology-name | vpn-instance vpn-instance-name ] ip-address [ mask | mask-length ] [ longer-match ] [ verbose ] [ | { begin | exclude | include } regular-expression ]

查看指定目的地址范围内的路由

display ip routing-table [ multiple-topology multiple-topology-name | vpn-instance vpn-instance-name ] ip-address1 { mask | mask-length } ip-address2 { mask | mask-length } [ verbose ] [ | { begin | exclude | include } regular-expression ]

查看通过指定基本访问控制列表过滤的路由

display ip routing-table [ multiple-topology multiple-topology-name | vpn-instance vpn-instance-name ] acl acl-number [ verbose ] [ | { begin | exclude | include } regular-expression ]

查看通过指定前缀列表过滤的路由

display ip routing-table [ multiple-topology multiple-topology-name | vpn-instance vpn-instance-name ] ip-prefix ip-prefix-name [ verbose ] [ | { begin | exclude | include } regular-expression ]

查看指定协议发现的路由

display ip routing-table [ multiple-topology multiple-topology-name | vpn-instance vpn-instance-name ] protocol protocol [ inactive | verbose ] [ | { begin | exclude | include } regular-expression ]

查看路由表中的综合路由统计信息

display ip routing-table [ multiple-topology multiple-topology-name | vpn-instance vpn-instance-name ] statistics [ | { begin | exclude | include } regular-expression ]

查看全局路由管理ID

display router id [ | { begin | exclude | include } regular-expression ]

清除路由表中的综合路由统计信息

reset ip routing-table statistics protocol [ multiple-topology multiple-topology-name | vpn-instance vpn-instance-name ] { protocol | all }

查看IPv6路由表摘要信息

display ipv6 routing-table [ vpn-instance vpn-instance-name ] [ | { begin | exclude | include } regular-expression ]

查看IPv6路由表详细信息

display ipv6 routing-table [ vpn-instance vpn-instance-name ] verbose [ | { begin | exclude | include } regular-expression ]

查看指定IPv6路由的信息

display ipv6 routing-table [ vpn-instance vpn-instance-name ] ipv6-address prefix-length [ longer-match ] [ verbose ] [ | { begin | exclude | include } regular-expression ]

查看经过指定的基本IPv6 ACL(访问控制列表)过滤的路由

display ipv6 routing-table [ vpn-instance vpn-instance-name ] acl acl6-number [ verbose ] [ | { begin | exclude | include } regular-expression ]

查看经过指定IPv6前缀列表过滤的路由信息

display ipv6 routing-table [ vpn-instance vpn-instance-name ] ipv6-prefix ipv6-prefix-name [ verbose ] [ | { begin | exclude | include } regular-expression ]

查看指定协议发现的IPv6路由信息

display ipv6 routing-table [ vpn-instance vpn-instance-name ] protocol protocol [ inactive | verbose ] [ | { begin | exclude | include } regular-expression ]

查看IPv6路由表中的综合路由统计信息

display ipv6 routing-table [ vpn-instance vpn-instance-name ] statistics [ | { begin | exclude | include } regular-expression ]

查看在指定地址范围内的IPv6路由信息

display ipv6 routing-table [ vpn-instance vpn-instance-name ] ipv6-address1 prefix-length1 ipv6-address2 prefix-length2 [ verbose ] [ | { begin | exclude | include } regular-expression ]

清除IPv6路由表中的综合路由统计信息

reset ipv6 routing-table [ vpn-instance vpn-instance-name ] statistics protocol { protocol | all }

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!