BGP路由协议之对等体

IGP 可以通过组播报文发现直连链路上的邻居,而 BGP 是通过 TCP:179 来实现的。BGP 需要手工的方式去配置邻居。不需要直连,只要路由能通就可以建立邻居

IBGP 与 EBGP

IBGP :(Internal BGP) :位于相同自治系统的 BGP 路由器之间的 BGP 邻接关系

EBGP:(ExternalBGP):位于不同自治系统的 BGP 路由器之间的 BGP 对等体关系。两台路由器之间要建立 EBGP 对等体关系必须满足两个条件

  • 两个路由器所属 AS 不同(即 AS 号不同)
  • 在配置 EBGP 时,Peer 命令所指定的对等体 IP 地址要求路由可达并且 TCP 连接能够正确建立。

邻居建立

先启动 BGP 的一端先发起 TCP 连接,如左图所示,R1 先启动 BGP,R1 使用随机端口号向 R2 的 179 端口发起 TCP 连接,完成 TCP 连接的建立

三次握手建立完成之后,R1、R2 之间相互发送 open 报文携带参数用于对等体建立,参数协商正常之后双方相互发送 Keepalive 报文,收到对端发送的 Keepalive 报文之后对等体建立成功,同时双方定期发送 Keepalive 报文用于保持连接。

其中 open 报文中携带

  • My Autonomous System: 自身 AS 号
  • Hold Time:用于协商后续 Keepalive 报文发送时间
  • RGP Identifier·自身 RouterID

BGP 对等体关系建立之后,BGP 路由器发送 BGP Update(更新)报文通告路由到对等体

KEEPLIVE 间隔时间 60 秒,超时时间为 Keeplive 的三倍时间

复制代码
创建邻居,ip 30.0.0.1 as 64512
[R3-bgp-default]peer 30.0.0.1 as-number 64512

[Huawei]dis bgp peer // 查看路由

邻居状态机制

Peer 状态名称 用途
Idle 开始准备 TCP 的连接并监视远程对等体,启用 BGP 时,要准备足够的资源
Connect 正在进行 TCP 连接,等待完成中,认证都是在 TCP 建立期间完成的。如果 TCP 连接建立失败则进入 Active 状态,反复尝试连接:
Active TCP 连接没建立成功,反复尝试 TCP 连接
OpenSent TCP 连接已经建立成功,开始发送 open 包,open 包携带参数协商对等体的建立
OpenConfirm 参数、能力特性协商成功,自己发送 Keepalive 包,等待对方的 Keepalive 包
Established 已经收到对方的 Keepalive 包,双方能力特性经协商发现一致,开始使用 update 通告路由信息

TCP 更新源地址

一般而言在 AS 内部,网络具备一定的冗余性。在 R1 与 R3 之间,如果采用直连接口建 IBGP 邻居关系,那么一旦接口或者直连链路发生故障,BGP 会话也就断了"但是事实上,由于冗余链路的存在,R1 与 R3 之间的 IP 连通性其实并没有 DOWN (仍然可以通过 R4 到达彼此)

为了解决这个问题

  • 缺省情况下,BGP 使用报文出接口作为 TCP 连接的本地接口在部署 IBGP 对等体关系时,建议使用 Loopback 地址作为更新源地址。Loopback 接口非常稳定,而且可以借助 AS 内的 IGP 和元余拓扑来保证可靠性。
  • 在部署 EBGP 对等体关系时,通常使用直连接口的 IP 地址作为源地址,如若使用 Loopback 接口建立 EBGP 对等体关系则应注意 EBGP 多跳问题

对于 IBGP 来说,如果使用环回口建立邻居,一定要配置连接源,否则邻居关系无法正常建立。

在 IBGP 建立邻居时,两台设备之间不要使用默认路由,尽量使用明细路由(防止环路)

Huawei-bgppeer 3.3.3.3 connect-interface lo0 // 配置连接源为lo0接口

EBGP 多跳

在建立 IBGP 邻居时,建议使用环回口

但在建立 EBGP 邻居时,则建议使用直连接口。

EBGP 建立邻居时数据包的 ttl 默认为 1,仅限直连。跨设备会建立失败

可以设置 EBGP 连接邻居的最多跳数

综合配置

复制代码
[Huawei-bgp]peer 12.1.1.2 as-number 65413  // 设置邻居
[Huawei-bgp]peer 12.1.1.2 connect-interface lo0  // 使用lo0口与该邻居建立关系
[Huawei-bgp]peer 12.1.1.2 ebgp-max-hop 3  // 设置EBGP的最多条数,不写数值则默认为255
[Huawei-bgp]peer 12.1.1.2 next-hop-local  // 向该邻居更新报文时,修改下一跳为本设备
相关推荐
星创易联11 分钟前
Robotaxi远程平行驾驶通信保障:5G车载路由器低时延与网络切片实践
5g·车载系统·智能路由器·车载通信·车载网关
志栋智能1 小时前
超自动化运维与DevOps的深度融合
运维·网络·人工智能·安全·自动化
JJJennie7772 小时前
MAI Gateway技术揭秘:大模型网关能做什么?从原理到落地
linux·服务器·网络·ai网关
Allen_LVyingbo2 小时前
医疗人工智能项目全生命周期管理系统:监管知识建模、工程实现与实证评估(上)
网络·人工智能·机器学习·语言模型·自动化
新时代牛马8 小时前
嵌入式网络完整篇:从LwIP/以太网驱动到 Linux netdev 与排障
linux·网络·php
上海云盾-小余9 小时前
BGP 高防底层原理:TCP 异常流量识别与清洗机制
运维·网络·tcp/ip
captain3769 小时前
▲网络原理(2)-TCP
java·服务器·网络·tcp/ip·java-ee
同元软控10 小时前
从排队、碰撞到信号波形:基于Sysevents的网络—信号一体化仿真
网络
言乐610 小时前
Python加速器4跨境网络加速器
运维·服务器·开发语言·网络·python
疯狂打码的少年11 小时前
【计算机网络】IPv6基础(特点、表示法、与IPv4对比)
网络·笔记·计算机网络