概述
-
边界网关协议BGP(Border Gateway Protocol)是一种实现自治系统AS(Autonomous System)之间的路由可达,并选择优选路由的距离矢量路由协议。
-
度量值为跳数,使用TCP/179实现路由信息传输。
-
分类:
- EBGP:运行在不同AS之间的BGP被称为EBGP。
- IBGP:运行在同一个AS内的BGP被称为IBGP。
-
对每个自治系统定义:1~65535,并且每个路由器也拥有自己的编号,被称为
router-id。
角色
- Speaker:发送BGP报文的设备称为BGP发言者(Speaker),它接收或产生新的报文信息,并发布(Advertise)给其它BGP Speaker。
- Peer:相互交换报文的Speaker之间互称对等体(Peer)。若干相关的对等体可以构成对等体组(Peer Group)。
报文类型
- Open报文:用于建立BGP对等体连接。
- Update报文:用于在对等体之间交换路由信息。
- Notification报文:用于中断BGP连接。
- Keepalive报文:用于保持BGP连接。
- Route-refresh报文:用于在改变路由策略后请求对等体重新发送路由信息。只有支持路由刷新(Route-refresh)能力的BGP设备会发送和响应此报文。
交互规则
BGP设备将最优路由加入BGP路由表,形成BGP路由。BGP设备与对等体建立邻居关系后,采取以下交互原则:
- 从IBGP对等体获得的BGP路由,BGP设备只发布给它的EBGP对等体。
- 从EBGP对等体获得的BGP路由,BGP设备发布给它所有EBGP和IBGP对等体。
- 当存在多条到达同一目的地址的有效路由时,BGP设备只将最优路由发布给对等体。
- 路由更新时,BGP设备只发送更新的BGP路由。
- 所有对等体发送的路由,BGP设备都会接收。
命令
- 创建AS
bgp 编号
- 设置路由器编号(IPv4)
router-id 编号
- 建立对等体关系
peer IP地址 as-number AS编号
- 设置单播发送
ipv4-family unicast
- 宣告网段
network IP地址 子网掩码
案例
IBGP
- AR1与AR3建立对等体关系;
- AR2与AR3建立对等体关系;
- AR1与AR2建立对等体关系;
- AR4与AR5建立对等体关系;
AR1:sysdhcp enableint g0/0/0ip add 192.168.10.254 24dhcp select interfaceint g0/0/1ip add 172.16.1.1 30qbgp 100router-id 1.1.1.1peer 172.16.1.2 as-number 100ipv4-family unicastnetwork 192.168.10.0 24network 172.16.1.0 30qpeer 172.16.2.1 as-number 100ipv4-family unicastnetwork 192.168.10.0 24network 172.16.1.0 30- ``
AR2:sysdhcp enableint g0/0/0ip add 192.168.20.254 24dhcp select interfaceint g0/0/1ip add 172.16.2.1 30qbgp 100router-id 2.2.2.2peer 172.16.2.2 as-number 100ipv4-family unicastnetwork 192.168.20.0 24network 172.16.2.0 30qpeer 172.16.1.1 as-number 100ipv4-family unicastnetwork 192.168.20.0 24network 172.16.2.0 30- ``
AR3:sysint g0/0/0ip add 172.16.1.2 30int g0/0/1ip add 172.16.2.2 30int g0/0/2ip add 172.16.3.1 30qbgp 100router-id 3.3.3.3peer 172.16.1.1 as-number 100ipv4-family unicastnetwork 172.16.1.0 30network 172.16.2.0 30qqbgp 100peer 172.16.2.1 as-number 100ipv4-family unicastnetwork 172.16.1.0 30network 172.16.2.0 30- ``
AR4:sysint g0/0/0ip add 172.16.3.2 30int g0/0/1ip add 172.16.4.1 30qbgp 200router-id 4.4.4.4peer 172.16.4.2 as-number 200ipv4-family unicastnetwork 172.16.4.0 30
EBGP
- AR3与AR4建立对等体关系
AR3:bgp 100peer 172.16.3.2 as-number 200ipv4-family unicastnetwork 172.16.3.0 30- ``
AR4:bgp 200peer 172.16.3.1 as-number 100ipv4-family unicastnetwork 172.16.3.0 30