BGP是边界网关协议(Border Gateway Protocol,BGP)是一种用来在路由选择域之间交换网络层可达性信息(Network Layer Reachability Information,NLRI)的路由选择协议,是路径矢量(Path-Vector)协议,被广泛应用于ISP(Internet Service Provider)之间,同时也是EGP协议中的一种。
自治系统AS(Autonomous System): 在互联网中,一个自治系统(AS)是一个有权自主地决定在本系统中应采用各种路由协议的小型单位,由同一个技术管理机构管理,使用同一选路策略的一些路由器的集合
AS自治系统–32位as编号:0-65535 1-64511为公有 64512-65535为私有
自治系统内部的路由协议-IGP:发现和计算路由 实现互联互通
自治系统外部的路由协议-EGP:控制路由和选择最优路由
BGP有两种运行方式:
当BGP运行于同一AS内部时,被称为IBGP(Internel BGP,内部边界网关协议);
当BGP运行于不同AS之间时,称为EBGP(Externel BGP,外部边界网关协议)
BGP邻居建立方式:
1、直连方式建立邻居:物理接口建立,如果端口关闭则路由消失,常用在EBGP建立
2、环回口建立邻居关系:逻辑接口建立,端口不会关闭路由也不会消失,稳定性好,常用在IBGP邻居建立
BGP协议的特点:
OSI层次:TCP承载,端口号179,工作在应用层
路由更新:无周期性更新,只在第一次发送全部信息,以后都是增量更新
运行范围:AS之间边界网关协议
最佳路径:
华为:管理距离IBGP 255 EBGP 255
H3C:管理距离IBGP 255 EBGP 255
思科:管理距离IBGP 200 EBGP 20
认证功能:支持BGP对等体认证
BGP报文类型:
1、open:负责对等体之间会话建立和通告各种能力值
2、keepalive:周期性发送维护对等体之间的连接
3、update:用于在对等体之间传递路由信息
4、Notification:针对open和update错误报文发送错误信息通告
5、Router-refresh:用于动态的请求BGP邻居重新发布UPDATE报文进行路由更新
BGP邻居状态:
idle ->connect ->active->openset->openconfirm->established
idle状态:没有到达对端更新源的路由
connect状态:与BGP对等体TCP连接未得到响应或者指定错误的对等体地址
active状态:本BGP设备配置错误的对等体地址,BGP总是试图建立TCP连接
idle ->connect ->active 主要是建立TCP连接
open-sent状态: 发送open报文,并对收到的Open报文中的AS号、版本号、router-id、认证信息等进行检查
open-confirm:open报文正确,发送一个keepalive报文
established:收到Keepalive报文,则转至Established状态,成功建立邻接关系
BGP选路策略(从上往下,优先级递减):
华为选路规则:
1、Preferred-value,协议首选值,选路原则:优选最大值,在本地有效;
2、local-preference,本地优先,选路原则:优选最大值,缺省为100
3、手动聚合>自动聚合>network引入>import-route引入>peer学习
4、AS_Path,AS路径,选路原则:最短
5、Origin,起源,IGP>EGP>Incomplete
6、来自同一AS的路由MED,选路原则:最低
7、EBGP>IBGP>Local_Cross>RemoteCross
8、优先到BGP下一跳IGP度量值(Metric)最小的路由
9、BGP负载分担,当到达同一目的地址存在多条等价路由时,可以通过BGP等价负载分担实现均衡流量的目的
10、Cluster_List,选路原则:优选最短
11、Router_ID,选路原则:优选最小;若携带Originator_ID,则选Originator_ID小的,不再比较Router_ID
12、IP Address选路原则:优选最小
思科选路规则:
1、权重 (weight) 优选weight属性高的,cisco私有属性 (prefer highest weight )
2、本地优先级( local preference)优选本地优先级高的
3、先选用本地宣告的条目,下一跳地址为0.0.0.0
4、比较AS-PATH属性 优选AS-PATH数量少的路由
5、比较路由起源,优选起源值更小的路由,默认为i优于e,e优于?
6、 优选 MED值更小的路由
7、EBGP学到的路由优于 IBGP
8、比较BGP邻居使用的IGP路由的metric值,小的优先,对EBGP,IBGP邻居都会有效
9、配置了maixmum-path [IBGP],存在多条等价的路径,会负载均衡
10、old最长的EBGP路由,存在时间最长的优先
11、优选最小的IBGP邻居route-id
12、优选cluster list 长度最短的
13、BGP优选来自于邻居IP地址小的,该地址是BGP的neigbor配置中地址。
BGP时间关系:
周期性60s发送keepalive报文,检测对等体的存活状态;超时时间为180s
BGP防环机制:
1、IBGP防环机制:从IBGP邻居收到的条目不会发送给另一个IBGP邻居
2、EBGP防环机制:在EBGP传递的路由条目中携带AS属性,发现AS号包含有自己的AS号就不会接受该路由
BGP协议注意点:
1、BGP的邻居没有自动发现机制,只能手动创建邻居
2、EBGP使用环回口建立邻居需要修改跳数,默认1跳
3、BGP所有报文均采用单播的方式发送,而且可以跨设备发送
---------------------------------------------------------我还会不断更新---------------------------------------------------------