1.BGP概述
1.1 BGP基础
应用层协议,基于TCP,源端口号是随机,目的端口是179。
无类路由协议、外部网关路由协议、采用距离(路径)矢量算法、单播路由协议
核心作用为传递路由。
1.2 AS自治系统
AS是指由同一个技术管理机构管理,使用统一选路策略的一些路由器的集合
每个自治系统都有唯一的一个编号,这个编号由IANA分配。
2.BGP邻居关系
2.1 邻居发现
BGP使用TCP封装建立邻居关系,端口号为179,TCP采用单播建立连接,因此BGP协议并不像RIP和OSPF一样使用组播发现邻居。单播建立连接也使BGP只能手动指定邻居。
2.2 邻居类型(对等体)
选举规则如下:
1.路由器在它的所有LoopBack接口上选择数值最高的IP地址;
2.如果没有LoopBack接口,路由器会在它的所有物理接口上选择数值最高的IP地址
3.配置命令:router id X.X.X.X
EBGP:不同AS之间,一般使用直连接口的IP地址。
2.3 邻居关系建立
5种报文:Open、Update、Notification、Keepalive和Route-refresh。
5+1种状态机:ldle、Connect、OpenSent、OpenComfirm、Established、(Active)
Open报文:用于建立BGP邻居之间的连接关系。
Keepalive报文:周期发送,保持连接的有效性。
Upadte报文:用于在BGP邻居之间交换路由信息
1.可以发布多条具有相同路由属性的可达路由,这些路由可共享一组路由属性。
2.可以撤销多条不可达路由。
3.可以只用于撤销路由,这样就不需要包括路径属性或者NLRI
Route-refresh报文:改变路由策略后请求对等体重新发送路由信息
Notification报文:检测到错误状态时报错。
3.BGP路由生成方式
3.1 Network
Network命令是逐条将IP路由表中已经存在的路由引入到BGP路由表中
3.2 lmport
lmport命令是根据运行的路由协议(RIP,OSPF,ISIS等)将路由引入到BGP路由表中,同时impont命令还可以引入直连和静态路由。
4.BGP通告原则与路由处理
4.1 Update报文(用来公布可用路由和撤销路由)
1.网络层可达信息(NLRI):用来公布IP前缀和前缀长度,
2.路径属性:为BGP提供环路检测,控制路由优选。
3.撤销路由:用来描述无法到达且从业务中撤销的路由前缀和前缀长度。
4.2 BGP通告原则
1.仅将自己最优的路由发布给邻居(>- best)
2.通过EBGP获得的最优路由发布给所有BGP邻居(包括EBGP邻居和IBGP邻居)3.通过IBGP获得的最优路由不会发布给其他的IBGP邻居(防止在AS内部形成路由环路)