计算机网络-路由策略与路由控制一

发布于:2024-05-16 ⋅ 阅读:(81) ⋅ 点赞:(0)

到目前为止我们学习了路由与交换基础,路由协议有静态、RIP、OSPF、IS-IS等,但是根据实际组网需求,往往需要实施一些路由策略对路由信息进行过滤、属性设置等操作,通过对路由的控制,可以影响数据流量转发。

因此我们开始学习一些针对路由进行过滤修改的工具,以便更好地实现组网需求。

一、路由控制

背景
背景

路由控制可以通过路由策略(Route-Policy)实现,路由策略应用灵活而广泛,有以下几种常见方式:

  • 控制路由的发布:通过路由策略对发布的路由进行过滤,只发布满足条件的路由。
  • 控制路由的接收:通过路由策略对接收的路由进行过滤,只接收满足条件的路由。
  • 控制路由的引入:通过路由策略控制从其他路由协议引入的路由条目,只有满足条件的路由才会被引入。

路由策略可以对路由的产生、发布和选择进行控制,进而影响数据包的转发路径。

路由控制
路由控制

简单说就是通过路由匹配工具匹配到对应的路由或者前缀,然后通过路由策略工具过滤、修改路由的属性(tag、下一跳等等)。

二、路由匹配工具

路由匹配工具主要用于识别和“抓取”特定的路由信息,可以根据预设的条件匹配路由,从而对路由信息进行过滤或选择。

2.1 ACL访问控制列表

ACL我们前面其实已经学习过了,那时候也大致讲了一些作用和使用场景,ACL一般结合其它工具实现具体需求。

访问控制列表(Access Control List,ACL)是一个匹配工具,能够对报文及路由进行匹配和区分。

ACL由若干条permit或deny语句组成。每条语句就是该ACL的一条规则,每条语句中的permit或deny就是与这条规则相对应的处理动作。 ACL访问控制列表

组成 作用
ACL编号 不同的编号范围代表不同的ACL类别
规则编号 默认从小到大,默认步长是5
动作 deny/permit执行允许或拒绝动作
匹配项 根据五元组等信息进行匹配

当进行IP地址匹配的时候,后面会跟着32位掩码位,这32位称为通配符。

通配符 (Wildcard) ,通配符是一个32比特长度的数值,用于指示IP地址中哪些比特位需要严格匹配,哪些比特位无需匹配。通配符通常采用类似网络掩码的点分十进制形式表示,但是含义却与网络掩码完全不同。

通配符,也是点分十进制格式,换算成二进制后,“0”表示“匹配”,“1”表示“不匹配”。通配符中的1或者0可以不连续。 通配符

两个特殊的通配符:

  • 当通配符全为0来匹配IP地址时,表示精确匹配某个IP地址;
  • 当通配符全为1来匹配0.0.0.0地址时,表示匹配了所有IP地址。

基于编号的ACL分类:

分类 编号范围 规则定义描述
基本ACL 2000~2999 仅使用报文的源IP地址、分片信息和生效时间段信息来定义规则。
高级ACL 3000~3999 可使用IPv4报文的源IP地址、目的IP地址、IP协议类型、ICMP类型、TCP源/目的端口、UDP源/目的端口号、生效时间段等来定义规则。
二层ACL 4000~4999 使用报文的以太网帧头信息来定义规则,如根据源MAC地址、目的MAC地址、二层协议类型等。
用户自定义ACL 5000~5999 使用报文头、偏移位置、字符串掩码和用户自定义字符串来定义规则。
用户ACL 6000~6999 既可使用IPv4报文的源IP地址或源UCL(User Control List)组,也可使用目的IP地址或目的UCL组、IP协议类型、ICMP类型、TCP源端口/目的端口、UDP源端口/目的端口号等来定义规则。

最常用的是基本ACL和高级ACL,基本ACL匹配全部流量,高级ACL匹配源目信息。

ACL匹配机制:

匹配机制
匹配机制
  • 顺序匹配
  • 一旦命中立即停止
  • 默认最后有一条拒绝所有的匹配规则

ACL技术总是与其他技术结合在一起使用的,因此,所结合的技术不同,“允许 (permit)”及“拒绝 (deny)”的实际作用也会不同。例如,当ACL技术与路由过滤技术结合使用时,permit就是“匹配该条路由条目”的意思,deny就是“不匹配该条路由条目”的意思。

匹配示例
匹配示例

2.2 IP前缀列表(IP-Prefix List)

ACL只能匹配路由的前缀,无法匹配路由的网络掩码,也就是只能匹配网络地址,而不能对掩码位进行匹配,因此有了另外一个工具。

IP前缀列表(IP-Prefix List) 是将路由条目的网络地址、掩码长度作为匹配条件的过滤器,可在各路由协议发布和接收路由时使用。不同于ACL,IP-Prefix List能够同时匹配IP地址前缀长度以及掩码长度,增强了匹配的精确度。

IP前缀列表
IP前缀列表

组成部分:

  • ip-prefix-name:地址前缀列表名称
  • 序号:本匹配项在地址前缀列表中的序号,匹配时根据序号从小到大进行顺序匹配
  • 动作:permit/deny,地址前缀列表的匹配模式为允许/拒绝,表示匹配/不匹配
  • IP网段与掩码:匹配路由的网络地址,以及限定网络地址的前多少位需严格匹配
  • 掩码范围:匹配路由前缀长度,掩码长度的匹配范围 mask-length<=greater-equal-value<=less-equal-value<=32

IP-Prefix的匹配机制:

匹配机制
匹配机制
匹配示例
匹配示例
  • 按照节点顺序匹配
  • 末尾默认拒绝所有

配置示例:

# 多节点匹配,相同前缀列表aa下面有10和20节点,隐含末尾deny所有
ip ip-prefix aa index 10 deny 10.1.1.0 24
ip ip-prefix aa index 20 permit 10.1.1.1 32

# 单节点匹配,前缀列表bb,在10.1.1.0 24 中进行匹配,掩码大于等于26小于32才匹配,隐含末尾拒绝所有
ip ip-prefix bb index 10 permit 10.1.1.0 24 greater-equal 26 less-equal 32

# 配置前缀列表
[Huawei] ip ip-prefix ip-prefix-name [ index index-number ] { permit | deny } ipv4-address mask-length [ match-network ] [ greater-equal greater-equal-value ] [ less-equal less-equal-value ]
# 配置项说明
ip-prefix-name:指定地址前缀列表的名称。
index index-number:指定本匹配项在地址前缀列表中的序号。
permit:指定地址前缀列表的匹配模式为允许。
deny:指定地址前缀列表的匹配模式为拒绝。
ipv4-address mask-length:指定IP地址和指定掩码长度。
greater-equal greater-equal-value:指定掩码长度匹配范围的下限。
less-equal less-equal-value:指定掩码长度匹配范围的上限。
匹配示例
匹配示例

前缀列表就是在一个网段范围内精确匹配,最低掩码多少位,最大掩码多少位的方式进行匹配。

本文由 mdnice 多平台发布