BGP它是一种路径矢量协议,用于决定数据包在互联网中的最佳路径。
1、工作原理:
- 自治系统(AS)间路由: BGP主要用于连接不同自治系统之间的路由器,其中每个自治系统(AS)代表一组具有共同路由的网络。
- 路径选择: BGP通过在不同AS之间传播路由信息,让路由器了解到达目的地网络的最佳路径,并根据各种策略(如AS路径长度、AS权重等)选择最佳路径。
- TCP连接: BGP使用TCP连接来交换路由信息,这种连接是可靠的,可以确保路由信息的可靠传递。
2、BGP交互报文
BGP对等体间通过以下5种报文进行交互,其中Keepalive报文为周期性发送,其余报文为触 发式发送。
OPEN报文:BGP报文头中的TYPE为1,OPEN报文用于建立BGP连接。
Hold Time:用于协商BGP对等体间保持建立连接关系,发送KEEPALIVE或UPDATE等报文的时间间隔。默认180秒。
Update报文:BGP报文头中的TYPE为2,则该报文为UPDATE报文。UPDATE报文用于通告路由。
1、路由通告(NLRI,Path attribute(as-path,next-hop,Orgin,MED,Localpreference)) 2、路由撤销:withdraw routes前缀
Notification报文:如果BGP报文头中的TYPE为3,则该报文为NOTIFICATION报,NOTIFICATION报文用于处理BGP进程中的各种错误。
Keepalive报文:如果BGP报文头中的TYPE为4,则该报文为KEEPALIVE报文。KEEPALIVE报文用于保持BGP连接。KEEPALIVE报文只有BGP报文头,没有具体内容,故其报文长度应固定为19个字节。存活时间为60秒,保持时间为180秒。
Route-refresh报文:如果BGP报文头中的TYPE为5,则该报文为REFRESH报文。REFRESH报文用于动态的请求BGP路由发布者重新发布UPDATE报文,进行路由更新。(用于在改变路由策略后请求对等体重新发送路由信息。只有支持路由刷新(Route-refresh)能力的BGP设备会发送和响应此报文。)
3、BGP路由策略:
入站路由策略: 控制从邻居AS接收的路由信息。
出站路由策略: 控制向邻居AS发送的路由信息。
转发策略: 控制路由器在路由转发过程中的行为
4、BGP特点:
可扩展性: BGP是一种高度可扩展的协议,适用于大规模的互联网环境。
灵活性: BGP允许管理员定义各种路由策略,以满足网络需求。
安全性: BGP支持各种安全机制,如基于MD5的邻居认证、BGP Route Origin Validation(ROV)等,以确保路由信息的安全性和可信度。
5、BGP应用:
互联网路由: BGP是互联网主干路由的主要协议,用于在不同的ISP之间交换路由信息。
企业网络: 企业可以使用BGP来连接到多个ISP,实现网络的负载均衡和故障切换。