138.每日一练
一、题目
[单选]在华为的VRP操作平台,以下那条命令可以查看路由表?
A. display ip routing-table
B. display current-configuration
C. display ip interface brief
D. display ip forwarding-table
二、答案
A
三、解析
路由器在计算机网络中起着至关重要的作用,它们是网络通信的核心设备,负责实现数据包从源设备转发到目标设备的路径选择和转发。路由器通过在网络层使用路由表,根据目的IP地址选择最优路径来转发数据包,从而实现不同网络之间的互连和通信。
路由作为名词时,指的是从源设备(例如一台计算机或路由器)出发到达目的设备(另一台计算机或路由器)的路径。这条路径由多个中间节点(路由器)连接起来,每个中间节点负责将数据包转发到下一个节点,直到数据包到达目的地。
路由作为动词时,指的是在这个路径上,从源设备开始,每个中间节点根据自己的路由表,选择下一跳路由器,并将数据包转发给下一跳路由器,直到数据包到达目的设备。
路由器的工作原理使得异构网络可以相互连通,无论是局域网还是广域网,路由器都能够将数据包正确地传输到目标设备,实现了互联网这个庞大而复杂的网络生态系统。
在图 5‑1的拓扑中,路由器在不同站点与网络互连。
图 5‑1 路由器连接
目的网段为10.4.1.0的数据报文,会经过路由器RTA,RTA根据路由表进行查表发送给下一跳是10.1.2.2的路由器RTB,以此类推将数据报文发送给RTC,到达目的地。
路由表
路由表(Routing Table)是路由器保存路由条目的集合。在路由表中,每一行代表一个路由条目,它是路由器转发数据包的依据。如图5-2所示,路由器R1是该网络中正在运行的一台路由器,通过对网络设备进行配置之后,可以查看路由器R1的路由表。
在路由器R1上执行【display ip routing-table】命令便可查看到路由器R1的路由表。
(1) 目标网络/掩码(Destination/Mask):用来标识IP数据报文的目的地址或目的网络。将目的地址和网络掩码“逻辑与”后,可得到目的主机或路由器所在网段的地址。例如,目的地址2.2.2.0,掩码为255.255.255.0的主机或路由器所在网段的地址为2.2.2.0。掩码由若干个连续“1”构成,既可以用点分十进制表示,也可以用掩码中连续“1”的个数来表示。
(2) Proto:路由协议类型,即关于某个目的网段学习到的方式,比如Direct,表示直连路由,Static表示静态路由,当然我们后续还会学习到其他路由协议类型比如RIP、OSPF、ISIS、BGP等不同路由协议类型在此字段都会显示。
(3) Pre:优先级,与路由选路有关,具体内容见路由的优先级。
(4) Cost:度量值,与路由选路有关,具体内容见路由的开销。
(5) Route Flags:路由标记,R表示该路由是迭代路由;D表示该路由下发到FIB表,T表示下一跳是VPN实例。它标识了路由器对匹配该目的的数据包的处理方式。
(6) Nexthop:下一跳地址,它标识了数据包根据这个路由条目进行的转发行为,其含义是当数据包匹配此条目时,应该发给的下一台设备的地址是哪个。
(7) interface:出接口,这个路由条目的出接口是哪里,当数据包匹配到此路由条目时,应该从此设备的哪个接口发送。
接下来以Destination/Mask为2.2.2.2/32这个路由条目为例,具体说明路由条目中最重要的3个要素。
(1)2.2.2.2是一个网络地址,掩码长度是32,所以能匹配的只有一个地址,我们称这种只能匹配一个地址的路由条目为主机路由。由于路由器的路由表中存在2.2.2.2/32这个路由条目,就说明路由器知道已经知道如何将数据发送给网络地址为2.2.2.2/32的网络;
(2) vlanif 100 是2.2.2.2这个路由条目的出接口,其含义是,如果路由器R1需要将一个IP报文送往2.2.2.2/32这个目标网络,那么路由器R1应该把这个IP报文从路由器R1的vlanif100接口发送出去;
(3) 100.0.0.2是2.2.2.2这个路由项下一跳IP地址(NextHop),其含义是,如果路由器R1需要将一个IP报文送往2.2.2.2/32这个目标网络,则路由器R1应该把这个IP报文从路由器R1的vlanif100接口发送出去,并且这个IP报文离开路由器R1的vlanif100接口后应该到达的下一个路由器的接口的IP地址是100.0.0.2。
数据在进行路由查表的过程中可能存在多种情况:
情况1:查表失败。也就是数据包的目的IP地址在当前路由表中不存在匹配项,此时数据包将被路由器丢弃;
情况2:多条匹配项。此时数据包去往同一目的地址存在多条可以匹配的路由条目,例如,当数据包去往目的地址是100.0.0.1时当前路由表中存在两条路由可以匹配,分别是100.0.0.0/24的目的地址和100.0.0.1/32的目的地址均可以匹配,但是数据最终会根据最长掩码匹配规则来转发,也就是匹配了32位掩码的目的网段路由条目,这个是我们进行路由选路的第一条规则,当掩码越长路由包含的目的地址就越精确。如果我们的掩码相同,此时路由表中只会有一条路由条目信息。
路由信息的来源
在华为路由器上, display ip routing-table 命令可用于显示路由器的路由表。路由表中的路由信息主要有以下3种来源。
(1)直连路由(Direct Route):直连路由是设备自身发现并学习的,当自身接口存在IP地址并且接口状态正常(UP)时,路由进程自动发现本接口所属网段的路由,并将路由条目加入路由表中,直连路由会从自身每个接口学习两个条目,分别是网段路由和自身接口的IP地址路由,例如一个接口配置IP地址为10.1.1.1/24的地址,此时路由表学习到路由条目为10.1.1.0/24和10.1.1.1/32。
(2)静态路由(Static Route):静态路由是网络管理员手动配置的路由信息。通过配置静态路由,可以让设备学习到自身不能学到的路由,从而打通整个网络的通信。配置简单,且可以手动控制优先级;缺点是当远端网络发生故障后无法自动感知,无法自动调整转发路径,需要管理员手动控制,当网络规模较大时配置量巨大。适合在小型网络中使用。
(3)动态路由(Dynamic Route):当网络规模较大且复杂时,手动配置静态路由配置量大且容易出错。这时可以使用动态路由协议运行在设备之间,他们的特点是可以自动分享自身的路由,让设备之间自动进行交流学习整网路由信息,配置完成后路由的更新和故障感知由路由器自身完成,不需要管理员手动干预。动态路由协议运行时将会比静态路由协议更耗费设备资源,配置内容和运行机制较为复杂,针对不同的路由协议需要使用的配置方案不同,需要管理员有较高的技术水平。