IGP—并不是一个具体的协议而是一部分协议的统称
(RIP OSPF EIGRP ISIS)
重分发技术:
为什么要进行重分发?
——为了透传不同的协议,使得不同的路由协议之间可以相互学习彼此的路由来进行相互通信。
重分发的类型:
①单点单向重分发:单向重分发,自己可以学习到对方的路由,但是对方学习不到自己的路由,所以无法通信,一般情况下与静态路由连用。
②单点双向重分发:双向重分发,双方都可以学习到彼此的路由。
③多点单向重分发:多台路由器都是单向重分发。
④多点多向重分发:多台路由器都是双向重分发。
IGP的路由类型
①直连路由
②静态路由
③其他路由协议的动态路由(R O D I)
重分发分为以下几种情况
RIP的重分发
①将直连路由充分发进RIP:默认跳数是一跳
②将静态路由重分发进RIP:默认跳数是一跳
③将其他路由协议重分发进RIP:默认情况下跳数是无穷大的
EIGRP的重分发
eigrp和rip的区别:rip的度量值是通过跳数来衡量的,eigrp的,度量值是通过K值来衡量--带宽 负载 延迟 可靠性 MTU
①将直连路由重分发进EIGRP:默认是根据出接口的带宽+延迟计算出来的度量值
②将静态路由重分发进EIGRP:
③将其他路由重分发进EIGRP:默认情况下,度量值是无穷大
redistribute ospf 1 metric 10000 100 255 1 1500--重分发的时候要跟上正常的K值
OSPF的重分发
①将直连路由重分发进OSPF
②将静态路由重分发进OSPF
③将其他路由重分发进OSPF
建议使用:在重分发的时候跟上subnet。
总结:将路由信息重分发进ospf的时候,默认的开销类型是0 E2,并且默认的开销是20(开销和开销类型可以更改)。在将其他路由协议重分发进ospf的时候,默认情况下,只会重分发主类的路由信息,只有跟上subnet的时候才能够重分发子网路由。
重分发引起的后果:
在多点双向重分发的情况下,路由可能选择到次优路径,这个时候可以通过更改管理距离来解决。
更改管理距离:
管理距离:衡量一条路由的可靠性 ,值越小越可靠
当一台路由器通过多个路由协议学习到同一条路由信息(网络号的子网掩码一致)的时候,选择管理距离最小的那个。
更改RIP的管理距离:默认是120
① --针对RIP学习到所有路由都更改管理距离为99.
IOU2(config-router)#distance 99
②--针对特定通告者通告的所有路由信息都更改管理距离为100
IOU2(config-router)#distance 100 192.168.12.1 0.0.0.0
③针对特定通告者通告的特定路由信息更改管理距离
IOU2(config-router)#distance 88 192.168.12.1 0.0.0.0 1
IOU2(config)#access-list 1 deny 1.1.1.0 0.0.0.255
IOU2(config)#access-list 1 permit any
更改EIGRP的管理距离:内部的是90 外部的是170
①--针对所有学习到的路由信息,内部的更改为77,外部的更改为160.
IOU2(config-router)#distance eigrp 77 160
②--针对特定邻居通告的路由更改管理距离为89。只能针对特定通告者通告的内部eigrp路由进行更改,外部的不能更改。
IOU2(config-router)#distance 89 192.168.23.3 0.0.0.0
③针对特定邻居通告的路由如果匹配acl 10的话更改管理距离为66
IOU2(config-router)#distance 66 192.168.12.1 0.0.0.0 10
IOU2(config)#access-list 10 permit 11.11.11.0 0.0.0.255
更改OSPF的管理距离:默认是110
可以针对不同的路由类型更改管理距离
O --区域内的路由 O IA-区域间的路由 O E2--外部的路由
①--针对ospf学习到的所有路由更改外部的路由管理距离为109、区域间的为108、区域内的为107
IOU1(config-router)# distance ospf external 109 inter-area 108 intra-area 107
OSPF可以针对特定路由的通告者进行更改管理距离
O E2--ASBR O IA --ABR 2类--DR 1类--路由的RID
②--针对特定邻居通告的所有路由信息更改管理距离为99
IOU1(config-router)#distance 99 192.168.23.2 0.0.0.0
③针对特定邻居通告的路由匹配acl 2 更改管理距离为89。
IOU1(config-router)#distance 89 2.2.2.2 0.0.0.0 2
IOU1(config)#access-list 2 permit 2.2.2.0 0.0.0.255
分发列表
访问控制列表:①控制数据包/数据流 ②匹配感兴趣流量
数据包的五元组:源IP 目的IP 协议 源端口 目的端口
访问控制列表如果是在接口使用的话只能针对数据包进行控制,不能对路由进行控制。
如果想要控制路由信息,需要使用分发列表。
RIP的分发列表
①--在rip路由进程下是分发列表,匹配acl 10的流量才能够被学习到。
IOU2(config-router)#distribute-list 10 in s2/0
in--代表路由的学习 out--代表路由的通告
in后面只能跟上接口,out后面既可以跟上接口又可以跟上协议
IOU2(config)#access-list 10 deny 33.33.33.0 0.0.0.255
IOU2(config)#access-list 10 permit any
②--使用分发列表。只有匹配acl 1的流量才能够被通告出去
IOU3(config-router)#distribute-list 1 out s2/0
③ --将ospf重分发进rip的时候,使用分发列表,只有匹配acl 1的流量才能通被重分发进去
IOU3(config)#router rip
IOU3(config-router)#distribute-list 1 out ospf 1
EIGRP的分发列表
IOU3(config)#router eigrp90
IOU3(config-router)#distribute-list 2 out s2/0
IOU3(config)#access-list 2 deny 3.3.3.0 0.0.0.255
IOU3(config)#access-list 2 permit any
OSPF的分发列表
IOU3(config-router)#distribute-list 1 out s2/0
% Interface not allowed with OUT for OSPF--ospf不能再出接口使用分发列表
原因:ospf需要进行链路状态数据库的同步
--而使用在进接口方向就可以实现效果。
IOU2(config-router)#distribute-list 10 in s2/0
IOU2(config)#access-list 10 deny 3.3.3.0 0.0.0.255
IOU2(config)#access-list 10 permit any
原因:ospf使用分发列表的时机是在拿链路状态数据库运行SPF算法得到路由表的时候调用,所以本地的拓扑表中存在相应的链路状态信息(满足数据库同步),但是路由表中不存在相应的条目(达到效果)。
前缀列表
与访问控制列表一样都是一个匹配工具,定义完需要调用,并且末尾隐含一条拒绝所有的语句。
访问控制列表的缺陷:
只能匹配网段,无法匹配子网掩码。如果想要匹配子网掩码则需要用到前缀列表
格式:ip ip prefix-list aaa(命名) deny/permit x.x.x.x/n(n代表匹配的网络位数) ge y le z--代表匹配的子网掩码处于【y z】区间内
如果后面没有跟上ge le,则默认情况下代表匹配的子网掩码是n位。
ge--大于等于
le--小于等于
IOU1(config)#ip prefix-list aaa deny 172.16.0.0/16 --
IOU1(config)#ip prefix-list aaa permit 0.0.0.0/0 le 32--属于一张前缀列表匹配所有。
IOU1(config-router)#distribute-list prefix aaa in
几个特殊的前缀列表:
①写一张前缀列表,匹配所有的A类地址:
IOU1(config)#ip prefix-list A permit 1.1.1.1/1 le 32
对应的情况:
ip prefix-list A seq 5 permit 0.0.0.0/1 le 32
②写一张前缀列表,匹配所有的B类地址:
IOU1(config)#ip prefix-list B permit 172.16.1.1/2 le 32
③写一张前缀列表,匹配所有的C类地址:
IOU1(config)#ip prefix-list C permit 192.168.1.1/3 le 32
④写一张前缀列表,匹配默认路由:
IOU1(config)#ip prefix-list DEFAULT permit 0.0.0.0/0
⑤写一张前缀列表,匹配所有的地址:
IOU1(config)#ip prefix-list ALL permit 0.0.0.0/0 le 32
⑥写一张前缀列表,匹配所有的主机地址:
IOU1(config)#ip prefix-list HOST permit 0.0.0.0/0 ge 32
偏移列表--只能针对距离矢量协议--RIP EIGRP
主要针对度量值进行更改
IOU2(config-router)#offset-list 20 in 10 --针对acl 20匹配的流量增加 metric 10
IOU2(config)#access-list 20 permit 3.3.3.0 0.0.0.255
路由图--route-map --也是一个匹配工具
路由图是一种针对路由的控制(路由类型、路由的属性、路由的度量值、打标记)核对路由进行控制(有点类似分发列表)
if match xx
then set yy
路由图的配置:
①定义条件--通常是通过访问控制列表或者前缀列表来定义的。
②将条件结合路由图,执行相应的动作
③运用路由图
--与acl和前缀列表一样,都是根据序列号有小到大,依次执行的。并且默认的序列号是10 ,默认的动作是permit
route-map aaa permit 10
O E2 3.3.3.0 [110/20] ---O E1---100
O E2 33.33.33.0 [110/20] ---0 E2---200
①定义条件
access-list 1 permit 3.3.3.0 0.0.0.255
access-list 2 permit 33.33.33.0 0.0.0.255
②将条件结合路由图
IOU3(config)#route-map abc permit 10
IOU3(config-route-map)#match ip address 1 --满足acl 10
IOU3(config-route-map)#set metric-type type-1--执行更改路由类型动作
IOU3(config-route-map)#set metric 100--执行更改默认开销动作
IOU3(config)#route-map abc permit 20
IOU3(config-route-map)#match ip address 2
IOU3(config-route-map)#set metric 200
③--在相应的模式下调用路由图
IOU3(config)#router os 1
IOU3(config-router)#redistribute connected subnets route-map abc
IOU3(config)#route-map abc permit 30
--路由同样末尾隐含一条拒绝所有的语句,需要在写一条匹配所有。
route-map abc permit 30--空路由图,里面没有配置任何语句,代表匹配所有条件,并且执行所有动作。
来源:https://blog.51cto.com/14367225/2427519