关于双连接的负载均衡

王朝other·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

包级别的 TCP/UDP 负载均衡和NAT(Network Address Translate)不能并存。

这是什么意思呢?简单来说,如果你有动态IP的连接,一个使用私有IP地址的局域网,通过NAT(Network Address Translate)上网,现在觉得速度不够,想再加一条使到某一Internet主机的速度加倍(现在中国大陆的典型情况),对不起,你就死了这条心吧,这是不可能的。

这里所说的连接包括 Ethernet,PPPoE,PPPoA,PPP,以及SLIP等等。并且,这是TCP/UDP 协议的内在机制造成的,和软/硬件无关。任何架构在 TCP/UDP 之上的应用,不论硬件还是软件,皆不能绕过此限制。

注意,如果你的局域网使用公用IP(public IP)而不需要NAT,则不在此列。

如果你想知道原因或者质疑我的结论:),请继续往下读。

本文假设

①、你已经阅读过 Linux Advanced Routing & Traffic Control HOWTO,特别是 4.2 小节的 Routing for multiple uplinks/providers,4.2.1小节Split access 和4.2.2小节 Load balancing。此文(以下按惯例简称lartc)非常清楚的说明了连接级别的TCP/UDP 负载均衡。

上面这幅示意图即摘自 lartc,官方站点是 http://lartc.org/。为行文方便,列在这里并做轻微改动,特此说明。

②、为便于理解,以下以常见的Linux 下 ADSL PPPoE 拨号上网为例,但如前所述,讨论适用于其它各种情况。用数对(IP address, port)来表示一个连结的端点。假定

Host IP Port

-------------------------------------

local host 1 192.168.0.15000

Linux routeif1 100.0.0.16000

Linux routeif2 150.0.0.17000

remote host1 200.0.0.180

-------------------------------------

那么连接级别和包级别的负载均衡究竟有何不同?

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航