BGP-边界网关协议,用于在AS之间实现路由信息的交互

1、AS的概念

  • 自治系统——在一个实体管辖下的拥有相同选路策略的ip网络
  • BGP网络中的每一个AS都被分配一个唯一的AS号,用于区分不同的AS。AS号分为两字节AS号和四字节AS号
  • 中国电信163 AS号:4134
  • 中国电信CN2 AS号:4809

2、使用BGP的理由

  • BGP能够承载大批量的路由前缀(Ipv4、ipv6、组播等)
  • 支撑MPLS/VPN的应用,传递客户VPN路由
  • 具备强大的路由策略能力,定义了丰富的路径属性
  • 支持多协议的扩展

3、BGP协议特征

  • BGP使用TCP为传输层协议,使用TCP端口179号。BGP路由之间基于TCP建立BGP会话。BGP对等体之间无需直连。
  • 运行BGP的路由器被称为BGP Speaker。两台BGP路由器需建立对等体关系才能交互BGP路由。存在两种类型的BGP对等体关系——EBGP以及IBGP。
  • 在BGP对等体关系建立完成后,BGP路由器只发送增量更新或者触发更新(不会周期性更新
  • BGP具有丰富的路径属性和强大的策略工具
  • BGP能够承载大批量的路由前缀,用于大规模的网络中。

4、BGP报文类型

报文名称

作用是什么

什么时候发包

OPEN

协商BGP邻居的各项参数,建立邻居关系

OPEN是TCP连接建立后发送的第一个报文

UPDATE

用于对等体之间交换路由信息

连接建立后,有路由需要发送或路由变化时,发送UPDATE通告对端路由信息。它既可以发布可达路由信息,也可以撤销不可达路由信息

NOTIFICATION

当BGP检测到错误状态时,就向对等体发出这个消息,之后BGP连接会立即中断

当BGP在运行中发现错误时,要发送NOTIFICATION报文通告BGP对端

KEEPALIVE

维持邻居关系

定时发送KEEPALIVE报文以保持BGP邻居关系的有效性

Route-refresh

Route-refresh消息用来要求对等体重新发送指定地址族的路由信息

当路由策略发生变化时,触发请求邻居重新通告路由

5、BGP的邻居状态机

Peer状态名称

发什么包

在做什么

Idle

尝试建立TCP连接

开始准备TCP的连接并监视远程peer启动TCP连接,启用BGP时,要准备足够的资源

Connet

发TCP包

正在进行TCP连接,等待完成中,认证都是在TCP建立期间完成的。如果TCP连接不上则进入Active状态,反复尝试连接

Active

发TCP包

TCP连接没有建立成功,反复尝试TCP连接

OpenSent

发Open包

TCP连接已经建立成功,开始发送Open包,Open包携带参数协商对等体的建立

OpenConfirm

发Keepalive包

参数,能力特征协商成功,自己发送Keepalive包,等待对方的Keepalive包

Established

发Update包

已经收到对方的Keepalive包,双方能力特性一致,开始使用Update通告路由信息