一、路由的基本概念
IP网络最基本的功能就是为处于网络中不同位置的设备之间实现数据互通。为了实现这个功能,网络中的设备需具备将IP报文从源转发到目的地的能力。以路由器为例,当一台路由器收到一个IP报文时,它会在自己的路由表中执行路由查询,寻找匹配该报文的目的IP地址的路由条目(或者说路由表项),如果找到匹配的路由条目,路由器便按照该条目所指示的出接口及下一跳IP地址转发该报文;如果没有任何路由条目匹配该目的IP地址,则意味着路由器没有相关路由信息可用于指导报文转发,因此该报文会被丢弃,上述行为就是路由。
注意:具备路由的设备不仅仅有路由器,还有三层交换机、防火墙等设备同样能够支持路由功能。
二、路由表
任何一台支持路由功能的设备要想正确地执行路由查询及数据转发的操作,就必须维护一张路由表。路由表可以理解为时设备将报文转发到特定目的地所依据的一张“地图”。在具备路由功能的华为数据通信产品上查看路由表的命令为:display ip routing-table(查看静态路由:display ip routing-table protocol static)。路由表的每一行称之为路由条目,实际上一个路由表并不单单只有一个路由条目,往往包含多个路由条目。在一个大型网络中,每个路由条目都采用目的网络地址及网络掩码进行标识。
目的网络地址/网络掩码:计算机网络基础知识
路由协议:路由表中的"proto"列显示该信息,表示路由的协议类型,有RIP、static、OSPF、direct、IS-IS、IBGP、EBGP、OSPF ASE、OSPF NSSA等类型
优先级:路由表中的“Pre”列显示了该条路由的优先级,路由优先级的值越小表示该路由的优先级越高。
优先级表(只针对华为数通产品)如下所示:
路由类型 | 优先级 |
直连路由 | 0 |
OSPF内部路由 | 10 |
IS-IS路由 | 15 |
静态路由 | 60 |
RIP路由 | 100 |
OSPF ASE路由 | 150 |
OSPF NSSA路由 | 150 |
IBGP路由 | 255 |
EBGP路由 | 255 |
开销(度量值):路由表中的“cost”列显示的就是开销,又被称为度量值,其大小会影响到路由的优选。直连路由和静态路由缺省的度量值为0,此外,每一种动态路由协议都定义了其路由的度量值计算方法。不同的路由协议,其路由度量值的定义和计算方法均有所不同。
开销和优先级都是影响路由优选的因素
下一跳:路由表中的“nexthop”列表示的就是下一跳,该信息描述的是路由器转发到达目的网段的数据包所使用的下一跳地址。
出接口:路由表的“Interface”列显示的就是出接口,指的是数据包被路由后离开本路由器的接口。
三、路由信息的来源
路由表的路由信息可分为三类:直连路由、静态路由及动态路由协议。路由表中的“Proto”列表示了该条路由是从什么来源获取到的。
路由器能够自动获取本设备的直连接口的路由并将路由写入路由表,该种路由被称为直连路由,直连路由的目的网络一定是路由器自身某个接口所在的网络。直连路由的发现是路由器自己完成的,无需人为干预。值得注意的是,一个接口的直连路由被加载到路由表的前提是该接口的物理状态及协议状态都必须是UP的。接口的物理及协议状态可以通过display ip interface brief命令来查看。
路由器能够自动发现直连路由并将路由加载到路由表,但是对于非直连的网络我,网络管理员就需要想办法让路由器知晓了。为了让路由器能够到达远端网络(非直连网络),最简单的方法是为路由器手工配置静态路由。通过这种方式维护路由表项虽然简单直接,但是可扩展性差,如果在规模较大的网络中完全使用静态路由,配置工作量就会很大,而且静态路由无法根据实时的网络拓扑变化作出动态响应,这也是一大弊端。另一种方法是使用动态路由协议。一旦路由器激活动态路由协议,它们就相当拥有了交谈的能力,设备之间可以交互信息从而自动计算或发现网络中的路由。
相关命令解析:
display ip routing-table
命令功能
display ip routing-table命令用来显示公网IPv4路由表的信息。
命令格式
display ip routing-table [ verbose ]
display ip routing-table ip-address [ mask | mask-length ] [ longer-match ] [ verbose ]
display ip routing-table ip-address { mask | mask-length } nexthop ip-address [ verbose ]
display ip routing-table ip-address1 { mask1 | mask-length1 } ip-address2 { mask2 | mask-length2 } [ verbose ]
display ip routing-table acl { acl-number | acl-name } [ verbose ]
display ip routing-table ip-prefix ip-prefix-name [ verbose ]
参数说明
参数 参数说明 取值 verbose 显示激活和未激活路由的详细信息。不指定该参数,则只显示激活路由的概要信息。 - ip-address 目的IP地址。点分十进制格式。 - nexthop ip-address 下一跳的IP地址。 - longer-match 仅显示与特定网络/掩码匹配的路由。 - mask 掩码。点分十进制格式。 - mask-length 掩码长度。 整数形式,取值范围是0 ~ 32。 ip-address1 / ip-address2 目的IP地址。点分十进制格式。ip-address1和ip-address2共同决定一个地址范围,从而显示在此范围内的路由信息。 - mask1 | mask-length1 目的地址ip-address1的掩码/掩码长度。 - mask2 | mask-length2 目的地址ip-address2的掩码/掩码长度。 - acl 使用ACL对输出的信息进行过滤。如果指定的ACL不存在,将显示所有激活路由的信息。 - acl-number 基本访问控制列表ACL(Access Control List)号。 - acl-name 命名型访问控制列表ACL的名称。 区分大小写。 ip-prefix ip-prefix-name 指定前缀列表名称。 区分大小写。 视图
所有视图
缺省级别
1:监控级
使用指南
显示信息中,每一行代表一条路由。内容包括目的地址、掩码长度、协议、优先级、路由开销值、路由标记、下一跳和输出接口。
迭代路由不论迭代出多少出接口和下一跳,仅统计为一条路由。
该命令(不含verbose参数)只显示当前被优选的路由。
对于该命令,按照后面选择参数的不同匹配的方式也不同。
对于display ip routing-table ip-address,显示与目的地址最长匹配的路由表项。
对于display ip routing-table ip-address mask,显示与目的地址和掩码精确匹配的路由表项。
对于display ip routing-table ip-address longer-match,显示与目的地址和自然掩码指定的IP地址匹配的所有路由表项。
对于display ip routing-table ip-address mask longer-match,显示与目的地址和输入掩码指定的IP地址匹配的所有路由表项。
对于display ip routing-table ip-address1 mask1 ip-address2 mask2,该命令用来查看目的地址在输入的ip-address1 mask1到ip-address2 mask2范围内的路由表项。
使用实例
# 显示当前路由表的概要信息,路由1.1.1.1/32为两条静态路由(下一跳不同),所以路由计数为8。
<Base> display ip routing-table Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Routing Tables: Public Destinations : 7 Routes : 8 Destination/Mask Proto Pre Cost Flags NextHop Interface 1.1.1.1/32 Static 60 0 D 0.0.0.0 NULL0 Static 60 0 D 100.0.0.1 Vlanif10 100.0.0.0/24 Direct 0 0 D 100.0.0.1 Vlanif10 100.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0 103.0.0.0/24 Direct 0 0 D 103.0.0.1 Vlanif10 103.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0 127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0 127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0表4-1 display ip routing-table命令输出信息描述
项目
描述
Route Flags
路由标记
R:表示该路由是迭代路由
D:表示该路由下发到FIB表
Routing Tables:Public
此路由表是公网路由表。
Destinations
目的网络/主机的总数
Routes
路由的总数
Destination/Mask
目的网络/主机的地址和掩码长度
Proto
用来学习路由的协议
Pre
优先级
Cost
路由开销
Flags
路由标记,即路由表头的Route Flags
NextHop
下一跳
Interface
下一跳可达的出接口
display ip routing-table protocol
命令功能
display ip routing-table protocol命令用来显示指定协议的路由信息。
命令格式
display ip routing-table protocol protocol [ inactive | verbose ]
参数说明
参数 参数说明 取值 protocol 显示指定协议的路由信息。该参数可为下列关键字:
direct:显示直连路由信息。
static:显示静态路由信息。
- inactive 只显示未激活路由的概要信息。 - verbose 显示激活和未激活路由的详细信息。 - 视图
所有视图
缺省级别
1:监控级
使用指南
不指定verbose参数和inactive参数时,显示各路由协议所有路由的概要信息。
使用实例
# 显示所有直连路由的概要信息。
<Base> display ip routing-table protocol directRoute Flags: R - relay, D - download to fib------------------------------------------------------------------------------Public Routing Table : DirectDestinations : 3 Routes : 3Direct Routing Table Status : < Active>Destinations : 3 Routes : 3Destination/Mask Proto Pre Cost Flags Nexthop Interface20.1.1.1/32 DIRECT 0 0 D 127.0.0.1 InLoopBack0127.0.0.0/8 DIRECT 0 0 D 127.0.0.1 InLoopBack0127.0.0.1/32 DIRECT 0 0 D 127.0.0.1 InLoopBack0Direct Routing Table Status : < Inactive>Destinations : 0 Routes : 0表4-2 display ip routing-table protocol命令输出信息描述
项目
描述
Route Flags
路由标记
R:表示该路由是迭代路由
D:表示该路由下发到FIB表
Public Routing Table
公网路由表的显示内容:
direct:直连路由信息
static:静态路由信息
bgp:BGP路由信息
isis:IS-IS路由信息
ospf:OSPF路由信息
rip:RIP路由信息
Direct Routing Table Status
直连路由表显示状态:
- inactive
- active
Destinations
目的地址的总数
Routes
路由表中路由的总数
Active
路由表中激活的路由信息
Inactive
路由表中未激活的路由信息
Destination/Mask
目的地址/掩码长度
Protocol
路由协议的类型
Preference
路由协议优先级
Cost
路由的开销值
Flags
路由标记,即路由表头的Route Flags
Nexthop
下一跳地址
Interface
出接口
display interface brief
命令功能
display interface brief命令用来查看接口状态和配置的简要信息。
命令格式
display interface brief [ main ]
参数说明
参数
参数说明
取值
main
显示主接口的简要信息。
-
视图
所有视图
缺省级别
1:监控级
使用指南
应用场景
在监控接口的状态或检查接口的故障原因时,可执行display interface brief命令获取接口的物理状态、协议状态、接收方向最近一段时间的带宽利用率、发送方向最近一段时间的带宽利用率、接收的错误报文数和发送的错误报文数。用户可以根据这些信息进行接口的故障诊断等。
注意事项
可以通过命令reset counters interface清除接口的统计信息。
使用实例
# 查看接口状态和配置的简要信息。
<Huawei> display interface brief PHY: Physical *down: administratively down (l): loopback (s): spoofing (e): ETHOAM down (d): Dampening Suppressed InUti/OutUti: input utility/output utility Interface PHY Protocol InUti OutUti inErrors outErrors GigabitEthernet0/0/1 up up 0.01% 0.01% 0 0 NULL0 up up(s) 0% 0% 0 0 Vlanif1 up up -- -- 0 0 Wlan-Capwap0 up up -- -- 0 0 Wlan-Radio0/0/0 up up -- -- 0 0 Wlan-Radio0/0/1 up up -- -- 0 0表5-3 display interface brief命令输出信息描述
项目
描述
Interface
接口名称和接口编号。
PHY
接口的物理状态。可能的物理状态有:
- up表示接口处于正常启动的状态
- down表示接口物理层出现故障
- *down表示Administratively down,管理员在该接口执行了shutdown命令
- (l)表示该接口启动环回功能
Protocol
接口的链路协议状态。可能的链路协议状态有:
- up表示接口处于正常启动的状态
- down表示接口链路协议出现故障
- (l)表示该接口启动环回功能
- (s)表示该接口启动spoofing功能
- (e)表示该接口数据链路层处于EFM down状态
- (d)表示该接口处于协议模块抑制状态
- --表示无链路协议状态
InUti
接口接收方向最近300秒内的平均带宽利用率。接口接收方向最近300秒内的平均带宽利用率=接口接收方向最近300秒内平均速率/接口带宽。不足0.01%且有流量时显示0.01%。当接口带宽变小后,由于通信流量没有即时调整,可能会出现带宽利用率为100%。“--”表示该类型的接口不支持带宽利用率的显示。
OutUti
接口发送方向最近300秒内的平均带宽利用率。接口发送方向最近300秒内的平均带宽利用率=接口发送方向最近300秒内平均速率/接口带宽。不足0.01%且有流量时显示0.01%。当接口带宽变小后,由于通信流量没有即时调整,可能会出现带宽利用率为100%。“--”表示该类型的接口不支持带宽利用率的显示。
inErrors
接口接收的错误报文数。在用户视图下执行reset counters interface命令或计数达到最大值0xFFFFFFFF后,相应接口的该计数被置为零。
outErrors
接口发送的错误报文数。在用户视图下执行reset counters interface命令或计数达到最大值0xFFFFFFFF后,相应接口的该计数被置为零。