作者主页:点击!
ENSP专栏:点击!
创作时间:2024年4月27日10点04分
BGP(边界网关协议)是一种路由协议,用于在互联网中的不同自治系统(AS)之间交换路由信息。它是一种路径矢量协议,用于决定最佳的路由路径,并具有很高的可扩展性和灵活性,因此在互联网核心路由器之间广泛应用。
BGP的五种报文
- Open报文:用于对等体参数协商,建立邻居关系。
- Keepalive报文:用于维护邻居关系,确认对方发送的OPEN包(对它认可)。
- Update报文:用于通告可达路由和不可达路由。
- Notification报文:用于错误信息通告,断开对等体邻居。
- Route-refresh报文:用于请求对等体重新发送路由信息。
BGP的六种状态
- 空闲(Idle):这是BGP邻居状态机的初始状态。在空闲状态下,BGP邻居不会主动发起任何连接请求,也不会响应任何来自其他对等体的连接请求。
- 连接(Connect):在空闲状态下,如果BGP邻居收到来自其他对等体的连接请求,则会进入连接状态。在连接状态下,BGP邻居会尝试建立TCP连接。
- 活跃(Active):如果BGP邻居在连接状态下成功建立了TCP连接,则会进入活跃状态。在活跃状态下,BGP邻居会发送Open报文,并开始协商BGP参数。
- Open报文已发送(OpenSent):在活跃状态下,如果BGP邻居发送了Open报文,但还没有收到对方回复的OpenConfirm报文,则会进入Open报文已发送状态。
- Open报文已确认(OpenConfirm):如果BGP邻居在Open报文已发送状态下收到对方回复的OpenConfirm报文,则会进入Open报文已确认状态。
- 连接已建立(Established):如果BGP邻居在Open报文已确认状态下完成BGP参数协商,则会进入连接已建立状态。
报文和状态讲述BGP的每个阶段过程
BGP Message Type | Description | 状态转换 |
Open | 发起BGP连接,交换参数 | 空闲 → 连接 → OpenSent |
Keepalive | 维护 BGP 连接,防止超时 | Established → Established (Keepalive sent) |
Update | 通告或撤回路由信息 | 已建立 → 已建立(发送/接收更新) |
Notification | 发出连接终止或状态改变的信号 | 任意状态 → 空闲 |
Route-refresh | 请求对等方重新发送整个路由表 | 已建立 → 已建立(发送/接收路由刷新) |
状态图
核心命令
[Huawei]bgp 100
[Huawei-bgp]router-id 1.1.1.1
[Huawei-bgp]peer 192.168.1.2 as 200
[Huawei-bgp]peer 192.168.2.2 as 20
[Huawei-bgp]network 1.1.1.1 32
[Huawei]bgp 100
:进入BGP配置模式,指定了本地AS号码为100。这个命令告诉设备你正在配置BGP,并且你的AS号码是100。
[Huawei-bgp]router-id 1.1.1.1
:配置BGP路由器标识(Router ID)为1.1.1.1。路由器ID是BGP在选择路由时使用的唯一标识符。
[Huawei-bgp]peer 192.168.1.2 as 200
:配置一个BGP邻居,邻居的IP地址是192.168.1.2,AS号码是200。这条命令建立了与AS号为200的BGP邻居的连接。
[Huawei-bgp]peer 192.168.2.2 as 20
:配置另一个BGP邻居,邻居的IP地址是192.168.2.2,AS号码是20。这条命令建立了与AS号为20的BGP邻居的连接。
[Huawei-bgp]network 1.1.1.1 32
:将1.1.1.1/32网段添加到BGP的路由表中。这个命令告诉BGP要宣告这个网段,以便向BGP邻居传播路由信息。
实验拓扑
实验要求
AS200自治系统中运行OSPF
每台路由器运行BGP
最终4.4.4.4 访问1.1.1.1
整体来说没有多难 基本的IP配置 和BGP指向不同的AS
AR1的基本配置
//基本的IP配置
[Huawei]int g0/0/0
[Huawei-GigabitEthernet0/0/0]ip add 192.168.1.1 24
[Huawei-GigabitEthernet0/0/0]int g0/0/1
[Huawei-GigabitEthernet0/0/1]ip add 192.168.2.1 24
[Huawei-GigabitEthernet0/0/1]q
[Huawei]int lo0
[Huawei-LoopBack0]ip add 1.1.1.1 32
[Huawei-LoopBack0]q
/运行BGP
[Huawei]bgp 100
[Huawei-bgp]router-id 1.1.1.1
[Huawei-bgp]peer 192.168.1.2 as 200
[Huawei-bgp]peer 192.168.2.2 as 20
[Huawei-bgp]network 1.1.1.1 32
[Huawei-bgp]
AR2的基本配置
基本的IP配置
[Huawei]int g0/0/0
[Huawei-GigabitEthernet0/0/0]ip add 192.168.1.2 24
[Huawei-GigabitEthernet0/0/0]int g0/0/1
[Huawei-GigabitEthernet0/0/1]ip add 192.168.3.1 24
[Huawei-GigabitEthernet0/0/1]q
[Huawei]int lo0
[Huawei-LoopBack0]ip add 2.2.2.2 32
[Huawei-LoopBack0]q
运行OSPF声明网段
[Huawei]ospf
[Huawei-ospf-1]area 0
[Huawei-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255
[Huawei-ospf-1-area-0.0.0.0]network 192.168.3.0 0.0.0.255
[Huawei-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[Huawei-ospf-1-area-0.0.0.0]q
运行BGP
[Huawei-ospf-1]bgp 200
[Huawei-bgp]router-id 2.2.2.2
[Huawei-bgp]peer 192.168.1.1 as 100
[Huawei-bgp]peer 192.168.3.2 as 200
[Huawei-bgp]network 2.2.2.2 32
AR3的基本配置
基本IP配置
[Huawei]int g0/0/0
[Huawei-GigabitEthernet0/0/0]ip add 192.168.2.2 24
[Huawei-GigabitEthernet0/0/0]int g0/0/1
[Huawei-GigabitEthernet0/0/1]ip add 192.168.4.1 24
[Huawei-GigabitEthernet0/0/1]q
[Huawei]int lo0
[Huawei-LoopBack0]ip add 3.3.3.3 32
[Huawei-LoopBack0]q
运行OSPF
[Huawei]ospf 1
[Huawei-ospf-1]area 0
[Huawei-ospf-1-area-0.0.0.0]network 192.168.2.0 0.0.0.255
[Huawei-ospf-1-area-0.0.0.0]network 192.168.4.0 0.0.0.255
[Huawei-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0
运行BGP
[Huawei-ospf-1]bgp 200
[Huawei-bgp]router-id 3.3.3.3
[Huawei-bgp]peer 192.168.2.1 as 100
[Huawei-bgp]peer 192.168.4.2 as 200
[Huawei-bgp]network 3.3.3.3 32
[Huawei-bgp]peer 192.168.3.2 next-hop-local
-
peer 192.168.3.2
:这标识将应用next-hop-local
设置的 BGP 邻居。 IP 地址192.168.3.2
指定邻居路由器。 -
next-hop-local
:该关键字启用将本地 BGP 路由器的 IP 地址设置为通告路由的下一跳的配置。
AR4的基本配置
基本的IP地址配置
[Huawei]int g0/0/0
[Huawei-GigabitEthernet0/0/0]ip add 192.168.4.2 24
[Huawei-GigabitEthernet0/0/0]int g0/0/1
[Huawei-GigabitEthernet0/0/1]ip add 192.168.3.2 24
[Huawei-GigabitEthernet0/0/1]q
[Huawei]int lo0
[Huawei-LoopBack0]ip add 4.4.4.4 32
[Huawei-LoopBack0]q
运行OSPF
[Huawei]ospf
[Huawei-ospf-1]area 0
[Huawei-ospf-1-area-0.0.0.0]network 192.168.3.0 0.0.0.255
[Huawei-ospf-1-area-0.0.0.0]network 192.168.4.0 0.0.0.25
[Huawei-ospf-1-area-0.0.0.0]network 4.4.4.4 0.0.0.0
运行BGP
[Huawei]bgp 200
[Huawei-bgp]router-id 4.4.4.4
[Huawei-bgp]peer 192.168.3.1 as 200
[Huawei-bgp]peer 192.168.4.1 as 200
[Huawei-bgp]network 4.4.4.4 32
[Huawei-bgp]peer 192.168.4.2 next-hop-local
测试
可以看出他的数据传输是从上面传输(根据BGP的属性规则)
查看IP路由表