一、BGP路由功能介绍

1、BGP(Border Gateway Protocol)是一种不同自治系统的路由设备之间进行通信的外部网关协议(Exterior Gateway Protocol,EGP),其主要功能是在不同的自治系统(Autonomous Systems,AS)之间交换网络可达信息,并通过协议自身机制来消除路由环路。BGP 使用TCP协议作为传输协议,通过 TCP 协议的可靠传输机制保证 BGP 的传输可靠性。运行 BGP 协议的 Router称为 BGP Speaker,建立了 BGP 会话连接(BGP Session)的 BGP Speakers 之间被称作对等体(BGP Peers)。

2、BGP Speaker之间建立对等体的模式有两种:IBGP(Internal BGP)和EBGP(External BGP)。IBGP 是指在相同 AS内建立的 BGP 连接,EBGP是指在不同 AS 之间建立的 BGP连接。二者的作用简而言之就是:EBGP 是完成不同 AS 之间路由信息的交换,IBGP是完成路由信息在本 AS内的传递。

bgp引入路由cost 通过bgp学到的路由_网络协议

二、BGP应用场景:

组建BGP网络是为了实现网络中不同AS之间的通信。配置BGP的基本功能是组建BGP网络最基本的配置过程,主要包括三部分:

1、创建BGP进程:只有先创建BGP进程,才能开始配置BGP的所有特性。

2、建立BGP对等体关系:只有成功建立了BGP对等体关系,设备之间才能交换BGP消息。

3、引入路由:BGP协议本身不发现路由,只有引入其他协议的路由才能产生BGP路由。

三、实验配置:

1.拓扑图

注意:缺省情况下,BGP会自动选取系统视图下的Router ID作为BGP协议的Router ID。如果选中的Router ID是物理接口的IP地址,当IP地址发生变化时,会引起路由的振荡。为了提高网络的稳定性,可以将Router ID手动配置为Loopback接口地址。

bgp引入路由cost 通过bgp学到的路由_网络协议_02

2.实验目的:

要使AS100网络(R1:1.1.1.1)和AS200(R4:4.4.4.4)网络路由可达。需要在所有router间运行BGP协议,R1和R2、R3之间建立EBGP连接,R2、R3和R4之间建立IBGP全连接。在AS200内,使用IGP协议来计算路由(该例使用OSPF作为IGP协议)。

3.配置思路:

1)搭建好拓扑图环境,标出规划好的IP地址

2)修改网络设备默认名称、配置好IP地址

3)配置基本OSPF(在AR2、AR3、AR4内做IBGP)

4)配置EBGP

4.配置过程:

步骤一:修改网络设备默认名称、配置好IP地址

1)配置各PC信息 (略)

2)配置路由器AR1默认名称及接口IP

<Huawei>sys //进入系统视图模式
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname AR1 //修改设备名称
[AR1]int g0/0/0 //进入接口
[AR1-GigabitEthernet0/0/0]ip add 192.168.12.1 24 //给接口配IP
[AR1-GigabitEthernet0/0/0]int g0/0/1
[AR1-GigabitEthernet0/0/1]ip add 192.168.13.1 24
[AR1-GigabitEthernet0/0/1]int loopback 0
[AR1-LoopBack0]ip add 192.168.1.1 32

3)配置路由器AR2默认名称及接口IP

<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname AR2
[AR2]int g0/0/0
[AR2-GigabitEthernet0/0/0]ip add 192.168.12.2 24
[AR2-GigabitEthernet0/0/0]int g0/0/1
[AR2-GigabitEthernet0/0/1]ip add 192.168.24.2 24
[AR2-GigabitEthernet0/0/1]int loopback 0
[AR2-LoopBack0]ip add 192.168.2.2 32

4)配置路由器AR3默认名称及接口IP

<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname AR3
[AR3]int g0/0/0
[AR3-GigabitEthernet0/0/0]ip add 192.168.13.3 24
[AR3-GigabitEthernet0/0/0]int g0/0/1
[AR3-GigabitEthernet0/0/1]ip add 192.168.34.3 24
[AR3-GigabitEthernet0/0/1]int loopback 0
[AR3-LoopBack0]ip add 192.168.3.3 32

5)配置路由器AR4默认名称及接口IP

<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname AR4
[AR4]int g0/0/0
[AR4-GigabitEthernet0/0/0]ip add 192.168.34.4 24
[AR4-GigabitEthernet0/0/0]int g0/0/1
[AR4-GigabitEthernet0/0/1]ip add 192.168.24.4 24
[AR4-GigabitEthernet0/0/1]int loopback 0
[AR4-LoopBack0]ip add 192.168.4.4 32

步骤二、配置基本OSPF(在AR2、AR3、AR4内做IBGP):

1) R2

[AR2]ospf router-id 2.2.2.2 //使能OSPF,并配置router-id
[AR2-ospf-1]area 0 //配置area区域
[AR2-ospf-1-area-0.0.0.0]network 192.168.24.0 0.0.0.255 //发布AS内网段
[AR2-ospf-1-area-0.0.0.0]network 192.168.2.2 0.0.0.0

2) R3

[AR3]ospf router-id 3.3.3.3
[AR3-ospf-1]area 0
[AR3-ospf-1-area-0.0.0.0]network 192.168.34.0 0.0.0.255
[AR3-ospf-1-area-0.0.0.0]network 192.168.3.3 0.0.0.0

3)R4

[AR4]ospf router-id 4.4.4.4
[AR4-ospf-1]area 0
[AR4-ospf-1-area-0.0.0.0]network 192.168.24.0 0.0.0.255
[AR4-ospf-1-area-0.0.0.0]network 192.168.34.0 0.0.0.255
[AR4-ospf-1-area-0.0.0.0]network 192.168.4.4 0.0.0.0

4)配置验证,配置IBGP后,同一个AS内的网段可以互通,不同AS的网段不能互通

bgp引入路由cost 通过bgp学到的路由_bgp_03

步骤三、配置EBGP

1) R1:

[AR1]bgp 100
[AR1-bgp]router-id 1.1.1.1
[AR1-bgp]peer 192.168.12.2 as-number 200
[AR1-bgp]peer 192.168.13.3 as-number 200
[AR1-bgp]network 192.168.1.1 32

2) R2:

[AR2]bgp 200 //创建bgp编号200 (AS200)
[AR2-bgp]router-id 2.2.2.2 //指定router-id
[AR2-bgp]peer 192.168.12.1 as-number 100 //和邻居网络建立邻接关系
[AR2-bgp]peer 192.168.24.4 as-number 200 //和邻居网络建立邻接关系
[AR2-bgp]peer 192.168.24.4 next-hop-local //要将BGP路由发送给192.168.24.4这个邻居时,将路由的下一跳设置成自己的地址,这个地址是与192.168.24.4建立邻居所使用的源地址

bgp引入路由cost 通过bgp学到的路由_网络工程师_04

该提示信息说明BGP邻居建立成功

3) R3:

[AR3]bgp 200
[AR3-bgp]router-id 3.3.3.3
[AR3-bgp]peer 192.168.13.1 as-number 100
[AR3-bgp]peer 192.168.34.4 as-number 200
[AR3-bgp]peer 192.168.34.4 next-hop-local

4)R4:

[AR4]bgp 200
[AR4-bgp]router-id 4.4.4.4
[AR4-bgp]peer 192.168.24.2 as-number 200
[AR4-bgp]peer 192.168.34.3 as-number 200
[AR4-bgp]network 192.168.4.4 32

bgp引入路由cost 通过bgp学到的路由_路由器_05

配置EBGP后,我们发现由BGP控制选路后,从AR4到AR1的报文走的是AR2这条路径

四、配置验证:

1)查看不同AS之间的连通性:

bgp引入路由cost 通过bgp学到的路由_网络协议_06

通过Ping命令结果,我们发现在配置EBGP后,相同AS与不同AS之间都可以互相通信

2)在AR1查看路由表:

bgp引入路由cost 通过bgp学到的路由_bgp_07

在路由表可以发现,EBGP目标地址是192.168.4.4,下一跳是192.168.12.2,说明192.168.1.1与192.168.4.4之间的通信是经过的路由器AR2。

3)查看抓包信息:

bgp引入路由cost 通过bgp学到的路由_网络协议_08

在AR1与AR2相连的接口开启抓包,可以抓到AR4与AR1通信的TCMP报文,同时我们发现BGP的传输协议是TCP,端口号为179

bgp引入路由cost 通过bgp学到的路由_bgp_09

在AR1与AR3相连的接口上开启抓包,发现,在这里没有AR4与AR1通信的信息,说明,通过BGP选路之后,AR4要到AR1的数据会通过AR2发送。

总结:BGP具有以下几个特性:

1) 传输协议:TCP,端口号179;

2) BGP是外部路由协议,用来在AS之间传递路由信息;

3) 是一种增强的路径矢量路由协议;

4) 拥有可靠的路由更新机制;

5) 具备丰富的Metric度量方法;

6) 无环路协议设计;

7) 为路由条目附带多种属性信息;

8) 支持CIDR(无类别域间选路);

9) 丰富的路由过滤和路由策略;

10) 无须周期性更新;

11) 路由更新时只发送增量路由;

12) 周期性发送KeepAlive报文,以保持TCP连通性;