《H3C路由策略与策略路由的详细讲解.ppt》由会员分享,可在线阅读,更多相关《H3C路由策略与策略路由的详细讲解.ppt(77页珍藏版)》请在三一办公上搜索。
1、第2章 路由策略与策略路由,ISSUE 1.0,华为3Com网络学院第六学期,2,学习目标,理解路由策略和策略路由的基本概念掌握应用路由策略的五种过滤工具的使用方法掌握如何利用Route-policy实现IP单播及IP组播策略路由,学习完本课程,您应该能够:,3,课程内容,路由策略与策略路由引言路由策略策略路由路由策略与策略路由实验,4,路由策略与策略路由引言,A子公司,B子公司,欧洲地区总部,A Link:GREIP Sec,公司总部(中国),B Link,Router A,Router B,Router C,Router D,Router E,Router F,5,路由策略与策略路由引言,
2、路由策略仅仅在路由发现的时候产生作用,它可以影响路由信息的发布、接收或路由选择的参数,从而改变路由发现的结果,最终改变的是路由表的内容。策略路由是在报文转发的时候才发生作用,它可以通过设置的规则影响数据报文的转发。路由策略与策略路由的工作层面以及面向的对象均不同。我们应该掌握二者的联系与区别。,6,课程内容,路由策略与策略路由引言路由策略策略路由路由策略与策略路由实验,7,路由策略,路由策略概述 访问控制列表(ACL)前缀列表(ip-prefix)自治系统路径信息访问列表(as-path list)团体属性列表(community-list)Route-policy,8,路由的发布、接收和引入
3、,如何有选择性的发布、接收和引入路由?,对邻居发布路由,从邻居接收路由,OSPF,BGP,不同路由协议间引入路由,9,IP路由策略,路由器在发布与接收路由信息时,可能需要实施一些策略,以便对路由信息进行过滤,比如只接收或发布一部分满足给定条件的路由信息;路由器在引入其它路由协议的路由信息时,可能需要只引入一部分满足条件的路由信息,并对所引入的路由信息的某些属性进行设置或修改,以使其满足本协议的要求。为实现路由策略,首先要定义将要实施路由策略的路由信息的特征,即定义一组匹配规则,可以以路由信息中的不同属性作为匹配依据进行设置,如目的地址、发布路由信息的路由器地址等。,10,五种常见的路由过滤方法
4、,访问控制列表(ACL)前缀列表(ip-prefix)自治系统路径信息访问列表(as-path list)团体属性列表(community-list)Route-policy,11,路由策略,路由策略概述 访问控制列表(ACL)前缀列表(ip-prefix)自治系统路径信息访问列表(as-path list)团体属性列表(community-list)Route-policy,12,访问控制列表(ACL),访问控制列表分为三类:Advanced:表示高级访问控制列表;Basic:表示基本访问控制列表;Interface:表示基于接口的访问控制列表;在对路由信息过滤时,一般使用基本访问列表和高级
5、访问控制列表。使用基本访问控制列表,在定义访问列表时指定一个源IP地址或子网的范围,用于匹配路由信息的源地址。使用高级访问列表,则可以使用协议类型、源/目的地址或端口号等多种参数匹配路由信息。,13,利用ACL实现路由发布和接收策略(一),在BGP视图下,对BGP邻居(组)发布或接收路由时根据ACL规则进行路由过滤,peer group-name|peer-address filter-policy acl-number import|export,Quidwayacl number 2000Quidway-acl-basic-2000rule deny source anyQuidwaybg
6、p 65400Quidway-bgppeer 1.1.1.1 filter-policy 2000 import,从邻居只接收网段的路由,14,利用ACL实现路由发布和接收策略(二),在BGP/OSPF/RIP/IS-IS视图下,利用filter-policy根据ACL规则对发布或接收的路由进行过滤,filter-policy acl-number export routing-protocol filter-policy acl-number import,RIP只接收网段的路由,RIP只发布网段的路由,Quidwayacl number 2000Quidway-acl-basic-2000
7、rule deny source anyQuidwayacl number 2001Quidway-acl-basic-2001rule permit source 10.2Quidway-acl-basic-2001rule deny source anyQuidwayripQuidway-ripfilter-policy 2000 importQuidway-ripfilter-policy 2001 export,15,路由策略,路由策略概述 访问控制列表(ACL)前缀列表(ip-prefix)自治系统路径信息访问列表(as-path list)团体属性列表(community-list
8、)Route-policy,16,前缀列表(ip-prefix),前缀列表(ip-prefix)通过IP地址以及掩码长度范围来定义一定的IP前缀范围。,ip ip-prefix ip-prefix-name index index-number permit|deny network len greater-equal greater-equal|less-equal less-equal,注意:地址前缀列表的各表项之间的过滤关系是“或”的关系,即通过一条表项的过滤就意味着通过该地址前缀列表的过滤。若没有通过任一表项的过滤,则通不过该地址前缀列表的过滤。,17,前缀列表(ip-prefix)配
9、置举例(一),#定义一条名称为p1的地址前缀列表,只允许网段的,掩码长度为17或18的路由通过。,Quidway ip ip-prefix p1 permit 10.0.192.0 8 greater-equal 17 less-equal 18,上面的掩码长度8可以看做一个大的范围,即;后面的掩码长度大于17小于18则表示一个较小的范围,因此实际匹配的网段为:或,18,前缀列表(ip-prefix)配置举例(二),实际匹配的掩码长度范围817,实际匹配的网段为:或或或,#定义一条名称为p1的地址前缀列表,只允许网段的,掩码长度为小于17路由通过。,Quidway ip ip-prefix p
10、1 permit 10.0.192.0 8 less-equal 17,19,前缀列表(ip-prefix)配置举例(三),实际匹配的掩码长度范围1832,实际匹配的网段为:或或或,#定义一条名称为p1的地址前缀列表,只允许网段的,掩码长度为大于18的路由通过。,Quidway ip ip-prefix p1 permit 10.0.192.0 8 greater-equal 18,20,前缀列表(ip-prefix)配置举例(四),实际匹配的掩码长度范围8,实际匹配的网段为:,#定义一条名称为p1的地址前缀列表,只允许网段的路由通过。,Quidway ip ip-prefix p1 perm
11、it 10.0.192.0 8,21,利用前缀列表实现路由发布和接收策略(一),在BGP视图下,对BGP邻居(组)发布或接收路由时根据前缀列表(ip-prefix)规则进行路由过滤,peer group-name|peer-address ip-prefix prefixname import|export,从邻居只接收或网段的路由(掩码和前缀必须完全匹配),Quidway ip ip-prefix p1 permit 10.0.192.0 8 greater-equal 17 less-equal 18Quidwaybgp 65400Quidway-bgppeer 1.1.1.1 ip-pr
12、efix p1 import,注意:对于单一的BGP邻居只能对接收的路由(import)进行过滤,对特定的BGP邻居组则可以对发布(export)和接收的路由都进行过滤。,22,利用前缀列表实现路由发布和接收策略(二),在BGP/OSPF/RIP/IS-IS视图下,利用filter-policy根据前缀列表(ip-prefix)规则对发布或接收的路由进行过滤只接收来自由前缀列表(ip-prefix)规则所匹配的特定网关(路由器)的路由只发布或接收由前缀列表(ip-prefix)规则所匹配的路由只接收来自由前缀列表(ip-prefix)规则所匹配的特定网关(路由器),而且配置一定前缀列表(ip-
13、prefix)规则的路由,filter-policy gateway ip-prefix-name import,filter-policy ip-prefix ip-prefix-name import filter-policy ip-prefix ip-prefix-name export protocol,filter-policy ip-prefix ip-prefix-name gateway ip-prefix-name import,23,利用前缀列表实现路由发布和接收策略(三),只接收来自BGP邻居的路由,Quidway ip ip-prefix p1 permit 10.1
14、.1.1 32 Quidwaybgp 65400Quidway-bgpfilter-policy gateway p1 import,只发布和接收或网段的路由,Quidway ip ip-prefix p1 permit 10.0.192.0 8 greater-equal 17 less-equal 18Quidwaybgp 65400Quidway-bgpfilter-policy ip-prefix p1 import Quidway-bgpfilter-policy ip-prefix p1 export,24,利用前缀列表实现路由发布和接收策略(四),只接收来自BGP邻居,关于或网段
15、的路由,Quidway ip ip-prefix p1 permit 10.1.1.1 32Quidway ip ip-prefix p2 permit 10.0.192.0 8 greater-equal 17 less-equal 18Quidwaybgp 65400Quidway-bgpfilter-policy ip-prefix p2 gateway p1 import,25,路由策略,路由策略概述 访问控制列表(ACL)前缀列表(ip-prefix)自治系统路径信息访问列表(as-path list)团体属性列表(community-list)Route-policy,26,自治系
16、统路径信息访问列表(as-path list),AS-path,也就是自治系统路径信息,是BGP路由的重要属性之一。而自治系统路径信息访问列表(as-path list)则主要利用正则表达式的方式来定义一组用于匹配AS-path列表的规则。,ip as-path-acl aspath-acl-number permit|deny as-regular-expression,正则表达式是按照一定的模板来匹配字符串的公式。,27,常见的正则表达式符号,28,正则表达式的用法举例(一),AS70,ip as-path-acl 2 deny 70$(拒绝从AS70始发的路由)ip as-path-ac
17、l 2 permit.*(允许其他AS的路由),29,正则表达式的用法举例(二),AS70,AS30,OK!,ip as-path-acl 2 permit _30.+70$(接受从AS70始发的路由但是要经过AS30)ip as-path-acl 2 permit _30 70$(有可能AS30与AS70直接相连)ip as-path-acl 2 deny 70$(拒绝从AS70始发的路由)ip as-path-acl 2 permit.*(允许其他AS的路由),30,问题,ip as-path-acl 2 permit _30.+70$ip as-path-acl 2 permit _30
18、 70$有必要写成两句吗?,31,解答,实际上写成一句就可以了ip as-path-acl 2 permit _30(.*)70$,32,正则表达式的用法举例(三),AS70,AS30,OK!,AS140,ip as-path-acl 2 permit _30.+(70-9|80-9|90-9|10-30-9|140)$(接受从AS70-140始发的路由但是要经过AS30)ip as-path-acl 2 permit _30(70-9|80-9|90-9|10-30-9|140)$(有可能AS30与AS70-140直接相连)ip as-path-acl 2 deny(70-9|80-9|90
19、-9|10-30-9|140)$(拒绝从AS70-140始发的路由)ip as-path-acl 2 permit.*(允许其他AS的路由),33,问题,ip as-path-acl 2 permit _30.+(70-9|80-9|90-9|10-30-9|140)$这条也太长了吧,能简化?,34,解答,可以改为ip as-path-acl 2 permit _30.+(7.|8.|9.|10-3.|140)$(作用与以前的一样),35,利用as-path list实现路由发布和接收策略(一),在BGP视图下,对BGP邻居(组)发布或接收路由时根据自治系统路径信息访问列表(as-path l
20、ist)规则进行路由过滤,peer group-name|peer-address as-path-acl aspath-acl-number import|export,注意:对于单一的BGP邻居只能对接收的路由(import)进行过滤,对特定的BGP邻居组则可以对发布(export)和接收的路由都进行过滤。,36,利用as-path list实现路由发布和接收策略(二),AS65400,对IBGP邻居只发布其他AS的路由;不发布本地始发路由,Quidwayip as-path-acl 100 deny$Quidwayip as-path-acl 100 permit.*Quidwaybgp
21、 65400Quidway-bgpgroup inpeer internalQuidway-bgppeer 3.3.3.3 group inpeer Quidway-bgppeer inpeer as-path-acl 100 export,37,路由策略,路由策略概述 访问控制列表(ACL)前缀列表(ip-prefix)自治系统路径信息访问列表(as-path list)团体属性列表(community-list)Route-policy,38,团体属性列表(community-list),团体属性是BGP的重要属性之一,通过定义团体属性列表,我们可以很灵活的对一定数量的路由进行操作。ip
22、community-list命令则是用来配置一个BGP团体列表的匹配规则,以方便我们对携带团体属性的BGP路由进行过滤,ip community-list stand-comm-list-number permit|deny aa:nn|internet|no-export-subconfed|no-advertise|no-export ip community-list ext-comm-list-number permit|deny as-regular-expression,39,团体属性列表(community-list)参数介绍,团体属性列表可分为标准以及扩展两种。标准团体属性列表
23、参数:aa:nn:团体号,aa一般为自治系统号,nn为赋值internet:通告所有路由。(缺省属性)no-export-subconfed:不向本地自治系统外发送匹配路由 no-advertise:为不向任何同伴发送匹配路由 no-export:不向自治系统外部通告路由,但发布给其它子自治系统 扩展团体属性列表参数:as-regular-expression:正则表达式格式的团体属性(以正则表达式进行团体属性值的匹配),40,团体属性列表配置举例,#定义一个团体属性列表,匹配团体号65400:10,Quidwayip community-list 1 permit 65400:10,#定义一
24、个团体属性列表,匹配团体号65400:10,不向本地自治系统外通告具有该团体属性的路由,Quidwayip community-list 1 permit 65400:10 no-export-subconfed,41,利用团体属性列表实现路由发布和接收策略,在BGP邻居进行接收和发布路由过滤时,团体属性列表不能像前面介绍的访问控制列表,前缀列表和as-path list一样单独使用,而必须和Route-policy一起使用(作为Route-policy中的匹配条件)对特定的BGP路由赋予团体属性值,也是Route-policy的动作之一。,42,路由策略,路由策略概述 访问控制列表(ACL)
25、前缀列表(ip-prefix)自治系统路径信息访问列表(as-path list)团体属性列表(community-list)Route-policy,43,Route-policy,Route-policy是最强大的路由策略工具,前面介绍的访问控制列表,前缀列表,as-path list和团体属性列表都可以作为Route-policy的匹配规则,以实现灵活的路由匹配和过滤Route-policy不仅可以实现路由的过滤(permit or deny),还可以对符合规则的路由增加或修改相关的路由属性。Route-policy可以用于在接收和发布路由时的路由策略,同时也是唯一的可用于路由引入时的路
26、由策略工具。,44,配置Route-policy,定义Route-policy节点并进入Route-policy 视图:,route-policy route-policy-name permit|deny node node-number,一个routing policy下可以有多个节点,不同的节点号用node-number进行标识,不同node-number各个部分之间的关系是“或”的关系每个节点下可以有多个if-match和apply子句,if-match子句之间是“与”的关系允许模式:当路由项满足该节点的所有if-match子句时被允许通过该节点的过滤并执行该节点的apply子句,如路
27、由项不满足该节点的if-match子句,该路由策略的下一个节点将被测试拒绝模式:当路由项满足该节点的所有if-match子句时被拒绝通过该节点的过滤,并且不会进行下一个节点的测试,45,Route-policy的执行规则,Route-policyA,node10,node20,node30,Match att1Match att2,Match att3Match att4,Match att5Match att6,根据node10的apply子句进行属性设置,根据node20的apply子句进行属性设置,根据node30的apply子句进行属性设置,通过node10的if-match子句,通过
28、node20的if-match子句,通过node30的if-match子句,通过Route-policy A,通过Route-policy A,通过Route-policy A,通不过Route-policy A,Y,N,N,N,N,Y,Y,46,Route-policy用于路由策略的if-match子句,47,Route-policy用于路由策略的apply子句,48,利用Route-policy实现路由发布和接收策略(一),在BGP视图下,对BGP邻居(组)发布或接收路由时根据Route-policy规则进行路由过滤,peer group-name|peer-address route-p
29、olicy route-policy-name import|export,注意:对于单一的BGP邻居只能对接收的路由(import)进行过滤,对特定的BGP邻居组则可以对发布(export)和接收的路由都进行过滤。,49,利用Route-policy实现路由发布和接收策略(二),AS65400,对EBGP邻居仅发布团体属性为65400:10的路由,并修改其MED值为77;不发布其他路由,Quidwayip community-list 1 permit 65400:10Quidwayroute-policy out permit node 10Quidway-route-policyif-m
30、atch community 1Quidway-route-policyapply cost 77Quidwaybgp 65400Quidway-bgpgroup expeer externalQuidway-bgppeer 202.4.1.1 group expeer as-number 65411Quidway-bgppeer expeer route-policy out export,50,问题,如果上面例子中的要求改为“对EBGP邻居发布路由时将团体属性为65400:10的路由的MED值修改为77;对于其他路由不作修改”怎么办?,51,解答,很简单,在定义Route-policy的时
31、候加上一个空的节点node 20就可以了:,Quidwayroute-policy out permit node 20,52,利用Route-policy实现路由引入时的策略(一),在进行路由引入时实现路由策略,在不同路由协议中参数也有所不同:,RIP:import-route protocol allow-ibgp cost value route-policy route-policy-name,OSPF:import-route protocol allow-ibgp cost value type value tag value route-policy route-policy-n
32、ame,BGP:import-route protocol med med-value route-policy route-policy-name network ip-address address-mask route-policy route-policy-name,53,利用Route-policy实现路由引入时的策略(二),AS65400,在BGP中network本地直连路由网段时对路由打上团体属性值65400:10,引入OSPF路由时对其中的网段打上团体属性65400:20 no-export-subconfed,不向自治系统之外进行通告,Quidwayacl number 20
33、00Quidway-acl-basic-2000rule deny source anyQuidwayroute-policy setcom-1 permit node 10Quidway-route-policyapply community 65400:10Quidwayroute-policy setcom-2 permit node 10Quidway-route-policyif-match acl 2000Quidway-route-policyapply community 65400:20 no-export-subconfedQuidway-route-policyroute
34、-policy setcom-2 permit node 20 Quidwaybgp 65400Quidway-bgpnetwork 10.1.1.0 255.255.255.0 route-policy setcom-1Quidway-bgpimport-route ospf route-policy setcom-2,54,小结:路由策略的选择,55,课程内容,路由策略与策略路由引言路由策略策略路由路由策略与策略路由实验,56,IP策略路由,什么是策略路由?与单纯依照IP报文的目的地址查找路由表进行转发不同,策略路由是一种依据用户制定的策略进行路由选择的机制。路由策略和策略路由路由策略的操
35、作对象是“路由”信息,主要通过对路由的过滤和对路由属性或参数的设置来间接影响数据转发。策略路由的操作对象是“数据包”,主要通过设定的策略直接指导数据的转发。,57,两种IP策略路由,IP策略路由通常分为两种:IP单播策略路由IP组播策略路由不管是单播还是组播策略路由配置需要做两方面的工作,一是定义那些需要使用策略路由的报文,二是为这些报文指定路由,和路由策略一样,这可以通过对一个Route-policy的定义来实现。if-match子句定义了那些需要使用策略路由的报文 当报文满足route-policy中的if-match子句时,则执行策略中的apply子句,以完成报文的转发,58,IP单播策
36、略路由,IP单播策略路由可以分为接口策略路由和本地策略路由两种:接口策略路由:在接口视图下配置(应用于报文到达的接口上),作用于到达该接口的报文本地策略路由:在系统视图下配置,对本机产生的报文进行策略路由。,策略路由可应用于安全、负载分担等目的。对于一般转发和安全等方面的使用需求,大多数情况下使用的是接口策略路由!,59,IP单播策略路由的配置,创建策略Route-policy定义Route-policy的if-match子句定义Route-policy的apply子句使能/禁止本地策略路由使能/禁止接口策略路由,60,用于IP单播策略路由的if-match子句,IP单播策略路由提供两种if-
37、match子句,if-match packet-length子句和if-match acl子句。一条策略中可以包含多条if-match子句,多条if-match子句可以组合使用。,61,用于IP单播策略路由的apply子句,62,接口策略路由和本地策略路由,配置接口策略路由配置本地策略路由,63,IP单播策略路由的配置举例,S1/0,S1/1,E0/0,TCP,从接口E0/0进入路由器的去往的TCP报文强制走S1/0,对于其他的报文不作策略路由的控制,Quidwayacl number 3001Quidway-acl-adv-3001rule permit tcpQuidwayroute-po
38、licy a1 permit node 10Quidway-route-policyif-match acl 3001Quidway-route-policyapply output-interface Serial 1/0Quidway-route-policyroute-policy a1 permit node 20Quidwayinterface Ethernet 0/0Quidway-Ethernet0/0ip policy route-policy a1,64,问题,在上面例子中如果要求实现去往的TCP报文在S1/0和S1/1端口上的负载分担,应该如何配置?,65,解答,很简单,在
39、定义Route-policy的apply子句的时候加上一个新的接口就可以了,Quidway-route-policyapply output-interface Serial 1/0 Serial 1/1,在使用策略路由时,用户可指定多个下一跳或者设置多个出接口,此时,报文的转发将在多个合法参数中负载分担,即轮流在每一个下一跳或者出接口上发送一个报文。以上叙述只对于同种配置的多个参数有效,如果同时配置了出接口和下一跳,仅在出接口的设置中进行负载分担。,66,IP组播策略路由概述,IP组播策略路由是对组播通常的按照路由表进行报文转发功能的一种补充和增强,它依照用户指定的策略来转发组播报文。IP组
40、播策略路由通过配置route-policy来实现,它是单播策略路由的一种扩展,由用户输入的一组if-match和apply语句来描述。if-match子句定义匹配准则,也就是通过当前route-policy规定所需满足的过滤条件,它规定当组播报文满足匹配条件时,不再按照通常的流程来转发,而是按照用户设置的方案(由apply语句描述)进行转发。,67,IP组播策略路由配置,定义route-policy定义IP组播路由策略的if-match子句定义route-policy的apply子句在接口上使能IP组播策略路由,68,用于IP组播策略路由的if-match子句,组播策略路由只考虑策略节点中的i
41、f-match acl配置,其它任何if-match子句与组播策略路由的转发无关,如果报文满足某个策略节点中指定的If-match条件,则执行该节点所指定的动作;如果报文不满足某个策略节点中指定的If-match条件,则继续检查下一个节点;如果所有的策略节点的条件都不满足,则报文将回到正常的转发流程中处理。,69,用于IP组播策略路由的apply子句,通过访问控制列表(ACL)来为IP组播策略路由指定出接口列表和下一跳IP地址列表。对于下一跳IP地址,指定的ACL是基本ACL(20002999),对于出接口设置,指定的是基于接口的ACL(10001999),70,在接口上使能IP组播策略路由,
42、当在路由器一个接口上配置了IP组播策略路由以后,对于所有从该接口进入路由器的组播数据报文(不包括组播协议报文,例如组播路由协议产生的报文),都将进行过滤处理。,71,课程内容,路由策略与策略路由引言路由策略策略路由路由策略与策略路由实验,72,引入其他路由协议,地区性网络,校园网络,Router A,Router B,Router C,73,OSPF路由协议过滤接收的路由信息,Static:,Router A,Router B,Area 0,74,RIP过滤发布的路由信息,校园网B,校园网A,Router A,Router B,Router C,75,基于报文大小的策略路由,Router A,Router B,64-100 bytes,101-1000 bytes,76,本章总结,路由策略指的是,在正常的路由协议之上,我们根据某种规则、通过改变某些参数或者设置某种控制方式来改变路由产生、发布、选择的结果路由表策略路由是在路由表已经产生的情况下,不按照先行路由表进行转发,而是根据需要,依照某种策略改变其转发路径的方法通过学习,我们掌握了路由策略和策略路由的工作原理和配置方法通过实验,初步掌握了路由策略和策略路由的实际配置和故障排除,华为3Com技术有限公司,华为3Com公司网址:华为3Com技术论坛网址:,