BGP
回顾
- IGP:内部网关路由协议,在一个自治系统内部使用的路由协议,比如:RIP、OSPF等
- EGP:外部网关路由协议,在两个及以上自治系统之间使用的动态路由协议,比如:BGP等
概述
定义
- 边界网关协议BGP(Border Gateway Protocol)是一种实现自治系统AS(Autonomous System)之间的路由可达,并选择优选路由的距离矢量路由协议。早期发布的三个版本分别是BGP-1、BGP-2和BGP-3,1994年开始使用BGP-4,2006年之后单播IPv4网络使用的版本是BGP-4,其他网络(如IPv6等)使用的版本是MP-BGP。
- BGP分为EBGP(External/Exterior BGP)和IBGP(Internal/Interior BGP)
- BGP度量值(cost)为跳数,使用TCP/179端口实现路由信息传输。
解决的问题
BGP能够进行路由优选、避免路由环路、更高效率的传递路由和维护大量的路由信息。替代了简单设计只会转发路由的EGP。
BGP的角色
- Speaker:发送BGP报文的设备称为BGP发言者(Speaker),它接收或产生新的报文信息,并发布(Advertise)给其它BGP Speaker。
- Peer(对等体):相互交换报文的Speaker之间互称对等体(Peer)。若干相关的对等体可以构成对等体组(Peer Group)。
BGP的报文
- Open报文:用于建立BGP对等体连接。
- Update报文:用于在对等体之间交换路由信息。
- Notification报文:用于中断BGP连接。
- Keepalive报文:用于保持BGP连接。
- Route-refresh报文:用于在改变路由策略后请求对等体重新发送路由信息。只有支持路由刷新(Route-refresh)能力的BGP设备会发送和响应此报文。
BGP对等体之间的交互原则
BGP设备将最优路由加入BGP路由表,形成BGP路由。BGP设备与对等体建立邻居关系后,采取以下交互原则:
- 从IBGP对等体获得的BGP路由,BGP设备只发布给它的EBGP对等体。
- 从EBGP对等体获得的BGP路由,BGP设备发布给它所有EBGP和IBGP对等体。
- 当存在多条到达同一目的地址的有效路由时,BGP设备只将最优路由发布给对等体。
- 路由更新时,BGP设备只发送更新的BGP路由。
- 所有对等体发送的路由,BGP设备都会接收。
命令
#创建AS(取值范围:[1,65535])
bgp 编号
#设置路由器编号(格式为IPv4)
router-id 编号
#建立对等体
peer IP地址 as-number AS编号
#设置单播发送
ipv4-family unicast
#宣告网段
network IP地址 子网掩码