集群的可扩展性及其分布式体系结构之十
2008-12-01 11:03:05 来源:WEB开发网核心提示: 3、经过前面的两次连接,均衡器在客户端和被选节点之前建立一个连接的映射关系,集群的可扩展性及其分布式体系结构之十(4),而后续两方的通信就无需再次被分析模块处理,直接在映射端互相交换就可以了, Step2:负载均衡器内建的网络输入流处理例程将截获客户端的SYN请求报文,解析后转发给连接管理
3、经过前面的两次连接,均衡器在客户端和被选节点之前建立一个连接的映射关系。而后续两方的通信就无需再次被分析模块处理,直接在映射端互相交换就可以了。
图五:第三步,TCP连接粘合完成,数据直接交换
4、TCP Splicing数据包通信流程
这里我们详细分析一下TCP粘合处理流程中,对于两回的三次握手协议之后,再建立起连接映射的具体细节。
从前面的叙述我们知道,负载均衡器在客户端发起TCP连接请求并完成三次的握手确认后,并没有马上将数据转发,而是先伪装为服务节点响应客户端的请求,并在随后接收到第一个数据包中获取负载均衡所需的数据,决定实际的服务节点;并在完成与服务节点的通信确认工作时候才开始双方的数据转换工作。
TCP Splicing数据处理流程
图中,蓝色框线包含起来的部分表示负载均衡器,包括了专门负责监听客户端请求的端口和负责发送请求到服务节点的端口。而TCP粘合工作完成之后,实际上客户端和服务节点双方的数据包就在两个端口上直接交换,不需要经过复杂的用户空间的调度模块处理了,相当于核心级的报文交换机。
Step1:客户端向集群发起请求,典型的请求以一个Syn(CSEQ表示客户端报文的初始序列)报文为开始,标记一个TCP连接开始并请求回应一个三次握手协议过程。该请求到达负载均衡器的客户端口。
Step2:负载均衡器内建的网络输入流处理例程将截获客户端的SYN请求报文,解析后转发给连接管理模块,并记录下这一次的请求信息:源地址、源端口号、目标地址和目标端口号。
更多精彩
赞助商链接