本文主要是介绍8.1 PBR 与 BGP,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
PBR 策略路由
通过流量策略来执行选路的一种转发手段
传统的路由表转发只能通过数据的目标地址做决策提供路由
策略路由可以根据源地址、目的地址、源端口、目的端口、协议、tos(IP的tos字段)等流量特征来做策略路由,灵活性高
路由表和策略路由的关系:策略路由是先于路由表执行的,策略路由没有捕获的流量依然会执行路由表(用route-map捕获流量,末尾不需要放空表)
局限:策略路由无法收敛,拓扑改变无法改变策略
两种配置
1、接口下配置
只能捕获该接口的入接口流量做策略(不能处理本路由器流量)
R1(config)#access-list 100 permit ip host 1.1.1.1 any //用ACL抓流量
R1(config)#route-map pbr permit 10 //定义route-map
R1(config-route-map)#match ip address 100 //调用被捕获的流量
R1(config-route-map)#set ip next-hop 10.1.1.1 //设置下一跳
R1(config-route-map)#exi
R1(config)#int f0/0 //接口下调用
R1(config-if)#ip policy route-map pbr
2、全局配置
能够捕获所有接口入接口流量以及本路由器产生的流量(源地址是本路由器地址)
R1(config)#access-list 100 permit ip host 1.1.1.1 any //用ACL抓流量
R1(config)#route-map pbr permit 10 //定义route-map
R1(config-route-map)#match ip address 100 //调用被捕获的流量
R1(config-route-map)#set ip next-hop 10.1.1.1 //设置下一跳
R1(config-route-map)#exi
R1(config)#int f0/0
R1(config-if)#ip local policy route-map pbr //在所有接口下调用
3、策略路由的冗余设置
R1(config)#route-map pbr permit 10
R1(config-route-map)#match ip add 100
R1(config-route-map)#set ip next-hop verify-availability 10.1.24.2 1 track 1 //设置track监控,如果监控成功则执行该语句,如果不成功则转为执行下一条set语句
R1(config-route-map)#set ip next-hop 10.1.34.3
R1(config-route-map)#exi
R1(config)#track 1 ip sla 1//定义一个track监控sla的探测结果
R1(config-track)#ip sla 1//定义一个sla
R1(config-ip-sla)#icmp-echo 10.1.12.1 source-ip 10.4.4.4//设置其指针
R1(config-ip-sla-echo)#exi
R1(config)#ip sla schedule 1 life forever start-time now //设置sla1的执行时间
4、default语句
在route-map的set ip default这个位置输入,定义为:被捕获的流量先查路由表如果能精确匹配(如果抓的10.5.5.5,路由表中有10.5.5.5/24,这就不叫精确匹配,有10.5.5.5/32才叫精确匹配)就基于路由表转发,如果匹配不到就基于策略转发
适用于:在一个大网段中,针对某些特殊的路由进行策略
R1(config)#access-list 100 permit ip host 1.1.1.1 any //用ACL抓流量
R1(config)#route-map pbr permit 10 //定义route-map
R1(config-route-map)#match ip address 100 //调用被捕获的流量
R1(config-route-map)#set ip default next-hop 10.1.1.1 //设置下一跳
R1(config-route-map)#exi
R1(config)#int f0/0 //接口下调用
R1(config-if)#ip policy route-map pbr
策略在转发层面不如路由表,原因是匹配东西过多,底层芯片处理技术有限,使用原则是能不用就不用,如果出现非目的地址的转发策略果断用
策略路由的其他功能–为流量打排队优势标记
set ip precedence//优先出接口
BGP
概述
属于EGP协议 管理AS之间的路由传递
距离矢量型 分布式计算
用TCP来传递路由协议,作为TCP的数据部分,端口号179,保证可靠性丧失邻居自动发现,只能单播建邻,并且可以非直连建邻
BGP设计用来处理AS之间的路由所以该协议重点处理AS之间路由,AS之内的路由不作为重点
BGP使用AS号作为识别不同AS路由的标识,该AS号具有唯一性
1–65535 可以使用扩展32位 65535–4294967295(解决AS不够用的情况)
BGP的最小使用单位是一个路由器,所以每个路由器只能使用一个BGP的进程
由于BGP管理的路由信息非常庞大,不能够使用周期更新,只能触法更新,并且BGP会认为一条路由时间越久越稳定,在这种情况下BGP必然不会使用复杂的算法来处理BGP收到的路由信息,又因为每个AS情况不一致,管理范围也有限,它必然需要丰富的管理参数(不能只依赖metric)。综上所述,BGP必然需要多种参数共同来决定路由的选择,并且不能依赖某种特定的全局算法,只能单独的去计算某一条路由,不能全盘考虑,并且需要依赖所属管理员的受手动设置。BGP路径优先协议,通过给每一个路由设置大量的属性参数来进行灵活的管理或者选路,并且这些属性大量的都需要人为来操控。
1、BGP的几个数据包
2、邻居状态机制
3、建邻失败的场景
参数与配置
(1)eighbor 10.1.1.1 //代表向该地址发送TCP(TCP端口为179的数据),并且自己也需要在发出地址上打开TCP179的监听。该配置可以指定源地址也可以不指定源地址,不指定就是出接口地址(意味着打开该出接口关于TCP179的监听)
即邻居必须互指
本端指的地址需要的是对方的源地址,对方指的是本端的源地址
如果不与对方的直连建邻就必须加上本端的源地址
(2)neighbor 10.1.1.1 remote-as xx
对端建邻的AS号必须和本端remote-as xx 号一致
(3)建立双方保障 TCP179能够发送,不丢失,不被拦截
4、邻居之间路由传递规则
两种邻居关系
IBGP邻居关系 //相同AS路由器建立的邻居关系
EBGP //不同AS路由器建立的邻居关系
(1)BGP不管什么邻居关系只传递最优路由(不优不传,优的标志“>“,也就是不带此标志的路由不会被BGP传递)
(2)EBGP邻居关系路由传递:只要不违背环路原则或人工策略,EBGP邻居传递是无限制的(前提是必须优),EBGP之间传递路由会更新next-hop为自己的源地址
(3)IBGP邻居关系路由传递:IBGP邻居之间不会中转路由,IBGP自己产生的路由(自己宣告的,自己重发布进来的)和EBGP邻居传递的都可以传递给他的IBGP邻居,但他的IBGP邻居不会将这些传给邻居的邻居(不会在IBGP邻居之间中转),IBGP之间传递路由不会更新next-hop(只有next-hop为0.0.0.0的情况才更新,或者建立邻居时输入neighbor x.x.x.x next-hop-self 更新为自己的更新源地址)
这个设定的好处:IBGP之间拥有了水平分割从而避免了IBGP环路的产生,IBGP也不会设置防环算法
坏处:使得IBGP之间路由传递必须直接建立邻居,导致IBGP邻居关系是一种全互联状态
5、需要的属性
这篇关于8.1 PBR 与 BGP的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!