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

BGP笔记

产生背景

  • BGP定义:是用于自治系统间的动态路由协议,属于外部网关协议。

  • 自治系统(AS):由统一管理、运行同一IGP协议的路由器组成,通常使用相同路由策略。

  • AS编号:分为2字节和4字节。2字节取值0-65535,其中公有AS为1-64511,私有AS为64512-65535;4字节公有AS为65536–4199999999,私有AS为4200000000–4294967294。

路由协议的分类

  • IGP:包括RIP、OSPF、IS-IS。

  • EGP:即BGP。

BGP协议特性

  1. 负责将路由从一个AS传到另一个AS,AS内部路由扩散依靠IGP。

  2. 是路径矢量协议,一跳为一个自治系统,路由在AS间传递时下一跳变化,在AS内部传递时下一跳不变。

  3. 有AS防环机制,通过AS_PATH属性,记录路由经过的AS编号,若包含本AS编号则不学习。

  4. 基于TCP协议传输,端口号179,需手动配置邻居。

  5. 第一次网络收敛发送完整路由表,后续发送增量更新。

  6. 有多种属性可控制路由选择。

  7. 支持路由聚合。

  8. 可进行路由过滤和路由策略配置。

BGP基本术语

  • BGP Speaker:运行BGP协议的路由器。

  • BGP Peer:相互有TCP连接、交换路由信息的BGP Speaker。

  • BGP对等体分类

    • EBGP对等体:跨AS的邻居,一般物理直连,从其获得的路由会向所有对等体通告。

    • IBGP对等体:同一AS内部的邻居。

    • 邻居也可非直连。

BGP规划问题(路由黑洞)

  • 产生原因:IBGP邻居间存在未运行BGP协议的路由器,无法获得BGP路由,导致数据包被丢弃。

  • 解决方法:BGP引入IGP;在黑洞路由器上配置静态路由;IBGP全连接(存在防环机制及配置工作量大问题);使用BGP路由反射器;采用BGP联盟。

BGP环路问题(水平分割)

  • EBGP水平分割:通过AS_PATH属性防环,学习到的路由含本地AS号则拒绝学习。

  • IBGP水平分割:从一个IBGP对等体学习的路由,不会通告给其他IBGP对等体。

BGP消息种类

  • 头部信息:包括标记(解决协议兼容性)、长度(指示报文长度)、类型(指示报文类型)。

  • 数据包种类

    • Open:建立对等体连接,携带route-id等,含保持时间等参数。

    • Keepalive:周期性发送以保持连接有效性,默认周期60秒,超时180秒。

    • Update:携带路由更新信息,包括撤销和新增路由等。

    • Notification:检测到错误时发送,之后关闭连接。

    • Router-refresh:改变路由策略后,要求对等体重发指定地址族完整路由表,仅支持该能力的路由器响应。

BGP状态机

包括Idle(空闲,初始化准备连接)、Connect(TCP连接中)、Active(主动尝试连接)、OpenSent(发送Open报文等待对方回应)、OpenConfirm(收到Open报文,发送Keepalive等待回应)、Established(收到Keepalive,建立邻居)。

BGP邻居建立条件

  • IBGP:物理口建邻建议用直连接口地址;环回口建邻需对方IP可达,更新源与指定邻居地址一致,无需直连。

  • EBGP:物理口建邻建议用直连接口地址;环回口建邻需IP可达,可修改最大跳数,更新源与指定邻居地址一致,默认IBGP邻居间TTL为255,EBGP为1,环回建立EBGP邻居需修改TTL。

  • 同时有EBGP和IBGP邻居时,需对IBGP邻居修改下一跳为本机。

BGP路由选路原则(13条)

  1. 丢弃下一跳不可达的路由。

  2. 优选Preferred-value值最大的路由(默认为0,0~65535,华为、H3C私有属性)。

  3. 优选本地优先级(LOCAL_PREF)最高的路由。

  4. 依次选择network命令生成、import-route命令引入、聚合的路由。

  5. 优选AS路径(AS_PATH)最短的路由。

  6. 依次选择ORIGIN属性为IGP、EGP、Incomplete的路由。

  7. 优选MED值最低的路由。

  8. 依次选择从EBGP、联盟EBGP、联盟IBGP、IBGP学来的路由。

  9. 优选下一跳度量值(IGP到达下一跳的度量)最低的路由。

  10. 优选CLUSTER_LIST长度最短的路由。

  11. 优选ORIGINATOR_ID最小的路由。

  12. 优选Router ID最小的路由器发布的路由。

  13. 优选IP地址最小的对等体发布的路由。

BGP负载分担时的选路

  1. 背景:BGP默认选唯一最优路由,可通过配置命令或路由策略修改属性实现负载分担,如maximum load-balancing 2允许最多2条等价路径。

  2. 与IGP的区别

    • IGP通过自身算法,对度量值相等的路由负载分担。

    • BGP无路由计算算法,基于选路规则有条件地实现负载分担。

BGP路由的发布策略

  • 只发布最优路由(IP路由表或BGP路由表中的最优路由,依配置而定)。

  • 只发布自己使用的最优路由。

  • 从EBGP获得的路由向所有BGP对等体发布。

  • 从IBGP获得的路由不向IBGP对等体发布(IBGP水平分割),但发布给EBGP对等体。

  • 建立连接后,向新对等体发布符合条件的所有路由,后续仅在路由变化时更新。

BGP属性(控制选路的方法)

1. 公认属性(所有路由器必须识别)
  • 公认必遵属性(路由必须携带):

    • AS_PATH:记录路由经过的AS编号,用于防环,路径短的路由优先;在路由传出AS时增加AS编号,修改时建议增加真实AS编号。

    • next-hop:下一跳地址,向EBGP邻居发布时变更为自身地址,向IBGP邻居发布时不变,可配置命令更改IBGP邻居路由的下一跳为本机。

    • ORIGIN:描述路由来源,取值为IGP(network宣告,显示i)、EGP(引入EGP,显示e)、Incomplete(引入IGP/静态/直连,显示?),优选顺序为IGP>EGP>Incomplete。

  • 公认可选属性(非必须携带):

    • local-perference:本地优先级,仅在IBGP邻居间传递,默认值100,值大的路由优先,用于AS内选择离开本AS的最佳路由。

    • Atomic-aggregate:自动聚合相关属性,BGP支持自动和手动聚合。

2. 可选属性
  • 可选传递属性(不识别但会传递):

    • aggregator:手动聚合相关属性。

    • community:团体属性。

  • 可选非传递属性(不识别且不传递):

    • clustor_list:集群列表。

    • originator_id:集群ID。

    • MED:多出口鉴别器,用于判断流量进入AS的最优路径,仅在相邻AS间传递,默认值0(network路由)或原IGP cost(引入路由),值小的优先。

3. preferred-value

首选项,华为、H3C私有属性,默认0,取值0~65535,值大的路由优先。

属性控制的选择建议

  • 影响下游所有路由器:用AS-PATH。

  • 影响本AS内部某个路由器:用Local-preference。

  • 影响下游某一个AS的路由器:用MED。

  • 影响某一台路由器:用preferred-value。

属性控制方法

通过路由策略实现,对匹配的路由用Apply子句修改属性,在邻居的传入/传出方向调用,空节点允许其他路由正常放行;也可在宣告或引入路由时调用策略。

BGP对等体组、聚合、路由反射器、联盟团体属性

大规模BGP网络的问题

  • BGP对等体众多,配置和维护难度大。

  • BGP路由表庞大,对设备性能要求高。

  • IBGP全连接导致邻居数量过多,管理复杂。

  • 路由变化频繁,引发路由更新频繁。

解决大规模BGP网络问题的方案

1. BGP对等体组
  • 定义:由具有相同属性的对等体组成的集合,可简化配置。

  • 分类

    • IBGP对等体组:同一AS内的对等体组成,配置时需指定对等体、连接接口等。

    • EBGP对等体组:跨AS的对等体组成,因EBGP邻居可能分布在多个AS,配置较繁琐,一般不常用。

  • 配置示例:通过group命令创建对等体组,将对等体加入组中,并配置相关属性。

2. BGP路由聚合
  • 作用:减小路由表规模。

  • 类型

    • 自动聚合:仅对引入的IGP路由生效,汇总到主类,可能造成路由黑洞,华为设备默认关闭,配置命令为summary automatic,聚合后明细路由状态为S(被抑制)。

    • 手工聚合:可精确汇总,能在任何路由器上配置,命令为aggregate 网络地址 子网掩码;为避免明细路由通告形成环路,可使用detail-suppressed抑制明细路由,还可通过as-set让汇总路由继承明细路由属性,或通过suppress-policy选择性抑制明细路由。

3. 路由反射器
  • 定义:能将从IBGP邻居学习的路由反射给其他IBGP邻居的BGP路由器。

  • 作用:替代IBGP全连接,减少邻居数量,解决路由黑洞问题。

  • 角色:包括路由反射器(RR)、客户机(Client)、非客户机。

  • 反射规则

    • 从非客户机接收的路由,仅反射给客户端。

    • 从客户端接收的路由,反射给所有客户端和非客户端(路由始发者除外)。

    • 从EBGP接收的路由,反射给所有客户端和非客户端。

  • 防环机制

    • Cluster-list:记录路由经过的反射器集群ID,若包含本机集群ID则丢弃路由,短列表优先。

    • Originator_ID:记录路由始发者的Router ID,若与本机Router ID相同则忽略路由,小值优先。

  • 配置:在反射器上通过peer 对等体地址 reflect-client指定客户机,可配置reflector cluster-id设置集群ID。

4. BGP联盟
  • 定义:将一个自治系统划分为若干子自治系统,子系统内IBGP全连接,子系统间建立联盟内部EBGP连接,以解决IBGP连接激增问题。

  • 注意点:子AS使用私有AS编号;其他AS仍与联盟AS建立EBGP邻居;跨子AS的EBGP邻居需更改下一跳为本机;实际应用较少。

  • 配置:进入子AS,通过confederation id申明联盟大号,confederation peer-as申明联盟同伴,配置邻居及相关属性。

5. BGP团体属性(Community)
  • 定义:路由的标记,用于标记具有相同特征的路由集合。

  • 表达格式:32位二进制,可表示为10进制或前16位为AS号、后16位自定值的格式。

  • 公认属性

    • Internet:默认属性,可通告给所有对等体。

    • No-advertise:无法发送给任何对等体。

    • No-export:可发给BGP对等体,但不能传出本AS,可发给联邦EBGP对等体。

    • No-export-subconfed:可发给BGP对等体,但不能传出本AS和联邦EBGP对等体。

  • 配置:通过ACL抓取流量,在路由策略中用apply community打标记,调用路由策略并开启advertise-community使属性传递。

6. BGP路由衰减(Route Dampening)
  • 作用:解决路由振荡问题。

  • 原理:路由每振荡一次增加惩罚值(默认1000),超过抑制阈值(默认2000)时路由被抑制;惩罚值每半衰期(默认15分钟)减半,低于重用阈值(默认750)时路由重新被通告,最大惩罚值上限为1001-20000。

  • 配置:使用dampening命令启用,可自定义参数(半衰期、重用阈值、抑制阈值、最大惩罚上限)。

http://www.lryc.cn/news/615424.html

相关文章:

  • 机器学习DBSCAN密度聚类
  • 讯飞晓医-讯飞医疗推出的个人AI健康助手
  • 复杂环境下车牌识别准确率↑29%:陌讯动态特征融合算法实战解析
  • 编译技术的两条演化支线:从前端 UI 框架到底层编译器的智能测试
  • Office安装使用?借助Ohook开源工具?【图文详解】微软Office产品
  • 每周算法思考:栈与队列
  • 【数据结构入门】栈和队列
  • 物理AI与人形机器人:从实验室到产业化的关键跨越
  • day15_keep going on
  • [激光原理与应用-202]:光学器件 - 增益晶体 - Nd:YVO₄增益晶体的制造过程与使用过程
  • RecyclerView 缓存机制
  • 202506 电子学会青少年等级考试机器人六级器人理论真题
  • 【自动化运维神器Ansible】playbook自动化部署Nginx案例解析:助力从零构建高效Web服务
  • Kettle ETL 工具存在的问题以及替代方案的探索
  • AWT 事件监听器深入浅出:Action/Mouse/Key/Window 全解析与实战
  • B2.0:对硬件学习的一些个人心得感悟
  • 跨境电商系统开发:ZKmall开源商城的技术选型与代码规范实践
  • Linux 中CentOS Stream 8 - yum -y update 异常报错问题
  • MySQL 主备(Master-Slave)复制 的搭建
  • 每日五个pyecharts可视化图表-line:从入门到精通
  • 基于springboot+vue开发的校园食堂评价系统【源码+sql+可运行】【50809】
  • 计算机系统设计中都有什么任务~计算密集~IO密集~逻辑密集等
  • 通过 Docker 运行 Prometheus 入门
  • 如何在 Excel 中快速求和?【图文详解】Excel求和技巧,Excel求和公式大全,多种方式求和
  • 轻松Linux-5.进程控制
  • drippingblues靶机
  • Easysearch 冷热架构实战
  • 从 AI 到实时视频通道:基于模块化架构的低延迟直播全链路实践
  • Docker容器lnmp平台部署discuz论坛
  • 配送算法10 Batching and Matching for Food Delivery in Dynamic Road Networks