BGP边界网关协议(Border Gateway Protocol)概念、邻居建立

一、定义

主要用于交换AS之间的可达路由信息,构建AS域间的传播路径,防止路由环路的产生,并在AS级别应用一些路由策略。当前使用的版本是BGP-4。

二、环境

底层以OSPF进行igp互联互通,上层使用BGP协议。

三、基本原理

1、BGP是一种外部网关协议,主要作用于AS之间的路由传递及控制路由传播,BGP本身不产生路由,发现和计算的路由的工作由底层的IBGP承载。

2、BGP是可靠的,基于TCP179端口建立安全可靠的TCP连接,保证了BGP的稳定性,源端口人地,目的端口为179。

3、BGP的路由更新为增量更新,UPdata报文之包含需要更新的路由信息,不是全量更新,更加节省资源,适用于互联网之间的大量路由信息传递(全球大概齐九十多万条路由信息)

4、BGP是一种距离矢量协议

5、BGP本身具备防环功能,IGP之间通过水平分割来防环,EGP之间通过携带的as-path号来防环。

6、BGP具有丰富的选路(十二条属性)可以主观的进行路由的选路涉及

7、BGP本身提供了防止路由震荡的机制(Connect计时器),一定程度上提高了互联网的稳定性

8、BGP易于扩展,能够适应网络的扩展需求(路由反射器)

9、BGP的运行方式

IBGP:运行于AS内部的联系

EBGP:运行于AS之间的域间关系

四、EBGP邻居建立

1、配置

2、直连路由建立邻居

参考上图的AR1和AR2的配置

1)通过直连接口建立EBGP邻居关系

优点:简单、便捷

缺点:单点故障、无冗余备份链路

2)前文提过bgp建立依托于tcp179的连接,peer的意义在于向peer地址发起tcp连接,只允许peer地址之间建立tcp连接。(后文附报文分析)

3)route-id要唯一

3、逻辑接口建立邻居

参考上图的AR1和AR3的配置,该方式依托于底层的igp路由可达(以loopback口为例)

1)通过逻辑接口建立EBGP邻居关系

优点:消除了单点故障

缺点:配置较复杂

2)前文提过bgp建立依托于tcp179的连接,peer的意义在于向peer地址发起tcp连接,只允许peer地址之间建立tcp连接。(后文附报文分析)

3)配置时需指定出接口,否则无法建立tcp连接

4)因为ebg的ttl值为1,非直连建立邻居时,需配置ttl多跳来达到需求

5)route-id要唯一

4、源检测

在构建EBGP邻居是,不仅存在直连检测(ttl=1),还存在一个源检测(可取消)

5、直连检测解决方式

1)ebgp-max-hop:EBGP连接最大跳数(默认255)

2)valid-ttl-hops:GTSM功能"指定需要检测的TTL跳数值。如果配置为hops,则被检测的报文的TTL值有效范围为[255--hops+1,255]。

五、IBGP邻居建立

具体内容基本同EBGP一致,不详细解读,看配置按需理解

六、邻居关系

常见的邻居状态为idel、active、Established

1、空闲(Idle)

空闲状态、初始状态、报错回退

2、连接(Connect)

BGP对等体之间建立tcp连接,转到该状态,启动重传定时器

1)TCP建立成功,进入下一状态

2)TCP建立失败,进入active状态

3)重传定时器超时,仍然没有收到对等体相应,继续等待维持当前状态

3、活跃(Active)

1)TCP连接成功,进入下一状态,并发送open报文

2)TCP建立失败,停留该状态

3)定时器超时,回到上一状态

4、Open报文已发送(OpenSent)

1)open报文字段正确,进入下一状态,并发送keeplive报文

2)open报文字段错误,发送Notification报文给对等体,并转至Idle状态。

5、Open报文已确认(OpenConfirm)

1)收到keeplive报文进入下一状态

2)收到Notification报文回到idle状态

6、建立(Established)

1)收到正确的update、keeplive报文保持邻居关系

2)收到错误的update、keeplive报文回到idle状态

3)Route-refresh报文,路由重刷,不会影响邻居关系

4)TCP连接断开,回到idle状态

七、报文分析

1、TCP179

tcp三次握手建立连接,对等体之间都会发送tcp连接,谁先建立用谁的,也就是对等体之间只维护一条tcp连接。部分设备不会主动发送tcp连接,现网使用时应明确特性。

2、Open报文

该报文检测my as、peer的number等信息是否一致(当前是EGP的报文,不一致是正常现象)

3、Keepalive报文

周期性的向对等体发出Keepalive消息,用来保持连接的有效性。又叫保活报文

4、Update报文

用于对等体之间的路由交互,可以发布路由,也可以撤销路由

报文内部可以携带需要更新的增量路由信息,也可以同时携带不可达或老化的路由

5、Notification报文

BGP检测到错误状态时,就向对等体发出Notification消息,之后BGP连接会立即中断

6、Route-refresh报文

Route-refresh消息用来请求对等体重新发送所有的可达路由信息。

该报文不会影响邻居关系

相关推荐
zbtlink43 分钟前
户外路由器和家用路由器:差异解析与混用考量
网络·智能路由器
3DVisionary1 小时前
全尺寸检测+色谱图分析:蓝光3D扫描赋能路由器注塑品质管控
3d·智能路由器·质量控制·注塑检测·蓝光3d扫描·全尺寸检测·新拓三维
じ☆冷颜〃6 小时前
黎曼几何驱动的算法与系统设计:理论、实践与跨领域应用
笔记·python·深度学习·网络协议·算法·机器学习
TH_17 小时前
35、AI自动化技术与职业变革探讨
运维·人工智能·自动化
风送雨7 小时前
FastMCP 2.0 服务端开发教学文档(下)
服务器·前端·网络·人工智能·python·ai
芯盾时代7 小时前
石油化工行业网络风险解决方案
网络·人工智能·信息安全
线束线缆组件品替网7 小时前
Weidmüller 工业以太网线缆技术与兼容策略解析
网络·人工智能·电脑·硬件工程·材料工程
yuhaiqun19898 小时前
学服务器训练AI模型:5步路径助力高效入门
运维·服务器·人工智能·笔记·机器学习·ai
huaweichenai8 小时前
docker部署kkFileView实现文件预览功能
运维·docker·容器
以太浮标8 小时前
华为eNSP模拟器综合实验之-BFD联动配置解析
运维·网络·华为·信息与通信