本站点使用Cookies,继续浏览表示您同意我们使用Cookies。 Cookies和隐私政策>

搜索
首页 信息速查 IP知识百科 在线课堂 智能辅助

什么是IP路由?

IP路由是为网络中的流量进行路径选择的过程,是数据通信网络中最基本的要素,目的是将IP数据包有效率地经由网络从源地址传输至目的地址,从而实现网络通信。运行IP路由的设备是路由器,其中存储着用于指导数据包转发的路由表。IP路由协议是路由器之间维护路由表的规则,包括BGPIS-ISOSPF等。

IP路由为什么重要?

路由是为网络中的流量进行路径选择的过程,是数据通信网络中最基本的要素。IP路由的目的是将IP数据包有效率地经由网络从源地址传输至目的地址,从而实现网络通信。根据IP传输方式的不同,路由可以分为单播路由、组播路由等, 本文中指代的是前者。运行IP路由的设备是路由器

随着网络规模的不断扩大,到达同一目的地的传输路径可能多达上千条,为了实现传输速度、传输质量与传输效率的平衡,路由的选择就尤为重要。如下图所示,数据包从设备A到设备B,右侧网络1、3、5的传输路径虽然比左侧网络2、4更长,但当2、4之间的网络连接状况不佳时,转发速度却可能更快,从而被路由器选定为实际传输路径。

什么是路由表?路由表是如何发挥作用的?

路由表(Routing table)是存储在路由器中的数据表,就如一张地图,其中存储了指向特定目的网络地址的路径信息。路由表中有许多条目,每个条目可以被称为一条路由,每条路由都对应一个网络中的目的地。示意图如下。

当路由设备收到一个IP数据包时,会先查看数据包包头的目的地址,并在自己的路由表中进行查找。如果查找结果中有匹配的表项,那么便依据此表项所指示的出接口和下一跳进行转发;如果没有匹配的表项,就去检查是否存在默认路由;如果默认路由也不存在,这个IP数据包会被丢弃,同时路由设备会向数据包的源端设备发送ICMP(Internet Control Message Protocol,因特网控制消息协议)报错消息,报告该目的地址或网络不可达。

每台路由器中都保存着一张本地核心路由表,用来保存各种路由协议发现的路由并决策优选路由。路由条目的来源主要有:

  • 直连路由(Direct Route):路由器本地接口所在的网段,由路由器自行发现并写入路由表中;
  • 静态路由(Static Route):网络管理员手工配置的路由;
  • 动态路由(Dynamic Route):路由器通过动态路由协议发现的路由。动态路由协议包括BGP(Border Gateway Protocol,边界网关协议)、IS-IS(Intermediate System to Intermediate System,中间系统到中间系统)、OSPF(Open Shortest Path First,开放式最短路径优先)、RIP(Routing Information Protocol,路由信息协议)等。

除了按来源划分,依据目的地(目的地址范围)的不同,路由可以划分为:

  • 主机路由:目的地为单一主机,数据包发送至唯一目的地主机;
  • 网段路由:目的地为一个网段,数据包发送至一个网络段中的所有主机。

对于NetEngine系列路由器,可以通过display ip routing-table命令查看路由器的路由表信息,如:

<HUAWEI> display ip routing-table
Route Flags: R - relay, D - download to fib, T - to vpn-instance, B - black hole route
------------------------------------------------------------------------------
Routing Table: Public
         Destinations : 8        Routes : 8

Destination/Mask     Proto  Pre  Cost   Flags  NextHop        Interface

       0.0.0.0/0      Static 60   0      D     10.1.4.2       GigabitEthernet1/0/0
       10.1.4.0/30    OSPF   10   0      D     10.1.4.1       GigabitEthernet1/0/0
       10.1.4.1/32    Direct 0    0      D     127.0.0.1      InLoopBack0
       10.1.4.2/32    OSPF   10   0      D     10.1.4.2       GigabitEthernet1/0/0
     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
127.255.255.255/32    Direct 0    0      D     127.0.0.1      InLoopBack0
255.255.255.255/32    Direct 0    0      D     127.0.0.1      InLoopBack0

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

  • Destination:目的地址。用来标识路由的目的地址或目的网络。
  • Mask:网络掩码。与目的地址一起来标识目的主机或路由器所在的网段的地址。将目的地址和网络掩码“逻辑与”后可得到目的主机或路由器所在网段的地址。例如:目的地址为1.1.1.1,掩码为255.255.255.0的主机或路由器所在网段的地址为1.1.1.0。
  • Proto:路由协议名称,代表这条路由是通过什么路由协议获取到的,如Direct代表直连路由、Static代表静态路由等。
  • Pre:本条路由加入IP路由表的优先级。针对同一目的地,可能存在不同下一跳/出接口等的若干条路由,这些不同的路由可能是由不同的路由协议发现的,也可以是手工配置的静态路由。优先级高(数值小)者将成为当前的最优路由。
  • Cost:路由开销。当到达同一目的地的多条路由具有相同的优先级(Pre相同)时,开销最小的将成为当前的最优路由。路由开销是用来评估路由路径优劣的一个数值,也被称为路由度量(Route Metric),它表示从源节点到目的节点所经过的路由路径的代价,代价的大小取决于网络拓扑、带宽、延迟、可靠性、安全性等多种因素。
  • Flags:路由标记。一种路由器在转发数据包时使用的标记,用于标识数据包的来源和目的地,以及路由器对数据包的处理方式等。
  • NextHop:下一跳IP地址
  • Interface:输出接口。说明IP包将从该路由器哪个接口转发。

除了本地核心路由表之外,各路由协议也维护着自己的协议路由表,用于存放该协议发现的路由信息。路由协议可以引入并发布其他协议生成的路由。例如,在路由器上运行OSPF(Open Shortest Path First)协议,需要使用OSPF协议通告直连路由、静态路由或者IS-IS(Intermediate System to Intermediate System)路由时,要将这些路由引入到OSPF协议的路由表中。

OSPF协议的路由表如下所示。各字段的详细解释请参见“查看OSPF路由表的信息”。

<HUAWEI> display ospf routing
OSPF Process 1 with Router ID 4.4.4.4

          Routing Tables

 Routing for Network  
 Destination        Cost      Type           NextHop         AdvRouter       Area  
 172.16.1.0/24      4         Inter-area     192.168.2.1     2.2.2.2         0.0.0.2
                    4         Inter-area     192.168.2.3     2.2.2.2         0.0.0.2  
 192.168.0.0/24     2         Inter-area     192.168.2.1     2.2.2.2         0.0.0.2 

 Routing for ASEs  
 Destination        Cost      Type       Tag      NextHop         AdvRouter  
 10.0.0.0/8        1         Type2      1        192.168.2.1     1.1.1.1 

 Total Nets: 4  
 Intra Area: 1  Inter Area: 2  ASE: 1  NSSA: 0

IP路由的选择遵循哪些原则?

路由优先级

对于相同的目的地,不同的路由协议(包括静态路由)可能会发现不同的路由,但这些路由并不都是最优的。为了判断最优路由,各路由协议(包括静态路由)都被赋予了一个优先级,当存在多个路由信息源时,具有较高优先级(取值较小)的路由协议发现的路由将成为最优路由。

在华为产品中,各路由协议的缺省优先级如下表所示。其中0表示直连路由,255表示任何来自不可信源端的路由。数值越小代表路由优先级越高。除直连路由(DIRECT)外,各种路由协议的优先级都可由用户手工进行配置。另外,每条静态路由的优先级都可以不相同。

华为产品如NE40E分别定义了外部优先级和内部优先级,外部优先级即上面提到的用户为各路由协议配置的优先级,缺省情况如上表。而当不同的路由协议配置了相同的优先级后,系统会通过内部优先级决定哪个路由协议发现的路由将成为最优路由,如下表所示。

举个例子,比如到达同一目的地10.1.1.0/24有两条路由可供选择,一条静态路由,另一条是OSPF路由,且这两条路由的协议优先级都被配置成了5。此时设备将根据内部优先级进行判断。因为OSPF协议的内部优先级是10,高于静态路由的60,因此会选择OSPF协议发现的路由作为可用路由。

最长匹配原则

IP路由的前缀由IP地址与掩码长度共同定义。最长匹配原则,指的是路由设备收到IP数据包时,会将数据包的目的IP地址同自己本地路由表中的所有表项进行逐位(Bit-By-Bit)的匹配,直至找到前缀匹配度最长的条目,也就是匹配得最为精确的那条路由项所指示的下一跳来进行转发。最长匹配是路由设备进行路由选择的一个最基本的原则,能够提高路由决策效率,避免路由环路的产生。

假设路由表中有三条路由表项,分别为172.16.2.0/24,172.16.1.0/24,172.16.0.0/16,对应的出接口分别是S1、S2、S3。当一个数据包的目的IP地址为172.16.2.1时,根据最长匹配原则,路由设备会选择路由条目1,因为其前缀比路由条目3更长更精确,而路由条目2跟目的地址不匹配。

缺省路由

缺省路由是另外一种特殊的路由。当报文的目的地址无法匹配路由表中的任何目的地址时,便会选取缺省路由;如果没有缺省路由且报文的目的地址不在路由表中,那么报文就会被丢弃。通常情况下,管理员可以通过手工方式配置缺省静态路由;但有些时候,也可以使动态路由协议生成缺省路由,如OSPF和IS-IS。在路由表中,缺省路由以目的地址为0.0.0.0/0的路由形式出现。可通过命令display ip routing-table查看当前是否配置了缺省路由。

IP路由的选路过程可总结如下:

  1. 路由器收到数据包后,基于数据包的目的地址结合选路规则(如最长匹配原则)进行路由查找,如果匹配到了某条路由,则按该条路由所指示的出接口和下一跳进行转发;
  2. 如果没有匹配的表项,则看是否存在缺省路由,如果缺省路由也不存在,则丢弃数据包并向源端设备发送ICMP消息。

主要的路由协议有哪些?

前面提到,路由依据来源的不同主要可以划分为直连路由、静态路由、动态路由协议发现的路由三类。

直连路由

直连路由是由接口链路层协议自动发现的路由,只要该接口处于活动状态,路由器就会把通向该网段的路由信息填写进路由表中。

静态路由

静态路由是一种需要管理员手工配置的特殊路由,当网络结构比较简单时,只需配置静态路由就可以使网络正常工作。当设备不能使用动态路由协议或者不能建立到达目的网络的路由时,也可以使用静态路由。静态路由可以非常准确地控制网络的路由选择。仔细配置和使用静态路由可以改进网络的性能,并可为重要的应用保证带宽。但其缺点在于:当网络发生故障或者拓扑发生变化后,静态路由不会自动改变,必须有管理员的介入,灵活性不足。

动态路由协议

与直连路由、静态路由不同,动态路由协议则有自己的路由算法,能够自动适应网络拓扑的变化,适用于具有一定数量三层设备的网络。缺点是配置相对复杂,对系统的要求高于静态路由,并将占用一定的网络资源。动态路由协议根据作用范围的不同,可以划分为:

  • 内部网关协议(Interior Gateway Protocol,简称IGP):在一个自治系统(Autonomous System,简称AS)内部运行,常见的IGP协议包括RIP、OSPFIS-IS
  • 外部网关协议(Exterior Gateway Protocol,简称EGP):运行于不同自治系统之间,BGP是目前最常用的EGP协议。

常用的动态路由协议及对比见下表。

词条统计
  • 作者: 孙于玲
  • 最近更新: 2024-11-08
  • 浏览次数: 6332
  • 平均得分:
分享链接到: