前言:边界网关协议(BGP)是运行于 TCP 上的一种自治系统的路由协议。 BGP 是唯一一个用来处理像因特网大小的网络的协议,也是唯一能够妥善处理好不相关路由域间的多路连接的协议。 BGP 构建在 EGP 的经验之上。 BGP 系统的主要功能是和其他的 BGP 系统交换网络可达信息。网络可达信息包括列出的自治系统(AS)的信息。这些信息有效地构造了 AS 互联的拓朴图并由此清除了路由环路,同时在 AS 级别上可实施策略决策。
文章目录
一、BGP协议基础知识
1.BGP概述
- 自治系统(AS)是由一个技术管理机构管理,使用统一选路策略的一组路由器集合
- 自治系统编号范围:1-65535,其中1-64511是互联网上注册公有AS号,类似公网IP地址
- 64512-65535是私有AS号,类似私网IP地址
- http://www.iana.org/,注册网址(个人无法注册)
2.动态路由的分类
- 按自治系统分为
- IGP:自治系统内部路由协议,主要:RIP1/RIP2、OSPF、ISIS、EIGRP(思科私有协议)
- IGP是运行在AS内部的路由协议,主要解决AS内部的选路问题,发现、计算路由
- EGP:自治系统之间的路由协议,通常:BGP
- EGP是运行在AS与AS之间的路由协议,他解决AS之间选路问题。
- IGP:自治系统内部路由协议,主要:RIP1/RIP2、OSPF、ISIS、EIGRP(思科私有协议)
- 按协议类型分类
- 距离矢量路由协议:rip1/2、BGP(路径矢量协议)、EIGRP(高级距离矢量协议)
- 链路状态路由协议:OSPF、ISIS ###SFP最短路径算法
3.BGP的概念
- BGP是一种运行在AS与AS之间的动态路由协议,主要作用是在AS之间自动交换无环路由信息
- 以此来构建AS的拓扑图,从而消除路由环路并实施用户配置的路由策略
- 目前公网网络条目众多,IGP协议无法承载,而BGP可以轻松应对,通常BGP协议用于ISP和ISP之间或跨域地域总、分公司之间的路由信息交换
4.BGP的特征
- 传输协议:TCP,端口号179
- BGP是外部路由协议,用来在AS之间传递路由信息
- 是一种增强的路径矢量路由协议
- 拥有可靠的路由更新机制
- 具备丰富的Metric度量方法
- 无环路协议设计
- 为路由条目附带多种属性信息
- 支持CIDR(无类别域间选路)
- 丰富的路由过滤和路由策略
- 无需周期性更新
- 路由更新时只发送增量路由
- 周期性发送KeepAlive报文以保持 TCP连通性
5.BGP工作原理
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