[网络]路由路由策略

举报
xcc-2022 发表于 2022/07/29 15:43:04 2022/07/29
【摘要】 1、路由1.1什么是路由想要将数据从一个网络发送到另一个网络,我们需要使用路由器来帮助我们转发数据。路由是指路由器从一个接口上收到数据包,根据数据包的目的地址进行定向并转发到另一个接口的过程。 1.2 路由选路路由器通过一定的规则,将收到的数据报以最优的路径转发出去,这个过程就是路由选路。最优路径的选择,不同的协议有不同的判别方式,将在路由协议部分进行详细描述。大概路由选路规则为:1.路由条...

1、路由

1.1什么是路由

想要将数据从一个网络发送到另一个网络,我们需要使用路由器来帮助我们转发数据。路由是指路由器从一个接口上收到数据包,根据数据包的目的地址进行定向并转发到另一个接口的过程。

 

1.2 路由选路

路由器通过一定的规则,将收到的数据报以最优的路径转发出去,这个过程就是路由选路。

最优路径的选择,不同的协议有不同的判别方式,将在路由协议部分进行详细描述。

大概路由选路规则为:
1.路由条目不同时(子网号和掩码不完全相同)

          路由器会一条一条匹配路由表,匹配成功则从该条路由表所指示的接口转发,如果所有路由条目都匹配失败,则丢弃该报文。 如果匹配成功多个路由条目, 此时优先采用掩码最长匹配的条目进行转发。例如条目为/24和/26的两个路由条目,选择/26的进行转发。


2.路由条目相同时(子网号和掩码均相同)
         依次比较 管理距离和代价。


3.若都相同则按照这些条目执行等价负载均衡转发

 

1.3 路由表

1.3.1 什么是路由表

我们在学习二层通信时,在同一局域网下,计算机之间通信需要知道对方的硬件地址,可以通过ARP协议进行查找。为了提高查找和数据转发的效率,每台主机或交换机会维护一个ARP表(ARP转发表),用于记录主机硬件地址与转发接口之间的映射。

与之类似,在跨网段通信时,我们需要知道通讯双方主机的IP地址,通过路由协议查找到达目的地址的转发路径。为了提高路由通信的效率,每台主机及路由器都会维护一个路由表,存储周边网络的拓扑。

不同的是,二层交换机之间通信,每经过一台设备,都会更改数据帧的源、目mac地址,即将从ARP表中查找到的硬件地址存入目的地址,当前转发硬件接口地址作为源MAC地址。但是三层路由器之间通信时,无论经过什么设备,都不会改变源、目的IP地址字段的值。

路由表是路由器转发数据包的关键。每个路由器中都保存着一张路由表,表中每条路由表项都指明了数据包要到达某网络或某主机应通过路由器的哪个物理接口发送,以及可到达该路径的哪个下一跳路由器,或者不再经过别的路由器而直接可以到达目的地

路由表中包含了路由器可以到达的所有目的网络。

 

1.3.2 路由表内容

思科路由器中的路由表:

 

windows系统的主机中的路由表:

 

由上述两张图我们可以看出,不同的厂商、不同的操作系统下,路由表中包含的内容会有些许的差异。 但一些基本的内容却都是一致的:

(1)目的网络IP地址

这个字段下存储的是目的主机所处的网段IP。
(2)子网掩码

      (有类路由协议中是没有子网掩码的,VLSM网络中才需要子网掩码)
        值得注意的是,在使用CIDR或者VLSM的网络中,路由表中的子网掩码通常会用网络前缀来表示(写成:10.0.12.0/24的形式)

(3)下一跳IP地址:

也可以说成是网关地址。指的是想要将数据包发往目的网络,需要将数据发往的下一个路由器地址。

(4)其他信息:

比如接口,跃点数,优先级、管理距离、路由代价等等。

管理距离:
不同协议产生的路由有一个标识优先级的数字,称为管理距离,当不同的路由协议产生同一条路由(指的是子网号和子网掩码均相同时)管理距离小的路由条目优先。

路由代价(开销):

是指从本路由器到达目的网络所需要的开销。在rip协议中指的是到达目的地址所要经过的跳数;在OSPF协议中是到达目的地所要经过的链路带宽和。

在路由表中,对每一条路由,最主要的是:(目的网络地址,下一跳地址)

1.3.3 路由分类

根据路由表项来源的不同,分为以下几种类型

1、直连路由:指设备自动发现的路由信息
不需要我们设置,也不需要使用动态路由协议。只要路由器开机,端口打开,就能访问到与这个端口直接相连的网络。

2、默认路由
也叫作缺省路由,用来减少路由表所占用的空间和搜索路由表所用的时间。计算机或路由器的IP路由表中可能存在默认路由,也可能不存在。
若网络设备的IP路由表中存在默认路由,当一个待发送或待转发的IP报文不能匹配IP路由表中的任何非默认路由时,会根据默认路由来进行发送或转发;若网络设备的IP路由表中不存在默认路由,当一个待发送或待转发的IP报文不能匹配IP路由表中的任何路由时,就会将IP报文直接丢弃。

应用:如果一个主机连接在一个小网络上,而这个网络只用一个路由器和因特网连接,那么在这种情况下使用默认路由是非常合适的。

3、静态路由:指手工配置的路由信息。
静态路由的Protocol属性为Static,表示是一条静态路由;其Cost的值可以人为设定。

4、动态路由:只通过动态路由协议生成的路由信息。

 

 

1.4 路由转发

 

以上图为例:

H1要与H2通信,数据报发至路由器R1时,查找R1的路由表。将目的IP依次与路由表中的子网掩码相与,发现主机H2的IP地址:128.30.33.138 与255.255.255.128相与后,落在了128.30.33.128网段上,因此路由器将数据包按照路由表指示,从1接口发出。

 

总结来说,分为以下几步:
(1)发送方主机检查目的IP是否在本地网段,如果是就直接交付。
(2)如果目的IP与自己不是同一网段,查找主机自己的路由表,将数据包发送给网关路由器。
(3)路由器查找自己的路由表,将目的IP依次与路由表中的子网掩码相与,看是否有匹配的路由条目;如果匹配不上的一律交由默认路由进行转发。如果既匹配不上又没有设置默认路由,则将该数据丢弃。
(4)如果能找到匹配的路由信息,则通过ARP协议,寻找下一跳路由器的硬件地址,将数据包转发给下一跳路由器。

1.5 最长匹配原则

问题:当使用CIDR(无分类编址)时,路由表中存储的信息是【网络前缀,下一跳】,这就可能出现同一个目的IP可能与多个网络前缀相匹配,该如何解决呢?

当出现上述情况时,我们需要采用最长匹配原则。从匹配结果中选择具有最长网络前缀的路由:最长前缀匹配(longest-prefix matching)。网络前缀越长,其地址块就越小,因而路由就越具体(more specific) 。因此最长前缀匹配又称为最长匹配或最佳匹配

 

过程如下:

ISP收到一个目的地址 D = 206.0.71.128的分组,假设ISP中只有两条路由:
206.0.68.0/22
206.0.71.128/25

(1)先与第一条路由进行匹配

 (2)与第二条路由进行匹配

发现同时匹配两条路由信息,比较这两条路由信息的网络前缀,第二条网络前缀比较长,因此最终选择第二条路由。

 

1.6 浮动静态路由

1.6.1 概念

是一种特殊的静态路由。通过配置去往相同的目的网段,但是优先级不同的静态路由,保证在网络中优先级较高的路由即主路由失效的情况下,提供备份路由。正常情况下,备份路由时不会出现在路由表中的。

当数据包前往目的网络有多条可用链路到达时,我们可以配置浮动静态路由,使得当主链路失效时,浮动静态路由自动生效,数据经浮动静态路由指定路径前往目的网段,而不会出现传输中断,相当于对链路做冗余。浮动静态路由不启用时是不会显示在路由表中的,只有当主路由失效,配置的浮动静态路由才会浮现在路由表中。(一般路由优先级默认为1,有效值1~255,优先级值越小优先级越高)

1.6.2 实验配置

 

 

R2#:ip route 11.1.1.0 255.255.255.0 12.1.1.1      //默认优先级为1  
R2#:ip route 11.1.1.0 255.255.255.0  23.1.1.3 10  //优先级设置为10,备份路由

 

查看路由表,发现路由表中只有一条到达11.1.1.0网段的路由信息。

此时我们关闭这条路由信息对应的端口f1/0,再次进行tracerout命令,发现路由器选择了备份路由条目来作为转发依据。如下图:

 

1.7 静态负载均衡路由

配置过程与浮动经验路由一致,但是在配置第二条路由时,不需要再为其定义优先级。两条去往相同网段的路由信息会同时呈现在路由表中。当路由器需要向该网段发送数据时,会执行负载均衡。

如果该路由器是逐包的,可以观察到,数据包交替使用两条路由信息。

如果路由器是逐流转发,则无法观察到该实验现象。因为同一条数据流只会使用同一个路由信息。不同的流之间才会实现负载均衡。

 

1.8 策略路由

1.8.1 概念

所谓策略路由,顾名思义,即是根据一定的策略进行报文转发,因此策略路由是一种比目的路由更灵活的路由机制。在路由器转发一个数据报文时,首先根据配置的规则对报文进行过滤,匹配成功则按照一定的转发策略进行报文转发。这种规则可以是基于标准和扩展访问控制列表,也可以基于报文的长度;而转发策略则是控制报文按照指定的策略路由表进行转发,也可以修改报文的IP优先字段。因此,策略路由是对传统IP路由机制的有效增强

策略路由能满足基于源IP地址、目的IP址、协议字段,甚至于TCP、UDP的源、目的端口等多种组合进行选路。简单点来说,只要IP standard/extended ACL 能设置的,都可以做为策略路由的匹配规则进行转发。

策略路由可以在一定程度上实现流量工程,使不同服务质量的流或者不同性质的数据(语音、FTP)走不同的路径。
基于策略的路由为网络管理者提供了比传统路由协议对报文的转发和存储更强的控制能力。基于策略的路由比传统路由能力更强,使用更灵活,它使网络管理者不仅能够根据目的地址而且能够根据协议类型、报文大小、应用或I P源地址来选择转发路径。策略可以定义为通过多路由器的负载平衡或根据总流量在各线上进行报文转发的服务质量(Q o S )。

因此,策略路由实际上与路由表作用一致,用来指示数据信息的转发方向,是一种更高级的路由表。他的优先级高于所有类型的路由表。

策略路由有以下优点:

  • 基于源的路由可以使不同的用户选择不同的ISP
  • 灵活的操纵报文
  • 服务质量
  • 节省费用
  • 负载均衡

 

策略路由的匹配流程:

1.8.2 策略路由的特点

1)策略路由比所有路由的级别都高,其中包括直连路由。(路由的优先级:策略路由 > 默认路由 > 动态路由)

2)策略路由是转发层面的行为,操作的对象是数据包,匹配的是数据流,具体是指数据包中的各个字段:源IP、目标IP、协议、源端口、目标端口、802.1p优先级 、VLANID 源/目的MAC地址、IP优先级 、DSCP的优先级 、IP的协议类型字段

3)为QoS服务。使用route-map及策略路由可以根据数据包的特征修改其相关QoS项,进行为QoS服务。

4)负载平衡。使用策略路由可以设置数据包的行为,比如下一跳、下一接口等,这样在存在多条链路的情况下,可以根据数据包的应用不同而使用不同的链路,进而提供高效的负载平衡能力。

策略路由影响的只是本地的行为,所以可能会引起“不对称路由”形式的流量。比如一个单位有两条上行链路A与B,该单位想把所有HTTP流量分担到A链路,FTP流量分担到B链路,这是没有问题的,

但在其上行设备上,无法保证下行的HTTP流量分担到A链路,FTP流量分担到B链路。

5)策略路由一般针对的是接口入(in)方向的数据包,但也可在启用相关配置的情况下对本地所发出的数据包也进行策略路由。

 

1.8.3 配置策略路由

配置策略路由注意事项:

  •  配置一个route-map,在同一个接口上多次配置route-map会相互覆盖。
  • 在使用策略路由时,每个子路由图建议只配置一个ACL;
  • 如果配置的子路由图中只有nexthop而没有配置ACL,则等价于所有报文都匹配;
  • 如果子路由图中只有ACL而没有nexthop则匹配的报文普通转发;
  • 如果子路由图中即没有ACL也没有nexthop,则等价所有报文普通转发。
  • 如果配置了ACL号但是该ACL不存在,等价所有报文都匹配

 

以上图为例进行配置,连接两家ISP时使用基于策略的路由选择

 

配置流程:

(1)先定义ACL,作为匹配条件

(2)使用router-map定义策略路由

命令格式:

route-map name [ permit | deny ] [sequence-number ]

创建策略路由,名为ruijie,符合子句中的匹配条件,则报文将被进行策略路由

(3)match命令

match命令:定义路由策略应用条件和结果
match ip address { access-list-number | name } [ …access-list-number | name ]

首先用match定义一个条件,这个条件可以是多个并列也可是“或”的关系,然后设置set语句,当满足该条件时执行set后的语句,否则跳过该语句

 

(4)set命令:定义执行的动作

set命令:
set ip next-hop ip-address […ip-address ]
set ip next-hop
set interface
set ip default next-hop
 set default interface
set ip tos
set ip precedence

 

 


(5)在接口上配置策略路由
ip policy route-map route-map

完整的配置:

 

1.8.4 策略路由应用场景

常见的应用模式有以下几种:

1.上网负载均衡:对于多条ISP线路,网络管理员可以在不同的路径之间根据带宽分配内网上网流量,实现负载平衡。

2.基于源地址选路:例如一个网络通过两条速度不同的线路接入BT4互联网,管理员可以指定内网中一些特定的用户使用快速线路,而普通用户使用慢速线路。

3.根据服务级别选路:对于不同服务要求(如:传送速率、吞吐量以及可靠性等)的数据,根据网络的状况进行不同的路由。如:指定语音与视频等应用走带宽大的线路,数据应用走带宽小的线路。

4、VPN线路备份:安全网关的几条接入线路都可以作为VPN接入的端点,移动用户可以从任何一个接入点通过VPN隧道安全接入内网,从而实现vpn接入线路的相互备份。

 

在具体的应用中,基于策略的路由有:
☆ 基于源IP地址的策略路由
☆ 基于数据包大小的策略路由
☆ 基于应用的策略路由
☆ 通过缺省路由平衡负载

 

1.9 路由策略

定义
路由策略主要实现了路由过滤和路由属性设置等功能,它通过改变路由属性(包括可达性)来改变网络流量所经过的路径。

目的
路由协议在发布、接收和引入路由信息时,根据实际组网需求实施一些策略,以便对路由信息进行过滤和改变路由信息的属性,如:
   (1) 控制路由的接收和发布
    只发布和接收必要、合法的路由信息,以控制路由表的容量,提高网络的安全性
    (2)控制路由的引入
    在一种路由协议引入其它路由协议发现的路由信息丰富自己的路由信息时,只引入一部分满足条件的路由信息。(过滤别人发过来的路由信息,选择性的添加到自己的路由表中)
    (3)设置特定路由的属性
    修改通过路由策略过滤的路由的属性,满足自身需要。

 

路由策略实际上是形成路由表的另一种方式,根据一些策略改变路由属性来改变生成的路由表项。

 

 

策略路由与路由策略不同:

(1)策略路由的操作对象是数据包,在路由表已经产生的情况下,不按照路由表进行转发,而是根据需要,依照某种策略改变数据包转发路径。

(2)路由策略的操作对象是路由信息。路由策略主要实现了路由过滤和路由属性设置等功能,它通过改变路由属性(包括可达性)来改变网络流量所经过的路径。

(3)策略路由的查找优先级比路由策略高,当路由器接收到数据包并进行转发时,会优先根据策略路由的规则进行匹配,如果能匹配上,则根据策略路由进行转发,否则按照路由表中的路由条目来进行转发。

(4)其中策略路由不改变路由表中的任何内容,它可以通过预先设置的规则来影响数据报文的转发。

 

 

以下图直观的来说,路由策略只是更改了生成的路由表,不涉及转发;在转发时,有限考虑策略路由,在策略路由不满足的情况下,再去匹配下方普通的路由表项或者被路由策略该过的表项。

 

 

 

 

 

 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200