当前位置: 首页 > article >正文

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消息用来请求对等体重新发送所有的可达路由信息。

        该报文不会影响邻居关系


http://www.kler.cn/a/507968.html

相关文章:

  • ubuntu开机自启某个应用
  • c++ 中的容器 vector、deque 和 list 的区别
  • 三只松鼠携手爱零食,社区零售新高峰拔地而起
  • Java并发编程——线程池(基础,使用,拒绝策略,命名,提交方式,状态)
  • React封装倒计时按钮
  • RK3568平台(音频篇)lineout无声调试
  • 【西藏乡镇界面】图层arcgis格式shp数据有乡镇名称和编码2020年wgs84坐标内容测评
  • C++/C语言判断重复数组(zznu)⭐
  • Java算法 二叉树入门 力扣简单题相同的树 翻转二叉树 判断对称二叉树 递归求二叉树的层数
  • 刷题记录 回溯算法-16:47. 全排列 II
  • 从玩具到工业控制--51单片机的跨界传奇【3】
  • NLP入门书籍《掌握NLP:从基础到大语言模型》免费下载pdf
  • MySQL的日期时间类型
  • 《汽车维修技师》是什么级别的期刊?是正规期刊吗?能评职称吗?
  • Vue.js组件开发-实现后端返回二进制文件在浏览器自动下载
  • 基于R语言的现代贝叶斯统计学方法(贝叶斯参数估计、贝叶斯回归、贝叶斯计算实践过程
  • 如何通俗易懂的理解 html js css
  • idea 如何安装 github copilot
  • WPF实现动态四宫格布局
  • 灰度发布、金丝雀部署与蓝绿部署:软件发布的三把利剑
  • Redis | 第6章 事件与客户端《Redis设计与实现》
  • Ubuntu 部署Docker + Dify,遇到的坑, 最新亲测镜像
  • 如何在亚马逊云科技上大幅降低无服务器网页应用冷启动时间(上篇)
  • 在Mac m2系统下安装InSAR软件isce2
  • Python根据图片生成学生excel成绩表
  • [创业之路-254]:《华为数字化转型之道》-1-华为是一个由客户需求牵引、高度数字化、高度智能化、由无数个闭环流程组成的价值创造、评估、分配系统。