文章目录

  • 前言
  • 一、BGP是什么?
  • 二、BGP概述
  • 1.路径矢量特征
  • 2.特点
  • 3.协议特征
  • 4.报文类型
  • 5.状态机
  • 6.路由通告原则
  • 实验


前言


随着网络的不断发展,动态路由协议也越来越重要,很多人都开启了学习,本文就介绍了BGP的基础内容。


一、BGP是什么?

BGP是边界网关协议,是一种实现自治系统AS之间的路由可达,并选择最佳路由的矢量性协议

二、BGP概述

1.路径矢量特征

BGP通常被称为路径矢量路由协议
每条BGP路由都携带着多种路径属性
BGP路由器不接受AS_Path中包含其自身AS号的路由更新

2.特点

BGP能够承载大批量的路由信息,能够支撑大规模网络
BGP提供了丰富的路由策略,能够灵活的进行路由选路,并能指导邻居按策略发布路由
BGP能够支撑MPLS/VPN的应用,传递客户VPN路由
BGP提供了路由聚合和衰减功能用于防止路由振荡,有效提高了网络的稳定性
BGP使用了TCP作为其传输层协议(端口号179),提高了网络的可靠性

3.协议特征

运行BGP的路由器被称为BGP发言者,或BGP路由器
两个建立BGP会话的路由器互为对等体。BGP对等体之间交换BGP路由表
BGP路由器只发送增量的BGP路由更新,或进行触发更新(不会周期性更新)
BGP能够承载大批量的路由前缀,用于大规模的网络中

4.报文类型

报文名称

作用是什么

什么时候发包

OPEN

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

BGP对等体之间需先建立TCP连接,如果TCP连接成功,那么BGP向对等体发送OPEN报文

UPDATE

用于发送BGP路由信息

连接建立后,有路由需要发送或路由变化时,发送UPDATE通告对端路由信息

NOTIFICATION

报告错误,中止对等体关系

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

KEEPALIVE

维持BGP对等体关系

定时发送KEEPALIVE报文以保持BGP对等体关系的有效性

ROUTE-REFRESH

用于在改变路由策略后请求对等体重新发送路由信息。只有支持路由刷新能力的BGP设备会发送和响应此报文

当路由策略发生变化时,触发请求对等体重新通告路由

5.状态机

Peer状态名称

发什么包

在做什么

IDLE

尝试建立TCP连接

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

CONNECT

发TCP包

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

ACTIVE

发TCP包

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

OPENSENT

发OPEN包

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

OPENCONFIRM

发KEEPALIVE包

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

ESTABLISHED

发UPDATE包

已经收到对方的KEEPALIVE包,双方能力特性经协商发现一致,开始使用UPDATE通告;i有信息

6.路由通告原则

当存在多条路径时,路由器只选取最优的BGP路由来使用(没有激活负载均衡的情况下)
BGP只把自己使用的路由,也就是自己认为最优的路由传递给对等体
路由器从EBGP对等体获得的路由会传递给它所有的BGP对等体(包括EBGP和IBGP对等体)
路由器从IBGP对等体获得的路由不会传递给它的IBGP对等体(存在反射器RR的情况除外)
路由器从IBGP对等体获得的路由是否通告给它的EBGP对等体要视IGP和BGP同步的情况来决定

实验

BGP+OSPF+RIP

实验要求:1) 所有路由器都开启BGP协议,R1、R2、R5为IBGP as100,

R3和R2为EBGP,R3属于as200

2) R1、R2、R5配置ospf协议,属于area 0

3) R5有两个业务网段:202.0.0.1/24和202.0.1.1/24

4) R3可以访问R5业务网段

路由协议BGP源码 bgp路由协议详解_云计算


(1)R1配置

<R1>dis cu
[V200R003C00]
#
 sysname R1
ne China-Standard-Time minus 08:00:00
#

interface GigabitEthernet0/0/0
 ip address 15.0.0.1 255.255.255.252 
#
interface GigabitEthernet0/0/1
 ip address 12.0.0.1 255.255.255.252 
#
interface GigabitEthernet0/0/2
#
interface NULL0
#
interface LoopBack0
 ip address 1.1.1.1 255.255.255.255 
#
bgp 100
 router-id 1.1.1.1
 peer 2.2.2.2 as-number 100 
 peer 2.2.2.2 connect-interface LoopBack0
 peer 5.5.5.5 as-number 100 
 peer 5.5.5.5 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 2.2.2.2 enable
  peer 5.5.5.5 enable
#
ospf 1 router-id 1.1.1.1 
 area 0.0.0.0 
  network 1.1.1.1 0.0.0.0 
  network 12.0.0.0 0.0.0.255 
  network 15.0.0.0 0.0.0.255 
#

#
wlan ac
#
return
<R1>

(2)R2配置

<R2>dis cu
[V200R003C00]
#
 sysname R2
#
interface GigabitEthernet0/0/0
 ip address 12.0.0.2 255.255.255.252 
#
interface GigabitEthernet0/0/1
 ip address 23.0.0.1 255.255.255.252 
#
interface GigabitEthernet0/0/2
#
interface NULL0
#
interface LoopBack0
 ip address 2.2.2.2 255.255.255.255 
#
bgp 100
 router-id 2.2.2.2
 peer 1.1.1.1 as-number 100 
 peer 1.1.1.1 connect-interface LoopBack0
 peer 5.5.5.5 as-number 100 
 peer 5.5.5.5 connect-interface LoopBack0
 peer 23.0.0.2 as-number 200 
 #
 ipv4-family unicast
  undo synchronization
  network 23.0.0.0 255.255.255.252 
  import-route ospf 1
  peer 1.1.1.1 enable
  peer 5.5.5.5 enable
  peer 23.0.0.2 enable
#
ospf 1 router-id 2.2.2.2 
 area 0.0.0.0 
  network 2.2.2.2 0.0.0.0 
  network 12.0.0.0 0.0.0.255 
#
rip 1
 version 2
 network 23.0.0.0

#
return
<R2>

(3)R3配置

<R3>dis cu
[V200R003C00]
#
 sysname R3
#
interface GigabitEthernet0/0/0
 ip address 23.0.0.2 255.255.255.252 

#
interface LoopBack0
 ip address 3.3.3.3 255.255.255.255 
#
bgp 200
 router-id 3.3.3.3
 peer 23.0.0.1 as-number 100 
 #
 ipv4-family unicast
  undo synchronization
  network 3.3.3.3 255.255.255.255 
  peer 23.0.0.1 enable
#
rip 1
 version 2
 network 23.0.0.0
 network 3.0.0.0

#
wlan ac
#
return
<R3>

(4)R5配置

<R5>dis cu
[V200R003C00]
#
 sysname R5
#
interface GigabitEthernet0/0/0
 ip address 15.0.0.2 255.255.255.252 
#
interface GigabitEthernet0/0/1
#
interface GigabitEthernet0/0/2
#
interface NULL0
#
interface LoopBack0
 ip address 5.5.5.5 255.255.255.255 
#
interface LoopBack1
 ip address 202.0.0.1 255.255.255.0 
#
interface LoopBack2
 ip address 202.0.1.1 255.255.255.0 
#
bgp 100
 router-id 5.5.5.5
 peer 1.1.1.1 as-number 100 
 peer 1.1.1.1 connect-interface LoopBack0
 peer 2.2.2.2 as-number 100 
 peer 2.2.2.2 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  network 202.0.0.0 
  network 202.0.1.0 
  peer 1.1.1.1 enable
  peer 2.2.2.2 enable
#
ospf 1 router-id 5.5.5.5 
 area 0.0.0.0 
  network 5.5.5.5 0.0.0.0 
  network 15.0.0.0 0.0.0.255 
#
#
wlan ac
#
return
<R5>

(5)检验

路由协议BGP源码 bgp路由协议详解_TCP_02