BGP 原理

BGP 原理
BGP 作用:

  1. 在 AS 和 AS 之间传递路由
  2. 通过丰富的路径属性控制路由以及实现路由优选
    AS 号码:两种表示形式
  3. 二字节 AS:1-65535,其中 1-64511 是公有 AS 好,64512-65535 是私有 AS 号
  4. 四字节 AS:1-(2^32-1)
    使用 IGP 在 AS 之间传递路由的缺点
    IGP 指的:ospf isis
    EGP 指的:BGP
  5. 不安全:IGP 协议是彼此完全信任,如果在 AS 之间运行 IGP,会导致内部网络完全暴露
  6. 负担高:IGP 需要全网的链路信息以及全网路由信息,多个 AS 之间运行 IGP 会导致信
    息量增大,导致设备性能消耗高,路由收敛慢
    BGP 特点
    BGP 的特点
  7. BGP 是路径矢量型路由协议,每个路由条目携带了很多路径属性
    2.通过丰富的路径属性,可以对路由进行控制,优选
    3.基于 TCP 连接建立 BGP 邻居关系,源端口随机,目的端口 179,可靠性较高(所以只要网络
    可达,就可以建立 BGP 邻居)
    4.只传递管理员指定的路由信息,不会暴露内部网络
    5.触发式·更新(只更新发送变化的路由信息), 不进行周期性更新,因为 BGP 承载的路由信
    息太多,周期性更新会导致设备负担较大
    6.可以适用多种地址族,与其他协议进行扩展,例如与 MPLS VPN 结合,传递 VPNv4 路由
    7.可以承载大规模路由信息,支撑大规模的网络
    8.提供路由聚合和路由衰减,防止路由震荡,提高网络稳定性
    BGP 应用场景:
  8. 大型企业的分支之间采用 BGP 互联,传递路由信息
  9. 企业与 ISP 之间使用 BGP 互联,互相通告路由
    BGP 对等体关系:
  10. IBGP 对等体:同一个 AS 内的对等体,通常使用 looback 作为更新源地址
  11. EBGP 对等体:不同 AS 内的对等体,通常使用直连接口作为更新源地址,如果需要
    Looback,需要解决两个问题
    (1) 两边 looback 都设置路由可达
    (2) 设置 EBGP 多跳 BGP 建立邻居关系
    1.建立 TCP 连接,源端口随机,目的端口 179.
    2.互相交互 Open 报文,协商 My AS,Hold Time, BGP RID 等参数
    3.互相交互 Keepalive 报文,对收到的 0pen 进行确认
    4.后续 60s 周期交互 Keepalive 报文,维护 BGP 邻居关系,180s 没有收到 Keepalive,认为
    邻居失效
    5.邻居关系建立成功后,互相交互 Updata 报文 通告路由信息
    BGP 建立 TCP 连接的特点
  12. 双方都发起 TCP 连接,建立两条 TCP 连接,最终断开一条,保留一条
  13. 保留更新源地址打的一方发起的 TCP 连接
    BGP 邻居状态机
    1.创建 BGP 后,最初处于 ldel, 准备建立 TCP
    2.资源准备完成后,从 Idel 进 入 Connect 状态,开始建立 TCP 连接
  14. TCP 连接建立成功进入 OpenSent,建立失败进入 Active 重新尝试建立 TCP,建立超时进入
    Conncent,等待 TCP 响应
    4.在 OpenSent 状态下会发送 Open 报文,收到对方发送的 Open 报文后进入 OpenConfim
    5.在 OpenConfim 状态 下会回复 Keepalive 报文对收到的 0pen 进行确认,收到对方发送的
    Keepalive 后进入 Establish,邻居关系建立成功
    TCP 建立失败:收到 TCP 报文源地址和指定的 PEER 地址不同
    TCP 超时:对端没有配置 BGP 导致没有回复 TCP 报文,peer 地址不存在
    BGP 通告路由的方式
  15. Network:把某条 IGP 路由宣告到 BGP 路由表中
  16. Import:把某种协议的路由引入到 BGP 路由表中
    路由通告原则
  17. BGP 路由器只会把最优的及有效的路由通告给邻居
    2.从 EBGP 邻居学到的路由会发布给所有邻居
    3.从 IBGP 邻居学到的路由不会发给 IBGP 邻居(用于 AS 内的防环)
  18. BGP 同步检查,从 IBGP 收到路由需要发给 EBGP 邻居时,会检查此路由是否同时存在与
    IGP 和 BGP 中,如果同步,则允许发给 EBGP 邻居,否则不通告(同步检查机制默认关闭且无
    法打开)
相关推荐
名字还没想好☜1 小时前
Python f-string 进阶:数字格式化、对齐填充、调试 = 号与嵌套表达式
开发语言·数据库·python·字符串格式化·f-string
一壶浊酒..5 小时前
Scrape Webpack练习
开发语言·javascript·webpack
weixin_446260855 小时前
从被动镜像到主动智能体:面向网络物理人工智能的整体论数字孪生(HDT-Net)
网络·人工智能
ZJH__GO5 小时前
网络编程v4pro--实现聊天室文件传输功能
java·服务器·网络·计算机网络
命运之光5 小时前
【C语言完整代码】就诊信息管理系统
java·c语言·开发语言
命运之光6 小时前
【C语言完整代码】图书管理系统:图书馆场景下的增删改查实战
c语言·开发语言
猿长大人6 小时前
C# | Serilog 新手入门
开发语言·c#·.net·log
shengnan_wsn7 小时前
【协议】【TCP】
网络·网络协议·tcp/ip
烟雨江南7857 小时前
2026汽车制造与新能源整车柔性产线Agentic-Workflow白皮书:跨APS_MES_ERP多智能体动态排产与装配容错实战
大数据·网络·人工智能·自动化·ai客服·企业agent
在世修行7 小时前
从零打造 C# 工业视觉检测系统(七):串口通信 SerialPort 封装与开发
开发语言·c#·modbus rtu·rs232/rs485