目录
- 一、自治系统AS-Autonomous System
- 二、BGP(Border Gateway Protocol边界网关协议)
- 三、BGP报文结构
- 四、BGP数据包类型
- 五、BGP状态机制
- 六、BGP路由宣告原则
- 七、BGP下一跳
- 八、BGP路由聚合
- 九、BGP路由属性
- 十、BGP选路
- 十一、BGP路由过滤
一、自治系统AS-Autonomous System
注意编号是从1开始 不是0
二、BGP(Border Gateway Protocol边界网关协议)
注意BGP是距离矢量协议 不是链路状态协议
IGP中有链路状态协议和距离矢量协议的区分
而EGP中没有!
BGP触发式更新 无周期性更新
邻居必须手动指定而非自动建立
邻居不一定需要直连 也可通过IGP或者静态路由连通
一台BGP路由器只能运行在一个AS内 不存在AS间路由器的情况
BGP所有包都是单播的 没有广播和组播
配置邻居时 对端IP地址和AS号必须配置 其他都为可选项
EBGP邻居数据包TTL = 1 默认直连 非直连需要配置命令修改TTL
IBGP邻居数据包TTL = 255
EBGP邻居间一般采用直连接口
IBGP邻居间一般采用回环口-稳定
Keepalive包60s发送一次 等待周期为3*60=180s
三、BGP报文结构
四、BGP数据包类型
OPEN报⽂负责和对等体建⽴邻居关系
UPDATE被⽤来在BGP对等体之间传递路由信息
NOTIFICATIOP消息被⽤来在BGP SPEAKER间传递错误消息
ROUTE-REFRESH⽤来通知对等体⾃⼰⽀持路由刷新的能⼒
在BGP协议中,根本就不存在Hello报⽂
Open包只发一次 交互一次 后面就没有啦
只在刚开始建立邻居时交互一次
BGP宣告后才会发送Update数据包
五、BGP状态机制
注意TCP三次握手建立完成后才发送Open包 开始建立BGP连接
Keeplive 60s一次
收到Keeplive 即进入Establish状态
六、BGP路由宣告原则
缺省情况下 BGP不发布任何本地路由
只有明确宣告的网络才会发送给邻居
宣告的网络必须能精确地在路由表中找到
多条路径时 只选最优的给自己使用
只把自己使用的最优路由宣告给邻居
从EBGP学习到的路由会宣告给所有邻居
从IBGP学习到的路由不会宣告给IBGP
从IBGP学习到的路由会宣告给EBGP
对比IGP
IGP会自动发布路由 我学习到的也会发送给他
IGP邻居建立和路由宣告是打包在一起的
BGP邻居建立 和 路由宣告 是分开的
BGP路由宣告方式有三种
network
Import
路由聚合
其中network最精确
七、BGP下一跳
BGP在给邻居传递路由时的下一跳 = 更新源
在EBGP间传递时会修改下一跳为自己的更新源
在IBGP间传递时不会修改下一跳为自己的更新源
更新源:建立邻居和邻居所学习到的下一跳
没有修改下一跳 - 下一跳为出站接口
修改下一跳 - 下一跳为更新源
在IBGP间传递时不会修改下一跳为自己的更新源
在IBGP建立时 最好打上该条命令 加不会错 不加可能会错
八、BGP路由聚合
注意自动聚合默认关闭
BGP自动聚合 默认只发送聚合路由
BGP手动聚合 默认明细路由和子网路由一起发布 可配置命令抑制自身明细路由的发布
汇总之后 丢失了原有明细路由的路由编号(AS号) 所以该汇总路由还会被原有明细路由学习到 形成环路
如果携带AS号 即防环规则 就不会再发送给原来的路由 不会形成环路
as-set 保留原有明细路由的AS_PATH属性
在配置BGP的路由聚合的时候,默认情况下是丢失了每个明细路由的as-path属性,当我们使⽤了 as-set 参数之后,汇总路由就会继承所有明细路由的as-path属性,但是此时的 as 号已经没有了顺序,称之为 as 集合。
九、BGP路由属性
公认-都能识别的属性
必遵-必须携带
任意-不一定携带
可选-不一定都能识别的属性
过渡-保留并发给下一个邻居
非过渡-丢弃
出站路由 Local-Preference 缺省100 越大越优先
入站路由 MED 缺省0 越小越优先
AS-Path
EBGP传递时更新(加入自己的AS号)
丢弃AS_PATH属性中包含本AS Number的路由(防止AS间环路)
AS数量越少越优先
Next-Hop
EBGP会自动更新自己的更新源
IBGP不会自动更新 除非打上Next_Hop_Local命令
关于BGP路由的next-hop属性,是必须包含在BGP的更新条⽬中的。 并且对于EBGP邻居之间发送路由的时候,默认情况下会肯定要修改下⼀跳IP地址的,但是该IP地址不⼀定就是BGP邻居设备的接⼝IP地址,⽐如在被路由反射器反射过的路由条⽬
MED
仅在相邻两个AS之间传递 收到此属性的AS不会再通告给任何其他第三方AS
缺省情况下 不允许比较来自不同AS邻居的路由信息的MED值
除非能够确认不同的AS采用了相同的IGP和路由选择方式
标识具有相同特征的BGP路由 使路由策略的应用更加灵活 降低维护管理的难度
类似于Tag 给一些路由打上一些标记
十、BGP选路
BGP不像IGP 本身并没有路由算法 而是结合丰富的属性进行选路
手动聚合优于自动聚合
EBGP邻居的路由优于IBGP邻居的路由
AS-Path越短越优先
Router ID越小越优先
十一、BGP路由过滤
在BGP协议中,路由属性⾮常多。所以针对很多路由属性,也存在专门的匹配⼯具,⽐如as-path属性和团体属性,都存在对应的匹配⼯具。 ⽽ip-prefix 和 route-policy是可以应⽤于任何路由协议的,可以称之为协议⽆关的⼯具
route-policy和 filter-policy肯定是可以⽤来过滤路由的,但是 ip extcommunity-filter 仅仅可以⽤来匹配路由,本⾝⽆法peer 命令结合使⽤实现过滤路由的效果
对于同⼀个BGP邻居的相同⽅向,如果使⽤多种过滤⼯具同时配置了过滤,那么优先级如下:对于出向⽽⾔,route-policy 的优先级⾼于ip-prefix ;对于⼊向⽽⾔,ip-prefix的优先级⾼于 route-policy