技术背景
- Route-Policy是一个非常重要的路由策略工具。
- 如下图所示:
(1)可以把它想象成拥有一个或多个节点(Node)的列表,每一个节点都可以是一系列条件语句及执行语句的集合,这些节点按照编号从小到大的顺序排列。
(2)在每个节点中,用户可以定义条件语句及执行语句,这就有点像程序设计语言里的If-then(如果、则)组合。
(3)在Route-Policy被执行的时候,设备从编号最小的节点开始进行路由匹配,比如上图中的节点1,设备对该节点中的条件语句进行匹配,如果被匹配的对象满足所有条件,则执行该节点中的执行语句,并且不会再继续往下一个节点进行匹配。而如果节点1中,有任何一个条件不满足,则前往下一个节点,也就是到节点2中去匹配条件语句,如果被匹配的对象满足所有条件,则执行该节点中的执行语句,如果不满足,则继续往下一个节点进行匹配,以此类推。
示例
- 下图展示了一个Route-Policy实例:
(1)该Route-Policy的名称为hcnp,一共有三个节点,序号分别是5、10和15。(之所以在每个序号之间预留4个数,是为了考虑扩展性,用户如果需要插入新节点,则还有预留的序号可以使用。)
(2)每个节点中都配置了条件语句(使用if-match命令定义)及执行语句(使用apply命令定义)。
(3)当该Route-Policy被调用且开始执行时,路由匹配的操作将从序号最小的节点5开始进行。节点5中定义了多条if-match语句,只有当所有的if-match语句都满足时,才会执行y1所定义的动作。如果节点5中有任何一个条件不满足,则继续到下一个节点中进行匹配。