三种网络负载平衡转发技术:网络地址转换、直接路由和IP隧道技术

133、 负载均衡 

  目前主要有三种网络负载平衡转发技术,分别是网络地址转换、直接路由和IP隧道技术,采用不同的方法将客户端发送的包转发到目的服务器上,并确保目的服务器的返回包可以顺利到达客户端。

  ● 网络地址转换

  
  网络地址转换模式

  在目标网络地址转换(DNAT)模式下,提供服务的IP被定义在平衡服务器上,应用服务器只需要定义各自的内部IP地址,但是必须将负载平衡服务器定义为缺省路由,以保证返回客户端的包经过负载平衡服务器,完成第二次地址转换后再送回客户端。

  原理:

  1. 客户发出服务请求

  2. 负载平衡服务器接收到请求,将数据包中目的IP地址改为选中的应用服务器IP地址,然后重新发出数据包

  3. 应用服务器收到后,将应答包发回给负载平衡服务器

  4. 负载平衡服务器收到应答包后将其中的源地址改回成服务IP,发回客户端

  缺点是网络地址转换的性能扩展能力有限,因为请求包和应答包都必须通过平衡服务器,当服务器的节点数量达到20或更多时,平衡服务器可能成为整个系统的瓶颈。因此,这种方式主要适用于网络负载不是很高的场合。

  ● 直接路由

   和那种请求包和应答包都必须通过平衡服务器的网络地址转换不同,平衡服务器在直接路由模式下,将请求调度到不同的实际服务器,实际服务器直接将结果发回 客户端。在大多数应用中,请求的字节数远小于应答的字节数,所以与网络地址转换相比平衡服务器能处理更多的请求。采用直接路由能更大程度提高平衡服务器的 最大节点数和网络吞吐量。甚至于平衡服务器使用100M全双工的网卡,系统的最大数据吞吐量仍可以超过1Gbps。

  直接路由的特点是运用网络分层原理,通过将目标IP包封装在指定MAC地址的以太网数据包中欺骗TCP堆栈,因此实际服务器和负载平衡服务器必须在同一个物理网段中,并且在应用服务器上必须将服务IP定义在loopback虚拟网卡上。

  原理:

  1. 客户发出服务请求

  2. 负载平衡服务器接收到请求,将数据包中网卡物理地址(MAC)改为选中的应用服务器的MAC地址,然后重新发出数据包

  3. 目标应用服务器收到后,将应答包通过路由器直接发回客户端(不经过负载平衡服务器)

  直接路由是最高效,网络延时最小的负载平衡技术,但是,为达到MAC地址的欺骗,负载平衡服务器和所有应用服务器必须在同一个物理网段。而且,现在出现操作系统缺省是关闭这种特性的,如FreeBSD,必须显示打开相应的内核开关才可以。不过,目前的主流操作系统,都可以满足直接路由的需求,如Windows、Linux、AIX、Solaris、FreeBSD等。 

  
直接路由转换模式

  
  ● IP隧道

  与直接路由的方法类似,区别仅仅在于不是通过MAC欺骗来转发数据包,而是通过建立负载平衡服务器和应用服务器之间的IP隧道来完成。

  因为这些服务器的连接是通过IP隧道,平衡服务器和实际服务器可以在不同的局域网甚至是广域网。缺点是所有服务器必须使用IP隧道(IP封装)协议,比直接路由的效率要低,而且,不是所有的操作系统都支持。

展开阅读全文

没有更多推荐了,返回首页