【HCIP】学习 -- BGP报文结构

137 阅读2分钟

image.png

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第31天,点击查看活动详情

BGP的报文结构:所有报文都是单播

image.png

  • TCP端口号179
  • BGP头部是固定的东西

BGP包类型

  • Open包, 类似hello,建立邻居关系
  • Keeplive 类似hello,维护邻居关系
  • Update 路由更新,包含属性
  • Notification 当检测到错误后,发送后关闭BGP连接
  • Route-refresh 当路由策略发生变化的时候,触发请求邻居重新通告路由

BGP状态

  • ldle 初始化,路由器查找路由表,是否有达到邻居的路由
  • Connect 发起tcp连接,等待tcp连接
  • Active TCP连接失败,继续尝试TCP连接
  • Open Sent TCP连接成功,已发送Open包
  • Open Confirm 已收到对方正确的Open包,如果没有收到,会进入Active
  • Established 邻居建立完成,开始传递路由

image.png

Idle 找到路由了就开始建立三次握手,进入了connect状态,connect超时,还是connect,三次握手的包发出去了,但是连接失败,就停留在active,active也会进行重试,尝试成功了,进入open sent,如果active 重试超时,退回到connect状态,opensent之后的状态如果失败,则退回到Idle状态。

BGP邻居关系建立

image.png

BGP活跃状态验证

活跃:路由器已发送一个Open数据包,正在等待响应。

  • 状态可能会在活跃与空闲之间不断循环
  • 由于以下原因,邻居可能不知道如何返回到该路由器:
    • 不存在指向BGP”打开“数据包源IP地址的路由
    • 邻居与错误的地址建立对等关系
    • 不存在该路由器的邻居声明
    • AS号配置错误