BGP学习笔记(一)

BGP特征:
  • BGP是外部路由协议,用来在AS之间传递路由信息。
  • BGP是一种增强的距离矢量路由协议(AS_PATH)
    • 可靠的路由更新机制(TCP),端口号179
    • 丰富的Metric度量方法
    • 从设计上避免了环路的发生
  • 为路由附带属性信息
  • 支持CIDR(无类别域间选路)
  • 丰富的路由过滤和路由策略
  • 无需周期性更新(使用增量更新、和触发更新)
  • 路有更新:只发送增量路由
  • 周期性发送Keepalive报文检测TCP的连通性
BGP报文种类:
  • Open:负责和对等体建立邻居关系
  • KeepAlive:在对等体之间周期性发送,用以维护连接。(60S)
  • Update:该消息被用来在BGP对等体之间传递路由信息。
  • Notification:当BGP Speaker检测到错误的时候,就发送该消息给对等体。
  • Route-refresh:用来通知对等体自己支持路由刷新能力
  • AS范围1-65535 64512-65535为私有部分 1-64511是公有AS需要申请
  • Update报文只能传递属性一样的路由条目,如果路由的属性不同,需要分别使用update报文传递
BGP状态机:
  • idle:BPG连接的第一个状态,在空闲状态,BPG在等待启动事件,启动事件出现后,BGP初始化资源,复位连接重试计时器,发起一条TCP连接,同时转入Connect状态。
  • Connect:BGP发送第一个TCP连接,如连接重试计时器超时,则重新发起TCP连接,并继续保持Connect状态,如TCP连接成功,就转入Open-sent状态,如果TCP连接失败就转入Active状态。
  • Active:试图建立TCP连接,如果重试计时器超时,就退回到Connect状态,如果成功就进入Open-sent状态,如果TCP连接失败就保持在Active状态。并继续发起TCP连接。
  • Open-sent:TCP连接已建立,发送第一个Open报文,等待其他对等体发送Open报文,收到Open报文并进行正确性检查,如果错误,则发送一条错误通知并退回到Idel状态,如果没有错误就开始发送Keepalive报文,并复位KeepAlive计时器,同时转入Open-confirm状态。
  • Open-confirm:BGP等待一个Keepalive报文,同时复位保持计时器,如果收到一个Keepalive报文,就转入Established状态。
  • Established:BGP邻居关系已建立,将和邻居进行交换Update报文,同时复位保持计时器。
  • 在其他5个状态下出现错误,则会退回到Idel状态下。
BGP数据库:
  • IP路由表(IP-RIB)
  • BGP路由表(Loc-RIB)
  • 邻居表
  • Adj-RIB-In:对等体宣告给本地Speaker的未处理的路由信息库
  • Adj-RIB-Out:本地peraker宣告给指定对等体的路由信息库
  • 删除路由也是通过Update报文进行删除的
关于Route-Reflush:
  • 发送方支持,接收方不支持,更改发送方策略,则会重新建立邻居关系
  • 发送方不支持,接收方支持,更改发送方策略,则会触发Update报文

发表评论

您的电子邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据