0 前缀列表
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
现在有两个不同掩码的路由:
1.1.0.0/16
1.1.0.0/18
如果用Distribute-list把1.1.0.0/16过滤掉,Distribute-list需要调用ACL,ACL能不能匹配1.1.0.0/16?
如果写成access-list1permit1.1.0.00.0.255.255,这只能匹配一段IP地址,与掩码无关PREFIX-LIST是用于匹配前缀(路由)的
ACL用于匹配地址,意味者ACL抓取路由能力不足,不能匹配掩码
标准ACL是前缀+通配符,两者是一体的,涉及不到掩码的问题
例如:ACC1PER3.3.3.00.0.0.0对于3.3.3.0/24和3.3.3.0/25是都能匹配的,因为后两者的子网掩码对于ACL完全不认识,但是在路由条目中,两者可是两条路由
前缀列表:用于应对标准ACL的掩码不能匹配的缺陷
格式
R3(config)#ip prefix-list?
WORD Name of a prefix list,前缀列表的名字,大小写区分的sequence-number Include/exclude sequence numbers in NVGEN
R3(config)#ip prefix-list1?
deny Specify packets to reject
description Prefix-list specific description
permit Specify packets to forward
seq sequence number of an entry
R3(config)#ip prefix-list1deny?
A.B.C.D IP prefix<network>/<length>,e.g.,35.0.0.0/8
length是一种匹配。
表示前缀的前多少位一定是和前面写的prefix是一样的,后面的位放开ge(大于等于)和le(小于等于)用于定义掩码
ge掩码最短有多短,le掩码最长有多长
1.1.0.0/24相当于1.1.0.0~1.1.0.255
经过ge和le后,就是1.1.0.0/24
R3(config)#ip prefix-list1deny1.1.1.1/8?
ge Minimum prefix length to be matched
le Maximum prefix length to be matched
选择ge
R3(config)#ip prefix-list1deny1.1.1.1/8ge?
<1-32>Minimum prefix length
R3(config)#ip prefix-list1deny1.1.1.1/8ge1?
le Maximum prefix length to be matched
<cr>
R3(config)#ip prefix-list1deny1.1.1.1/8ge1le?
<1-32>Maximum prefix length
选择le
R3(config)#ip prefix-list1deny1.1.1.1/8le?
<1-32>Maximum prefix length
理解:
r3(config)#ip prefix-list A permit172.16.12.0/24ge24le24
但是实际配置中,一定要求:length<ge数值<=le数值,所以实际的写法为:
r3(config)#ip prefix-list A permit172.16.12.0/24
不写ge和le,就是严格匹配/24(可以理解为如果不写ge和le的话,24在这里除了代表length 的含义,还代表ge和le也是24这个数值)
如果只写ge的数值,le默认为32
如果只写le的数值,ge默认为length的数值(直接写ge为length的数值是不允许的,因为在实际配置中,一定要求:length<ge数值<=le数值)
验算匹配条目的数量是否正确的方法:
当ge=le,ge(或le)-length=Q,匹配条目的数量n=2Q
当ge不等于le,a=le-length,z=ge-length
匹配的条目数n=2a+ (2)
那么对于172.16.12.0/22ge24le25
a=25-22=3,z=24-22=2
匹配的条目n=22+23=12条
具体匹配的12个条目明细为:
172.16.00001100.00000000/22
172.16.00001100.00000000ge24,放开两位,匹配4条
172.16.00001100.00000000le25放开三位,匹配8条
匹配的4条为:
172.16.00001100.0/24
172.16.00001101.0/24
172.16.00001110.0/24
172.16.00001111.0/24
匹配的8条为:
172.16.00001100.00000000/25
172.16.00001100.10000000/25
172.16.00001101.00000000/25
172.16.00001101.10000000/25
172.16.00001110.00000000/25
172.16.00001110.10000000/25
172.16.00001111.00000000/25
172.16.00001111.10000000/25
以下例子用前缀列表怎么匹配?
172.16.12.0/24
172.16.13.0/24
172.16.14.0/24
172.16.15.0/24
172.16.00001100.00000000
172.16.00001101.00000000
172.16.00001110.00000000
172.16.00001111.00000000
前22位是保持不动的,后面的10位是放开的
172.16.12.0/22ge24le24
用验算:24-22=2,匹配4条路由,通过验算证明是精确匹配这四条路由的
172.16.12.0/25
172.16.13.0/25
172.16.14.0/25
172.16.15.0/25
172.16.12.0/22ge25le25能匹配8条路由
但是,前缀列表本身也有其缺点,它个ge和le只能标识一个连续范围内SM变动的情况,如果向匹配不连续的子网掩码的例子,还要求助于ACL
可使用的这种ACL是在重分布和BGP中调用的扩展ACL,因为在重分布和BGP中,不会关注具体路由的情况,所以能赋予扩展ACL参数以不同的含义
在IGP中,普通的ACL匹配的是源和目的地址,以及各自的通配符
ACC100per ip x.x.x.x a.a.a.a y.y.y.y b.b.b.b
而在重分布和BGP中,扩展ACL可以既匹配前缀又匹配掩码,也就是前缀和SM的后面各自跟着对应的通配符
ACC100per ip x.x.x.x a.a.a.a y.y.y.y b.b.b.b
172.16.12.0/24
172.16.13.0/24
172.16.14.0/24
172.16.15.0/24
172.16.12.0/25
172.16.13.0/25
172.16.14.0/25
172.16.15.0/25
在BGP里可以通过一条写成:172.16.12.00.0.3.0255.255.255.00.0.0.128
因为对于掩码/24:255.255.255.00000000
因为对于掩码/25:255.255.255.10000000
掩码的第25位是放开的,通配的原则是0代表完全匹配,1代表do no care,所以SM的通配符是0.0.0.10000000
EIGRP综合实验的前缀列表要求
匹配住B类路由
B类路由无需考虑子网掩码的问题
只需要牢记B类路由都是10xxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx类型的所以,前缀列表可以写成:
ip prefix-list A permit128.0.0.0/2le32
A类:
0.0.0.0/1le32
C类:
192.0.0.0/3le32
prefix-list的“permit any”:
ip prefix-list A deny………
ip prefix-list A permit0.0.0.0/0le32
如果是permit0.0.0.0/0,指匹配默认路由。