BGP路由技术
一、自治系统
自治系统(AS)是由一个技术管理机构管理,使用统一选路策略的一组路由器集合,
自治系统编号范围:1-65535,其中1-64511是互联网上注册公有AS号,类似公网IP地址。
64512-65535是私有AS号,类似私网IP地址。(http://www.iana.org/)
二、动态路由分类
(1)按自治系统分类
IGP: 自治系统内部路由协议,主要有RIP1/RIP2、OSPF、ISIS、EIGRP(思科私有协议)。IGP是运行在AS内部的路由协议,主要解决AS内部的选路问题,发现、计算路由。
EGP: 自治系统之间的路由协议,通常:BGP EGP是运行在AS与AS之间的路由协议,他解决AS之间选路问题。
(2)按协议类型分类
距离矢量路由协议:rip1/2、BGP(路径矢量协议)、EIGRP(高级距离矢量协议)
链路状态路由协议:OSPF、ISIS //SPF最短路径算法
三、BGP的概念
BGP是一种运行在AS与AS之间的动态路由协议,主要作用是在AS之间自动交换无环路由信息以此来构建AS的拓扑图,从而消除路由环路并实施用户配置的路由策略。目前公网网络条目众多,IGP协议无法承载,而BGP可以轻松应对,通常BGP协议用于ISP和ISP之间或跨域地域总、分公司之间的路由信息交换。
四、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邻居关系
BGP报文
BGP状态机
·Idle状态
·Connet状态
·Active状态
·OpenSent状态
·OpenConfirm状态
·Established状态
BGP配置实例:
BGP拓扑图:
R1配置:
int g0/0/0
ip add 15.0.0.1 30
un sh
int g0/0/1
ip add 12.0.0.1 30
un sh
int loo 0
ip add 1.1.1.1 32
(进入路由器的接口配置对应IP,其他路由器相同配法)
bgp 100
router-id 1.1.1.1
peer 2.2.2.2 as-number 100
peer 2.2.2.2 connect-interface LoopBack0
peer 4.4.4.4 as-number 100
peer 4.4.4.4 connect-interface LoopBack0
ospf 1 router-id 1.1.1.1
area 0.0.0.0
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配置:
(配IP同R1配法)
bgp 100
router-id 2.2.2.2
peer 1.1.1.1 as-number 100
peer 1.1.1.1 connect-interface LoopBack0
peer 3.3.3.3 as-number 200
peer 3.3.3.3 ebgp-max-hop 2
peer 3.3.3.3 connect-interface LoopBack0
peer 4.4.4.4 as-number 100
peer 4.4.4.4 connect-interface LoopBack0
import-route rip 1
ospf 1 router-id 2.2.2.2
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 12.0.0.0 0.0.0.3
rip 1
undo summary
version 2
network 23.0.0.0
network 2.0.0.0
import-route ospf 1
R3配置:
(配IP同R1配法)
bgp 200
router-id 3.3.3.3
peer 2.2.2.2 as-number 100
peer 2.2.2.2 ebgp-max-hop 2
peer 2.2.2.2 connect-interface LoopBack0
rip 1
undo summary
version 2
network 23.0.0.0
network 3.0.0.0
R4配法:
(配IP同R1配法)
bgp 100
router-id 4.4.4.4
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
ospf 1 router-id 4.4.4.4
area 0.0.0.0
network 4.4.4.4 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
结果测试:
测试连通性:
R3pingR1的环回口
R3pingR2的环回口
R3pingR4的环回口
R3pingR4上的环回口loopback1
BGP引入RIP,通过RIP学习到的路由表