集群的可扩展性及其分布式体系结构之十一
2008-12-01 11:02:51 来源:WEB开发网核心提示: 对于其他TCP选项的处理TCP粘合的过程中,涉及到两方面的系统:客户端的系统和集群节点的系统 ,集群的可扩展性及其分布式体系结构之十一(6),它们在TCP的具体实现细节上可能存在着不同,因此需要在建立TCP连接粘合的时候,这些扩展主要面向高速IP网络应用,目前在一些比较新的系统中广泛使用,
对于其他TCP选项的处理
TCP粘合的过程中,涉及到两方面的系统:客户端的系统和集群节点的系统 ,它们在TCP的具体实现细节上可能存在着不同,因此需要在建立TCP连接粘合的时候,由均衡器对双方的进行协商,保证连接上双方的TCP报文彼此相容。客户端首先和均衡器建立SYN三次握手连接,并在粘合连接之后将报文直接发向集群节点。因此均衡器在SYN握手的过程中必须对两个连接的报文选项进行协商或者转换。但是,在握手协议开始直到选择完服务节点之前,均衡器都不知道哪一个服务节点将与该客户端进行通信,所以在不知道目标节点的情况下,均衡器无法协商报文选项。
有几种方法可以解决这个问题。首先,对于不能兼容的连接(通过客户端连接建立时候获得的SYN报文信息可以判断)不予直接粘合,即均衡器强迫连接的每一个报文加载到用户空间进行转换处理,这样的结果显然导致效率低下的问题,集群均衡器退化为应用层代理服务器,但是可以彻底保证连接的兼容性。
另一种方法是,我们让均衡器仅接收满足兼容性的连接,这必须在均衡器和两端(客户端和节点)都完成SYN握手之后进行;对于握手阶段中发现的不能兼容的SYN,拒绝下一步粘合的操作,这种定义最小集的方法可以保护集群的性能,但是对客户端和集群节点的操作系统无形中就有了限制。
第三种方法是允许均衡器对小部分的TCP报文选项进行快速的转换,是介于第一种和第二种方案之间的做法,即满足节点和客户端的异构性又保证了性能不至于下降太多。下面我们就对连接粘合过程中一些扩展TCP报文选择的细节进行讨论。这些扩展主要面向高速IP网络应用,目前在一些比较新的系统中广泛使用,并且保持着比较好向后的兼容性。
TimeStamps时戳
更多精彩
赞助商链接