01-IP路由基础配置
本章节下载: 01-IP路由基础配置 (202.91 KB)
l 本文所指的路由器代表了一般意义下的路由器,以及承担路由功能的交换机。为提高可读性,在手册的描述中将不另行说明。
l 路由功能中所指的“接口”为三层口,包括VLAN接口、三层以太网端口等。三层以太网端口是指被配置为三层模式的以太网端口,有关以太网端口模式切换的操作,请参见“二层技术-以太网交换配置指导”中的“以太网端口配置”。
在因特网中进行路由选择和报文转发要使用路由器,路由器根据所收到的报文的目的地址选择一条合适的路径(通过某一网络),并将报文传送到下一个路由器。路径中最后的路由器负责将报文送交目的主机。
路由指的就是上面的路径信息,用来指导报文转发。
路由器决策路由的关键是路由表,转发报文的关键是FIB(Forwarding Information Base)表。每个路由器中都至少保存着一张路由表和一张FIB表。
路由表中保存了各种路由协议发现的路由,根据来源不同,通常分为以下三类:
l 链路层协议发现的路由(也称为接口路由或直连路由)
l 网络管理员手工配置的静态路由
l 动态路由协议发现的路由
FIB表中每条转发项都指明了要到达某子网或某主机的分组应通过路由器的哪个物理接口发送,就可到达该路径的下一个路由器,或者不需再经过别的路由器便可传送到直接相连的网络中的目的主机。
每台路由器中都保存着一张本地管理路由表,同时各个路由协议也维护着自己的一张路由表。
l 各个协议维护的路由表
协议路由表中存放着该协议发现的路由。
路由协议可以引入并发布其他协议生成的路由。例如,在路由器上运行OSPF协议,需要使用OSPF协议通告直连路由、静态路由或者IS-IS路由时,要将这些路由引入到OSPF协议的路由表中。
l 本地管理路由表
路由器使用本地管理路由表来保存协议路由和决策优选路由,并负责把优选路由下发到FIB表中,FIB指导报文进行转发。这张路由表依据各种路由协议的优先级和度量值来选取路由。
对于支持MPLS L3VPN的路由器,每一个VPN实例有一张本地管理路由表。
路由表中包含了下列关键项:
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与三个网络相连,其路由表如图所示。
Destination |
Nexthop |
Interface |
11.1.1.0 |
1.1.1.2 |
Vlan1 |
12.1.1.0 |
2.2.2.1 |
Vlan2 |
13.1.1.0 |
3.3.3.1 |
Vlan3 |
静态路由配置方便,对系统要求低,适用于拓扑结构简单并且稳定的小型网络。其缺点是每当网络拓扑结构发生变化,都需要手工重新配置,不能自动适应。
动态路由协议有自己的路由算法,能够自动适应网络拓扑的变化,适用于具有一定规模的网络拓扑。其缺点是配置比较复杂,对系统的要求高于静态路由,并将占用一定的网络资源。
对动态路由协议的分类可采用以下不同标准:
根据作用的范围,路由协议可分为:
l 内部网关协议(Interior Gateway Protocol,简称IGP):在一个自治系统内部运行,常见的IGP协议包括RIP、OSPF和IS-IS。
l 外部网关协议(Exterior Gateway Protocol,简称EGP):运行于不同自治系统之间,BGP是目前最常用的EGP。
自治系统(Autonomous System)是拥有同一选路策略,并在同一技术管理部门下运行的一组路由器。
根据使用的算法,路由协议可分为:
l 距离矢量协议(Distance-Vector):包括RIP和BGP。其中,BGP也被称为路径矢量协议(Path-Vector)。
l 链路状态协议(Link-State):包括OSPF和IS-IS。
以上两种算法的主要区别在于发现和计算路由的方法不同。
根据目的地址的类型,路由协议可分成:
l 单播路由协议(Unicast Routing Protocol):包括RIP、OSPF、BGP和IS-IS等。
l 组播路由协议(Multicast Routing Protocol):包括PIM-SM、PIM-DM等。
本部分手册主要介绍单播路由协议,组播路由协议请参见“IP组播配置指导”。
根据IP协议的版本,路由协议可分成:
l IPv4路由协议:包括RIP、OSPF、BGP和IS-IS等。
l IPv6路由协议:包括RIPng、OSPFv3、IPv6 BGP和IPv6 IS-IS等。
对于相同的目的地,不同的路由协议(包括静态路由)可能会发现不同的路由,但这些路由并不都是最优的。事实上,在某一时刻,到某一目的地的当前路由仅能由唯一的路由协议来决定。为了判断最优路由,各路由协议(包括静态路由)都被赋予了一个优先级,当存在多个路由信息源时,具有较高优先级的路由协议发现的路由将成为当前路由。各种路由协议及其发现路由的缺省优先级如表1-1所示。
其中:0表示直接连接的路由,256表示任何来自不可信源端的路由。数值越小表明优先级越高。
路由协议或路由种类 |
相应路由的优先级 |
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路由有独立的路由表,两者互不影响。
对于BGP路由(直连EBGP路由除外)和静态路由(配置了下一跳)以及多跳RIP路由而言,其所携带的下一跳信息可能并不是直接可达,从指导转发的角度而言,它需要找到到达下一跳的直连出接口。路由迭代的过程就是通过路由的下一跳信息来找到直连出接口的过程。而对于OSPF和IS-IS等链路状态路由协议而言,其下一跳是直接在路由计算的时就得到,因此,不需要进行路由迭代。
由于各路由协议采用的路由算法不同,不同的路由协议可能会发现不同的路由。如果网络规模较大,当使用多种路由协议时,往往需要在不同的路由协议间能够共享各自发现的路由。每种路由协议都有相应的路由引入机制,具体内容请参见“三层技术-IP路由配置指导”中各路由协议模块有关引入外部路由的描述。
表1-2 配置全局路由器ID号
配置任务 |
说明 |
详细配置 |
进入系统视图 |
system-view |
- |
配置全局路由器ID |
router id router-id |
可选 缺省情况下,未配置全局路由管理的Router 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接口地址;配置一个更大的接口地址等)不触发重新选择的过程。
l 各个VPN实例则按照上述分别在属于该VPN实例的接口地址中进行选择。
l 存在主备的情况下,系统将备份命令行配置的Router ID或从接口地址中选择出来的Router ID。主备倒换后平滑的时候,系统将检查从地址中选出的Router ID的有效性,如果无效将重新进行选择。
l Router ID改变之后,各协议需要通过手工执行reset命令才会取新的Router ID。
查看路由表的信息是定位路由问题的基本方法。在任意视图下执行display命令可以显示路由表信息。在用户视图下执行reset命令可以清除路由表的统计信息。
操作 |
命令 |
查看路由表中当前激活路由的摘要信息 |
display ip routing-table [ vpn-instance vpn-instance-name ] [ verbose ] [ | { begin | exclude | include } regular-expression ] |
查看指定目的地址的路由 |
display ip routing-table ip-address [ mask-length | mask ] [ longer-match ] [ verbose ] [ | { begin | exclude | include } regular-expression ] |
查看指定目的地址范围内的路由 |
display ip routing-table ip-address1 { mask-length | mask } ip-address2 { mask-length | mask } [ verbose ] [ | { begin | exclude | include } regular-expression ] |
查看通过指定基本访问控制列表过滤的路由 |
display ip routing-table acl acl-number [ verbose ] [ | { begin | exclude | include } regular-expression ] |
查看通过指定前缀列表过滤的路由 |
display ip routing-table ip-prefix ip-prefix-name [ verbose ] [ | { begin | exclude | include } regular-expression ] |
查看指定协议发现的路由 |
display ip routing-table protocol protocol [ inactive | verbose ] [ | { begin | exclude | include } regular-expression ] |
查看路由表或VPN路由表中的综合路由统计信息 |
display ip routing-table [ vpn-instance vpn-instance-name ] statistics [ | { begin | exclude | include } regular-expression ] |
查看全局路由管理ID |
display router id [ | { begin | exclude | include } regular-expression ] |
清除路由表或VPN路由表中的综合路由统计信息 |
reset ip routing-table statistics protocol [ 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 statistics protocol [ vpn-instance vpn-instance-name ] { protocol | all } |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!