重发布、路由策略、PBR策略路由、路径优选、协议迁移
一、重发布
1、为什么需要重发布
若是不同厂商设备导致;由于网络升级和扩容导致---多种不同协议被应用
2、重发布中存在问题
由于协议特点不一致,所以在路径计算、优选是不一样;
管理距离不一致;metric度量不一致;算法;
可能无法发布进入;即使发布进去,也可能会出现路径优选错误;
可能会出现路由信息回馈;
3、重发布的术语、类型
单点:两种重发布协议的边界路由器有一个;
单向:A和B协议,仅仅将A协议发布进入B协议;
类型:
单点单向:若一个协议的的路由域是末梢网络,那么这个末梢网络的路由可以发布进入传输网络,但是不建议将传输网络协议的路由发布进入末梢之内;
因为末梢网络通常设备性能不足;也不需要那么多路由;若末梢网络需要访问传输网络,仅仅需要有缺省就OK了;
单点双向:两种协议所属网络都是传输型网络,同时设备性能较好的时候,可以实施双向重发布;
总结:是凡单点的重发布情况,都存在单点故障问题;没有冗余;
多点双向发布:具备冗余能力;
缺陷:路由回馈、次优路径;
4、什么叫做seed metric种子度量
将其他协议发布进入本身协议的时候,默认给定的度量是多少?
若将其他协议发布进入距离矢量性协议之内,默认给定的度量是无穷大;
将其他协议发布进入OSPF,给定的metric度量为20;
5、将各种路由发布进入RIP、EIGRP、OSPF之内
将直连和静态发布进入RIP之内;默认给定的度量1跳;
将其他动态路由协议的路由发布进入RIP之内,默认度量无穷大;修改种子度量,或者手工指定度量
修改种子度量:
手工指定度量
若同时改变了种子度量,以及手工指定了度量,那么手工指定的优先;
将直连、静态发布进入EIGRP之内;将会以出接口的metric度量作为默认度量;
将其他协议路由发布进入EIGRP,默认给定度量无穷大;
修改种子度量
将直连和静态发布进入OSPF,以及将其他路由协议路由发布进入OSPF
默认仅仅发布主类网络路由;
默认给定度量为20;OE2类型;若要将子网路由发布进入,就需要加subnets;
6、什么时候重发布的路由才会生效
若是直连的网络,并且通告进入某种协议(A),那么将A协议发布进入B协议的时候,这条直连就会被重发布进入;
但是若这条直连没有被通告,无法被重发布进入B协议;
若是非直连网络,只有在A协议之内以A的路由标识来描述,并且已经加入到了路由表之内,才会被重发布进入B协议;
二、路由策略----路由更新控制-----路由;
1、是用于实现对路由信息在传播过程中的控制;当重发布或者同一协议之内路由条目比较多,在就是某些路由条目是不需要传播给其他邻居时候;就可以使用这方法来做了;
2、实施路由策略的方法:
ACL、prefix-list前缀列表、distribute-list、routemap、offset-list;
ACL------默认主要针对IP网络层生效,在被用于数据过滤的时候,需要使用反子网掩码来匹配;若在定义路由条目的时候,是可以不加反子网掩码------使用的标准的ACL;
ACL缺陷:若要对多个连续子网一次性匹配是可以的,匹配汇总的路由条目就好了,需要加反子网掩码;若以ACL来匹配多个不连续子网的时候,会扩大匹配范围;
Prefix-list
若在网络前缀的网络地址固定的时候,主要关注前缀长度;能够尽量缩小匹配的子网范围;仅仅匹配路由,不能用于匹配数据流量;末尾隐含拒绝所有,匹配查找也是自上而下的;
仅仅匹配一条路由:
若一次性匹配多个不连续子网的路由,将多个不连续子网先进行汇总,然后在用ge和LE来限定前缀的长度;
Ge------描述了前缀下限;le----描述上限;
案例1:使用前缀列表一次性匹配:5.5.5.0/24和5.5.6.0/28
若需要匹配所有的路由
若需要匹配所有主机路由
若仅仅匹配缺省路由
若要匹配B类中,地址数量至少为256的子网
�分发列表:意义用于实现路由过滤;自身不具备过滤功能,要依赖于ACL或者前缀列表、routemap的deny还是permit,这些若是deny的路由就是不发送或者是不接收,permit路由就要被发送或者接收;
用于同种协议路由过滤;也可以用于不同协议重发布的时候的路由过滤;-
分发列表用于同种协议的路由信息过滤;将需要使用in /out + 接口;---只对距离矢量型路由协议生效;
部署:
第一步:通过ACL或者前缀列表定义需要匹配的路由
若ACL或者前缀列表是deny的时候,那么意味着这条路由是无法从该接口被发送或者接受;
第二步:将ACL或者前缀列表调用到分发列表之内
或者
注意:分发列表一旦配合接口的情况下,那么过滤是实现在接口来操作的;
�分发列表用于在重发布的时候过滤路由,那么就分发列表和协议配合的;需要使用out +协议来完成;而过滤的动作是发生在重发布进程的;
第一步:定义感兴趣的路由--定义的是A协议的路由;
第二步:调用到分发列表之内
若要控制A协议的路由重发布到B协议之内,那么就要进入B协议之内,out+A协议
分发列表对ACL和前缀列表是有依赖性的;注意配合接口和配合协议的用处;对于同种协议的过滤,in和out加接口的路由更新信息的传播方向性;
� Route--map:可以用于实现路由过滤、策略路由、NAT、BGP属性调整、QOS、安全策略;
� Route-map ,本身具备过滤功能的,可以不依赖ACL和前缀来定义路由和数据流量;那么也可以匹配ACL或者前缀;本身具备permit和deny;在这个routemap表末尾隐含匹配所有,拒绝所有;并且也是自上而下的匹配过程;
� 若routemap被用于重发布实施路由过滤的时候,可以直接匹配interface,或者ACL、前缀列表、路由类型、路由标签、路由metric;
如何进行部署;
Route-map若配合ACL或者前缀列表;
若routemap是permit ,ACL也是permit,那么意味着ACL定义的路由将会被允许重发布;
第一ACL或者前缀列表定义路由
第二步,启用routemaop去匹配ACL或者前缀列表
若仅仅需要重发布ACL之内匹配的,那么routemap就不需要加空表项;
若routemap是deny,ACL是permit,ACL所定义的路由将无法被重发布;所以需要在末尾增加空表项,用于将其他的未定义的路由重发布;
若routemap 是permit,ACL是deny;在重发布实施过滤的时候,ACL和前缀列表定义路由的时候,必须要使用permit;routemap认为ACL和前缀使用deny的时候不做为定义感兴趣路由;是无效的;需要增加空表项;
若routemap是deny,ACL也是deny的时候,这个时候,ACL所匹配的路由就会不过滤;增加空表项;
在将A协议发布进入B协议实施路由过滤:进入B协议路由模式
� 使用routemap来对重发布的路由增加标签,或者在同种协议发送路由的时候增加标签----路由标签;-------为了快速实现路由匹配和过滤;
若把其他协议发布进入OSPF的时候,是可以手工增加标签----将会所有的被重发布进入的路由增加标签,不需要使用routemap
若仅仅将某些路由在重发布进入的时候增加标签就需要使用routemap
案例,仅仅匹配3.3.3.0/24和10.1.1.0/24增加标签为1;
将ACL匹配进入routemap之内
将routemap调用到重发布的命令之内;
对于RIP和EIGRP以及静态路由的标签设置
� 静态路由的标签设置:在把静态路由发布进入其他协议之内,为了很好的识别和控制静态路由的传播,可以直接在静态路由部署的时候增加tag标签参数,在被重发布之后,将会自动把原有的标签进行携带(仅仅对OSPF和EIGRP有效);
若在同种协议(距离矢量)之内,在R1---R2的5.5.5.0/24的路由进行标签的时候,使用方法,先用ACL定义5.5.5.0/24;之后用routemap匹配ACL,接着settag 5;增加空表项;之后,使用分发列表调用routemap ;------IOS在12.4T2以上支持;
� 策略路由:policy base route ,是一种有条件的复杂的静态路由;可以基于IP数据包的源IP、数据包长度、数据进向接口来进行数据转发的;
根据源IP地址或者数据包长度,来指定特定的下一跳地址,或者出接口;
三、分析PBR的设计:用于在边缘路由器,若连接了多个不同的出口的时候,那么这多个不同的出口的BW和链路状况不一样的时候,但是都能够使得访问到同一个目标网络,通过 PBR可以提高链路利用率;不过这个是静态的;
PBR的实现:为了能够实现PBR,那么一定不能让被策略的数据查看普通的路由表,必须按照策略来执行,那么最终策略必须部署在数据进向接口;
部署:
第一步:通过ACL来定义被策略的流量;不得使用前缀;
第二步,书写PBR的条目
注意不需要加空表项,没有被routemap匹配到的流量将会查看路由表来转发;
第三步,将routemap调用到接口
�PBR也是可以对本地发起的流量进行策略的;不过是被用于本地全局来实施;所以前两步是相同的;
补充:routemap 的match all和match any
Routemap matchall:那么意味着,匹配的所有条件必须都满足的时候,才可以被执行;
条件:必须是不同类型的条件;同时匹配ACL、前缀列表、tag等等;
Routemap match any:必须是匹配同类条件,只要任意一个条件满足,那么就可以执行
匹配ACL1\ACL2\ACL3;
四、路径优选
1、意义:在重发布的时候,可能会产生次优路径;若在同种协议之内,为了让某些流量去走特定的路径和下一跳;
2、若是同种协议路径优选的时候,使用以下的办法
若是距离矢量型路由协议,就可以使用offset-list偏移列表来进行,偏移列表-----对原有度量增加偏移度量;
定义路由条目------ACL;
在路由模式下:
55----ACL;in---代表了更新是进入的;2---偏移度量; F0/0描述从这个接口进入的55的路由将会增加偏移度量2;若是使用的out,那么意思就是在发出这条路由的时候metric增加;若不+接口的时候,那么认为在所有接口该路由进入或者发送的时候,metric度量都增加;
RIP下,offset偏移的量最大为16;
EIGRP下,最大偏移量
对于OSPF而言:可以使用ip ospf cost;也可以用分发列表,通过抑制不想要的,就可让其他的加表;OSPF的过滤是针对LSA--LSDB数据库之内内容过滤,是凡没有过滤掉LSDB之内的LSA的做法,都不是对OSPF的路由过滤,仅仅可能到OSPF的路由不加入IP路由表,但是LSDB之内可能还是存在的;
3、在不同协议之间重发布的时候,为了避免次优路径,该如何改变AD管理距离;
静态路由AD改变----------在末尾改变AD;
对于RIP路由AD的改变:
� 针对全部RIP路由改变
� 针对部分的RIP路由AD改变
先用ACL来定义需要被改变路由条目;
接着进入路由模式下
从10.1.1.4(路由信息来源地址)发送过来的关于ACL 5所定义的条目,管理距离被改变为109;
对于EIGRP的管理距离改变
� 针对所有EIGRP路由管理距离改变:将内部的和外部一次性改变;
� 针对EIGRP某些内部路由进行AD改变(对于外部路由这种办法是不生效的)
操作的办法和RIP一样;
对于OSPF的管理距离的改变
� 对于全部路由改变
� 针对区域内、区域间、域外路由管理距离的改变
� 针对某些路由AD的改变
从router ID为3.3.3.3发送的过来的ACL 5之内所定义的路由条目,管理距离改变为5;
� 如果想要OSPF的某条路由不加入到路由表,可以使用分发列表来实施;分发列表 in +接口方法;----过滤不了LSA信息;