计算机网络基础 (十二)--- 网络层 - 外部网关路由协议
文章内容概览
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 发言人?
BGP 并不关心内部网络拓扑
在 AS 之间通过 BGP 发言人交流信息
BGP Speaker 可以人为配置策略(也就是可以人为配置某个 AS 是否可以经过我的 AS)
比如中国要和美国进行信息的互通,那么网络通信时,某些敏感的信息不允许进入中国。此时,就可以在中国的 AS 进行人为的配置,使得某些敏感的信息不能进入中国。下图是一个通过 BGP Speaker 连接的网络拓扑
版权声明: 本文为 InfoQ 作者【书旅】的原创文章。
原文链接:【http://xie.infoq.cn/article/60150c5d50b84f981a1ecd4bd】。文章转载请联系作者。
评论