BGP
用来在AS之间传递路由信息
是一种距离矢量的路由协议,从设计上避免了环路的发生
支持CIDR(无类别域间选路)
传送协议:TCP,端口号179
什么时候使用BGP
同两个或多个ISP连接
需要为客户提供Internet路由
需要AS路径信息时
三层VPN传播私网路由
传播组播路由构造组播拓扑
BGP工作机制
BGP邻居刚建立时,发送整个BGP路由表交换路由信息,之后为了更新路由表只交换更新消息(update message)
系统在运行过程中,通过接收和发送keep-alive消息来检测相互之间的连接是否正常的
一般情况下一条路由由自治系统内部的某种内部路由协议发现和计算产生,由自治系统边界路由器(ASBR)通过EBGP连接传播到其它自治系统中
路由在传播过程中可能会经过若干个自治系统,这些自治系统称为过渡自治系统。若这个自治系统有多个边界路由器,这些路由器之间运行IBGP来交换路由信息。另外一种自治系统称为Stub AS,其内部只有一个ASBR通过EBGP连接外部,同外部其他AS的通信要靠过渡自治系统来转接
EBGP
运行于不同AS之间的BGP称为EBGP
为了防止AS间产生环路,当BGP设备接收EBGP对等体发送的路由时,会将带有本地AS号的路由丢弃
IBGP
运行于同一AS内部的BGP称为IBGP
BGP设备不将从IBGP对等体学到的路由通告给其他IBGP对等体
BGP报文交互中的角色
Speaker:发送BGP报文的设备称为BGP发言者
Peer:相互交换报文的Speaker之间互称对等体
BGP使用原则
多条路径时,BGP Speaker只选最优的给自己使用;
BGP Speaker只把自己使用的路由通告给相邻体;
BGP Speaker从EBGP获得的路由会向它所有BGP相邻体通告(包括EBGP和IBGP);
BGP Speaker从IBGP获得的路由不向它的IBGP相邻体通告;
BGP Speaker从IBGP获得的路由是否通告给它的EBGP相邻体要依IGP和BGP同步的情况来决定
BGP报文
Open报文:用于建立BGP对等体连接
Update报文:用于在对等体之间交换路由信息
Notification报文:用于中断BGP连接
Keepalive报文:用于保持BGP连接
Route-refresh报文:用于在改变路由策略后请求对等体重新发送路由信息。只有支持路由刷新(Route-refresh)能力的BGP设备会发送和响应此报文
BGP六种状态
空闲(Idle)
连接(Connect)
活跃(Active)
Open报文已发送(OpenSent)
Open报文已确认(OpenConfirm)
连接已建立(Established)
BGP路由属性
BGP属性用来选择最优路径
公认必须遵循
公认任意
可选过渡
可选非过渡
属性名 类型
Origin属性 公认必须遵循
AS_Path属性 公认必须遵循
Next_Hop属性 公认必须遵循
Local_Pref属性 公认任意
MED属性 可选非过渡
团体属性 可选过渡
Originator_ID属性 可选非过渡
Cluster_List属性 可选非过渡
BGP根据属性完成决策过程
首先丢弃下一跳(next hop)不可达的路由
优选最大衡重(weight)的路由
优选最高本地优先级(local-preference)的路由
优选本路由器始发的路由
优选经过AS(AS-Path)最少的路由
优选起点类型(origin)最低的路由
优选MED值最低的路由
优选从EBGP学来的路由
优选AS内部最短的路径可以到达的路由
优选BGPID最低的路由器发布的路由
配置BGP
[huawei] bgp <as编号> ——启动BGP[huawei-bgp] router-id <值> ——配置router id[huawei-bgp] peer <对等体IP> as <as编号> ——指定BGP对等体及AS号[huawei-bgp] ipv4-family unicast ——创建BGP 地址族,并进入相应地址族视图[Huawei-bgp-af-ipv4] network <需要宣告的网络地址> ——将本地路由发布到BGP路由表中
查看bgp对等体
dis bgp peer
