计算机网络基础(十二)---网络层-外部网关路由协议

文章内容概览
计算机网络基础(十二)---网络层-外部网关路由协议

BGP协议

  • BGP(Border Gateway Protocol:边际网关协议)
  • BGP协议是运行在自治系统(AS)之间的一种协议(在一个网络管理机构下边的网络,都可以看做是一个AS。比如:公司网络、学校网络)

为什么在AS之间需要使用BGP协议?

1、互联网的规模很大

使得在AS之间路由的选择困难。如果在AS之间使用链路状态协议,每个路由器都要存储很多的链路状态的数据,并且,如果使用迪杰斯特拉算法计算最短路径,也会运行很慢。因此,需要BGP协议解决此问题

2、AS内部使用不同的路由协议

例如在A公司内部可能使用RIP协议,在B公司内部使用的是OSPF协议。这两个AS之间在内部使用的是不同的协议,对于不是使用同一种内部网关协议的AS,他们之间是不能直接进行通信的。因为,对于A公司的RIP协议来说,它的指标是跳数,而对于B公司的OSPF协议来说,它的指标是带宽、时延等等。因此,他们之间需要BGP协议进行协调
计算机网络基础(十二)---网络层-外部网关路由协议

3、AS之间需要考虑除网络特性以外的一些因素

如:政治因素、安全因素等等。因为AS之间,可能是一个地区到另一个地区,也可能是一个国家到另外一个国家,地区之间可能法律不一样,国家之间可能有一些军事因素

假设有AS1、AS2、AS3、AS4,AS1可以通过AS2将数据传递给AS4,也可以通过AS3将数据传递给AS4,在物理上,他们是相互连接的。但是,因为政治或安全的因素,AS1的网络不符合AS2的法律要求,因此,AS2有权不允许AS1将信息传递过去,或者AS1不想将敏感信息传递给AS2,因此AS1会选择将信息通过AS3传递给AS4。这些就是AS之间需要考虑的问题
计算机网络基础(十二)---网络层-外部网关路由协议

因为这些原因,所以BGP并不能找到一个最好的路由,他只能找到一条到达目的地的比较好的路由

在配置BGP协议时,需要了解一个重要的概念:BGP发言人(speaker),其实就是一个路由器

假设有下图中这样的一个网络,在该网络中可能有两个边际路由器,它位于AS的边界,可以将这两个边际路由器配置成BGP发言人
计算机网络基础(十二)---网络层-外部网关路由协议

为什么要有BGP发言人?

  1. BGP并不关心内部网络拓扑
  2. 在AS之间通过BGP发言人交流信息
  3. BGP Speaker可以人为配置策略(也就是可以人为配置某个AS是否可以经过我的AS)

比如中国要和美国进行信息的互通,那么网络通信时,某些敏感的信息不允许进入中国。此时,就可以在中国的AS进行人为的配置,使得某些敏感的信息不能进入中国。下图是一个通过BGP Speaker连接的网络拓扑
计算机网络基础(十二)---网络层-外部网关路由协议

计算机网络基础(十二)---网络层-外部网关路由协议