产生的问题一:
如图所示,在者这种情况下做路由引入:比如是将RIP中的路由A重发布到ISIS中,假设是首先从R2重发布进去的。那么重发布的路由A在R3上优先级就为15,二本身在RIP区域的路由A优先级为100,所有R3会优选优先级为15的重发布路由。
解决方法:
1、修改优先级,将从RIP引进的路由的优先级修改的大于100
2、做过滤,在R2、R3上过滤掉重发布后的路由A。
产生的问题二:
短时间路由环路问题:就是链路路由传播会有延时,比如说图中某一条链路相比于其他链路传播的比较慢。
比如说R3和R4之间链路传播比较慢。当A路由 从上面重发布到哦ISIS区域中又传播到R3上,R3收到A的路由后,又会重发布到R4上,从而造成短时间路由环路。
解决方法:
使用路由过滤的方法 ,在R2、R3上对路由进行过滤。
也可以使用路由策略来实现冗余,备份下一跳。
这条命令可以表示,规定所抓取流量的下一跳:
对所抓取的流量的下一跳进行备份,当原先规定线路故障时,会实现自动切换。
ospf和BGP连用的时候,因为二者收敛速度不一样。会出现短时间的路由黑洞问题
解决方法:
这条命令表示,在BGP还没有完成正常收敛的时候,工作状态为stub-router(发送出去Hello包的cost值会特别大),当收敛完成后,会回复正常。
BGP:边界网关路由协议 ;无类别的路径矢量型EGP协议。
EGP类别的路由协议,用于AS与AS间进行路由条目共享;
AS编号 0-65535标准编号,其中1-64511公有 64512-65535私有; 32位二进制构建为扩展编号;
一、设计特性:
1、可靠性—大量的路由共享,取消周期更新 TCP 179端口工作
TCP 仅基于单播通信 BGP协议需要单播建立邻居关系(手工指定邻居的ip地址)
BGP可以非直连建邻(peer),BGP承载于IGP之上;
2、可控性 — 建邻、路由宣告、选路控制(干涉选路)–及其容易进行
3、AS-BY-AS 以一个AS为一跳
二、BGP特点:
1)无类别路径矢量 -----距离矢量的升级版—AS–BY–AS
2)使用单播更新来发送所有信息;基于TCP 179端口工作
3)增量更新–仅触发无周期
4)具有丰富的属性来取代IGP中度量进行选路----多个参数控制协议
5)可以在进项和出项对流量实施强大的策略–可控性
6)默认不被用于负载均衡-----通过各种选路规则仅仅产生一条最佳路径
7)BGP支持认证和聚合(汇总)
三、BGP的数据包
基于TCP的179端口工作;故BGP协议中所有的数据包均需要在tcp会话建立后,基于TCP的会话来进行传输及可靠性的保障;
首先通过TCP的三次握手来寻找到邻居;
Open 仅负责邻居关系的建立,正常进收发一次即可;携带route-id,hold time 默认3min
Keeplive 保活 周期1min查询邻居关系是否存在;实际保活TCP会话;
Update 携带路由条目 目标网络号+各种属性
Notification 出现错误数据时收发;
四、BGP的工作过程
管理员定义邻居的ip地址,前提要求对邻居ip可达; — IGP可达
启动BGP协议后,先目标端口为179进行TCP的三次握手来建立TCP的会话;
会话建立后,收发open报文来建立邻居关系,生成邻居表;
邻居关系建立后,邻居间使用update 共享路由条目,在收发了路由信息后,本地生成BGP表;
Bgp表中装载本地发出及接收到的所有路由条目;
之后路由器将BGP表中的最优路径(不一定是最佳选路,仅为BGP参数最佳)加载于路由表中;
收敛完成!仅keeplive周期保活即可;
五、BGP中的属性详解
传播范围 默认值 大优或小优
1、 第一种均为私有属性。Preference_Value 不传播 0 大
华为设备的私有属性
全局操作:
[r3-bgp]pe 2.2.2.2 preferred-value 1 本地从邻居2.2.2.2处学习到的所有路由优先值修改为1;
负载分担:访问不同的目标网段时,让流量进入不同链路来进行通讯;将所有链路利用起来,而不是仅只用唯一链路通讯;
使用前缀抓取需要修改属性的网段
[r3]ip ip-prefix w permit 1.1.1.0 24
定制策略来进行修改,一定关注是否需要空表来允许其他路由通过
[r3]route-policy w permit node 10
[r3-route-policy]if-match ip-prefix w
[r3-route-policy]apply preferred-value 1
[r3-route-policy]q
[r3]route-policy w permit node 20
[r3-route-policy]q
再在协议中针对某个邻居调用
[r3]bgp 2
[r3-bgp]peer 2.2.2.2 route-policy w import 因为该属性为私有不传递属性,故调用时,只能在控制层面的入向调用,来影响本地的BGP生成;
传播范围 默认值 大或小优
2、本地优先级 IBGP邻居关系间 100 大
第一个公有属性,
也是最常用于干涉IBGP选路,
最常使用的属性
全局修改;
[r4-bgp]default local-preference 101
本地所有传输到IBGP的路由条目,其中本地优先级修改为101;
使用本地优先级实现负载分担
[r2]ip ip-prefix p permit 1.1.1.0 24
[r2]route-policy p permit node 10
[r2-route-policy]if-match ip-prefix p
[r2-route-policy]apply local-preference 101
[r2-route-policy]q
[r2]route-policy p permit node 20
[r2-route-policy]q
[r2]bgp 2
[r2-bgp]pe 3.3.3.3 route-policy p export 调用时在控制层面的出或入向均可,但必须为IBGP邻居关系;
3、as-path 优选经过AS数量较少路径;该属性的自动添加是在EBGP邻居关系间进行;
[r4]ip ip-prefix as permit 1.1.1.0 24
[r4]route-policy as permit node 10
[r4-route-policy]if-match ip-prefix as
[r4-route-policy]apply as-path 3 4 5 additive
[r4-route-policy]q
[r4]route-policy as permit node 20
[r4-route-policy]q
[r4]bgp 2
[r4-bgp]pe 14.1.1.1 route-policy as import 注:可以在控制层面的入或出方向调用,但只能在ebgp邻居间操作;可干涉ebgp、ibgp关系选路;
出向调用 x 3 4 5 x为实际经过的AS号;最前端号码为最新经过的AS号;
入向调用 3 4 5 x
切记:as-path 属性又用于EBGP的水平分割,若人为添加的as号,在网络后端实际存在,将导致这些路由无法进入这些AS;解决方案:反复添加已经经过的AS编号;
4、起源属性 条目的产生方式
network 宣告本地路由表中的任意路由 i
import 将本地通过其他协议学习的路由重发布到BGP协议中 ?
egp 早期的ebg协议学习的路由重发布到BGP协议中 e
该属性的修改可以在整个控制层面流量经过的任意接口修改;
[r4]ip ip-prefix o permit 1.1.1.0 24
[r4]route-policy o permit node 10
[r4-route-policy]if-match ip-prefix o
[r4-route-policy]apply origin egp 2 此处配置的AS为对端邻居的AS号
[r4]route-policy o permit node 20
[r4-route-policy]q
[r4]bgp 2
[r4-bgp]pe 3.3.3.3 route-policy o export
5、MED 多出口的鉴别属性 BGP协议默认不存在cost;MED就是人为的利用路由器优选路径的规则—先比较管理距离(华为为优先级),若一直再比较度量值(华为为cost)
BGP协议在特定条件下携带本地到达目标的cost值;本地宣告(重发布)自己路由表中的路由后,将其传递给本地的ebgp邻居,将携带cost值;对于其他AS的设备学习到从同一个as传递过来的路由,优选MED最小的路径;
管理员可以在控制层面传递路由的过程中,手工修改MDE;最常用于干涉ebgp选路;
常常用于AS1干涉AS2对AS1的选路;
[r1]ip ip-prefix med permit 1.1.1.0 24
[r1]route-policy med permit node 10
[r1-route-policy]if-match ip-prefix med
[r1-route-policy]apply cost 10
[r1-route-policy]q
r1]route-policy med permit node 20
[r1-route-policy]q
[r1]bgp 1
[r1-bgp]pe 14.1.1.2 route-policy med export
由于实际工程中,管理员只能在一个AS中配置,故无法通过查看BGP表来判断选路结果,可以通过扩展ping来解决
[r1]ping -r -a 1.1.1.1 3.3.3.3
6、下一跳属性next-Hop
Next-Hop属性记录了路由的下一跳信息,改属性默认为公认必遵的。
IBGP邻居关系在传递的时候默认不会对下一跳属性进行修改。如果要修改为本地,则需要命令:peer 1.1.1.1 next-hop -local
EBGP邻居再传播路由的时候回自动修改下一跳属性。
7、团体属性community
团体属性主要是为了给路由做标记,便于对路由的抓取。
团体属性可分为:
自定义团体属性
标准团体属性
扩展团体属性:用于做VPN-tag的值
公共团体属性
No_advertise:带有这种标记的路由,不会传给他的邻居
No_export:带有这种标记的路由,不会传给EBGP邻居
No_Export_Subconfed:带有这种标记的路由,不会传出联邦,只在联邦内部
8、在路由反射器中存在的两种属性
Originator_ID:由RR产生,使用RR上一跳路由器的Router ID标识路由的始发者,用于防止集群内产生路由环路。
Cluster_List:记录路由经过的所有路由反射器的Cluster ID。Cluster ID为该路由器的Route-ID。
9、路由聚合时存在的属性
标识这条路由是否被聚合
标识这条路由是被谁聚合的