在VS/NAT的集群系统中,请求和响应的数据报文都需要通过负载调度器,当真实服务器的数目在10台和20台之间时,负载调度器将成为整个集群系统的新瓶颈。大多数Internet服务都有这样的特点:请求报文较短而响应报文往往包含大量的数据。如果能将请求和响应分开处理,即在负载调度器中只负责调度请求而响应直接返回给客户,将极大地提高整个集群系统的吞吐量。
IP隧道(IP tunneling)是将一个IP报文封装在另一个IP报文的技术,这可以使得目标为一个IP地址的数据报文能被封装和转发到另一个IP地址。IP隧道技术亦称为IP封装技术(IP encapsulation)。IP隧道主要用于移动主机和虚拟私有网络(Virtual Private Network),在其中隧道都是静态建立的,隧道一端有一个IP地址,另一端也有唯一的IP地址。
我们利用IP隧道技术将请求报文封装转发给后端服务器,响应报文能从后端服务器直接返回给客户。但在这里,后端服务器有一组而非一个,所以我们不可能静态地建立一一对应的隧道,而是动态地选择一台服务器,将请求报文封装和转发给选出的服务器。这样,我们可以利用IP隧道的原理将一组服务器上的网络服务组成在一个IP地址上的虚拟网络服务。VS/TUN的体系结构如图3.3所示,各个服务器将VIP地址配置在自己的IP隧道设备上。
图3.3:VS/TUN的体系结构
VS/TUN的工作流程如图3.4所示:它的连接调度和管理与VS/NAT中的一样,只是它的报文转发方法不同。调度器根据各个服务器的负载情况,动态地选择一台服务器,将请求报文封装在另一个IP报文中,再将封装后的IP报文转发给选出的服务器;服务器收到报文后,先将报文解封获得原来目标地址为VIP的报文,服务器发现VIP地址被配置在本地的IP隧道设备上,所以就处理这个请求,然后根据路由表将响应报文直接返回给客户。
图3.4:VS/TUN的工作流程
在这里,请求报文的目标地址为VIP,响应报文的源地址也为VIP,所以响应报文不需要作任何修改,可以直接返回给客户,客户认为得到正常的服务,而不会知道是哪一台服务器处理的。
在VS/TUN中,响应报文根据服务器的路由表直接返回给客户,而不经过负载调度器,所以负载调度器只处于从客户到服务器的半连接中,VS/TUN的TCP状态迁移与VS/NAT的不同。我们给出半连接的TCP有限状态机,如图3.5所示,圈表示状态,箭头表示状态间的转换,箭头上的标识表示在当前状态上收到该标识的输入,迁移到下一个状态。VS/TUN的TCP状态迁移是按照半连接的TCP有限状态机进行的。
图3.5:半连接的TCP有限状态机
相关推荐
在分析VS/NAT的缺点和网络服务的非对称性的基础上,我们提出通过IP隧道实现虚拟服务器的方法VS/TUN (Virtual Server via IP Tunneling),和通过直接路由实现虚拟服务器的方法VS/DR(Virtual Server via Direct ...
通过IP隧道实现虚拟服务器(VS/TUN) 19 通过直接路由实现虚拟服务器(VS/DR) 22 三种方法的优缺点比较 24 Virtual Server via NAT 25 Virtual Server via IP Tunneling 25 Virtual Server via Direct Routing ...
文中分析了虚拟服务器(LVS)方案实现负载平衡技术,包括NAT实现虚拟服务器(VS/NAT)、IP隧道实现虚拟服务器(Vs/TuN)和直接路由器实现虚拟服务器(VS/DR)三种基本实现方法,详细探讨了它们各自实现细节、实现流程和优...
tun/tap虚拟网卡驱动
本文简单介绍一下Linux虚拟网卡的概念,并以tun设备为例在客户端和服务器端分别建立一个实际的虚拟网卡,最终实现一个从客户端到服务器的简单的IP隧道,希望本文能对理解虚拟网卡和IP隧道有所帮助,本文将提供完整的...
在分析网络地址转换方法(VS/NAT)的缺点和网络服务的非对称性的基础上,我们给出了通过IP隧道实现虚拟服务器的方法VS/TUN,和通过直接路由实现虚拟服务器的方法VS/DR,极大地提高了系统的伸缩性。
tcp/udp 打洞实现 ,仅做参考 打洞服务器源码 stunserver stunserver
这个主要是针对我写的博文:http://blog.csdn.net/jayxujia123/article/details/37767189给出的tun.ko,希望对有相关问题的朋友有用
在分析服务器集群实现虚拟网络服务的相关技术上,详细描述了LVS集群中实现的三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR)的工作原理,以及它们的优缺点。
源代码 : tun/tap应用测试代码 包括原理介绍 设备创建代码及udp icmp包发送及接收代码 描述tun/tap的一个典型应用
用Tun/tap虚拟设备实现数据安全传送的方法的研究与实现,刘敏,蒋砚军,本文以Tun/tap为理论基础和技术背景,实现了一种安全传送数据的方法。Tun/tap驱动不仅实现了网卡驱动而且还实现了字符设备驱动部分,�
易语言TUN/TAP虚拟网卡使用例子
tcp openssl tun/tap 通信
TUN/TAP虚拟网卡设备在Ad-hoc组网中的应用与实现,蔡佳翌,李绍胜,极限场景下的通信是工程师们最容易忽略,而关键时刻却又至关重要的研究重点之一。因自然灾害或战争形成的重灾区,基础通信设施往
软件介绍: tuntap虚拟网卡官方原版32位和64位驱动程序,安装时要根据你的系统类型选择不同的驱动文件夹。驱动文件列表:oemwin2k.infoemwin2k.PNFtap0901.cattap0901.sys
开始通过安装 tun_tcp_echo demo 尝试在 Linux 上使用 :go install github.com/google/netstack/tcpip/sample/tun_tcp_echo创建一个TUN设备:[sudo] ip tuntap add user mode tun [sudo] ip link ...
虚拟网卡主要用于BS架构的软件在登陆中出现注册问题
Tun2Socks for Windows
其中tun2和tun2.sql是数据库文件,可以直接把tun2放到你的mysql服务器的data文件夹里,也可以把tun2.sql导进你的mysql数据库。 这是tun2的最开始的一个版本,当然 tun2现在又推出了新的版本叫什么cms3,但我之前...