BGP
AS的概念
- 自治系统(Autonomous System,AS),指的是在同一个组织管理下,使用相同策略的设备的集合。
- 不同的AS通过AS号区分,AS号取值范围1-65535,其中64512-65535是私有AS号。IANA负责AS号的分发。
- 中国电信163 AS号:4134
- 中国电信CN2 AS号:4809
- 中国网通AS 号:9929
BGP概述
- 边界网关协议(Border Gateway Protocol,BGP)是一种实现自治系统AS之间的路由可达,并选择最佳路由的矢量性协议。
- BGP的特点:
- BGP能够承载大批量的路由信息,能够支撑大规模网络。
- BGP提供了丰富的路由策略,能够灵活的进行路由选择,并能指导邻居按策略发布路由。
- BGP能够支撑MPLS/VPN的应用,传递客户VPN路由。
- BGP提供了路由聚合和路由衰减功能用于防止路由震荡,有效提高了网络的稳定性。
- BGP使用TCP作为其传输层协议(端口号为179)。
BGP的路径矢量特征
- BGP通常被称为路径矢量路由协议(Path-Vector Routing Protocol)。
- 每条BGP路由都携带着多种路径属性,在各种路径属性中,AS_Path属性是非常关键的一个。AS_Path属性记录了BGP路由传递过程中所经过的AS号,实际上它是一个AS号的列表。
- BGP路由器不接受AS_Path中包含其自身AS号的路由更新。AS_Path属性值的长短(AS号的个数)会作为一个比较的依据,影响BGP路由选择的决策。
BGP协议特征
- BGP使用TCP为传输层协议,TCP端口号179。路由器之间的BGP会话基于TCP连接而建立。
- 运行BGP路由器被称为BGP发言者(BGP Speaker),或BGP路由器。
- 两个建立BGP会话的路由器互为对等体(Peer)。BGP对等体之间交换BGP路由表。
- BGP路由器只发送增量的BGP路由更新,或进行触发更新(不会周期性更新)。
- BGP具有丰富的路径属性和强大的路由策略工具。
- BGP能够承载大批量的路由前缀,用于大规模的网络中。
BGP报文类型
- Open:协商BGP邻居的各项参数,建立邻居关系。
- Update:用于发送BGP路由信息。
- Notification:报告错误,中止对等体关系。
- Keepalive:维持BGP对等体关系。(定时发送60秒)
- Route-refresh:用于在改变路由策略后请求对等体重新发送路由信息。只有支持路由刷新能力的BGP设备会发送和响应此报文。
BGP状态机
BGP Peer
- 运行BGP的路由器被称为BGP发言者,或者BGP路由器。
- BGP对等体也叫BGP邻居,与OSPF、RIP等协议不同,BGP的会话是基于TCP建立的。建立BGP对等体关系的两台路由器并不要求必须直连。
- BGP存在两种对等体关系类型:EBGP/IBGP。
- EBGP Peer
- 位于不同自治系统的BGP路由器之间的BGP邻接关系。
- 两台路由器之间要建立EBGP对等体关系,必须满足两个条件:
- 两个路由器所属AS不同(AS号不同)
- 在配置BGP是,Peer命令所指的对等体IP地址要求路由可达,并且TCP连接能够正确建立。
- IBGP Peer
- 位于相同自治系统的BGP路由器之间的BGP邻接关系。
- 两台路由器之间要建立EBGP对等体关系,必须满足两个条件: