BGP基础知识
BGP概述
边界网关协议BGP(Border Gateway Protocol)是一种实现自治系统AS(Autonomous System)之间的路由可达,并选择最佳路由的距离矢量路由协议。
BGP是一种运行在AS与AS之间的动态路由协议,主要作用是在AS之间自动交换无环路由信息。以此来构建AS的拓扑图,从而消除路由环路并实施用户配置的路由策略。
目前公网网络条目众多,IGP协议无法承载,而BGP可以轻松应对,通常BGP协议用于ISP和ISP之间或跨域地域总、分公司之间的路由信息交换。
BGP的特征
●传输协议:TCP,端口号179
●BGP是外部路由协议,用来在AS之间传递路由信息
●是一种增强的路径矢量路由协议
●拥有可靠的路由更新机制
●具备丰富的Metric度量方法
●无环路协议设计
●为路由条目附带多种属性信息
●支持CIDR(无类别域间选路)
●丰富的路由过滤和路由策略
●无需周期性更新
●路由更新时只发送增量路由
●周期性发送KeepAlive报文以保持 TCP连通性
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内部