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-bgp\]peer 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 // 向该邻居更新报文时,修改下一跳为本设备

相关推荐
达斯维达的大眼睛21 分钟前
Linux网络多进程并发服务器和多线程并发服务器
linux·服务器·网络
Lilith的AI学习日记1 小时前
LangChain高阶技巧:动态配置Runnable组件的原理剖析与实战应用
大数据·网络·人工智能·架构·langchain
安科瑞刘鸿鹏1 小时前
智能配电保护:公共建筑安全的新 “防火墙”
运维·网络·物联网·算法·安全·能源
czhc11400756632 小时前
网络5 TCP/IP 虚拟机桥接模式、NAT、仅主机模式
网络·tcp/ip·桥接模式
逆水寻舟2 小时前
尚硅谷2019版Java网络编程笔记
java·网络·笔记
Bidjc4 小时前
关于群晖安装tailscale后无法直链的问题
智能路由器·群晖·tailscale
邪恶的贝利亚10 小时前
FFMEPG常见命令查询
linux·运维·网络·ffmpeg
只会写Bug的程序员11 小时前
面试之《websocket》
网络·websocket·网络协议
christine-rr11 小时前
【25软考网工笔记】第二章 数据通信基础(1)信道特性 奈奎斯特 香农定理
网络·信息与通信·信号处理·软考
挣扎的蓝藻12 小时前
使用 Python 扫描 Windows 下的 Wi-Fi 网络实例演示
网络·windows·python