华为-BGP动态路由协议(原理+实验)详解~

一、BGP概述

1.1 自治系统(AS)

  • 是由一个技术管理机构管理,使用统一选路策略的一组路由器集合,
  • 自治系统编号范围:1-65535,其中1-64511是互联网上注册公有AS号,类似公网IP地址。
  • 64512-65535是私有AS号,类似私网IP地址
  • http://www.iana.org/

1.2 动态路由的分类

按自治系统分为

  • IGP

    • 自治系统内部路由协议,主要:RIP1/RIP2、OSPF、ISIS、EIGRP(思科私有协议)
    • IGP是运行在AS内部的路由协议,主要解决AS内部的选路问题,发现、计算路由
  • EGP

    • 自治系统之间的路由协议,通常:BGP
    • EGP是运行在AS与AS之间的路由协议,他解决AS之间选路问题。

按协议类型分类

距离矢量路由协议:rip1/2、BGP(路径矢量协议)、EIGRP(高级距离矢量协议)
链路状态路由协议:OSPF、ISIS ###SFP最短路径算法

1.3 BGP的概念

  • BGP是一种运行在AS与AS之间的动态路由协议,主要作用是在AS之间自动交换无环路由信息

  • 以此来构建AS的拓扑图,从而消除路由环路并实施用户配置的路由策略。目前公网网络条目众多,

  • IGP协议无法承载,而BGP可以轻松应对,通常BGP协议用于ISP和ISP之间或跨域地域总、分公司之间的路由信息交换

1.4 BGP的特征

  • 传输协议:TCP,端口号179
  • BGP是外部路由协议,用来在AS之间传递路由信息
  • 是一种增强的路径矢量路由协议
  • 拥有可靠的路由更新机制
  • 具备丰富的Metric度量方法
  • 无环路协议设计
  • 为路由条目附带多种属性信息
  • 支持CIDR(无类别域间选路)
  • 丰富的路由过滤和路由策略
  • 无需周期性更新
  • 路由更新时只发送增量路由
  • 周期性发送KeepAlive报文以保持 TCP连通性

二、BGP工作原理

2.1 BGP报文

●Open报文

  • OPen报文是TCP建立后发送的第一个报文,用于建立 - BGP对等体之间的连接关系,
  • 主要包含BGP版本号、本地AS编号、Holdtime等信息

●UPdate报文

  • Update报文用来在BGP之间更新路由信息,Updata报文可以通告多条属性相同的可达路由信息
  • 也可以撤销多条路由不可达的路由信息

●Notification报文

  • 报文的作用是当BGP检测到错误状态时候,立即向对等体发送NOtification报文,之后BGP就会中断
  • 只要收到Notification报文就会返回idle状态

●Route-Refresh

  • 用来告知对等体所支持路由的刷新能力,BGP的入口策略路由发生变化,本地的BGP路由会向对等体发送
  • Route-Refresh报文,收到信息后,对等体将其路由信息重新发送给本地BGP路由器

●KeepAlive

  • 改报文在对等体之间周期的发送报文,用以保持连接的有效性并维护其连接,KeepAlive报文只有一个BGP
  • 报文头,默认KeepAlive报文发送周期为60S,保持时间180S,这个类似于OSPF中的Hello报文

2.2 BGP数据库

●IP路由表:全局路由信息库,包括最优的IP路由信息
●BGP路由表:BGP路由信息库,包括本地BGPSpeak通告的路由信息,将其最优的添加到路由表中
●邻居表:对等体邻居清单表,包括对等体两端的邻居信息及邻居列表
●Adi-RIB-In:对等体宣告给本地的Speak的未处理的路由信息库
●Adjust-RIB-OUT:本地Speak宣告给指定的对等体路由信息库

2.3 BGP的类型

  • 两种邻居:IBGP和EBGP

IBGP:同一个AS内部BGP邻居关系,IBGP邻居是指运行BGP协议的对等体两端在同一个AS域内,属于BGP AS内部
EBGP:AS之间的BGP邻居关心,EBGP通常指运行BGP协议的对等体两端在不同AS内部

三、BGP配置

3.1 BGP配置思路

1、启用BGP,后面跟AS系统号
2、宣告Route-id,建立邻居关系用
3、宣告和谁建立邻居关系,
4、通告BGP路由,(network、import)

3.2 配置实例

配置实例-1

[R1]router id 1.1.1.1
[R1]bgp 100
[R1-bgp] peer 7.7.7.7 as-number 100		###环回口建邻居,环回口地址不会掉
[R1-bgp] peer 7.7.7.7 connect-interface LoopBack 0	###我用自己的环回口和你建邻居
[R1-bgp] network 1.1.1.1 32

[R1] display bgp peer   		####查看BGP邻居
[R1] display routing-table   		####查看BGP路由表
[R1-bgp] import-route ospf 110   	###注入ospf 中的路由或者注入ISIS

配置实例-2

######R1、R2、R5建立IBGP邻居关系#####
##R1与R2、R5建立对等体关系##
[R1] router-id 1.1.1.1
[R1] bgp 100
[R1-bgp] peer 2.2.2.2 as-number 100
[R1-bgp] peer 2.2.2.2 connect-interface LoopBack 0
[R1-bgp] peer 5.5.5.5 as-number 100
[R1-bgp] peer 5.5.5.5 connect-interface LoopBack 0

##R2与R1、R5建立对等体关系##
[R2] router-id 2.2.2.2
[R2] bgp 100
[R2-bgp] peer 1.1.1.1 as-number 100
[R2-bgp] peer 1.1.1.1 connect-interface LoopBack 0
[R2-bgp] peer 5.5.5.5 as-number 100
[R2-bgp] peer 5.5.5.5 connect-interface LoopBack 0

##R5与R1、R2建立对等体关系##
[R5] router-id 5.5.5.5
[R5]bgp 100
[R5-bgp] peer 1.1.1.1 as-number 100
[R5-bgp] peer 1.1.1.1 connect-interface LoopBack 0
[R5-bgp] peer 2.2.2.2 as-number 100
[R5-bgp] peer 2.2.2.2 connect-interface LoopBack 0

###R2和R3建立EBGP邻居关系###
##R2##
[R2] router id 2.2.2.2
[R2] bgp 100
[R2-bgp] peer 23.0.0.2 as-number 200


##R3##
[R3] router id 3.3.3.3
[R3] bgp 200
[R3-bgp] peer 23.0.0.1 as-number 100
               peer 23.0.0.1 connect-interface LoopBack 0
###############多AS自治域,城域网与骨干网路由交换技术

四、BGP实验验证

BGP动态路由协议实验2

4.1 实验目的

通过配置,实现全网互通

4.2 实验环境

在eNSP中通过四台路由器建立成如下拓扑图
在这里插入图片描述

4.3 实验过程

4.3.1 配置R5

<Huawei>sys
[Huawei]sysn R5 
[R5]int g0/0/1          ###配置接口地址
[R5-GigabitEthernet0/0/1]ip add 15.0.0.2 30
[R5-GigabitEthernet0/0/1]un sh
[R5-GigabitEthernet0/0/1]int loo 0
[R5-LoopBack0]ip add 5.5.5.5 32
[R5-LoopBack0]int loo 1
[R5-LoopBack1]ip add 202.0.0.1 24
[R5-LoopBack1]int loo 2
[R5-LoopBack2]ip add 202.0.1.1 24

[R5]ospf 1 router-id 5.5.5.5     ###启动ospf进程为1,配置router-id
[R5-ospf-1]a 0         ###宣告ospf区域
[R5-ospf-1-area-0.0.0.0]network 15.0.0.0 0.0.0.3      ###宣告网段
[R5-ospf-1-area-0.0.0.0]network 5.5.5.5 0.0.0.0
[R5-ospf-1-area-0.0.0.0]network 202.0.0.0 0.0.0.255
[R5-ospf-1-area-0.0.0.0]network 202.0.1.0 0.0.0.255

[R5]bgp 100	 ####启动bgp,100为进程号
[R5-bgp]router-id 5.5.5.5
[R5-bgp]peer 1.1.1.1 as-number 100	 ###和router id 为2.2.2.2且as区域为100的路由建立邻居关系的第一步,指定对方
[R5-bgp]peer 1.1.1.1 connect-interface LoopBack 0    ###和router id 为2.2.2.2的路由建立邻居关系的第二步,用loo 0接口连接对方
[R5-bgp]peer 2.2.2.2 as-number 100	###和router id 为5.5.5.5且as区域为100的路由建立邻居关系的第一步,指定对方
[R5-bgp]peer 2.2.2.2 connect-interface LoopBack 0    ###和router id 为5.5.5.5的路由建立邻居关系的第二步,用loo 0接口连接对方

4.3.2 配置R1

<Huawei>sys
[Huawei]sysn R1
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 12.0.0.1 30
[R1-GigabitEthernet0/0/0]un sh
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]ip add 15.0.0.1 30
[R1-GigabitEthernet0/0/1]un sh
[R1-GigabitEthernet0/0/1]int loo 0
[R1-LoopBack0]ip add 1.1.1.1 32

[R1]ospf 1 router-id 1.1.1.1       ###启动ospf进程为1,配置router-id
[R1-ospf-1]a 0         ###宣告ospf区域
[R1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0       ###宣告网段
[R1-ospf-1-area-0.0.0.0]network 12.0.0.0 0.0.0.3
[R1-ospf-1-area-0.0.0.0]network 15.0.0.0 0.0.0.3

[R1]bgp 100          ####启动bgp,100为进程号
[R1-bgp]router-id 1.1.1.1       ####配置router-id
[R1-bgp]peer 2.2.2.2 as-number 100	   ###和邻居建立对等体关系
[R1-bgp]peer 2.2.2.2 connect-interface LoopBack 0       ###我用自己的环回口和你建立邻居	 
[R1-bgp]peer 5.5.5.5 as-number 100	
[R1-bgp]peer 5.5.5.5 connect-interface LoopBack 0

4.3.3 配置R2

<Huawei>sys
[Huawei]sysn R2
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 12.0.0.2 30
[R2-GigabitEthernet0/0/0]un sh
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip add 23.0.0.1 30
[R2-GigabitEthernet0/0/1]un sh
[R2-GigabitEthernet0/0/1]int loo 0
[R2-LoopBack0]ip add 2.2.2.2 32

[R2]ospf 1 router-id 2.2.2.2         ###启动ospf进程为1,配置router-id
[R2-ospf-1]a 0            ###宣告ospf区域
[R2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0         ###宣告网段
[R2-ospf-1-area-0.0.0.0]network 12.0.0.0 0.0.0.3
  
[R2]bgp 100	      ####启动bgp,100为进程号
[R2-bgp]router-id 2.2.2.2          ####配置router-id
[R2-bgp]peer 1.1.1.1 as-number 100	   ###和邻居建立对等体关系	 
[R2-bgp]peer 1.1.1.1 connect-interface LoopBack 0       ###用自己的环回口建立邻居	
[R2-bgp]peer 5.5.5.5 as-number 100		
[R2-bgp]peer 5.5.5.5 connect-interface LoopBack 0
[R2-bgp]peer 23.0.0.2 as-number 200       ###直接使用23.0.0.2的物理地址和bgp200区域的路由器建立连接,不可以使用虚拟接口地址

[R2]rip 1         ###启动rip,进程为1
[R2-rip-1]v 2        ####宣告版本号	
[R2-rip-1]network 23.0.0.0       ####宣告网络号
[R2-rip-1]network 2.0.0.0

[R2]bgp 100
[R2-bgp]peer 3.3.3.3 ebgp-max-hop 2      ###配置EBGP邻居


注入路由:
[R2]rip 1 
[R2-rip-1]import-route ospf 1   ###注入ospf 1 的路由条目,否则R3学习不到bgp100中的其他路由条目,除了R2在BGP中宣告的2.2.2.2,其他的都会学习不到,所以需要注入ospf 1 的路由条目
[R2]ospf 1
[R2-ospf-1]import-route rip 1 type 1 cost 5    

4.3.4 配置R3

<Huawei>sys
[Huawei]sysn R3
[R3]int g0/0/1
[R3-GigabitEthernet0/0/1]ip add 23.0.0.2 30
[R3-GigabitEthernet0/0/1]un sh
[R3-GigabitEthernet0/0/1]int loo 0
[R3-LoopBack0]ip add 3.3.3.3 32

[R3]bgp 200	  ####启动bgp,200为进程号
[R3-bgp]router-id 3.3.3.3     	         ####配置router-id
[R3-bgp]peer 23.0.0.1 as-number 100      ###使用物理地址23.0.0.1和bgp100的路由器建立邻居关系

[R3]rip 1         ###启动rip,进程为1
[R3-rip-1]v 2	        ####宣告版本号
[R3-rip-1]network 3.0.0.0	       ####宣告网络号
[R3-rip-1]network 23.0.0.0

[R3]bgp 200
[R3-bgp]peer 2.2.2.2 ebgp-max-hop 2    ###配置EBGP邻居

4.4 实验验证

在R3中输入dis ip routing-table,查看路由信息表
R3全部学习到了其他路由器的路由信息
在这里插入图片描述
实验完成。

猜你喜欢

转载自blog.csdn.net/ycycyyc_/article/details/106990031