透明协商的方法和设备技术

技术编号:3547088 阅读:153 留言:0更新日期:2012-04-11 18:40
公开了透明协商的方法和设备。在一个实施例中,本发明专利技术是用于进行透明TCP协商的方法和设备。在一个实施例中,端点机器(例如,客户端和服务器)通过使用TCP报头字段来协商网络特征,这提供了反向的能力。协商可以由任何一个端点请求或启动,如果正在接收的端点不能够进行协商,则现有的TCP连接将继续正常地工作。

【技术实现步骤摘要】
透明协商的方法和设备
一般来说,本专利技术涉及计算网络,具体来说,涉及使用传输或传输层协议(例如,传输控制协议(TCP))的计算网络。在一个实施例中,本专利技术是用于进行透明TCP协商的方法和设备。
技术介绍
关于缩小计算机网络上的延迟并增大带宽的需求越来越强烈,特别是在网络中部署的服务器的数量越来越多的情况下。实现这些目标的一种方法是允许服务器将客户端请求重定向到网络中的另一个服务器。对于使用TCP/IP协议的网络,如因特网,重定向可以在应用程序层进行,因为这通常是在Web服务器上进行的,也可以通过其他装置来实现,如网络负载平衡器或动态域名系统(DDNS)。然而,这些装置也有它们自己的缺点。例如,尽管负载平衡器可以将客户端请求重定向到服务器集内的后端服务器,但是,这样的方法通常要求专门的负载平衡机制,而这又会对网络造成瓶颈。在DDNS的情况下,额外的负担被施加于标准DNS服务器,以从给定IP地址集返回一个IP地址,其中,根据随机、循环复用或基于某些其他外部事件(例如,来自外部源的DNS更新)选择返回的地址。返回到客户端的地址的分布难以优化,这可能导致特定服务器超载或负载不足。此外,在没有某些外部反馈机制的情况下,DDNS服务器也不可能察觉到,对于各种服务器,当前状态是什么。如此,需要一种用于针对传输或传输层协议(例如,TCP)进行透明协商的方法和设备。
技术实现思路
在一个实施例中,本专利技术是针对透明传输或传输层协议协商(例-->如,TCP协商)的方法和设备。在一个实施例中,端点机器(例如,客户端和服务器)通过使用TCP报头字段来协商网络特征,这提供了反向的能力。协商可以由任何一个端点请求或启动,如果正在接收的端点不能够进行协商,则现有的TCP连接将继续正常地工作。附图说明为了详细理解实现本专利技术的上文列举的实施例的方式,通过参考附图中所显示的实施例,可以获得简要概括的本专利技术的特定的说明。然而,值得注意的是,所附的图只显示了本专利技术的典型的实施例,因此,不视为对其范围进行限制,对于本专利技术,可以允许其他同样有效的实施例。图1是显示了其中可以实现本专利技术的一个实施例的网络的示意图;图2是显示根据本专利技术的用于协商网络特征的方法的一个实施例的流程图;图3是显示可以与图2中显示的方法一起使用的TCP报头的一个实施例的方框图;图4是显示根据本专利技术的用于使客户端和服务器协商网络特征的传输层处理单元的一个实施例的示意图;以及图5是使用通用计算设备实现的本专利技术的高级别方框图。为便于理解,只要有可能,便使用完全相同的附图标记,以表示图中所共有的相同元素。具体实施方式在一个实施例中,本专利技术提供了在网络连接(例如,TCP连接)上的两个端点之间进行透明网络特征协商的方法和设备。协商可以由连接上的任何一个端点启动,并可以涉及诸如计算机或网络管理之类的网络特征(例如,TCP窗口大小、服务器重定向等等)。图1是显示其中可以实现本专利技术的网络100的一个实施例的示意图。网络100包括连接到局域网(LAN)108上的至少一个客户端104和多个服务器1061-n(在下文中统称为“服务器106”)的因特-->网102。或者,网络100可以作为内部网来实现,服务器106不位于同一个LAN上。如此,图1只作为示例,而不对本专利技术的体系结构作出限制。客户端104和服务器106作为网络100的端点。即,通过传输层连接(例如,TCP连接),客户端104可以从网络100上的服务器106请求数据。数据请求通过网络100传输到相应的服务器106,该服务器通常通过将请求的数据发送回客户端104来作出响应。根据本专利技术,客户端104或与客户端104相连接的服务器106都可以启动一个或多个网络特征的协商。可以协商的网络特征包括,但不仅限于,诸如窗口大小(例如,TCP窗口大小)、服务器重定向和服务器关闭或脱机调度之类的计算机或网络管理特征。图2是显示根据本专利技术的用于协商网络特征的方法200的一个实施例的流程图。方法200在步骤202中启动,在步骤204中,方法200在客户端和服务器之间建立网络连接(例如,TCP连接)。在建立TCP连接期间或之后,方法200进入步骤206,在此,方法200请求协商一个或多个网络特征。步骤206可以在客户端或服务器上进行(即,任何一个网络端点都可以启动协商)。在一个实施例中,下面结合图3所进一步详细描述了,方法200通过修改由主动启动端点发送的数据包中的TCP报头的一个或多个字段来请求协商。在步骤208中,方法200查询接收端点是否能够进行协商,或是否知道在步骤206中启动的请求。如果接收端点察觉到请求,则方法200在步骤210中执行请求。如果接收端点没有察觉到请求,则方法200在步骤212中维持正常的网络操作。如此,协商请求变成“透明的”,因为正常的TCP操作不会受执行请求的协商的失败的影响。如此,方法200可使诸如图1的网络100之类的网络的端点协商网络特征,以便优化网络操作。方法200的透明特性可使方法200在其中不一定所有支持TCP的设备都能够改变它们的操作模式-->的网络中实现,从而不会对网络操作造成不利影响。图3是显示可以与上文所描述的的方法200一起使用的标准TCP报头300的一个实施例的方框图。TCP报头300包括包含有关诸如源端口和目标端口号之类的数据包的信息的多个字段。对于本专利技术的一个实施例,有意义的字段包括序列号302、确认号码304、紧急指针306和紧急位308。具体来说,在一个实施例中,与协商有关的信息包含在序列号和紧急指针字段302、306内。例如,在本专利技术的一个实施例中,一个服务器通过以下方式将客户端重定向到网络上的另一个服务器:将另一个服务器的IP地址编码在序列号字段内302,将紧急指针字段306的一部分设置为指出序列号字段302和紧急指针字段306两者都包含另一个服务器的IP地址的位模式。如此,紧急指针字段306包含另一个服务器的IP地址和指出重定向请求的位模式两部分。如果客户端察觉到服务器的重定向请求,则客户端将识别紧急指针字段306内的位模式,并连接到其IP地址在序列号字段302和紧急指针字段306中指出的另一个服务器。例如,下列序列显示了由服务器启动的协商服务器重定向的请求的一个实施例,其中,客户端察觉到请求。SEQ表示序列号(例如,图3中的序列号302),ACK表示确认号码(例如,确认号码304),URG表示紧急指针(例如,紧急指针306),CTL表示控制位(例如,图3中的位U、A、P、R、S和F)。在下面的序列中,在所显示的协商过程中,紧急位(例如,位308)没有设置。那些精通本技术的人将认识到,由于紧急位308没有设置,紧急指针306在标准的TCP功能下没有意义;因此,紧急指针306可以为协商而实现:客户端                                  服务器TCP状态        设置的TCP字段            TCP状态a)关闭                                  侦听b)SYN-SENT→   SEQ(X),CTL(SYN)→       SYN-RECV*由客户端发送的正常的SYN数据包*-->c)SYN-RECV←SEQ(Y)本文档来自技高网...

【技术保护点】
一种用于在网络连接上的第一和第二端点之间协商网络特征的方法,该方法包括下列步骤:将来自第一端点的至少一个协商请求传输到第二端点;如果第二端点察觉到至少一个协商请求,则响应至少一个协商请求;以及如果第二端点未察觉到协商请求,则维持正常的网络操作。

【技术特征摘要】
US 2004-4-30 10/835,6731.一种用于在网络连接上的第一和第二端点之间协商网络特征的方法,该方法包括下列步骤:将来自第一端点的至少一个协商请求传输到第二端点;如果第二端点察觉到至少一个协商请求,则响应至少一个协商请求;以及如果第二端点未察觉到协商请求,则维持正常的网络操作。2.根据权利要求1所述的方法,其中,网络连接是TCP连接。3.根据权利要求1所述的方法,其中,第二端点察觉到至少一个协商请求表示第二端点能够进行协商。4.根据权利要求1所述的方法,其中,第一端点是服务器,第二端点是连接到服务器的客户端。5.根据权利要求1所述的方法,其中,第一端点是客户端,第二端点是连接到客户端的服务器。6.根据权利要求2所述的方法,其中,正在协商的网络特征是至少一个计算机或网络管理特征。7.根据权利要求6所述的方法,其中,至少一个计算机或网络管理特征是TCP窗口大小、服务器重定向、服务器关机时间和服务器脱机调度中的某一个。8.根据权利要求2所述的方法,其中,传输至少一个协商请求的步骤是在第一和第二端点之间建立TCP连接的过程中进行的。9.根据权利要求2所述的方法,其中,传输至少一个协商请求的步骤是在第一和第二端点之间建立TCP连接之后进行的。10.根据权利要求2所述的方法,其中,至少一个协商请求,以及对至少一个协商请求的响应,是在第一和第二端点之间发送的数据包的TCP报头内传输的。11.根据权利要求10所述的方法,其中,传输至少一个协商请求的步骤包括:将至少一个协商请求编码在发送到第二端点的TCP报头的序列号字段内;将TCP报头的紧急指针字段的一部分设置为指出序列号和紧急指针字段包含协商数据的位模式;以及其中,未设置TCP报头中的紧急位。12.根据权利要求11所述的方法,其中,响应至少一个协商请求的步骤包括:识别紧急指针字段中的位模式,紧急位未设置;以及执行至少一个请求的协商。13.根据权利要求12所述的方法,进一步包括下列步骤:通过修改从第二端点发送到第一端点的数据包中的紧急指针字段确认至少一个协商请求,其中,修改包括将紧急指针字段的一部分设置为指出将满足至少一个协商请求的位模式,其中未设置TCP报头中的紧急位。14.一种包含用于在网络连接上的第一和第二端点之间协商网络特征的可执行程序的计算机可读的介质,其中,程序执行下列步骤:将来自第一端点的至少一个协商请求传输到第二端点;如果第二端点察觉到至少一个协商请求,则响应至少一个协商请求;以及如果第二端点未察觉到协商请求,则维持正常的网络操作。15.根据权利要求14所述的计算机可...

【专利技术属性】
技术研发人员:雷蒙德B詹宁斯三世
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1