bgp
边界网关协议( Border Gateway Protocol,BGP)是互联网上一个核心的去中心化自治路由协议
bgp本身就是一个多地址的协议簇(mp-bgp,多协议bgp)–地址族(ipv4)
bgp刷新很慢,需要手工刷新,加快收敛
AS,自治性系统域(16位的号码空间—>会扩展到32位)
1、bgp基本概述
bgp作用
AS内部使用IGP来计算和发现路由,如OSPF,ISIS,RIP等。
AS之间使用BGP来传递和控制路由。
bgp特点
更新可靠,在tcp --179运行
仅增量是、触发更新
定期提供存活消息以验证tcp连接性
丰富的度量标准(称为路径矢量或属性)
专门为大型互联网络设计
优于距离矢量
bgp的理由
大量路由需要承载,能容纳上万条
支持mpls\vpn的应用,传递客户vpn路由
策略能力强,可以很好的实现路由策略与数据控制
2、bgp邻居关系建立与配置
bgp邻居概述
bgp speakers :运行bgp的路由器
bgp peers=bgp neighbor=bgp对等体\邻居
邻居关系建立在tcp连接基础上,因此邻居不一定需要直连,可以通过igp(keepalive,60s)或静态路由提供tcp连接的可靠性(区别于其他igp)
邻居必须手动指定,而非自动建立(区别于其他igp),所有的包都是单播
一台bgp路由器只能运行在一个as内(区别于其他igp)
邻居类型
ibgp:内部bgp邻居,位于相同as
ebgp:外部bgp邻居,位于不同as
bgp报文
open:类似hello,只发一次,建立邻居关系
keeplive:类似hello,维护邻居关系
update:路由更新,包含属性
notification:当检测到错误,发送后关闭bgp连接
route-refresh:当路由策略发生变化时,触发请求邻居重新通告路由
bgp状态机
idle:初始,路由器查找路由表,是否有到达邻居的路由
connect:发起tcp连接,等待tcp连接完成
active:tcp连接失败继续尝试tcp连接
open sent:tcp连接成功,已发送open包
open confirm:已收到对方正确的open包,如果没有收到就会进入active
established:邻居建立完成,开始传递
活跃状态验证
active:路由器已经发送一个open包,正在等待响应
状态可能会在活跃与空闲之间不断循环
原因,邻居可能不知道如何返还到该路由器
不存在只想bgp“打开”数据包源ip地址的路由
邻居与错误的地址建立对等关系
不存在路由器的邻居声明
as配置错误
邻居建立过程