路由前缀列表中prefix-list

1.1.1.1/8 ge 16 le 32 表示的意思。

       1.1.1.1二进制表示:00000001.00000001.00000001.00000001,其中 /8表示必须从参考的IP中匹配前00000001。后头定义的是路由前缀的范围,意义是,只有前缀大于16 小于32 内才有效。如果有路由是1.1.1.0/8 那这样的情况是不符合定义的,为什么因为他的前缀是8,而不是的范围。所以它不能通过。那1.1.1.0/9呢?一样也不是范围内的,不能通过。那1.1.1.0/17呢?这条路由可以pass,理由是他的前缀大于了16,小于 32。那如果是2.2.2.0/17呢,这样的情况虽然你的前缀符合了定义,但是你的路由是2.x.x.x的不符合参考IP。前8个二进制必须以00000001,即等于1.x.x.x,然后才有资格看前缀是否符合了。

    总结:前缀列表由2个部分组成:参考的IP;匹配参考IP位数的掩码。比如你要想匹配住2.x.x.x/17 ,那我们只需要

写1.1.1.0/6 ge 7 le 32,这样的话就是匹配了。参考IP1.1.1.0中的前6个二进制,即00000001中的000000XX.X.X 。其中000000XX,中的XX即可以是00,01,10或者是11开头的IP路由。再来就是前缀范围,这次的前缀范围也变大了,是大于 7。这样的话,很多路由都会被匹配,如2.2.2.2/8 这个路由也会PASS了。

举例。之前一直看不懂这三条的意思,到底是怎么匹配的。

ip prefix-list test16 seq 5 permit 0.0.0.0/1 ge 8 le 8                 配置A类地址

ip prefix-list test16 seq 10 permit 128.0.0.0/2 ge 16 le 16      配置B类地址

ip prefix-list test16 seq 15 permit 192.0.0.0/3 ge 24 le 24      配置C类地址

现在以ip prefix-list test16 seq 5 permit 0.0.0.0/1 ge 8 le 8  为例,来解释这条命令为什么是“配置A类地址”。

  0.0.0.0的前1个二进制即0XXXXXXX.X.X.X,其中/1是指第一位必须匹配,必须为0。后面的X可以是0或者1,不影响。为什么第一位必须是0,因为A类地址是0-127,0XXXXXXX,后面的X值无论是0或者是1,这个前八位的值最小是0,最大是127,这样才符合要求。ge 8 le 8 则保证了所有的前缀都是在8位这个范围之类。同理可以解释后面二条命令。





猜你喜欢

转载自blog.csdn.net/nokia_hp/article/details/46754721
今日推荐