目录
一、IP路由原理
二、路由引入
2.1、双点双向路由引入
2.2、路由回灌
三、路由策略与路由控制
路由匹配工具(规则)
ACL
IP前缀列表
路由控制工具(控制)
策略工具1
策略工具2
搭配组合
组合一
组合二
一、IP路由原理
路由协议的目的:产生最佳路径放入路由表中管理
判断属于控制层面还是转发平面通过控制路由表还是流量来判断
(先)控制平面:产生路由表并管理,准备工作,与流量转发无关的工作
静态和动态不会互相学习对方的路由,每个路由协议先按照自己的标准计算出到达每个网络号(如通往10.1.1.0/24,和10.1.0.0/16分属不同网络)的最佳路径后,当不同协议计算出同网络号的路径不同时,比较不同协议的优先级将优先级高的协议计算出的路径加入到全局理由表中。
(后)转发平面:又叫数据平面,流量产生后,查表转发
流量到达后,按照掩码最长原则查全局理由表转发。
现有一台路由器,配置了静态路由和两种动态路由协议OSPF和ISIS
静态路由如下:
10.1.1.1/32 →1(舍弃)
10.1.0.0/16 →2(舍弃)
10.0.0.0/8 →3
OSPF内部路由如下:
10.1.1.1/32 →4 cost40
10.1.1.0/24 →5 cost 30
OSPF外部路由如下:
10.1.1.0/24 → 6 cost 20(舍弃)
10.0.0.0/8 → 7 cost 20(舍弃)
ISIS路由如下:
10.1.1.1/32 →8 cost 20(舍弃)
10.1.1.0/24 →9 cost 20(舍弃)
10.1.0.0/16 →10 cost 50
10.1.0.0/24 →11 cost 30
请问以下4个数据包,分别走哪个下一跳
ping10.1.1.1
ping 10.1.1.2
ping10.1.2.1
ping 10.2.1.1
控制平面:
第一步:同协议内比较
5、6条路由相同,ospf规则比较(先比LSA类型,再比开销,内部路由1、2、3类;外部属于5类,所以第6条路由被舍弃)
第二步:不同协议比较
1、4、8条路由相同,比较协议优先级,留下OSPF(优先级10)的4
2、10条路由相同,比较协议优先级,留下ISIS(优先级15)的10
3、7条路由相同,比较协议优先级(静态路由优先级60,OSPF外部路由的优先级为150),留下静态的3
5、9条路由相同,比较协议优先级(ISIS路由优先级15,OSPF内部路由的优先级为10),留下OSPF的5
全局路由表:
10.0.0.0/8 →3
10.1.1.1/32 →4
101.1.0/24 →5
10.1.0.0/16 →10
10.1.0.0/24 →11
转发平面:
ping10.1.1.1,查路由表,走4
ping 10.1.1.2,查路由表,走5
ping10.1.2.1,查路由表,走10
ping 10.2.1.1,查路由表,走3
二、路由引入
目的:为了实现不同协议的路由互通(类比翻译)
R1和R2为ASBR,由其做路由引入,且在做路由引入时,其自身路由表不会发生变化!
以R1为例
- 左侧学到右侧路由,在R1做一次路由引入,192.168.11.0/24被右侧设备通过isis协议学习;
- 右侧学到左侧路由,还需在R1做一次路由引入,192.168.21.0/24被左侧设备通过ospf协议学习;
- R1在做路由引入时,是以本设备全局路由表为准,也就是说192.168.11.0/24只能从左侧OSPF引入,而不能从左侧引入到右侧ISIS,再从右侧ISIS引入属于左侧OSPF的192.168.11.0/24。
特殊情况:直连路由被某协议宣告到接口中,则直连路由就属于该协议路由
2.1、双点双向路由引入
以3.3.3.3为例,R1和R2通过左侧OSPF学到3.3.3.3的路由;
第一步:在R1上将左侧OSPF引入到右侧ISIS中, R4通过ISIS学到3.3.3.3的路由,R2也可以通过ISIS学到3.3.3.3的路由;
第二步:R2通过OSPF学到了3.3.3.3的路由,通过ISIS也学到3.3.3.3的路由,比较后选择哪一条?按照协议优先级(OSPF内部LSA10,ISIS15)选择OSPF学到的3.3.3.3的路由;
第三步:在R2上将左侧OSPF引入到右侧ISIS中, R4通过ISIS学到3.3.3.3的路由,R1也可以通过ISIS学到3.3.3.3的路由;
第四步:R1通过OSPF学到了3.3.3.3的路由,通过ISIS也学到3.3.3.3的路由,比较后选择哪一条?按照协议优先级(OSPF内部LSA10,ISIS15)选择OSPF学到的3.3.3.3的路由;
以4.4.4.4为例,R1和R2通过右侧ISIS学到4.4.4.4的路由;
第五步:在R1上将右侧ISIS引入到左侧OSPF中,R3通过OSPF学到4.4.4.4的路由,R2也可以通过ISIS学到4.4.4.4的路由;
第六步:R2通过OSPF学到4.4.4.4的路由,R2也可以通过ISIS学到4.4.4.4的路由,比较后选择哪一条?按照协议优先级(OSPF外部LSA150,ISIS15)选择ISIS学到的3.3.3.3的路由;
第七步:在R2上将右侧ISIS引入到左侧OSPF中,R3通过OSPF学到4.4.4.4的路由,R1也可以通过ISIS学到4.4.4.4的路由;
第八步:R1通过OSPF学到4.4.4.4的路由,R1也可以通过ISIS学到4.4.4.4的路由,比较后选择哪一条?按照协议优先级(OSPF外部LSA150,ISIS15)选择ISIS学到的3.3.3.3的路由;
2.2、路由回灌
如上图,R3外接了一条直连路由10.3.3.3。
第一步:R3此时作为ASBR,将10.3.3.3引入到右侧OSPF中,R1和R2都能通过OSPF(外部LSA)学到10.3.3.3;
第二步:R1将左侧OSPF引入到右侧ISIS中,注:因为在R1上认为10.3.3.3是通过OSPF学到的,R4和R2可以以ISIS学到10.3.3.3;
第三步:R2通过OSPF(外部LSA)学到10.3.3.3,又通过ISIS学到10.3.3.3,比较之后选择ISIS的10.3.3.3;注:此时R2的全局路由表中10.3.3.3是ISIS协议学到的;
第四步:此时,在R2上将左侧OSPF引入到右侧ISIS,R4和R1不可以学到10.3.3.3;
第五步:此时,在R2上将右侧ISIS引入到左侧OSPF,R3和R1可以以OSPF(外部LSA)学到10.3.3.3;
第六步:R3通过直连学到10.3.3.3,又通过OSPF(外部LSA)学到10.3.3.3,通过比较选择直连10.3.3.3;
R1通过第一步的OSPF(外部LSA)学到10.3.3.3,又通过第五步的OSPF(外部LSA)学到10.3.3.3,此时优先级相同,比较内部开销,选择第一步的OSPF(外部LSA)学到的10.3.3.3;
第七步:此时10.3.3.3的路由器挂掉了,第一步的OSPF(外部LSA)学到的10.3.3.3无了,R1此时通过第五步的OSPF(外部LSA)学到10.3.3.3;导致R1学到的10.3.3.3不会消失,通过第二步的引入,R2又学到了10.3.3.3,通过第五步的引入,R1又学到了10.3.3.3,循环往复,永不消逝。
将第三步的R2通过ISIS学到10.3.3.3引入到左侧OSPF的行为称为路由回灌。
三、路由策略与路由控制
路由匹配工具(规则)
ACL
ACL的流量过滤是在数据平面管控流量,ACL可以匹配路由的网络号,不能匹配掩码;
在接口中执行ACL,转发平面
IP前缀列表
IP前缀列表(ip-prefix list),前缀=网络位,是在控制层面管控路由,最终和策略工具搭配使得设备不学习路由;
##test名字,index序号,192.168.1.0网络号,22掩码
##greater-equal=大于等于
##less-equal=小于等于
ip ip-prefix test index 10 permit 192.168.1.0 22 greater-equal 24 less-equal 26
默认是拒绝
##允许所有ip
ip ip-prefix 1 permit 0.0.0.0 0 greater-equal 0 less-equal 32
##允许172.16.0.0/16和下面所有子网,因为大于等于16跟前面16一样所以可以省略
ip ip-prefix 1 permit 172.16.0.0 16 le 32
##允许172.16.0.0/16下面所有24位掩码的子网
ip ip-prefix 1 permit 172.16.0.0 16 ge 24 le 24
##允许172.16.0.0/24这一个子网
ip ip-prefix 1 permit 172.16.0.0 24
路由控制工具(控制)
策略工具1
filter-policy:过滤路由,无法过滤LSA,ospf、isis协议路由器之间传递的是LSA,所以作用有限。
以ospf为例:
第一种:本地路由器收到LSA后,需要spf根据LSDB计算路由表(filter-policy在入方向上作用时在计算这个阶段可以用于影响本地设备不计算出改路由达到过滤路由的作用,只影响本地路由器计算路由表),但并不会影响LSDB和LSA的传递给邻居(该路由仍然会发送到邻居);路由器仍然会把想过滤的路由信息发送出去,如果邻居没有配置策略,仍然可以计算出该路由的路径。
在出方向上作用filter-policy无法过滤1、2类LSA,只能过滤3、5、7类LSA,因为filter-policy只能过滤仅包含路由信息的LSA。
第二种:跨区域传递的是3类LSA(特点是只含路由信息),在ABR上配置可以过滤路由,使ABR不产生该路由。
第三种:ASBR引入外部路由会产生5、7类(特点是只含路由信息),在ASBR上配置可以过滤路由,使ASBR不产生该路由。
acl number 2000
rule 5 deny source 10.1.1.0 0
rule 10 permit
ospf 1 router-id 10.3.3.3
##import:入方向
ftilter-policy 2000 import
area 0.0.0.0
network 10.1.4.0 0.0.0.255
network 23.1.1.3 0.0.0.0
策略工具2
route-policy:过滤路由信息,以及为过滤后的路由信息设置路由属性。
node(节点):节点内全部匹配才执行,节点之间为“或”的关系,有一个节点命中就不会继续匹配。
需求1:允许192.168.1.0/24这条路由通过,其他路由全部过滤。
ip ip-prefix 1 permit 192.168.1.0 24
#
route-policy test permit node 10
if-match ip-prefix 1(匹配192.168.1.0/24)
##当acl和前缀列表,调用在route-policy中时
##他们只能permit匹配/deny不匹配路由,并不能直接过滤路由。
ip ip-prefix 1 deny 192.168.1.0 24
ip ip-prefix 1 permit 0.0.0.0 0 le 32
route-policy test deny node 20
if-match ip-prefix1(不匹配192.168.1.0/24并匹配其他所有路由)
##当192.168.1.0匹配时,节点10没有匹配上,按顺序匹配节点20,匹配,执行动作permit
route-policy test permit node 20
##不写if-match,就是匹配所有。
以ospf为例,过滤3类LSA是站在区域的角度上区分出入,不是站在设备的角度。
ospf 1 router-id 10.2.2.2
area 0.0.0.0
##在区域0是出
filter ip-prefix zongbu export
network 23.1.1.2 0.0.0.0
network 24.1.1.2 0.0.0.0
area 0.0.0.1
##在区域1是入
filter ip-prefix zongbu import
network 12. 1.1.2 0.0.0.0
搭配组合
匹配工具:ACL、PFX
策略工具:filter-policy、route-policy
组合一
acl+filter
pfx+filter
pfx匹配的优势:可以匹配掩码长度。
可以区分192.168.1.0/24和192.168.1.0/25
共同点:
acl和pfx直接permit允许/deny来过滤路由,filter-policy只是调用。
组合二
acl+route-policy
pfx+route-policy
acl和pfx只能permit匹配/deny不匹配,不过滤。
route-policy调用acl/pfx,对于其中匹配的路由执行permit允许/deny过滤的动作。
而没有匹配的路由,继续看下一个nodeI
默认拒绝所有路由。