- BGP****协议是什么?
BGP(Border Gateway Protocol,边界网关协议)是互联网上一个核心的去中心化自治路由协议,运行在TCP协议之上,使用179端口,属于应用层协议,用于传递路由信息。
- BGP协议用在什么地方?
在【OSPF协议】一文中提到几个概念:AS自治系统、IGP内部网关协议、EGP外部网关协议。
而BGP即可以用于IGP,也可用于EGP。
因此,BGP又分为IBGP和EBGP:前者为Interior BGP,用于同一个AS内部的连接;后者为Exterior BGP,用于不同AS之间的BGP连接。
为什么会存在IBGP?原因是IGP原有的协议,如OSPF,设计对象是同一AS内,针对中小规模网络设计。如果同一AS内网络规模过于宏大,则IGP OSPF协议存在性能瓶颈。
总的来说,IGP协议(如OSPF)用于小规模内部网络,IBGP用于大规模内部网络,EBGP用于整个互联网。
- 为什么会产生BGP协议?
AS自治系统是指在同一组织管理下,使用统一选路策略设备的集合。假设企业网络分总部网络H和分支网络A、B。H、A、B网络分别是AS自治系统,每个AS内部可使用OSPF或ISIS进行路由计算和选择。
那么,如何实现H、A、B的互联呢?
企业总部与分支的互联,需要经过运营商网络,也就是网络路径是H---运营商--A。
尝试使用OSPF协议是否可以呢?答案是否定的。OSPF会进行路由计算和选择,一方面会遇到性能问题,另一方面,运营商的内部网络拓扑是不会共享给企业网络的,也就是运营商网络不会相信你的企业网络。
这就需要BGP协议,BGP协议只传递路由信息,不会进行计算,不会感知对方AS内的网络拓扑,也不会进行周期性更新(使用触发更新)。
- BGP 消息报文是如何交互的?
BGP有5种报文:open、update、keepalive、notification、route-refresh。
(1)Open
TCP三次握手成功后,路由器之间相互发送OPEN报文,建立对等体的参数协商,如AS号、keepalive报文发送时间和路由器身份标识router id。
(2)keepalive
Open报文之后,相互发送keepalive报文,收到后,则对等体建立成功。后续会定时发送keepalive报文以便保持连接。
(3)Update
Keepalive后,就可以通过BGP update 报文通告路由到对等体。BGP通告路由有两种方式:
一种是逐条将IP路由表中的路由引入到BGP路由表中,并通告给邻居,称为network方式;
一种是将路由器设备路由表中的路由信息重分发到BGP路由表中,称为import方式。
路由通告完成后,路由器会进行判断,以决定是否引入到路由器的路由表中。
注:建立BGP会话的双方,相互称为BGP对等体;使用loopback地址建立IBGP对等体,使用直连地址建立EBGP对等体。
发布评论请先 登录
相关推荐
评论