在互联网中,和局域网中,我们每个人的连接都是有一个IP作为我们的地址。那么,现在IP地址已经难于统计了,如此庞大的体系应该怎么进行管理和规划呢?现在我们就来介绍一下NAT中的TCP负载均衡问题。
NAT的TCP负载均衡
NAT(Network Address Translation 网络地址转换)简单地说就是将一个IP地址转换为另一个IP地址,一般用于未经注册的内部地址与合法的、已获注册的Internet IP地址间进行转换。适用于解决Internet IP地址紧张、不想让网络外部知道内部网络结构等的场合下。每次NAT转换势必会增加NAT设备的开销,但这种额外的开销对于大多数网络来说都是微不足道 的,除非在高带宽有大量NAT请求的网络上。
NAT负载均衡将一个外部IP地址映射为多个内部IP地址,对每次连接请求动态地转换为一个内部服务器的地址,将外部连接请求引到转换得到地址的那个服务器上,从而达到负载均衡的目的。
NAT负载均衡是一种比较完善的负载均衡技术,起着NAT负载均衡功能的设备一般处于内部服务器到外部网间的网关位置,如路由器、防火墙、四层交换机、专用负载均衡器等,均衡算法也较灵活,如随机选择、最少连接数及响应时间等来分配负载。
NAT负载均衡可以通过软硬件方式来实现。通过软件方式来实现NAT负载均衡的设备往往受到带宽及系统本身处理能力的限制,由于NAT比较接近网络的低 层,因此就可以将它集成在硬件设备中,通常这样的硬件设备是第四层交换机和专用负载均衡器,第四层交换机的一项重要功能就是NAT负载均衡。
下面以实例介绍一下Cisco路由器NAT的TCP负载均衡的配置:
现有一台有一个串行接口和一个Ethernet接口的路由器,Ethernet口连接到内部网络,内部网络上有三台web服务器,但都只是低端配置,为 了处理好来自Internet上大量的web连接请求,因此需要在此路由器上做NAT负载均衡配置,把发送到web服务器合法Internet IP地址的报文转换成这三台服务器的内部本地地址。 其具体配置过程如下:
做好路由器的基本配置,并定义各个接口在做NAT时是内部还是外部接口。
然后定义一个标准访问列表(standard access list),用来标识要转换的合法IP地址。
再定义NAT地址池来标识内部web服务器的本地地址,注意要用到关键字rotary,表明我们要使用轮循(Round Robin)的方式从NAT地址池中取出相应IP地址来转换合法IP报文。
***,把目标地址为访问表中IP的报文转换成地址池中定义的IP地址。
相应配置文件如下:
- interface Ethernet0/0
- ip address 192.168.1.4 255.255.255.248
- ip nat inside
- !
- interface Serial0/0
- ip address 200.200.1.1 255.255.255.248
- ip nat outside
- !
- ip access-list 1 permit 200.200.1.2
- !
- ip nat pool websrv 192.168.1.1 192.168.1.3 netmask 255.255.255.248 type rotary
- ip nat inside destination list 1 pool websrv
此设置,NAT仅仅基于流量的TCP负载均衡,对于其他流量NAT将不进行转换