BGP协议简介,利用BGP实现跨AS通信需求(实验验证)

BGP协议理论

BGP概述

BGP是一种运行在AS与AS之间的动态路由协议,主要作用是在AS之间自动交换无环路由信息
以此来构建AS的拓扑图,从而消除路由环路并实施用户配置的路由策略。
目前公网网络条目众多,IGP协议无法承载,而BGP可以轻松应对,通常BGP协议用于ISP和ISP之间或跨域地域总、分公司之间的路由信息交换
自制系统编号
自治系统(AS)是由一个技术管理机构管理,使用统一选路策略的一组路由器集合
自治系统编号范围:1-65535,其中1-64511是互联网上注册公有AS号,类似公网IP地址。
64512-65535是私有AS号,类似私网IP地址
www.inna.org,注册网址(个人无法注册)

动态路由的分类

按自治系统分类

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

按协议类型分类

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

BGP的特点

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

BGP的工作原理

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报文

BGP数据库

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

BGP的类型

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

BGP跨AS路由实验配置

实验环境

eNSP软件
4台路由器(R1,R2,R3,R5)
R1,R2,R5处于OSPF的area 0,也处于AS100中
R3处于AS200中

实验目的

通过相应配置,实现路由全收敛,达到全网通信目的

实验拓扑图

在这里插入图片描述

具体配置参数

R1配置

[R1]dis cu '//查看R1的所有配置'
#
sysname R1	'//修改名称'
#
router id 1.1.1.1	'//宣告router id'
#

#
interface GigabitEthernet0/0/0	'//配置接口地址'
 ip address 12.0.0.1 255.255.255.252
#
interface GigabitEthernet0/0/1	'//配置接口地址'
 ip address 15.0.0.1 255.255.255.252
#

#
interface LoopBack0	'//配置接口地址'
 ip address 1.1.1.1 255.255.255.255
#
bgp 100	'//启动bgp,100为进程号'
 peer 2.2.2.2 as-number 100	'//和router id 为2.2.2.2且as区域为100的路由建立邻居关系的第一步,指定对方'
 peer 2.2.2.2 connect-interface LoopBack0	'//和router id 为2.2.2.2的路由建立邻居关系的第二步,用loo 0接口连接对方'
 peer 5.5.5.5 as-number 100	'//和router id 为5.5.5.5且as区域为100的路由建立邻居关系的第一步,指定对方'
 peer 5.5.5.5 connect-interface LoopBack0	'//和router id 为5.5.5.5的路由建立邻居关系的第二步,用loo 0接口连接对方'
 #
network 1.1.1.1 255.255.255.255	'//宣告网段'
#
ospf 1	'//启动ospf进程为1'
 area 0.0.0.0	'//宣告ospf区域'
  network 1.1.1.1 0.0.0.0	'//以下都为宣告网段'
  network 12.0.0.0 0.0.0.3
  network 15.0.0.0 0.0.0.3
#

R2配置

'//步骤意思和R1相同,不在赘述,但其中和bgp200建立邻居关系属于跨区域建立,需要注意使用物理地址建立连接,不可以使用虚拟接口'
[R2]dis cu
#
sysname R2
#
router id 2.2.2.2
#

#
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 LoopBack0
 ip address 2.2.2.2 255.255.255.255
#
bgp 100
 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	'//直接使用23.0.0.2的物理地址和bgp200区域的路由器建立连接,不可以使用虚拟接口地址'
 #
  network 2.2.2.2 255.255.255.255	'//宣告网段'
  import-route ospf 1	'//注入ospf 1 的路由条目,否则R3学习不到bgp100中的其他路由条目,除了R2在BGP中宣告的2.2.2.2,其他的都会学习不到,所以需要注入ospf 1 的路由条目'
#
ospf 1
 area 0.0.0.0
  network 2.2.2.2 0.0.0.0
  network 12.0.0.0 0.0.0.3
  network 23.0.0.0 0.0.0.3
#

R3配置

'//基本都是相同步骤,此处不再赘述步骤含义'
[R3]dis cu
#
sysname R3
#
router id 3.3.3.3
#

#
interface GigabitEthernet0/0/1
 ip address 23.0.0.2 255.255.255.252
#

#
interface LoopBack0
 ip address 3.3.3.3 255.255.255.255
#
bgp 200
 peer 23.0.0.1 as-number 100	'//使用物理地址23.0.0.1和bgp100的路由器建立邻居关系'
 #
network 3.3.3.3 255.255.255.255
#

R5配置

'//基本都是相同步骤,此处不再赘述步骤含义'
[R5]dis cu
#
sysname R5
#
router id 5.5.5.5
#

#
interface GigabitEthernet0/0/1
 ip address 15.0.0.2 255.255.255.252
#

#
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
 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
 #
network 5.5.5.5 255.255.255.255
#
ospf 1
 area 0.0.0.0
  network 5.5.5.5 0.0.0.0
  network 15.0.0.0 0.0.0.3
  network 202.0.0.0 0.0.0.255
  network 202.0.1.0 0.0.0.255
#

此时我们使用dis ip routing-table即可发现已经相互学习到了所有的路由条目

验证

成功全网互通,用相同方法测试其他几台路由器即可
在这里插入图片描述

小结

跨自治域建立邻居关系需要使用物理地址,否则学习不到对方的路由条目
跨自治域建立邻居关系的两个路由器,想要学习对方区域的所有路由条目,需要对方将ospf或者IS-IS的路由条目注入进来
跨自治域建立邻居关系如果要使用虚拟回环地址,需要添加静态路由,并指向下一条为两跳

'//静态路由的添加不在赘述'
##R2##
[R2] router id 2.2.2.2
[R2] bgp 100
[R2-bgp] peer 3.3.3.3 as-number 200
[R2-bgp] peer 3.3.3.3 connect-interface LoopBack 0
[R2-bgp] peer 3.3.3.3 ebgp-max-hop 2

##R3##
[R3] router id 3.3.3.3
[R3] bgp 200
[R3-bgp] peer 2.2.2.2 as-number 100
[R3-bgp] peer 2.2.2.2 connect-interface LoopBack 0
[R3-bgp] peer 2.2.2.2 ebgp-max-hop 2
  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值