|
|
51CTO旗下网站
|
|
移动端

2.1.2 连接多个外部邻居

《TCP/IP路由技术(第2卷)(第2版)》第2章BGP简介,本章将讨论BGP的基本操作,包括BGP的消息类型、消息使用方式以及消息格式。此外,本章还要讨论与路由相关联的各种基本的BGP属性以及利用这些属性选择最佳路由的方式,最后将解释BGP对等会话的配置以及故障检测与排除方式。本节为大家介绍连接多个外部邻居。

作者:夏俊杰 译来源:人民邮电出版社|2017-09-05 17:36

2.1.2 连接多个外部邻居

图2-3给出了一个改良后的拓扑结构,用户到同一个服务提供商拥有了冗余链路。至于入站流量和出站链路如何通过冗余链路则取决于这两条链路的使用方式。例如,多归属到单个服务提供商的典型配置方式是将其中的一条链路设置为主用链路(专用Internet接入链路),另一条链路设置为备用链路。

如果冗余链路仅用做备份,那么也不需要使用BGP。此时的路由宣告方式与单归属应用场景相同,只是需要将与备用链路相关的路由度量设置的高一些,使得这些备用链路仅在主用链路失效时才起作用。

例2-1给出了拥有主用及备用链路时路由器的可能配置信息。

例2-1 多归属到单个自治系统的主用及备用链路配置

  1. Primary Router:  
  2. router ospf 100  
  3.  network 205.110.32.0 0.0.15.255 area 0  
  4.  default-information originate metric 10  
  5. !  
  6. ip route 0.0.0.0 0.0.0.0 205.110.168.108  
  7. ________________________________________________________________________  
  8. Backup Router:  
  9. router ospf 100  
  10.  network 205.110.32.0 0.0.15.255 area 0  
  11.  default-information originate metric 100  
  12. !  
  13. ip route 0.0.0.0 0.0.0.0 205.110.168.113 150 

从例2-1的配置可以看出,备用路由器有一条管理距离被设置为150的默认路由。这样一来,仅当主用路由器的默认路由不可用时,该备用路由器的默认路由才会进入路由表。而且备用默认路由以较高的度量值(大于主用默认路由的度量值)进行宣告,以确保OSPF域中的其他路由器优选主用默认路由。这两条路由的OSPF度量类型均为E2,因而所宣告的度量值在整个OSPF域中保持一致。这种一致性可以确保无论到每台边界路由器的内部开销是多少,每台路由器上的主用默认路由的度量值都低于备用默认路由的度量值。例2-2给出了用户OSPF域内的某台路由器的默认路由信息。

虽然主用/备用设计方式满足了冗余性需求,但无法有效地利用可用带宽。一种更好的设计方式是同时使用这两条路径,在链路或路由器出现故障时,这两条路径可以互为备份。此时这两台路由器的配置情况如例2-3所示。

例2-2 首先显示的是主用外部路由,其次显示的是主用路由失效后使用的备用路由

  1. Phoenix#<strong>show ip route 0.0.0.0</strong> 
  2. Routing entry for 0.0.0.0 0.0.0.0, supernet  
  3.   Known via "ospf 1", distance 110, metric 10, candidate default path  
  4.   Tag 1, type extern 2, forward metric 64  
  5.   Redistributing via ospf 1  
  6.   Last update from 205.110.36.1 on Serial0, 00:01:24 ago  
  7.   Routing Descriptor Blocks:  
  8.   * 205.110.36.1, from 205.110.36.1, 00:01:24 ago, via Serial0  
  9.       Route metric is 10, traffic share count is 1  
  10. ________________________________________________________________________   
  11. Phoenix#<strong>show ip route 0.0.0.0</strong> 
  12. Routing entry for 0.0.0.0 0.0.0.0, supernet  
  13.   Known via "ospf 1", distance 110, metric 100, candidate default path  
  14.   Tag 1, type extern 2, forward metric 64  
  15.   Redistributing via ospf 1  
  16.   Last update from 205.110.38.1 on Serial1, 00:00:15 ago  
  17.   Routing Descriptor Blocks:  
  18.   * 205.110.38.1, from 205.110.38.1, 00:00:15 ago, via Serial1  
  19.       Route metric is 100, traffic share count is 1 

例2-3 负载共享到同一个AS时,两台路由器的配置可以完全相同

  1. router ospf 100  
  2.  network 205.110.32.0 0.0.15.255 area 0  
  3.  default-information originate metric 10 metric-type 1  
  4. !  
  5. ip route 0.0.0.0 0.0.0.0 205.110.168.108 

注:

将图2-3中的简单对等关系构造为主用/备用配置与负载共享配置的主要区别就在于带宽。如果一条链路主用,另一条链路备用,那么这两条链路的带宽应该相等。主用链路出现故障后,所有负载都能无阻塞地重路由到备用链路上。在某些配置场合,备用链路的带宽通常要比主用链路低得多,这种情况下的假设条件是,主用链路失效后,备用链路仅为关键应用提供足够带宽,而不是为所有网络功能都提供足够的带宽。

如果采用的是负载共享配置方式,那么这两条链路的每一条链路都应该能够承载正常情况下通过这两条链路承载的全部流量,在其中一条链路出现故障后,另一条链路能够不丢包地承载所有流量。

例中两台路由器的静态路由拥有相同的管理距离,而且这两条默认路由均以相同的度量值(10)进行宣告。例中的默认路由正以OSPF度量类型E1进行宣告。对于该度量类型来说,OSPF域中的每台路由器除了要考虑默认路由的开销之外,还要考虑到达边界路由器的内部开销。因而每台路由器在选取默认路由时都会选择最近的出口点(见图2-4)。

在大多数情况下,从多个出口点将默认路由宣告到AS中并在相同的出口点对离开AS的地址空间进行汇总,可以实现很好的网络性能。此时需要考虑的就是非对称流量模式是否存在问题。如果两个(或多个)出口点的地理间隔足够大,以至于时延变化变得很重要时,就可能需要更好地控制路由,这时就可以需要考虑使用BGP了。

例如,假设图2-3中的两台出口点路由器分别位于洛杉矶和伦敦。用户希望所有去往东半球的出流量都使用伦敦路由器,而所有去往西半球的出流量都使用洛杉矶路由器。需要记住的是,入站路由宣告会影响出站流量。如果提供商通过BGP将路由宣告到用户AS中,那么内部路由器将拥有更详细的外部目的地信息。

与此相似,出站路由宣告会影响入站流量。如果内部路由通过BGP宣告给提供商,那么用户就可以决定在哪个出口点宣告哪条路由,并且在将流量发送到用户AS时可以利用BGP提供的工具(在一定程度上)影响提供商的选择。

在考虑是否使用BGP时,需要仔细权衡所得到的好处与增加路由复杂度所带来的代价。只有对流量控制有益时,才应该优选BGP(相对于静态路由而言)。而且还应该分别考虑出站和入站流量。如果仅需要控制入站流量,那么可以通过BGP将路由宣告给提供商,而提供商仍然仅将默认路由宣告给用户AS。

如果仅需要控制出站流量,那么就可以利用BGP仅接收来自提供商的路由,但一定要仔细考虑该接收来自提供商的哪些路由。“接收全部BGP路由”意味着提供商会将整个Internet路由表都宣告给用户。截至本书写作之时,大约有500000条IPv4路由(见例2-4)。 IPv6 Internet路由表也正在快速增长,因而需要配置强大的路由器CPU来处理这些路由,并配置足够的路由器内存来存储这些路由。从例2-4可以看出,仅仅BGP路由就需要大约155.7MB内存,而BGP需要处理这些路由的内存需求更达到了4.1GB左右(见例2-5)。当然,如果采用简单的默认路由方案,那么只要低端路由器以及适量的内存即可轻松实现。

例2-4 Internet路由表的汇总信息显示一共有540809条BGP路由[1]

  1. route-views>show ip route summary  
  2. IP routing table name is default (0x0)  
  3. IP routing table maximum-paths is 32  
  4. Route Source    Networks    Subnets     Replicates   Overhead   Memory (bytes)  
  5. connected       0           2           0            192        576  
  6. static          1           57          0            5568       16704  
  7. application     0           0           0            0          0  
  8. bgp 6447        174172      366637      0            51917664   155752992  
  9.   External: 540809 Internal: 0 Local: 0  
  10. Internal        7847                                            42922856  
  11. Total           182020       366696     0            51923424   198693128  
  12. route-views> 

例2-5 BGP大约需要4.1GB的内存才能处理例2-4中显示的所有路由

  1. route-views> show processes memory | include BGP  
  2.  117   0          0        232      41864       644         644 BGP Scheduler  
  3.  176   0 1505234352     262528     370120   14362638   14362638 BGP I/O  
  4.  299   0          0   10068312      41864          0          0 BGP Scanner  
  5.  314   0          0          0      29864          0          0 BGP HA SSO  
  6.  338   0 27589889144 2170064712 4102896864       3946       3946 BGP Router  
  7.  350   0          0          0      29864          0          0 XC BGP SIG RIB H  
  8.  383   0          0          0      41864          0          0 BGP Consistency  
  9.  415   0          0          0      41864          0          0 BGP Event  
  10.  445   0          0          0      29864          0          0 BGP VA  
  11.  450   0       3224          0      33160          1          0 BGP Open  
  12.  562   0     328104     262528     107440          0          0 BGP Task  
  13.  574   0       3248          0      33160          1          0 BGP Open  
  14.  575   0       3120          0      33088          1          0 BGP Open  
  15.  577   0       3120          0      33040          1          0 BGP Open  
  16.  578   0       3120          0      33072          1          0 BGP Open  
  17. route-views> 

注:

例2-4的路由表汇总信息以及例2-5的相关进程信息取自route-views.oregon-ix.net的路由服务器。读者阅读本书时,这两个示例中的数据可能会发生变化。大家可以通过Telnet登录该服务器并查看当前的***数据。这类公开可访问的路由服务器很多,可以参阅。

运行BGP的另一个考虑因素就是需要通过一个AS号来标识用户的路由域。与IPv4地址相似,AS号的数量也是有限的,并且只能由区域性地址注册管理机构根据需要进行分配。与IPv4地址相似,AS号也有一部分被保留用作私有用途:AS号64512~65535。与私有IPv4地址(RFC 1918)相同,这些AS号也不是全局唯一的号码,不能包含在宣告给公共Internet的所有路由的AS_PATH中。几乎毫无例外,连接到单个服务提供商(无论是单归属还是多归属)的用户都使用该保留范围内的AS号,服务提供商则会将这些私有AS号从宣告的BGP路径上过滤掉。有关私有AS号的配置及过滤方式将在第5章进行详细讨论。

虽然图2-3的拓扑结构已经在图2-2的基础上进行了改进(增加了冗余路由器和冗余数据链路),但仍然存在单点故障问题,此时的单点故障就是ISP。如果ISP与Internet的连接出现了故障,那么用户也将无法连接Internet。此外,如果ISP的网络内部出现重大故障,那么该单归属用户也将受到拖累。

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
大家都在看
猜你喜欢

订阅专栏+更多

16招轻松掌握PPT技巧

16招轻松掌握PPT技巧

GET职场加薪技能
共16章 | 晒书包

289人订阅学习

20个局域网建设改造案例

20个局域网建设改造案例

网络搭建技巧
共20章 | 捷哥CCIE

645人订阅学习

WOT2019全球人工智能技术峰会

WOT2019全球人工智能技术峰会

通用技术、应用领域、企业赋能三大章节,13大技术专场,60+国内外一线人工智能精英大咖站台,分享人工智能的平台工具、算法模型、语音视觉等技术主题,助力人工智能落地。
共50章 | WOT峰会

0人订阅学习

读 书 +更多

征服Python—语言基础与典型应用

Python是目前流行的脚本语言之一。本书由浅入深、循序渐进地讲解如何使用Python进行程序开发。全书内容包括Python安装、开发工具简介、Pyth...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客