BGP(边界网关协议)
BGP(边界网关协议)
1、回顾
- 内部网关协议IGP:在一个AS中进行决策路由,RIP、OSPF
- 外部网关协议EGP:在不同的AS之间进行决策路由,BGP
2、BGP介绍
- 边界网关协议BGP(BorderGateway Protocol)是一种实现自治系统AS(AutonomousSystem)之间的路由可达,并选择优选路由的距离矢量路由协议
- AS:BGP路由协议中,对每一个AS都有一个AS编号,范围1~65535、
- router-id:在BGP路由协议中,每一个路由器都需要有一个路由器ID号
- BGP路由协议的度量值为跳数,采用是的TCP协议进行封装,端口号:179,只能点对点传递信息
- 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
- IBGP:内部BGP(在一个AS中决策路由)
- EBGP:外部BGP(在不同的AS之间决策路由)
- BGP对等体的交互过程中存在6种状态机:空闲(Idle)、连接(Connect)、活跃(Active)、Open报文已发送(OpenSent)、
Open报文已确认(OpenConfirm)和连接已建立(Established)
- BGP对等体之间的交互原则
- 从IBGP对等体获得的BGP路由,BGP设备只发布给它的EBGP对等体。
- 从EBGP对等体获得的BGP路由,BGP设备发布给它所有EBGP和IBGP对等体。
- 当存在多条到达同一目的地址的有效路由时,BGP设备只将最优路由发布给对等体。
- 路由更新时,BGP设备只发送更新的BGP路由。
- 所有对等体发送的路由,BGP设备都会接收。
假设A和B建立对等体,A可以将1.0传递给B,B和C建立对等体,B无法将1.0路由传递给C(B获取到的1.0路由为IBGP路由)
3、BGP实验操作
AR1和AR3建立对等体:IBGP
AR2和AR3建立对等体:IBGP
AR1和AR2建立对等体:IBGP
AR4和AR5建立对等体:IBGP
AR3和AR4建立对等体:EBGP
#配置IP地址
#AR1
sys
dhcp enable
int g0/0/0
ip add 192.168.10.254 24
dhcp select int
int g0/0/1
ip add 172.16.1.1 30
#AR2
sys
dhcp enable
int g0/0/0
ip add 192.168.20.254 24
dhcp select int
int g0/0/1
ip add 172.16.2.1 30#AR3
sys
int g0/0/0
ip add 172.16.1.2 30
int g0/0/1
ip add 172.16.2.2 30
int g0/0/2
ip add 172.16.3.1 30
#AR4
sys
int g0/0/0
ip add 172.16.3.2 30
int g0/0/1
ip add 172.16.4.1 30
#AR5
sys
dhcp enable
int g0/0/0
ip add 192.168.30.254 24
dhcp select int
int g0/0/1
ip add 172.16.4.2 30
配置BGP
#在AR1中配置
bgp 200
router-id 1.1.1.1
peer 172.16.1.2 as-number 200#直接连接的端口
ipv4-family unicast
#宣告直连网段
network 192.168.10.0 24
#在AR3中配置,回包
bgp 200
router-id 3.3.3.3
peer 172.16.1.1 as-number 200#直接连接的端口
ipv4-family unicast
#宣告直连网段
network 172.16.2.0 30
network 172.16.3.0 30peer 172.16.2.1 as-number 200#直接连接的端口
ipv4-family unicast
network 172.16.1.0 30
#在AR2中配置
bgp 200
router-id 2.2.2.2
peer 172.16.2.2 as-number 200#直接连接的端口
ipv4-family unicast
#宣告直连网段
network 192.168.20.0 24
#在AR2和AR1之间建立对等体
#在AR1中配置
bgp 200
peer 172.16.2.1 as-number 200#直接连接的端口
#在AR2中配置
bgp 200
peer 172.16.1.1 as-number 200#直接连接的端口
经过上述配置之后,PC1和PC2可以通信
#在AR3中配置,建立EBGP
bgp 200
peer 172.16.3.2 as-number 300#对端的编号
#在AR4中进行配置
bgp 300
router-id 4.4.4.4
peer 172.16.3.1 as-number 200#对端的编号
ipv4-family unicast
#宣告直连网段
network 172.16.3.0 30
network 172.16.4.0 30
#在AR5中配置
bgp 300
router-id 5.5.5.5
peer 172.16.4.1 as-number 300#对端的编号
ipv4-family unicast
network 192.168.30.0 24
#在AR4中配置对等体AR5
bgp 300
peer 172.16.4.2 as-number 300
经过上述配置之后,PC1,PC2,PC3基本上都可以通信