前缀列表prefilist使用详解
- 格式:doc
- 大小:18.00 KB
- 文档页数:5
前缀、中缀、后缀表达式表达式是数学和计算机科学中常见的概念,用于描述数值计算或逻辑运算。
在表达式中,运算符和操作数以特定的顺序组合在一起,形成一个完整的计算式。
表达式可以使用不同的表示方法,其中包括前缀、中缀和后缀表达式。
前缀表达式,也称为波兰表达式,是由波兰数学家扬·武卡谢维奇首先提出的。
在前缀表达式中,运算符位于操作数之前,这种表示方法非常直观,使得计算机能够更方便地进行运算。
例如,前缀表达式"+ 3 4"表示的是3+4,其中"+"为运算符,而3和4为操作数。
在计算机中,前缀表达式可以通过栈来进行计算,先将操作数入栈,然后按照运算符的顺序进行计算。
中缀表达式是我们常见的数学表达式表示方法,其中运算符位于两个操作数之间。
例如,中缀表达式"3 + 4"表示的是3+4。
在计算机中,中缀表达式需要通过运算符的优先级和括号来确定运算的顺序。
为了方便计算机进行运算,我们可以将中缀表达式转换为前缀或后缀表达式。
后缀表达式,也称为逆波兰表达式,是由澳大利亚计算机科学家查尔斯·鲁瑟福德提出的。
在后缀表达式中,运算符位于操作数之后,这种表示方法更加简洁明了。
例如,后缀表达式"3 4 +"表示的是3+4。
计算机可以通过栈来进行后缀表达式的计算,将操作数入栈,遇到运算符时将栈顶的两个操作数弹出进行运算,再将结果入栈,直到整个表达式计算完毕。
前缀、中缀和后缀表达式在计算机科学中都有各自的应用场景。
前缀表达式适合计算机进行快速计算,特别是对于表达式中含有复杂运算符优先级的情况。
中缀表达式是我们常见的数学表达方式,更加直观易懂,但需要借助运算符优先级和括号来确定计算顺序。
后缀表达式则更加简洁明了,没有括号和优先级的限制,方便计算机进行计算。
在实际应用中,我们可以根据需要选择适合的表达式表示方法。
如果需要对表达式进行计算,尤其是对复杂运算符优先级的表达式进行快速计算,可以选择使用前缀或后缀表达式。
alist 常用命令alist是Python中的一种数据类型,它是有序、可重复、可修改的集合。
在Python中,我们可以使用一些常用的alist命令来操作alist对象。
本文将介绍alist常用命令的使用方法,包括创建alist、访问alist元素、修改alist、删除alist元素、alist长度、alist排序等。
1. 创建alist(创建空的alist或带有初始元素的alist)- 使用空的中括号创建一个空的alist:`my_list = []`- 使用中括号和元素列表创建一个带有初始元素的alist:`my_list = [1, 2, 3, 4, 5]`2. 访问alist元素(通过下标访问alist中的元素)- 使用下标访问alist中的元素,下标从0开始:`my_list[0]`可以访问alist中的第一个元素,`my_list[2]`可以访问alist中的第三个元素3. 修改alist元素(通过下标修改alist中的元素)- 使用下标和赋值操作符修改alist中的元素:`my_list[0] = 10`可以将alist中的第一个元素修改为104. 删除alist元素(通过下标删除alist中的元素)- 使用del关键字和下标删除alist中的元素:`del my_list[2]`可以删除alist中的第三个元素5. alist长度(获取alist中元素的个数)- 使用len函数获取alist中元素的个数:`length = len(my_list)`6. alist排序(对alist中的元素进行排序)- 使用sort方法对alist中的元素进行升序排序:`my_list.sort()`- 使用reverse方法对alist中的元素进行降序排序:`my_list.reverse()`7. alist切片(获取alist中的子集)- 使用切片操作符获取alist中的子集:`sub_list = my_list[1:3]`可以获取alist中下标从1到2的元素8. alist追加元素(向alist末尾添加元素)- 使用append方法向alist末尾添加元素:`my_list.append(6)`9. alist扩展(将另一个alist中的元素添加到当前alist末尾)- 使用extend方法将另一个alist中的元素添加到当前alist末尾:`my_list.extend(another_list)`10. alist查找元素(查找alist中是否存在某个元素)- 使用in关键字判断某个元素是否在alist中:`if 10 in my_list:` - 使用index方法获取某个元素在alist中的下标:`index = my_list.index(10)`11. alist计数元素(计算alist中某个元素的个数)- 使用count方法计算alist中某个元素的个数:`count = my_list.count(10)`12. alist复制(复制一个新的alist)- 使用copy方法复制一个新的alist:`new_list = my_list.copy()`13. alist清空(清空alist中的所有元素)- 使用clear方法清空alist中的所有元素:`my_list.clear()`14. alist删除(删除整个alist)- 使用del关键字删除整个alist:`del my_list`通过上述常用alist命令的使用,我们可以灵活地操作alist对象,实现对alist中的元素的创建、访问、修改、删除、排序、查找、计数、复制等操作。
Premimre从入门到精通全套教程(PR各版本均适用)P1创建序列一、创建方法1.方法1:点击文件下拉菜单中的新建、序列创建2.方法2:点击鼠标右键新建项目、序列创建3.方法3:点击项目面板右下脚新建图标、新建创建4.方法4:快捷键Ctrl+N 弹出对话框创建二、如何科学创建各种类别的序列(一)类别1常规序列逐行扫描(P)25帧率1.如何创建标清序列选择DV-PAL 如果要创建4:3的选择标准48KHz点击确定如果要创建16:9的宽高序列选择标准宽屏48KHz 点击确定2.如何创建高清序列逐行扫描字母P 隔行扫描的自摸i选择AVCHD文件夹普通高清720p25 点击确定3.创建超高清序列选择AVCHD文件夹选择1080p25点击确定4.创建4K和2K序列在DNVHD文件夹中展开创建方法同上(二)类别2非常规序列非逐行扫描非25帧率非正常宽高比网上下载的好多视频不是类别1序列,解决方法:1.方法1没有建立序列点击视频查看信息假如不匹配直接把素材往时间轴上拖软件就会自动的建立一个和此素材匹配的序列出来如果选择“更改序列设置”之前所建的序列就会迁就素材而发生改变2.已经建好了16:9的序列直接把视频拖到时间轴上来(不要点击“剪辑不匹配警告”对话框)点击鼠标右键点击缩放为帧大小视频就会根据我们已经建好的序列发生改变(首选这个方法)P2导出文件的要领要领一、导出命令1.方法1:文件下拉菜单中导出、媒体就会弹出导出设置的对话框2.方法2:快捷键Ctrl+M就会弹出导出设置的对话框要领二、导出格式的设置1.导出设置对话框通常输出格式为MP4 选择H.264在预设里有很多参数直接选中匹配源·高比特率点击导出就可以导出了(1920*1080)P3导入各类别素材一、导入素材的6种命令1.文件下拉菜单导入就弹出导入素材的对话框2.快捷键Ctrl+I 就弹出导入素材的对话框3.双击项目面板空白处就弹出导入素材的对话框(推荐)4.在项目面板空白处单击鼠标右键导入5.在媒体浏览器面板选择本地素材直接拖到时间轴上面6.在外部文件夹找到我们所需要的素材直接拖向软件的项目面板二、导入不同类别的各类素材(一)类别1普通视/音频文件双击项目面板在目标文件夹选中我们所需的目标素材拖到时间轴就可以进行剪辑(不匹配点击缩放为帧大小)(二)类别2静帧图片文件操作同上(不匹配点击缩放为帧大小)(三)类别3图像序列素材如关于化妆品的几十张序列图片(一序列数字的形式连接在一起的如0001、0002、0002....)同上操作就是一个静帧的图片选择一个隐藏的功能:选中任意一张图片在选项里面勾选图像序列点击导入原本是图像的素材就以视频的形式运动起了(四)类别4图层文件(PSD、AI等)图层文件导入时会有几个导入类别选项默认为合并所有图层此时以一个完整的形式导入进来了;默认为合并的图层可以勾选我们所需要的图层此时导入进来就是我们所需的其中的图层;默认为各个图层会默认生成一个文件夹文件夹里分别显示各自独立的图层;默认为序列三个图层独立存在多了一个3c的序列双击3c的序列就可以看到三个图层纵向并排堆在时间轴上面(图层文件为3层)P4 五分钟学会PR剪辑素材最常用的4种方法方法1.剃刀工具(快捷键C)选择需要剪辑的地方比如2-8秒的视频不要用剃刀工具的左键单击2秒这个时间轴再定位到第5秒切一下在切换到选择工具选择它Delete取消点右键删除波纹方法2.选择工具(快捷键V)这里有两段素材按上下键让指针跳转到两段素材的接点时间指针指到5秒08帧的位置想要删除01素材的后2秒定位到3秒08帧的地方鼠标变形从5秒08帧的地方向前拖动到3秒08帧的地方放下鼠标01尾巴上的素材就被剪掉了点击右键删除右边空余的波纹方法3.波纹编辑工具(快捷键B)想截掉01素材定位好时间直接拖到想要的地方就可以直接截掉(推荐)方法4.打入点、出点在源监视器视频上选择我们所需要的片段如2-5秒中间的视频在2秒处打入点在5秒处打出点然后直接将2-5中间的这段视频直接拖到时间轴就可以了(如果要视频音频一起剪辑就直接从源监视器把视频拖到时间轴也可选择只拖音频或者视频到时间轴)P5两种更改PR剪辑速度的方法方法1 “速度/持续时间”的命令在时间轴素材上点击鼠标右键点击速度持续时间可以调整速度百分比如这里调成400 速度就变成了原速度的4倍如调成50 速度就变成了原速度的一半视频倒放在时间轴素材上点击鼠标右键速度调成20 勾选倒放速度视频将以2倍的速度出现倒放效果方法2 比率拉伸工具(R键)在工具栏用鼠标长按波纹编辑工具图标点击里面的比率拉伸工具鼠标键会变成比率拉伸工具把鼠标放在视频的头或者尾的时候鼠标会发生形变左键单击尾巴向左拖动时间轴滑块时间轴变短视频播放速度变快了向右拖动时间轴滑块时间轴变长视频播放速度变慢(和方法1相比无法实现倒放)P6 三种PR画面定格效果把视频拖放到时间轴,让画面运动到第1秒的地方让画面定格2秒钟方法1“帧定格”截断画面复制粘贴用剃刀工具在第1秒报素材切开在第3秒也做一个定位把素材切开切换到选择工具选中素材时间指针在切点的位置保持不变Ctrl+C复制素材编辑下拉菜单点击粘贴插入(Ctrl+V更方便)相当于同样的素材用了2遍选中第1段素材点击鼠标右键点击锁定格选项在帧定格选项中定格位置勾选为入点点击确定就完成了方法2 “时重置:速度”关键帧单击视频前的“fx”选择时间重映射中的速度选中工具栏中的钢笔工具在关键帧线上单击一下(此时素材以虚线为界已成2左右2段)按住键盘上的Ctrl+Alt键鼠标左键选中右边的素材拖到第3秒的位置放下鼠标就可以了方法3 插入帧定格分段用剃刀工具在第1秒钟切开素材鼠标右键单击后面一段素材选中拓展菜单中的插入帧定格分段系统会自动添加2秒钟的帧定格分段进来(在已经完成定格2秒操作的基础上如只需要定格1秒:指针直接跳转到第2秒选中波纹工具将定格片段的尾部拖到第2秒处定格就只有1秒钟了;如果需要定格3秒那就要从第1秒算起让指针跳转到第4秒同样用波纹工具将定格片段的尾部拖到第4秒)P7 转场效果1:PR视频转场的几个要领转场全部在效果的的视频过渡里面,包括3D运动、划像、溶解、滑动等效果,每一种效果里面又有很多效果。
数据结构编译原理前缀和后缀前缀和和后缀分别是一种常用的数据结构和算法,它们在编译原理和其他一些计算机科学领域中都有广泛的应用。
前缀和是一种用来统计数组前缀和区间和的算法,也可以叫做累加和。
它的实现方式是先将原数组中的值依次相加得到一个新数组,然后在新数组中查询任意区间的和时,只需要进行一次减法操作即可得到区间和。
例如,给定一个数组arr,前缀和数组prefixSum 的计算方式如下所示:prefixSum[0] = arr[0];for(int i = 1; i < n; i++){prefixSum[i] = prefixSum[i-1] + arr[i];}其中,n是数组的长度。
例如,如果arr=[1,2,3,4,5],则prefixSum=[1,3,6,10,15]。
要查询arr[1]到arr[3]的区间和,只需要进行一次减法,即prefixSum[3]-prefixSum[0]=10-1=9。
前缀和的时间复杂度为O(n),空间复杂度也为O(n),适用于数组多次查询区间和的情况。
需要注意的是,在前缀和计算过程中,可能会出现整型溢出的情况,因此需要根据具体情况选择使用long long等数据类型来避免这种问题。
后缀数组是一种用来快速匹配字符串模式的算法。
它的实现方式是将原字符串的所有后缀按照字典序排序,然后记录每个后缀在排序后的后缀数组中的位置。
例如,给定一个字符串str,后缀数组suffixArray的计算方式如下所示:例如,如果str="banana",则suffix=["banana","anana","nana","ana","na","a"],suffixArray=[5,3,1,0,4,2]。
可以通过对suffixArray数组进行二分查找来快速匹配包含某个字符串模式的后缀。
Pro/E字符阵列详解基础1:函数此类阵列需要一个极重要的函数,即extract(string,position,length)。
这个函数的作用是从一个字符串(string)的指定位置(position)起,提取出指字数目(length)的字符出来。
例:String=abcdefghijk,po=2,len=3,则extract(string,po,len)=bcd----从第二个位置起提取出3个连续字符String=chinaren,A=5,len=1,则extract(string,A,len)=a----从第五个位置起提取出1个字符此函数有如下使用注意A.string是个字符串变量,position、length都是实数型变量,它们可以是直接的变量,也可是表达式,其中,position如果带小数,则向下取整,即丢掉小数(但小于1的小数取整为1),length如果带小数,是向上取整,即进一位取整。
也就是:extract(string,0.2,1.2)=extract(string,0.8,1.9)=extract(string,1.2,1.01)=extract(s tring,1.9,1,9)=extract(string,1,2)B.设字符串string的总长度为len_string,有1.position=0,运算出错,但无提示;q-Z K a2.position>len_string,运算出错,有提示;3.position+length>len_string+1,运算出错,有提示;4.length=0,无意义(相当于出错),无提示因为字符包括数字和字母,数字它本身也是一种字符,不过,如果变量A的值是一个数字的话,那么它可能是一个数值型变量(整型、实数型)也可能是一个字符型变量,如果它是一个数值型变量的话,它就不能用为extract函数的源字符串,必须先转化为一个字符串变量才能使用。
Prefix-list 前缀列表对于列表,比如NA阶段应该会接触到ACL列表,对于列表,包括现在讲的前缀列表,他们到底有什么区别呢?两者大概的框架如下:接口下调用分发列表(redistribute-list)router map 调用---------------------------------------------------------ACL Prefix-list 可以抓取路由、数据包精确抓取路由如上框架图:-> ACL:可以匹配抓取路由和数据包,当ACL在接口下调用时 -----> 抓取的是数据包当ACL在分发列表(redistribute-list)调用时 -----> 抓取的是路由-> Prefix-list:抓取路由在分发列表下、router map 下均是抓取的是路由,不会应用于接口下----------------------------------------------------------> 既然ACL可以抓取路由和数据包,为什么还要弄出个prefix-list?有prefix-list这就说明ACL是有他的缺点的,不是吗。
比如以下三个网络:8.8.8.0 /248.8.8.0 /258.8.8.0 /26我能不能只抓取匹配到8.8.8.0 /24 这条路由呢。
--> access-list 1 permit 8.8.8.0 0.0.0.255 这样吗?如果是ACL,是无法达到这样的需求,因为ACL仅仅是控制网络号。
并没有控制它的掩码。
所以对于8.8.8.0 /25 、8.8.8.0 /26 两个,他们的网络前缀不也有和8.8.8.0 这个一样的吗。
所以access-list 1 permit 8.8.8.0 0.0.0.255 这条命令应用下,8.8.8.0 /25、8.8.8.0 /26依旧会通过匹配。
所以:这就引出了prefix-list可以精确抓取路由的特点了。
前缀列表(p r e f i x-l i s t)使用详解不同于用于匹配流量的IP访问列表,IP前缀列表主要是用来指定具体的网络可达的。
前缀列表用来匹配前缀(网段)和前缀长度(子网掩码)。
前缀列表有两个参数很难理解。
下面是普通的前缀列表的参数:ip prefix-list [name] [permit | deny] [prefix]/[len]name为任意的名字或者数字,prefix是指定的路由前缀(网段),len是指定的前缀长度(子网掩码)。
例子如下:ip prefix-list LIST permit 1.2.3.0/24上面的例子中指定匹配网段1.2.3.0,并且指定子网掩码为255.255.255.0,这个列表不匹配1.2.0.0/24,也不匹配1.2.3.4/32ip prefix-list LIST permit 0.0.0.0/0上面的例子指定匹配网段0.0.0.0和子网掩码0.0.0.0。
这个列表用来匹配默认路由。
通常情况下,在使用前缀列表的时候加上“GE”(大于或等于)和“LE”(小于或等于)时比较容易发生混淆。
这是因为当使用“GE”和“LE”时,列表的长度(len)发生了改变。
另外一种前缀列表的参数:ip prefix-list [name] [permit | deny] [prefix]/[len] ge [min_length] le [max_length]name为任意的名字或者数字,prefix是将要进行比较的路由前缀(网段),len是指从最左边开始的比特位,min_length为最小的子网掩码的值,max_length为最大的子网掩码的值使用GE和LE,必须满足下面的条件:len < GE <= LE上面的参数很容易混淆,简单的说就是一个匹配前缀或子网的地址的范围。
看下面的例子:ip prefix-list LIST permit 1.2.3.0/24 le 32上面的例子表示前缀1.2.3.0前面的24位必须匹配。
juniper prefix-list 前缀前缀列表(prefix-list)是用于配置路由策略的一种工具,用于控制路由的转发和筛选。
它由一个或多个前缀条目组成,每个前缀条目包含一个IP前缀和相应的掩码引用。
前缀列表用于与路由表中的目的IP地址进行匹配,以确定是否接受或拒绝该路由。
在Juniper Networks设备上,可以使用以下命令创建和配置前缀列表:1. 创建前缀列表:```set policy-options prefix-list <prefix-list-name> [term <term-name>] <prefix/prefix-length>```其中:- `<prefix-list-name>`是前缀列表的名称。
- `<term-name>`是可选的术语名称,用于按照特定条件对前缀进行分组。
- `<prefix/prefix-length>`是要添加到前缀列表的IPv4或IPv6前缀和掩码长度。
2. 配置前缀列表匹配条件和操作:```set policy-options policy-statement <policy-statement-name> term <term-name> from prefix-list <prefix-list-name>set policy-options policy-statement <policy-statement-name>term <term-name> then <accept|reject|next-policy>```其中:- `<policy-statement-name>`是策略语句的名称。
- `<term-name>`是术语名称,在每个策略语句中可以定义多个术语。
IP prefix-list及與ACL, route-map的比較Cisco 2011-03-12 23:07:43 阅读6 评论1 字号:大中小订阅下面是一條標準的prefix-list, 我們對其進行分析:ip prefix-list 100 permit 128.0.0.0/2 ge 16 le 24ge=greater or equal le=less or equal1、R1(config)#ip prefix-list ?WORD Name of a prefix listsequence-number Include/exclude sequence numbers in NVGENR1(config)#ip prefix-list 100 ?deny Specify packets to rejectdescription Prefix-list specific descriptinpermit Specify packets to forwardseq sequence number of an entry基本的格式上和ACL還是差不多的。
2、關鍵的對於128.0.0.0/2的這個/2代表了什麼含義?128.0.0.0 換成2進制數為10 000000 00000000 00000000 00000000/2代表只對前面的2位必須match,即,前2位是不變的,在不帶ge 16 le 24的情況下,prefix-list裏的128.0.0.0/2 代表的是一個範圍,是從128.0.0.0/7到191.255.255.252/30,而加上ge 16 le 24 的意思就是ip地址mask從/16到/24下面是幾個例:prefix-list 100 permit 0.0.0.0/0 代表的是所有路由prefix-list 100 permit 0.0.0.0/32 代表的是預設路由prefix-list 100 permit 0.0.0.0/0 ge 32代表的是所有host路由3、在ACL裏,128.0.0.0/2是什麼含義?下面是128.0.0.0的2進表達表示10 000000 00000000 00000000 00000000在ACL裏,permit 128.0.0.0/2,那就沒意義了,要使用128.0.0.0,最小的mask 位數為7位(2的7次是128)4、其實ACL也有方法定義一個範圍,以實現類似prefix-list的功能。
不同于用于匹配流量的IP访问列表,IP前缀列表主要是用来指定具体的网络可达的。
前缀列表用来匹配前缀(网段)和前缀长度(子网掩码)。
前缀列表有两个参数很难理解。
下面是普通的前缀列表的参数:
ipprefix-list[name][permit|deny][prefix]/[len]
name为任意的名字或者数字,prefix是指定的路由前缀(网段),len是指定的前缀长度(子网掩码)。
例子如下:
ipprefix-listLISTpermit1.2.3.0/24
上面的例子中指定匹配网段1.2.3
ipprefix-listLISTpermit0.0.0.0/0
上面的例子指定匹配网段0.0.0这个列表用来匹配默认路由。
通常情况下,在使用前缀列表的时候加上“GE”(大于或等于)和“LE”(小于或等于)时比较容易发生混淆。
这是因为当使用“GE”和“LE”时,列表的长度(len)发生了改变。
另外一种前缀列表的参数:
ipprefix-list[name][permit|deny][prefix]/[len]ge[min_length]le[max_length]
name为任意的名字或者数字,prefix是将要进行比较的路由前缀(网段),len是指从最左边开始的比特位,min_length为最小的子网掩码的值,max_length为最大的子网掩码的值
使用GE和LE,必须满足下面的条件:
len<GE<=LE
上面的参数很容易混淆,简单的说就是一个匹配前缀或子网的地址的范围。
看下面的例子:
ipprefix-listLISTpermit1.2.3.0/24le32
上面的例子表示前缀1.2.3.0前面的24位必须匹配。
此外,子网掩码必须小于或等于32位
ipprefix-listLISTpermit0.0.0.0/0le32
上面的例子意味着0位需要匹配,此外子网掩码必须小于或等于32位。
因为所有的网段的掩码都小于或等于32位,并且一位都不用匹配,所以这句话等于permitany
ipprefix-listLISTpermit10.0.0.0/8ge21le29
上面的例子说明网段10.0.0.0的前8位必须匹配,此外子网掩码必须在21位和29位之间。
注意:
使用前缀列表不能像访问列表那样匹配具体的应用流。
前缀列表也不能用来具体匹配奇数或偶数的前缀,或什么可以被15整除的前缀
在前缀列表中,比特位必须是连续的,并且从左边开始
ipprefix-listfuckpermit0.0.0.0/0ge1???????????表示除了默认路由外的所有路由
ip
(1)、可以增量修改,我们知道对于普通访问控制列表,我们不能删除该列表中的某个条目,如果想删除列表中的某个条目只能将该访问列表全部删除,而前缀列表中,一个条目可以单独地删除或添加。
(2)、前缀列表在CiscoIOS12.0及其以后的版本中可以使用。
(3)、在大型列表的加载和路由查找方面比访问控制列表有显着的性能改进。
(4)、前缀列表用于BGP路由。
二、前缀列表的命令描述
(1)、
ipprefix-listlist-name[seqseq-value]{deny|permit}network/len[gege-value][lele-value]
listname代表被创建的前缀列表名(注意该列表名是区分大小写的)
seq-value代表前缀列表语名的32bit序号,用于确定过滤语句被处理的次序。
缺省序号以5递增(5,10,15等等)。
deny|permit代表当发现一个匹配条目时所要采取的行动
network/len代表要进行匹配的前缀和前缀长度。
Network是32位的地址,长度是一个十进制的数。
ge-value代表比“network/len”更具体的前缀,要进行匹配的前缀长度的范围。
如果只规定了“ge”属性,该范围被认为是从“ge-value”到32。
le-vlaue代表比“network/len”更具体的前缀,要进行匹配的前缀长度的范围。
如果只规定了“le”属性,该范围被认为是从“len”到“le-value”。
(2)、neighbor{ip-address|peer-group-name}prefix-listprefix-listname{in|out}
ip-address代表要为之进行路由过滤的BGP邻居的IP地址。
peer-group-name代表BGP对等体组的名称。
prefix-listname代表要被用来过滤路由的前缀列表的名称。
in说明前缀列表要被应用在来自邻居的入路由通告。
out说明前缀列表要被应用在发送给邻居的外出的路由通告。
三、在“ipprefix-list”命令中“ge”和“le”任选项的使用可能令人迷惑,理解起来比较难,下面我们做了一个测试,以便更好的了解这些选项的含义。
网络拓朴描述如下:
路由器A属于AS65000,路由器10.1.1.1
假设配置前缀列表之前,路由器A学到了下面的路由(从路由器B那里学来的):
17
我们测试了如下5种情况:
第一种情况、在这种情况下,对路由器A做了如下配置:
routerbgp65000
当用“showrun”命令查看路由器的配置时,我们将看到路由器A自动地将这个配置的最后一行改为下面这样:
这时路由器C学到了三个路由器,即:
下面就祥细的说明一下路由器C为什么会学到这三条路由:
而且在使用这个命令的时候没有加参数summary-only所以,路由器A的24”
第二种情况、在这种情况中,对路由器A做了如下配置:
routerbgp65000
第三种情况、在这个情况中,对路由器A做了如下配置:
routerbgp65000
第四种情况、在这个情况中,对路由器A做了如下配置:
routerbgp65000
/16,/17,/18,/19,/20,/21,/22,/23,/24的路由,以上三条路由都符合条件,所以都被路
由器C学到了。
第五种情况、在这个情况中,对路由器A做了如下配置:
routerbgp65000
neighbor10.1.1.1prefix-listtenonlyout
看下面的例子:
上面的例子意味着0位需要匹配,此外子网掩码必须小于或等于32位。
一位所有的网段的掩码都小于或等于32位,并且一位都不用匹配,所以这句话等于permitany
注意:
使用前缀列表不能像访问列表那样匹配具体的应用流。
前缀列表也不能用来具体匹配奇数或偶数的前缀,或什么可以被15整除的前缀
在前缀列表中,比特位必须是连续的,并且从左边开始。