BGP概述:
1、BGP是用中用于自制系统之间的动态路由协议。
三个版本分别是:BGP-1(RFC1105)、BGP-2(RFC1163)和 BGP-3(RFC1276)
2、BGP是一种外部网关协议,与OSPF、RIP等内部网关协议(IGP)不
同,其着眼不在于自动发现网络拓扑,儿在于AS之间选择最佳路由和控制路由传播。
3、BGP使用TCP作为其传输层协议(监听端口号位179),提高了协议的可靠性,且
不需要专门的机制来确保连接的可控性。
4、BGP从设计上避免了环路的发生
AS之间:BGP通过携带AS路径信息来标记途径的AS,带有本地AS号的路由将被
丢弃,从而避免了域间产生环路。
AS内部:BGP在AS内学到的路由不在通告给AS内的BGP邻居,避免了AS内产生环路。
5、BGP的优点
① BGP提供了丰富的路由策略,能够对路由实现灵活的过滤和选择。
② BGP提供了防止路由震荡的机制,有效提高了Internet网络的稳定性.
③ BGP易于扩展,能够适应网络新的发展。主要是通过TLV进行扩展。
BGP的报文类型:
open报文
协商BGP参数(密码、AS号、版本、时间等)
Update报文
交换路由信息
Keepalive报文
保持邻居关系,BGP会周期性的向对等体发出Keepalive消息,用来保持连接的有效性。
Notification报文
查错通知,当BGP检测到错误状态是,就会想对等体发出Notification消息,之后BGP
连接会立即中断。
Route-Refresh
用于改变路由策略后请求对等体重发路由信息。
从EBGP对等体获得的路由,发布给所有EBGP和IBGP对等体
对等体之间的交互原则
1、从IBGP对等体获得的路由,只发布EBGP对等体
2、从EBGP对等体获得的路由,只发布所有EBGP和IBGP对等体
3、只将BGP的最优路由发布给对等体
4、只发送更新的BGP路由
5、IBGP域IGP的同步
BGP属性:
Origin 用于BGP引入的防环,Origin可以形成类似OSPF的防环。在路由引入的
水平分割原理,i>?。起源BGP不被重发布路由在引入。
PerfVal(协议首选项),该属性仅在本地有效,不会传递给BGP邻居。因为首选项
是认为主动设置的,代表本地用户的意愿,因而在BGP进行选路时会优先比较协议首
选项。默认为0越大越优先。
AS_Path,属性按矢量顺序记录某条路由从本地到目的地址所要经过的所有AS编号。 用于防环选路。
NEXT_Hope,记录了路由的下一跳信息,该属性为公认必遵
Local_Pref,表明BGP路由的优先级,该值越大越优先。
1、该属性仅在IBGP对等体之间有效,不通告给其他AS。它表明路由器的BGP优先级。
2、当BGP路由器通过不同的IBGP对等 体得到目的地址相同但下-跳不同的多条路由时,将优先
选择Local_ Pref属性值较 高的路由,缺省情况下该值为100。
MED,类似于IGP的代价值,用于AS间的路由选路。
1、当一个运行BGP的设备通过不同的EBGP对等体( EBGP对等体需属于同一AS )得到目的地
址相同但下一跳不同的多条路由 时,在其它条件相同的情况下,将优先选择MED值较小者作为最佳路由。
2、MED属性仅在相邻两个AS之间传递,收到此属性的AS- -方不会再将其通告给任何其他第三方
AS。MED属性可以手动配置,如果路由没有配置MED属性, BGP选路时将该路由的MED值按缺省值0来处
理。
local对内,MED对内
比较不同AS MED [r1-bgp]compare-different-as-med
aggregater:通告bgp-id,告诉该汇总路由是谁产生
ATUOMIC-aggregate:该属性主要用于通知由于聚合后部分明细路由消失,导致路径不可达。
聚合:删除原有明细路由,产生汇总路由。
Orginator-id:用于路由反射器,若本地的RID出现在该属性中时,就说明产生了环路忽略该路由。
Cluster-list:路由反射器专用,路由反射器的簇id列表。
路由聚合属性
路由聚合
1、正向对等体发送聚合后的路由,从而缩小路由表规模
聚合后的路由没有继承明细后的属性,带两条属性:聚合者(谁给这条链路做聚合),有没有
被聚合(有没有被聚合)
2、明细路由如果发生路由震荡,不会对网络造成影响
3、路由聚合分为自动聚合和手动聚合
Community(团体属性):标识具有相同特征的BGP路由。
团体属性分为:自定义团体属性
标准团体值
拓展团体值:用于vpn-tge 做值。
公共团体属性
internet:默认的
NO_携带这种特殊的BGP路由不会传给邻居。
NO_Export:携带这种特殊的BGP路由不会传给EBGP,不会出该AS。
:携带这种特殊的BGP路由不会出联邦
团体值的传递必须打开团体值开关
路由反射器
允许将从IBGP邻居学习到的路由发送给特定的IBGP一旦开启就会有环路风险,防止放射器之间成环:
出去携带originator_ID 回去会被抛弃
Cluster_list:list表示列表,当一个路由来到反射器将挂一次表。
BGP路由选路规则:
1、如果此路由的下一跳不可达,忽略此路由
2、优选协议首选值最高的路由
3、优选本地一优先级最高的路由
4、优选手动聚合路由、自动聚合路由、network命令引入的路由、import-route命令引入的路由、对等
体学习的路由。
5、优选AS路径(AS_Path)最短的路由
6、比较Origin属性 ,依次优选Origin类型为IGP. EGP、 Incomplete的路由
7、优选MED值最低的路由
8、优选从EBGP邻居学来的路由( EBGP路由优先级高于IBGP路由)
9、优选到下一跳IGP Metric较小的路由
10、优选Cluster. _List最短的路由
11、优选Router ID最小的路由器发布的路由
12、比较对等体的IP Address ,优选从具有较小IP Address的对等体学来的路由
负载分担:
1、当到达同一目的地址存在多条等价路由时,可以通过BGP等价负载分担实现均衡流量的目的。
2、形成BGP等价负载分担的条件是: BGP选路规则中“到下一跳的IGP metric"这条规则之前所
有需要比较的属性完全相同。
BGP故障排除流程:
BGP邻居状态无法达到Established
IGP不同
ACL过滤了TCP的179端口
邻居的Router ID冲突
配置的邻居AS号错误
用Loopback口建立邻居时没有配置peer connet-interface
用建立EBGP邻居时未配置peer ebgp-max-hop
Peer valid-ttl-hops配置错误
对端发送的路由数量是否超过 peer route-limit命令设定的值
对端配置了peer ig
BGP邻居关系正常的情况下,但是BGP路由表没有该表项
下一跳地址是否可达
入口是否进行了策略限制
接受前缀的条目是否进行了限制
对端出口是否进行了策略限制
该前缀在端
BGP邻居关系正常情况下,BGP路由表存在某些表项不是最优