BGP路由技术

不同于之前介绍的动态路由协议,BGP是在自治系统之间进行路由学习及选路的协议。跟RIP、OSPF这些协议相比,BGP属于外部网络协议,RIP和OSPF属于内部网络协议。

自治系统:

自治系统(Autonomous System)简称SA;是由同一个技术管理机构管理,使用统一选路策略并且允许同一路由协议的一组路由器的集合。自治系统的编号取值范围为1~65535。

动态路由的分类:

动态路由协议有多种分类方法,其中按自治系统分类,按协议类型分类为较常用的两种。

自治系统分类:

IGP:即自治系统内部的路由协议,主要包含RIPv1/v2、OSPF、ISIS、EIGRP;

IGP是运行在AS内部的路由协议,他解决AS内部的选路问题。

EGP:即自治系统之间的路由协议,通常指BGP。

EGP:是运行在AS与AS之间的路由协议,他解决的是AS之间的选路问题。

协议类型分类:

距离矢量路由协议:RIPv1/v2、BGP(路由矢量协议)、EIGRP(高级的距离矢量协议)

链路状态路由协议:OSPF、ISIS。

BGP概念:

BGP是一种运行在AS与AS之间的动态路由协议,主要作用是在AS之间自动交换无环路由信息。以此来构建AS的拓扑图,从而消除路由环路并实施用户配置的路由策略。BGP协议一般用于公网,所以BGP洗衣经常用于ISP与ISP之间跨地域之间的路由信息交互。

BGP的特征:

传输协议:TCP,端口号179。

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

是一种增强的路径矢量路由协议。

拥有可靠的路由更新机制。

具备丰富的Metric度量方法。

无环路由协议设计。

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

丰富的路由过滤和路由策略。

无需周期性更新。

路由更新时只发送增量路由。

周期性发送keepAlive报文,以保持TCP连通性。

BGP报文:

BGP报文头中的Type定义了BGP的报文类型,BGP对等之间通过5种报文进行路由信息的交互。

Open报文:是TCP链接建立后发送的第一个报文,用于建立BGP对等体之间的连接关系,主要包括BGP版本,本地AS编号,Holdtime等信息。

Update报文:主要用来在BGP对等体之间更新路由信息。Update报文可以通告多条属性相同的可达路由信息,也可以撤销多条不可达路由信息。

Notification报文:主要作用是当BGP检测到错误状态时,立刻向对等体发出Notification报文,之后BGP连接就会被中断。不管当前BGP什么状态,只要收到Notification报文就会返回idle状态。

Route-Refresh:主要用来告知对等体本地所支持路由的刷新能力。简单的说就是刷新路由的。

KeepAlive:该报文在对等体之间周期性地发送,用以保持连接的有效性并维护其连接。简单的说,就是持续发送keepAlive报文,只要不发送了,表示路由瘫痪了。

BGP状态:

BGP状态描述的是BGP邻居的建立过程,BGP状态共有六中。下面是六中的解释:

ldle状态:BGP拒绝任何进入的连接请求,ldle状态是BGP的初始状态。Ldle状态下,BGP拒绝所有邻居发送的连接请求。

Connect状态:BGP等待TCP连接的建立完成后再决定后续的操作。等待状态,通常是三十秒,等待TCP完成连接,如果连接成功则发送open报文并转至OpenSent状态

Active状态:BGP将尝试进行TCP连接建立,是BGP的中间状态。在Active状态下,BGP总是试图建立TCP连接,如果连接成功则发送open报文并转至OpenSent状态,如果连接失败,那么BGP停留在Active状态;连接超时,BGP则转至connect状态

Opensent状态:BGP等待对等体的Open报文,并收到的Open报文中的AS号,版本号,holdtime等进行检查。

OpenConfirm状态:BGP等待keepAlive或Notification报文;收到keepAlice报文转至Establish状态,如果收到Notification报文则转至ldle状态

Established状态:BGP可以在对等体之间交换update、keepAlice、route-refresh报文和Notification报文。

BGP邻居关系类型:

主要分为两个IBGP和EBGP

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

EBGP:AS之间的BGP邻居关系,EBGP邻居通常是指运行在BGP协议的对等体两端分别在不同AS内

BGP与OSPF组网 bgp和ospf区别_BGP与OSPF组网

 

通告BGP路由方法:

BGP路由是通过BGP命令通告而成的,而通过BGP路由的方法有两种:

Network和Import

Network方式:使用network命令可以将当前设备路由表中的路由发布到路由表中并通告给邻居。

Import方式:使用Import命令可以将所学到的路由信息重分发到BGP路由表中,是BGP宣告路由的一种方式,可以引进BGP的路由包括:直连路由、静态路由

动态路由。

BGP的配置:

实验演示:

BGP与OSPF组网 bgp和ospf区别_TCP_02

基础配置:配置好IP地址

R1的配置:

BGP与OSPF组网 bgp和ospf区别_自治系统_03

R2的配置:

BGP与OSPF组网 bgp和ospf区别_TCP_04

BGP与OSPF组网 bgp和ospf区别_TCP_05

R3的配置:

BGP与OSPF组网 bgp和ospf区别_TCP_06

R4的配置:

BGP与OSPF组网 bgp和ospf区别_自治系统_07

BGP配置:

R1的配置:

BGP与OSPF组网 bgp和ospf区别_自治系统_08

R2的配置:

BGP与OSPF组网 bgp和ospf区别_路由协议_09

R3的配置:

BGP与OSPF组网 bgp和ospf区别_TCP_10

R4的配置:

BGP与OSPF组网 bgp和ospf区别_BGP与OSPF组网_11

在R1路由器上查看:

BGP与OSPF组网 bgp和ospf区别_TCP_12

这里呢就已经完成了本次案例。