您好,欢迎访问三七文档
策略路由原理Page1策略路由的引入普通的报文转发是依据报文的目的地址查询转发表来实现的。RQuidwaydisplayiprouting-tableRoutingTable:publicnetDestination/MaskProtocolPreCostNexthopInterface0.0.0.0/0RIP1001200.200.203.2GE11/1/00.0.0.0/32RIP1001200.200.203.2GE11/1/01.0.0.0/8STATIC60011.110.0.1Ethernet12/2/04.4.4.0/24DIRECT004.4.4.4Ethernet12/2/0.2004.4.4.4/32DIRECT00127.0.0.1InLoopBack05.0.0.0/8RIP1001200.200.203.2GE11/1/0PC1PC2RTARTBRTCRTDPage2策略路由的引入(续)普通的报文转发是依据报文的目的地址查询转发表来实现的。但是遇到如下情况如何解决?1、根据源IP来控制报文转发。即控制来自PC1的报文通过接S1/0/0转发,来自PC2的报文通过接口E1/2/0转发口?2、根据报文的长度来控制报文转发。3、根据报文的其他属性来控制报文转发。PC1PC2RTARTBRTCRTDPage3策略路由概念策略路由是一种依据用户制定的策略进行路由选择的机制,与单纯依照IP报文的目的地址查找路由表进行转发不同,可应用于安全、负载分担等目的。VRP策略路由支持基于acl包过滤、地址长度等信息,灵活地指定路由。而acl报文过滤则可以根据报文的源ip、目的ip、协议、端口号、优先级、tos、时间段、vpn等各种丰富的信息将报文分类,然后控制将这些报文按照不同的路由转发出去。Page4策略路由的分类按报文分类:分为单播策略路由(针对单播报文进行控制)和组播策略路由(只对组播报文进行控制)。单播报文RTARTBRTCRTDRTFRTE我是组播策略,组播报文听我指挥,该报文从接口e1/0和s0/0转发我是单播策略,单播报文听我指挥,该报文从接口e0/0转发组播报文Page5策略路由的分类(续)策略路由既可以应用于被转发的报文,又可以应用于路由器本地产生的报文。前者称为接口策略路由,后者称为本地策略路由。接口策略路由只对转发的报文起作用,对本地产生的报文(比如本地的ping报文)不起作用。而本地策略路由只对本地产生的报文起作用,对转发的报文不起作用。接口策略路由配置在接口视图下。本地产生的报文的策略路由配置在系统视图下。注意:组播策略路由只支持转发的报文,不对路由器本机产生的报文进行策略路由。Page6匹配原则概述Route-policy:route_policy_namepermit10:if-matchacl3000if-matchpacket-length100500applyoutput-interfaceEthernet1/1/0//有多个匹配项deny20:if-matchacl2000//只有匹配项permit30:if-matchacl3100permit40:applyoutput-interfaceEthernet1/1/0//只有操作项permit50:applyoutput-interfaceEthernet1/1/0deny60://匹配项和操作项都没有permit70:permit80:if-matchacl3000applyoutput-interfaceEthernet1/1/0serial1/0/0applyip-addressnext-hop1.1.1.1//有多个操作项Page7匹配项匹配项就是if-match语句,根据这些匹配项将报文按照某个规则进行分类,分为满足规则和不满足规则两类。定义什么节点?匹配否?PermitDenyMatch(所有条件都满足)执行退出不执行退出Notmatch(任意一个不满足)不执行继续不执行继续注意:1、只有满足所有的if-match,才算匹配,即各匹配条件是与的关系。2、“匹配退出,不匹配继续”的原则。即只要任意一个节点满足匹配,则不再继续往下匹配,如果不匹配则继续匹配下一个节点。Page8操作项操作项就是apply语句,也就是满足匹配项的报文将怎么处理、从哪个接口转发出去。route-policynpermitnode0if-matchacl2000if-matchpacket-length100500applyip-precedencepriorityapplyoutput-interfaceSerial1/0/0Ethernet1/1/0applydefaultoutput-interfaceSerial1/0/0applyip-addressnext-hop1.1.1.1applyip-addressdefaultnext-hop2.2.2.23.3.3.3一个单播报文只能转发一次,即只能从某个接口转发出去Page9转发接口的优先级策略路由的出接口策略路由的下一跳路由表中下一跳策略路由的缺省出接口策略路由的缺省下一跳低高转发优先级以上只针对单播报文,不包括组播报文。当配置有优先级高的策略,则优先级低的配置将被忽略。单播策略路由可以同时配置两个下一跳或设置两个出接口,报文转发将采用负载分担的方式进行。Page10报文匹配的其它策略注意事项:1、如果只添加一个节点而没有任何匹配项和设置操作项,则所有报文都匹配,不再继续往下匹配。但是策略路由的统计数字不改变。2、如果添加一个节点,只有匹配项,没有设置操作项,则进行匹配,但不执行相应的操作,不再继续往下匹配。但是策略路由的统计数字不改变。3、如果添加一个节点,没有匹配项,有设置操作项,则所有报文都匹配,根据permit/deny执行相应的操作,不再继续往下匹配。但是策略路由的统计数字改变。4、如果匹配项中使用的acl根本不存在,则缺省是不匹配任何报文。5、当直接出接口指定为本地的以太网接口、子接口、Virtual-Template接口时,虽然从指定接口转发,但不能正常通信,因为这几个接口是广播域,不能确定下一跳,因此必须指定为下一跳。6、当配置deny的节点时,对于单播策略路由来说,节点的apply命令行等于没配置一样,数据包将走正常单播路由表转发,因此没有deny的调试信息以及相应的统计信息;对于组播策略路由来说,数据包将直接丢弃,不查询组播路由表,有deny的调试信息以及相应的统计信息。Page11单播报文转发流程YYYYYYY策略路由配置有出接口吗?策略路由配置有下一跳吗?路由表中有下一跳吗?策略路由配置有缺省接口吗?策略路由配置有缺省下一跳吗?策略路由有设置优先级吗?丢弃该报文,发ICMP_UNREACH配置有本地策略路由吗?本地报文发送流程按正常流程发送报文根据策略设置报文优先级发送报文到该出接口发送报文到该下一跳发送报文到该下一跳发送报文到该缺省下一跳结束发送报文到该缺省接口对来自外部的转发报文首先判断有接口策略路由吗Page12组播策略路由和单播策略路由的区别:1、报文不一样。单播报文就是以A、B、C类ip地址为目的地址的报文,组播报文就是以224.0.0.0~239.255.255.255为目的地址的报文。2、配置不一样。组播策略路由的配置中apply必须包含acl。3、配置作用域不一样。单播策略路由的配置仅对单播报文起作用,组播策略路由的配置仅对组播报文起作用。即apply中包含有acl的对组播报文起作用,对单播报文不起作用;apply中不包含有acl的对单播报文起作用,对组播报文不起作用。4、当单播同时配置有出接口和下一跳时,则只从出接口转发,不从下一跳转发。当组播同时配置有出接口和下一跳时,则既从各个出接口转发(可能有多个),也从各个下一跳转发(也可能有多个),但是最多只能从64个接口转发。Page13组播转发边界当一个接口配置了组播转发边界以后,从该接口接收的报文和从该接口发出的报文(包括本机发出的报文)都将按照配置的acl策略进行过滤。其中,对于从该接口接收的报文,先按照组播转发边界进行过滤,再执行可能的组播策略路由处理。组播转发边界可配置在所有支持组播报文转发的接口上。在入接口和出接口都进行检查。组播转发边界配置在接口视图下:multicastpacket-boundaryacl-number3000打开debugmulticastforwarding可以察看报文的丢弃信息。Page14组播转发报文的最小TTL值在接口上配置组播转发报文的最小TTL值后,当要将一个报文从该接口转发出去时(包括本机发出的报文),对接口上配置的最小TTL值进行检查,若报文TTL值(报文TTL已在本路由器内减1)大于接口上配置的最小TTL值,则转发该报文;若报文TTL值小于或等于接口上配置的最小TTL值,则丢弃该报文。组播转发TTL值可配置在所有支持组播报文转发的接口上。ttl检测只有在出接口进行。组播转发报文的最小TTL值在接口视图下:multicastminimum-ttl200打开debugmulticastforwarding可以察看报文的丢弃信息。Page15组播报文入接口组播边界检查配置组播策略路由吗?满足if-match条件吗?出接口组播边界检查出接口TTL阈值检查通过路由表转发策略路由指定接口转发YN组播报文策略路由的流程
本文标题:策略路由
链接地址:https://www.777doc.com/doc-832208 .html