Tcp连接重定位的制作方法

文档序号:6497563阅读:395来源:国知局
Tcp连接重定位的制作方法
【专利摘要】在或者连接设置或者活动操作期间在并行设备与链路之间移动TCP连接。
【专利说明】TCP连接重定位
[0001]对相关申请的交叉引用
[0002]本申请要求于2011年12月6日提交的题为“TCP Connection Relocation”的美国临时专利申请序列号N0.61/567,285优先权,其通过引用而被合并于此。
[0003]本申请也涉及全部在2012年11月15日提交的美国专利申请序列号N0.13/677,929、题为“Lossless Connection Failover for Single Devices”的代理机构卷号为N0.112-0690、序列号为US, 13/677,922,题为“Lossless Connection Failover forMirrored Devices”的代理机构卷号为N0.112-0690US1、以及序列号为13/678,032、题为“Flow-Based TCP”的代理机构卷号为N0.112-0692US,其通过引用而被合并于此。
【技术领域】
[0004]本发明涉及联网,并且更具体地涉及冗余链路和设备。
【背景技术】
[0005]在高可用性(HA)环境中,常见的是在每个数据中心处具有并行设备以允许在设备或链路故障的情况中重新路由。当在两个数据中心之间存在多个路径时使用负荷平衡技术是常见的,如同当每个数据中心处存在并行设备时将发生的那样。类似地,通常在数据中心之内进行负荷平衡以在给定类或功能的设备中提供更均匀的负荷。这可以导致路由问题,如果在特定设备处做出TCP连接并且然后负荷平衡改变路由以使得在数据中心处的不同设备接收到后续传输的至少一些部分。或者TCP上下文不存在或者设备之间的重大转发必须发生。

【发明内容】

[0006]在连接设置或活动操作期间在并行设备与链接之间移动TCP连接。
【专利附图】

【附图说明】
[0007]并入此说明书且构成此说明书的附图示出了与本发明一致的装置和方法的实施方式,并且连同今天是十分一起用来说明与本发明一致的优点和原理。
[0008]图1是根据本发明的两个连接的数据中心的实施例的方框图。
[0009]图2示出了根据本发明的实施例的包括CNE设备以便于数据中心间通信的示范性网络架构。
[0010]图3示出了根据本发明的一个实施例的启用CNE的VCS的示范性实施方式。
[0011]图4A呈现示出了根据本发明的一个实施例的CNE设备如何跨数据中心处理广播、未知单播、和多播(BUM)业务的图。
[0012]图4B呈现示出了根据本发明的一个实施例的CNE设备如何跨数据中心处理单播业务的图。
[0013]图5示出了根据本发明的实施例的两个CNE设备用于构成vLAG的示例。[0014]图6是根据本发明的LDCM设备的实施例的方框图。
[0015]图7是图1的数据中心被修改以根据本发明的各方面操作的方框图。
[0016]图8A和8B是图6的LDCM设备的功能块的方框图。
[0017]图9是根据本发明的超TCP会话创建并关闭处理的梯形图。
[0018]图10是根据本发明的超TCP数据传送操作的梯形图。
[0019]图11是示出了根据本发明的超TCP的操作的方框图。
[0020]图12是根据本发明的HA配置的方框图。
[0021]图13是示出了根据本发明的一个实施例的在设置时间处的TCP连接移动的方框图。
[0022]图14是图12的在一个数据中心中具有附加CNE/LDCM设备的方框图。
[0023]图15是示出了根据本发明的一个实施例的在活动操作期间的TCP连接移动的方框图。
【具体实施方式】
[0024]参考图1,显示了示出根据本发明的部分的网络。第一数据中心700被示出为具有三个单独的内部网络,TRILL网络702、正常以太网生成树协议(STP)网络704和存储区域网络(SAN) 706。应用服务器708被连接到TRILL网络702,而应用服务器710被连接到STP网络704和SAN706。存储器712示出被连接到SAN706。网络702、704和706的每一个具有连接的融合网络扩展(CNE)设备714、716、718。CNE设备714、716、718被连接到路由器,路由器又被连接到WAN722。第二数据中心750类似,具有VCS以太网结构网络752和SAN754。应用服务器756连接到每个网络752和754,存储器连接到SAN754。CNE设备760、762被连接到每个网络752、754和路由器764,路由器也被连接到WAN722以允许数据中心700,750通信。CNE设备714-718和760-762的操作产生有效的CNE覆盖网络766,具有从每个CNE设备到CNE覆盖网络766的虚拟链路。
[0025]本发明的实施例的一个目标是跨数据中心扩展VCS和TRILL网络并且满足配置所需的可分级性需求。CNE设备可以以两个盒子(two-box)解决方案执行,其中一个盒子能够L2/L3/FCoE切换并且是VCS的一部分,并且另一个便于WAN隧道以通过WAN传输以太网和/或FC业务。CNE设备也可以被以一个盒子(one-box)解决方案执行,其中单块网络装置组合L2/L3/FCoE切换和WAN隧道的功能。
[0026]作为层2交换机的VCS使用TRILL作为它的交换机间连接并且传送单个逻辑层2交换机的概念。此单个逻辑层2交换机传送透明的LAN服务。VCS的所有边缘端口支持标准协议和类似链路聚合控制协议(LACP)、链路层发现协议(LLDP)、VLAN、MAC学习等等的特征。VCS利用以太网名称服务(eNS)实现分布式MAC地址数据库并且试图尽可能避免溢出。VCS也提供各种智能服务,诸如虚拟链路聚合组(vLAG)、高级端口简档管理(APPM)、端到端FCoE、边缘环路检测等等。关于VCS的更多细节在以下美国专利申请序列号中可找到,13/098,360,2011 年 4 月 29 日提交的题为“Converged Network Extension,,; 12/725,249,
2010年 3 月 16 日提交的题为 “Redundant Host Connection in a Routed Network,,;13/087,239,2011 年 4 月 14 日提交的题为 “Virtual Cluster Switching” ; 13/092,724,
2011年 4 月 22 日提交的题为 “Fabric Formation for Virtual Cluster Switching”;13/092,580, 2011 年 4 月 22 日提交的题为“Distributed Configuration Management forVirtual Cluster Switching” ; 13/042,259,2011 年 3 月 7 日提交的题为 “Port ProfileManagement for Virtual Cluster Switching,,;13/092, 460, 2011 年 4 月 22 日提交的题为“Advanced Link Tracking for Virtual Cluster Switching” ;N0.13/092,701,2011年 4 月 22 日提交的题为 “Virtual Port Grouping for Virtual Cluster Switching,,;13/092, 752,2011 年4 月 22 日提交的题为 “Name Services for Virtual ClusterSwitching,,;13/092, 877, 2011 年4 月 22 日提交的题为“Traffic Management for VirtualCluster Switching”;以及 13/092,864, 2011 年 4 月 22 日提交的题为“Method and Systemfor Link Aggregation Across Multiple Switches”,全部通过引用合并于此。
[0027]本发明的实施例中,为了数据中心间通信,每个数据中心被表示为单个逻辑RBridge0此逻辑RBridge可以被分配虚拟RBridge ID或使用执行WAN隧道的CNE设备的RBridge ID。
[0028]图2示出了根据本发明的一个实施例的包括CNE设备以用于便于数据中心间通信的示范性网络架构。在此示例中,两个数据中心844和846分别经由网关路由器824和828被耦接到WAN826。数据中心844包括VCS816,其经由诸如交换机810之类的它的成员交换机耦接到诸如主机801之类的许多主机。主机801包括两个VM802和804,在双归属配置中,其被耦接到虚拟交换机806和808。在一个实施例中,虚拟交换机806和808驻留在主机801上的两个网络接口卡上。虚拟交换机806和808被耦接到VCS成员交换机810。还包括在VCS816中的是CNE设备818。CNE设备818被配置为既从成员交换机810经由以太网(或TRILL)链路812接收以太网(或TRILL)业务,又经由FC链路814接收FC业务。还耦接到CNE设备818的是目标存储设备820,和克隆的目标存储设备822 (由虚线表示)。CNE设备818跨WAN826经由网关路由器824和828维护到数据中心846的FCIP隧道。
[0029]类似地,数据中心846包括VCS842,其又包括成员交换机832。成员交换机832被耦接到主机841,其包括VM834和836,其中两者都被耦接到虚拟交换机838和840。还包括在VCS842的是CNE设备830。CNE设备经由以太网(TRILL)链路和FC链路被耦接到成员交换机832。CNE设备830也被耦接到目标存储设备822和目标存储设备820的克隆体。
[0030]在操作期间,假定VM802需要从主机801移动到主机841。注意此移动以前是不可能的,因为虚拟机仅仅在相同的层2网络域之内可见。一旦层2网络域由诸如网关路由器824之类的层3设备终止后,用于特定虚拟机的全部识别信息(其被在层2报头中传送)丢失。但是,在本发明的实施例中,因为CNE设备将层2域从VCS816扩展到VCS842,所以VM802从数据中心844到数据中心846的移动现在是可以的,因为满足了该基本需要。
[0031]当将TRILL帧从数据中心844转发到数据中心846时,CNE设备818修改发出的TRILL帧的报头,以使得目的地RBridge标识符是分配给数据中心846的RBridge标识符。CNE设备818则使用FCIP隧道以将这些TRILL帧传递到CNE设备830,其又将这些TRILL帧转发到他们各自的层2目的地。
[0032]VCS使用FC控制面以自动地形成结构并且将RBridge标识符分配到每个成员交换机。在一个实施例中,CNE架构保持TRILL并且SAN结构在数据中心之间分离。从TRILL角度,每个VCS (其对应于各个数据中心)被表示为单个虚拟RBridge。此外,CNE设备可以利用TRILL链路和FC链路被耦接到VCS成员交换机。CNE设备可以经由TRILL链路联合VCSo但是,因为CNE设备保持TRILLVCS结构和SAN(FC)结构分离,因此CNE设备与成员交换机之间的FC链路被配置用于FC多结构。
[0033]如图3所示,数据中心908经由网关路由器910被耦接到WAN,并且数据中心920经由网关路由器912被耦接到WAN。数据中心908包括VCS906,其包括成员交换机904。还包括在数据中心908中的是CNE设备902。CNE设备902经由TRILL链路和FC链路被耦接到VCS成员交换机904。CNE设备902可以经由TRILL链路联合VCS。但是,FC链路允许CNE设备902维护与VCS成员交换机904分离的FC结构以传送FC业务。在一个实施例中,CNE设备902上的FC端口是FC EX_port。成员交换机904上的对应端口是FCE_port。在WAN侧(耦接到网关路由器910)的CNE设备902上的端口是FCIP VE_port。数据中心920具有类似的配置。
[0034]在一个实施例中,每个数据中心的VCS包括指定为用于多播目的的ROOT RBridge的节点。在初始设置期间,VCS中的CNE设备交换每个VCS的ROOT RBridge标识符。此外,CNE设备也交换每个数据中心的RBridge标识符。注意此RBridge标识符表示整个数据中心。与数据中心RBridge标识符相关的信息被作为静态路由分布到本地VCS中的全部节点。
[0035]图4A呈现示出了根据本发明的一个实施例的CNE设备如何跨数据中心处理广播、未知单播、和多播(BUM)业务的图。在此示例中,两个数据中心,DC-1和DC-2经由核心IP路由器被耦接到IP WAN。DC-1中的CNE设备具有RB4的RBridge标识符,并且在DC-2中的CNE设备具有RB6的RBridge标识符。此外,在DC-1中的VCS中,成员交换机RBl被耦接到主机A。在DC-2中的VCS中,成员交换机RB5被耦接到主机Z。
[0036]假定主机A需要将多播业务发送到主机Z,并且主机A已经具有对主机Z的MAC地址的认识。在操作期间,主机A装配以太网帧1002,其具有主机Z的MAC地址(表示为MAC-Z)作为它的目的地址(DA),并且主机A的MAC地址(表示为MAC-A)作为它的源地址(SA)。基于帧1002,成员交换机RBl装配TRILL帧1003,它的TRILL报头1006包括数据中心DC-1的根RBridge (表示为“DC1-R00T” )的RBridge标识符作为目的地RBridge,并且RBl作为源RBridge。(即,在DC-1之内,多播业务被分布在本地多播树上。)。帧1003的外部以太网报头1004具有CNE设备RB4的MAC地址(表示为MAC-RB4)作为DA,并且成员交换机RBl的MAC地址(表示为MAC-RB1)作为SA。
[0037]当帧1003到达CNE设备RB4时,它进一步修改帧的TRILL报头以产生帧1005。CNE设备RB4将TRILL报头1010中的目的地RBridge标识符替换为数据中心DC-2的根RBridge标识符DC2-R00T。源RBridge标识符被改变为数据中心DC-1的虚拟RBridge标识符,DCl-RB (其允许数据中心DC-2知道数据中心DC-1的RBridge标识符)。外部以太网报头1008具有核心路由器的MAC地址(MAC-RTR)作为它的DA,并且CNE设备RB4的MAC地址(MAC-DC-1)作为它的SA。
[0038]帧1005随后被跨IP WAN在FCIP隧道中传输并且到达CNE设备RB6。相应地,CNE设备RB6更新报头以产生帧1007。帧1007的TRILL报头1014仍然与帧1005相同。外以太网报头1012现在具有成员交换机RB5的MAC地址MAC-RB5作为它的DA,和CNE设备RB6的MAC地址MAC-RB6作为它的SA。一旦帧1007到达成员交换机RB5后,TRILL报头被移除,并且内以太网帧被传送到主机Z。
[0039]在各个实施例中,CNE设备可以被配置为允许或不允许未知单播、广播(例如,ARP)、或多播(例如,IGMP探听的)业务越过数据中心边界。通过具有这些选项,可以限制跨过数据中心的BUM业务的量。注意,在数据中心之间的所有TRILL封装的BUM业务可以利用远程数据中心的根RBridge标识符被发送。在FCIP隧道的终点处进行此转换。
[0040]可以实施附加机制以最小化跨数据中心的BUM业务。例如,CNE设备与任何VCS成员交换机之间的TRILL端口可以被配置为不参与VLAN MGID中的任何一个。此外,两个VCS上的eNS都被配置为同步它们知道的MAC地址数据库以最小化具有未知MAC DA的业务。(注意在一个实施例中,在知道的MAC地址数据库被以不同的VCS同步之前,具有未知MAC DA的帧仅仅涌入在本地数据中心之内)。
[0041]为了进一步最小化BUM业务,可以通过探听ARP响应以在VCS成员交换机上建立ARP数据库来减小诸如ARP业务之类的广播业务。知道的ARP数据库然后被交换并且利用eNS跨不同的数据中心同步。基于代理的ARP用于响应VCS中所有已知的ARP请求。此外,可以通过经由eNS共享IGMP探听信息来跨数据中心分布多播组成员,以减小跨数据中心的多播业务。
[0042]如下描述在数据中心之间转发单播业务的处理。在FCIP隧道形成期间,交换表示数据中心的逻辑RBridge标识符。当TRILL帧到达FCIP隧道的入口节点时,其中TRILL目的地RBridge被设置为远程数据中心的RBridge标识符,TRILL报头中的源RBridge被转换为分配给本地数据中心的逻辑RBridge标识符。当帧退出FCIP隧道时,TRILL报头中的目的地RBridge字段被设置为本地(即,目的地)数据中心的虚拟RBridge标识符。内以太网报头中的MAC DA和VLAN ID然后被用于查找对应的目的地RBridge ( S卩,目的地主机附接到的成员交换机的RBridge标识符,并且TRILL报头中的目的地RBridge字段因此被更新。
[0043]在目的地数据中心中,基于进入的帧,所有VCS成员交换机知道MAC SA(在帧的内以太网报头)与TRILL源RBridge (其是分配给源数据中心的虚拟RBridge标识符)之间的映射。这允许目的是该MAC地址的将来输出的帧被发送给正确的远程数据中心。注意,因为分配给给定数据中心的RBridge标识符不对应于物理RBridge,因此在一个实施例中,静态路由用于将远程数据中心RBridge标识符映射到本地CNE设备。
[0044]图4B呈现示出了根据本发明的一个实施例的CNE设备如何跨数据中心处理单播业务的图。假定主机A需要将单播业务发送到主机Z,并且主机A已经具有对主机Z的MAC地址的认识。在操作期间,主机A装配以太网帧1002,其具有主机Z的MAC地址(MAC-Z)作为它的DA,并且主机A的MAC地址(MAC-A)作为它的SA。基于帧1002,成员交换机RBl装配TRILL帧1003,它的TRILL报头1009包括数据中心DC-2的虚拟RBridge (表示为“DC2-RB”)的RBridge标识符作为目的地RBridge,并且RBl作为源RBridge。)。帧1003的外以太网报头1004具有CNE设备RB4的MAC地址(表示为MAC-RB4)作为DA,并且成员交换机RBl的MAC地址(MAC-RBl)作为SA。
[0045]当帧1003到达CNE设备RB4时,它进一步修改帧的TRILL报头以产生帧1005。CNE设备RB4将TRILL报头1011中的源RBridge标识符替换为数据中心DC-1的虚拟RBridge标识符DCl-RB (其允许数据中心DC-2知道数据中心DC-1的RBridge标识符)。外以太网报头1008具有中心路由器的MAC地址(MAC-RTR)作为它的DA,并且CNE设备RB4的MAC地址(MAC-DC-1)作为它的SA。[0046]帧1005随后被跨IP WAN在FCIP隧道中传输并且到达CNE设备RB6。相应地,CNE设备RB6更新报头以产生帧1007。帧1007的TRILL报头1015具有更新的目的地RBridge标识符,其是RB5,DC2中的VCS成员交换机耦接到主机Z。外以太网报头1012现在具有成员交换机RB5的MAC地址MAC-RB5作为它的DA,和CNE设备RB6的MAC地址MAC RB6作为它的SA。一旦帧1007到达成员交换机RB5后,TRILL报头被移除,并且内以太网帧被传送到主机Z。
[0047]具有未知MAC DA的帧跨数据中心的涌入是数据中心知道另一个数据中心中的MAC地址的一种方法。所有未知SA被知道作为RBridge后面的MAC并且对于CNE设备没有例外。在一个实施例中,eNS可以用于分布知道的MAC地址数据库,其降低跨数据中心的涌入量。
[0048]为了优化冲刷,即使知道RBridge后面的MAC地址,与MAC地址相关联的实际VCS边缘端口也存在于eNS MAC更新中。但是,边缘端口 ID可能不再是跨数据中心唯一的。为了解决这个问题,跨数据中心的所有eNS更新将利用数据中心的RBridge标识符使MAC输入合格。此配置允许端口冲刷跨数据中心的传播。
[0049]在这里描述的架构中,不同的数据中心中的VCS并未彼此联合;因此分布式配置保持隔开。但是,为了允许虚拟机跨数据中心移动,将存在需要被跨数据中心同步的一些配置数据。在一个实施例中,特殊的模块(以或者软件或者硬件)被创建以用于CNE目的。此模块被配置为检索便于虚拟机跨数据中心的移动所需的配置信息并且它在两个或更多个VCS之间被同步。
[0050]在一个实施例中,知道的MAC地址数据库被跨数据中心分布。同样,边缘端口状态变化通知(SCN)也被跨数据中心分布。当物理RBridge停止时,SCN被转换为数据中心内FCIP链路上的多个端口 SCN。
[0051]为了保护数据中心内连接性,VCS可以在两个或更多个CNE设备之间形成vLAG。在此模型中,vLAG RBridge标识符被用作数据中心RBridge标识符。FCIP控制面被配置为知道此布置并且在此情况下交换vLAG RBridge标识符。
[0052]图5示出了根据本发明的实施例的其中两个CNE设备用于构成vLAG的示例。在此示例中,VCSl 100包括两个CNE设备1106和1108。CNE设备1106和1108 二者形成被耦接到核心IP路由器的vLAGlllO。vLAGlllO被分配虚拟RBridge标识符,其也被用作用于VCSl 100的数据中心RBridge标识符。此外,vLAGlllO可以便于进入和输出负荷平衡(例如,基于等成本多路径(ECMP))以用于VCS1100内的任何成员交换机。
[0053]图6示出了 CNE/LDCM设备1200,LDCM特征优选地被增加到CNE设备以创建单个设备。片上系统(SOC) 1202提供主要处理能力,具有多个CPU1204。许多以太网连接1206优选地被包括在S0C1202上以充当WAN链路,尽管如果期望可以使用分离的以太网设备。FC切换芯片1208被连接到S0C1202以提供到FC SAN的连接。CEE切换芯片1210被连接到S0C1202以允许附接到VCS或以太网LAN。压缩引擎1212具备S0C1202以提供压缩和重复数据删除(dedup)能力以减少WAN链路上的业务。为安全性目的提供加密引擎1214,如优选地加密FCIP通道以为了安全性。
[0054]各种软件模块1216存在于CNE/LDCM设备1200中的存储器中。这些包括基础操作系统1218、管理与VCS的交互的控制面模块1220、用于控制面之上的TRILL功能的TRILL管理模块1222、管理WAN上的FCIP隧道的FCIP管理模块1224、与FC SAN交互的FC管理模块1226以及地址管理模块1228。附加模块是高可用性(HA)模块1230,其又包括TCP重定位子模块1232。TCP重定位子模块1232中的软件在CPU1204中执行以执行下面关于图12-15描述的TCP重定位操作。
[0055]图7示出了添加CNE/LDCM设备1302、1352的数据中心。示出了两个数据中心100、150。每个具有一系列应用服务器群102、152,其执行实际应用,诸如在SaaS (作为服务的软件)架构中。数据被存储在存储器结构104、154中。对应用服务器群102、152的访问被显示为经由网络服务器群106、156,尽管在LAN层处的更多直接访问是普遍的。站点负荷平衡器108、158跨网络服务器群106、156中的网络服务器分布输入的请求。全球负荷平衡器110被连接到互联网112以平衡数据中心100、150之间的负荷。CNE/LDCM设备1302和1352创建它们自己之间的云虚拟互连(CVI) 1304,实际上经由WAN1306的FCIP隧道。CVI1304用于数据中心100、150之间的VM移动性、应用负荷平衡和存储复制。
[0056]云虚拟互连1304优选地包括以下组件。FCIP干线,如在2010年9月13日提交的题为 “FCIP Communications with Load Sharing and Failover” 的美国专利申请序列号N0.12/880,495更充分描述的,其通过引用而被合并于此,集合多个TCP连接以支持从IOOMbps直到20Gbps的宽的WAN带宽范围。它也支持多归属并且实现冗余网络路径之间透明的故障传送。
[0057]对TCP连接执行自适应速率限制(ARL)以改变经由TCP连接发送数据的速率。ARL使用来自于TCP连接的信息以确定并且动态地调整用于TCP连接的速率限制。这将允许TCP连接利用最大可用带宽。它也提供灵活的用于定义策略的优先级的数目并且用户被提供以定义所需的优先级。
[0058]高带宽TCP(HBTCP)被设计为用于通过长胖网络的高吞吐量应用,诸如虚拟机和存储迁移。它克服WAN中传统的TCP/IP的负面影响的挑战。为了优化性能做出以下改变。
[0059]I)缩放的窗口:在HBTCP中,缩放的窗口用于支持高达350毫秒或更多的WAN延迟。最大可消耗存储器将被每个会话分配以维护线速率。
[0060]2)优化的重新排序阻力=HBTCP具有更多的阻力复制确认并且需要更多复制的ACK’以触发快速重发。
[0061]3)优化的快速恢复:在HBTCP中,不是把cwnd降低一半,而是基本上减小不到50%以便为进行广泛的网络重新排序的情况作好准备。
[0062]4)快速启动:缓慢启动阶段被修改以快速启动,其中初始吞吐量被设置相当大的值并且在与拥挤事件之前的吞吐量相比较时吞吐量仅仅被最低限度地降低。
[0063]5)拥挤避免:通过仔细地匹配发送给网络速度的数据量,代替抽运更多的业务并且引起拥挤事件,避免拥挤以使得可以禁止拥挤避免。
[0064]6)优化的慢恢复:在HBTCP中重发计时器(150毫秒)比在传统的TCP中更快速地期满并且当快速重发不能提供恢复时使用。这在拥挤事件发生时较早地触发缓慢启动阶段。
[0065]7)丢失分组连续重试:不是在ACK上等待SACK重发的分组,而是连续地重发分组以改善慢恢复,如在2010年12月20日提交的题为“Repeated Lost PacketRetransmission in a TCP/IP Network” 的美国专利申请序列号 N0.12/972,713 中更详细描述的,其通过引用而被合并于此。
[0066]用在用于VMware系统的VM移动性中的vMotion迁移数据经由CEE交换芯片1210的LAN以太网链路进入CNE/LDCM设备1302,并且被压缩、加密的数据利用S0C1202的以太网端口 1206的WAN上行链路通过WAN基础设施被发送。类似地对于存储迁移,来自于由FC切换芯片1208提供的SAN FC链路的数据利用WAN上行链路被迁移到迁移存储器。控制面模块1220照料应用服务器和目的地LDCM服务器的建立、维护和终止TCP会话。
[0067]图8A和8B示出了 CNE/LDCM设备的功能块和模块。LAN终端1402和SAN终端1404被应用模块1408互连到CVI1406,数据压缩引擎1410和高可靠性传递应用(HRDA)层1412。
[0068]LAN终端1402具有层2、以太网或CEE、连接到LAN端口的模块1420。IP虚拟边缘路由模块1422将层2模块1420连接到超TCP模块1424。超TCP模块1424操作在下面更详细地被描述并且包括被连接到虚拟边缘路由模块1422的TCP分类器1426。TCP分类器1426连接到数据处理模块1428和会话管理器1430。事件管理器1432连接到数据处理模块1428和会话管理器1430。事件管理器1432、数据处理模块1428和会话管理器1430全部连接到套接层1434,其充当用于超TCP模块1424和LAN终端1402到应用模块1408的接□。
[0069]SAN终端1404具有连接到SAN端口的FC层2模块1436。批处理/去批处理模块1438将FC层2模块1436连接到路由模块1440。为FICON业务1442、FCP业务1444和F_Class业务1446提供分离的模块,其中每个模块连接到路由模块1440并且充当SAN终端1404和应用模块1408之间的接口。
[0070]应用模块1408具有三个主应用、超控制器1448、网络/安全1452和存储器1454。超控制器应用1448与诸如vMotion、Xenmotion和MS现场迁移之类的各个超控制器运动功能协作。高速缓存子系统1450具备超控制器应用1448以用于在运动操作期间数据的高速缓存。网络/安全应用1452与VPN、防火墙和侵入系统合作。存储器应用1454处理iSCS1、NAS和SAN业务并且具有附加的高速缓存1456。
[0071]数据压缩引擎1410使用压缩引擎1212以处理压缩/解压缩和重复数据删除操作以允许改善WAN链路的效率。
[0072]HRDA层1412的主要功能是保证网络级和传送级的通信可靠度。如图所示,通过经由WAN基础设施通过IP扩展L2TRILL网络来巩固数据中心。冗余的链路被提供以充当备份路径。HRDA层1412在主路径失败的情况下执行到备用路径的无缝切换。通过在备用路径上重发任何未确认的片段来阻止在主路径上运行的HBTCP会话经受任何拥挤事件。假设对于未确认的片段的确认和未确认的片段自身丢失。HRDA层1412也保证对于单个路径之内的TCP会话的可靠性。在HBTCP会话失败情况下,利用HBTCP会话的任何迁移应用也将失败。为了防止应用失败,HRDA层1412透明地切换到备份HBTCP会话。
[0073]CVI1406包括连接到WAN链路的IP模块1466。为链路安全提供IPSEC模块1464。HBTCP模块1462被提供以允许如上所述的HBTCP操作。QoS/ARL模块1460处理上面描述的QoS和ARL功能。干线模块1458处理上面描述的干线。
[0074]超TCP是加速现场服务和应用在长距离网络的迁移的组件。简单地,应用客户端和服务器之间的TCP会话被在本地终止,并且通过平衡数据中心之间的高带宽传输技术,应用迁移被加速。
[0075]超TCP主要支持两个操作模式:
[0076]I)数据终止模式(DTM):在数据终止模式中,不变更终端设备TCP会话但是在本地确认数据并且维护数据序列完整性。
[0077]2)完全终止模式(CTM):在完全终止模式中,终端设备TCP会话由LDCM完全地终止。在终端设备之间部维护数据序列但是保证数据完整性。
[0078]在超TCP中主要存在三个阶段。它们是会话建立、数据传输和会话终止。下面说明这三个阶段。
[0079]I)会话建立:在此阶段期间,探听连接建立分组并且高速缓存TCP会话数据,像连接端点、窗口大小、MTU和序列号。也高速缓存像MAC地址的层2信息。关于超TCP服务器的TCP会话状态与应用服务器的相同并且超TCP客户端的TCP会话状态与应用客户端的相同。利用高速缓存的TCP状态信息,超TCP设备可以在本地终止应用客户端和服务器之间的TCP连接并且在本地确认分组的接收。因此,由应用计算的RTT将被掩蔽包括WAN延迟,其产生更好的性能。
[0080]在图9示出了会话创建处理。应用客户端发送SYN,其由超TCP服务器探听。超TCP服务器将SYN转发到超TCP客户端,可能利用TCP报头选项字段中的种子值。种子值可以指示这是否是超TCP会话、终止模式、超TCP版本等等。种子值由诸如数据压缩引擎1410和CVI1406之类的各个模块使用以确定会话的加速的需要和级别。超TCP客户端探听并且将SYN转发到应用服务器。应用服务器利用SYN+ACK响应,超TCP客户端探听并且转发给超TCP服务器。超TCP服务器探听SYN+ACK并且将它转发到应用客户端。应用客户端利用ACK响应,超TCP服务器将其转发给超TCP客户端,其又向应用服务器提供它。这引起创建的TCP会话。
[0081]2)数据传输处理:一旦会话已被建立,数据传输总是在超TCP设备与末端设备之间在本地处理。充当用于应用客户端的代理目的地服务器的超TCP服务器在本地确认分组并且TCP会话状态被更新。数据被移交到超TCP客户端和服务器之间的HBTCP会话。HBTCP会话压缩并且将数据转发到超TCP客户端。这降低由应用客户端和源看见的RTT,因为它掩盖在网络上遭受的延迟。在超TCP客户端接收的数据被处理,好像数据由超TCP客户端生成一样,并且数据被递给在超TCP客户端与应用服务器之间运行的超TCP处理。在网络中拥挤时,控制从超TCP套接字中取得的数据量。
[0082]在图10中示出了此处理。数据从应用客户端提供到超TCP服务器,超TCP服务器依照要求确认数据,因此在超TCP服务器处在本地终止连接。LDCM设备集合并且压缩接收的数据以减少WAN业务并且将它发送到另一个LDCM设备中的超TCP客户端。接收的LDCM设备解压缩并且解集合数据并且将它提供给超TCP客户端,其又将它提供给应用服务器,应用服务器周期性地确认数据。应用服务器应当需要向应用客户端发送数据,处理基本上相反。通过让超TCP服务器和客户端在本地响应于接收的数据,因此在本地终止连接,应用服务器和客户端不知道由超TCP服务器和客户端之间的WAN链路产生的延迟。
[0083]3)会话终止:接收的FIN/RST被透明地跨类似会话建立分组发送。进行此操作以保证数据完整性和两个终端设备之间的一致性。只有当在FIN之前接收的所有分组已被在本地确认并且发送给超TCP客户端时,在超TCP服务器处接收的FIN/RST才将被透明地发送。如果FIN/RST分组已被在超TCP客户端上接收,则在所有排队的数据已被发送并且由应用服务器确认之后,分组将被透明地转发。在任一方向,一旦FIN已被接收和转发,分组的进一步传输被透明地进行并且不被在本地终止。
[0084]这在图9中示出更多细节。应用客户端向超TCP服务器提供FIN。如果任何数据没有由超TCP服务器接收到,则超TCP服务器将恢复来自于应用客户端的数据并且向超TCP客户端提供它。超TCP服务器然后将FIN转发到超TCP客户端,其冲刷超TCP客户端中的任何剩余的数据并且然后将FIN转发到应用服务器。应用服务器利用用于冲刷的数据的ACK然后是FIN进行回复。超TCP客户端然后接收来自于应用服务器的任何未完成的数据并且将数据恢复到应用服务器。ACK和数据被转发到超TCP服务器。在数据被传输之后,超TCP客户端将FIN转发到超TCP服务器。超TCP服务器在接收时转发ACK并且将任何剩余的数据冲刷到应用客户端。在此完成之后,超TCP服务器转发FIN并且会话被关闭。
[0085]图11示出了超TCP服务器和客户端通过CVI1712的有效操作。一系列应用1702-1到1702-n分别与应用1704-1到1704_n进行通信。超TCP服务器代理1706与应用1702合作,而超TCP代理1708与应用1704合作。在例示中,示出四个不同的超TCP会话,H1、H2、H3 和 Hnl710-1 到 1710-n,其利用 CVI1712 穿过 WAN。
[0086]图12示出了用于CNE/LDCM设备的基本的高可用性(HA)配置。每个数据中心200、250包括两个并行的CNE/LDCM设备202A、202B、252A、252B,其中负荷平衡器/路由器204、254连接数据中心200、250。
[0087]为了解决在背景中描述的问题,在根据本发明的系统中,TCP连接被从一个CNE/LDCM设备(CNE/LDCM3252A)移动到在相同的站点处的另一个CNE/LDCM设备(CNE/LDCM4252B)。那么做的步骤可以被如下概括并且如图13所示:
[0088]1.主机 Hl206 将 SYN 请求发送到 CNE/LDCM1202A
[0089]a.CNE/LDCM1202A 创建本地 LAN 侧 TCP 连接
[0090]b.CNE/LDCM1202A LAN TCP 管理器将 SYN 转发到 LAN 状态机
[0091]2.CNE/LDCM1202A选择隧道并且将隧道的SYN发送到CNE/LDCM3252A
[0092]3.CNE/LDCM3252A 将 SYN 发送到 H2256
[0093]a.CNE/LDCM3252A 创建本地 LAN TCP 连接
[0094]4.主机 H2256 将 SYN/ACK 发送到 CNE/LDCM4252B
[0095]5.CNE/LDCM4252B不知道此连接,因此它将连接检查请求发送到CNE/LDCM3252A
[0096]6.CNE/LDCM3252A 将连接检查响应发送到 CNE/LDCM4252B
[0097]a.因为连接将在CNE/LDCM4252B上,所以CNE/LDCM3252A删除本地LAN TCP连接
[0098]b.CNE/LDCM4252B 创建本地 LAN TCP 连接
[0099]7.CNE/LDCM4252B 将对于 SYN/ACK 的 ACK 发送到 H2256,在 CNE/LDCM4252B 上充分建立TCP连接
[0100]8.CNE/LDCM4252B 然后将隧道的 SYN/ACK 发送到 CNE/LDCM1202A
[0101]9.CNE/LDCM1202A 将 SYN/ACK 发送到 Hl206
[0102]10.H1206 将 ACK 发送到 CNE/LDCM1202A,在 CNE/LDCM1202A 上充分建立 TCP 连接
[0103]11.CNE/LDCM1202A 通过隧道将 ACK 发送到 CNE/LDCM4252B (以前隧道的 SYN-ACK来自于 CNE/LDCM4252B)。[0104]在这种情况下,客户端侧连接将在H1-CNE/LDCM1206-202A之间,服务器侧在CNE/LDCM4-H2252B-265 之间,并且然后使用的隧道将是 CNE/LDCM1-CNE/LDCM4202A-252B。
[0105]在可替换的实施例中,CNE/LDCM3252A可以当它接收如步骤3所示的SYN时将通知发送到 CNE/LDCM4252B,并且 CNE/LDCM4252B 可以在 CNE/LDCM4252B 接收到 SYN/ACK 时将拥有权传送消息发送到CNE/LDCM3252A,而不发送用于它的SYN,代替步骤5和6的交换。
[0106]在另一个可替换的实施例中,在步骤11中发送的ACK可以在步骤4中的接收SYN/ACK之后被发送。
[0107]在如上所述的设置阶段移动TCP连接对解决网络中的不对称业务流是有用处的,但是不覆盖当在连接被建立之后增加设备时的情况或当在已经向另一个设备建立连接之后设备重新启动并且变得联机时的情况,如图14所示。在设备被增加之后,用于已经存在的连接的分组可以开始去新的设备。新的设备不具有关于这些连接的任何信息。关于此连接的所有信息是旧设备所了解的。解决此问题的一种方法是将数据从新设备转发到旧设备。此解决方案将负荷增加到两个设备并且增大了设备之间的带宽要求。
[0108]在图12所述的以上示例中,如果在建立TCP连接之后,用户在与CNE/LDCM1202A和CNE/LDCM2202B相同的站点增加CNE/LDCM5202C。这一系列事件可能发生,如也在图15中示出的。
[0109]1.路由器204对具有另一个CNE/LDCM设备做出反应并且它可以将用于此连接的数据帧转发到CNE/LDCM5202C而不是CNE/LDCM1202A。
[0110]2.CNE/LDCM5202C不具有关于此连接的任何信息而是它知道这些数据用于它不拥有的已经建立的连接。它将查询现有的CNE/LDCM1202A和CNE/LDCM2202B设备以获得关于此连接的信息。在可替换的实施例中,当CNE/LDCM5202C变得联机时,此信息也可以被其它CNE/LDCM设备推送。
[0111]3.CNE/LDCM1202A响应它,它是对CNE/LDCM5202C的连接拥有者。
[0112]4.CNE/LDCM5202C 通知连接拥有者(CNE/LDCM1202A) CNE/LDCM5202C 将是用于此连接的新拥有者。CNE/LDCM5202C发送对CNE/LDCM1202A的请求以冲刷被确认的全部未完成的数据并且将它们发送到远程站点。现在确认的数据可以被冲刷或丢弃。如果CNE/LDCMl202A选择丢弃数据,则正常的TCP操作将恢复此数据。
[0113]5.CNE/LDCM1202A被要求在两个方向冲刷数据。CNE/LDCM1202A知道它再不接收来自于本地站点的数据,因为CNE/LDCM5202C现在是用于此连接的新的拥有者但是它仍可接收来自于远程站点的数据。CNE/LDCM1202A发送它在从本地客户端的接收队列中已经排队的全部数据并且将通知发送到进行发送它对于此连接具有的全部数据的远程站点。CNE/LDCM1202A也将指示CNE/LDCM5202C是用于此连接的新拥有者的请求发送到CNE/LDCM4252B并且用于此连接的通信应当在CNE/LDCM4252B与CNE/LDCM5202C之间。
[0114]6.在CNE/LDCM4252B从CNE/LDCM1202A获得切换拥有者请求之后,它开始将与此连接相关的全部数据发送到CNE/LDCM5202C。此时CNE/LDCM5202C缓冲此连接。它从LAN和WAN侧缓冲。它不将任何帧发送到客户端。它也不将任何帧发送到CNE/LDCM4252B。
[0115]7.在CNE/LDCM4252B更新它的表以将用于连接的数据发送到CNE/LDCM5202C之后,它将确认发送到完成改变拥有者的CNE/LDCM1202A。在这一点上,CNE/LDCM1202A知道它不会从LAN或WAN接收任何到此连接的数据。也在这一点上,CNE/LDCM1202A已经冲刷了用于此连接的全部数据。
[0116]8.现在CNE/LDCM1202A可以向CNE/LDCM5202C确认此连接已经移动并且CNE/LDCM5202C现在是拥有者。CNE/LDCM1202A将TCP控制块的副本发送到CNE/LDCM5202C。
[0117]9.CNE/LDCM5202C开始基于它从CNE/LDCM1202A接收到的TCP连接控制块处理来自于WAN和来自于LAN的全部缓冲的帧。最好随着帧在CNE/LDCM5202C中缓冲帧而不通过TCP协议栈,并且我们仅仅在CNE/LDCM1202A确认连接被移动以后通过TCP协议栈。在那之前,CNE/LDCM5202C不具有用于TCP控制块的正确信息。
[0118]可替换地,这可以被如下理解:
[0119]1.LAN状态机(LSM)关闭现有TCP连接上的窗口。
[0120]2.TCP连接将用于接收窗口的具有零的、基本上关闭连接的ACK发送到客户端。
[0121]3.LSM从现有TCP连接中查询以下:
[0122]a.TCP 状态
[0123]b.当前TCP序列号
[0124]c.当前 TCP ACK 号
[0125]d.窗口大小
[0126]e.TCP 端口号
[0127]4.LSM将TCP连接信息传递到TCP管理器
[0128]5.TCP管理器将信息发送到正在接管的CNE/LDCM。
[0129]6.TCP管理器在新的CNE/LDCM上将连接信息发送到LSM
[0130]7.LSM 创建 TCP 连接
[0131]通过在数据中心中的CNE/LDCM设备之间传递TCP会话的控制,TCP连接可以或者在设置时或在操作期间被来回移动以补偿负荷平衡业务改变。这允许连接跨WAN和经受业务重新路由的其它网络的更好的负荷共享。
[0132]以上描述被预期是说明性的,而不是限制性的。例如,以上描述的实施例可以被彼此结合使用。在审阅以上说明书时,许多其它实施例对本领域的技术人员将是清晰的。因此,本发明的范围应当参考附加权利要求书,以及此类权利要求书被赋予的等效物的完全范围确定。在附加权利要求书中,术语“包括”和“其中”被用作相应的术语“包括”和“其中”的普通英语等效物。
【权利要求】
1.一种方法,包括: 在第一位置处的多个并行的网络设备中的第一个与第二位置处的多个并行的网络设备中的第一个之间发起TCP连接; 在所述第一位置处的所述多个并行的网络设备中的所述第二个处接收与TCP连接相关的TCP传输;以及 响应于TCP传输的接收,将TCP连接从所述第一位置处的多个并行的网络设备中的所述第一个传送到所述第一位置处的多个并行的网络设备中的所述第二个。
2.如权利要求1所 述的方法,其中接收的TCP传输是SYN/ACK,并且 其中所述传送步骤包括: 响应于TCP传输的接收,在所述第一位置处的多个并行的网络设备中的所述第二个与所述第一位置处的多个并行的网络设备中的所述第一个之间传送对TCP连接的拥有权的连接拥有权请求;以及 在所述第一位置处的多个并行的网络设备中的所述第一个与所述第一位置处的多个并行的网络设备中的所述第二个之间传送指示TCP连接的拥有权的传送的检查响应。
3.如权利要求1所述的方法,其中接收的TCP传输是SYN/ACK,并且 其中所述传送步骤包括: 当SYN由所述第一位置处的多个并行的网络设备中的所述第一个接收到时,在所述第一位置处的多个并行的网络设备中的所述第一个与所述第一位置处的多个并行的网络设备中的所述第二个之间传送SYN接收的消息;以及 响应于TCP传输的接收,在所述第一位置处的多个并行的网络设备中的所述第一个与所述第一位置处的多个并行的网络设备中的所述第二个之间传送拥有权传送消息。
4.如权利要求1所述的方法,其中接收的TCP传输是数据传送的一部分,并且 其中所述传送步骤包括: 响应于TCP传输的接收,在所述第一位置处的多个并行的网络设备中的所述第二个与所述第一位置处的多个并行的网络设备中的所述第一个之间传送对TCP连接的拥有权的连接拥有权请求; 响应于连接拥有权请求,在所述第一位置处的多个并行的网络设备中的所述第一个与所述第一位置处的多个并行的网络设备中的所述第二个之间传送指示TCP连接的拥有权的拥有权响应; 响应于拥有权响应,在所述第一位置处的多个并行的网络设备中的所述第一个与所述第一位置处的多个并行的网络设备中的所述第二个之间传送对TCP连接的拥有权传送请求; 响应于拥有权传送请求,在所述第一位置处的多个并行的网络设备中的所述第一个与所述第二位置处的多个并行的网络设备中的所述第一个之间传送拥有权传送指示; 响应于拥有权传送指示,在所述第二位置处的多个并行的网络设备中的所述第一个与所述第一位置处的多个并行的网络设备中的所述第一个之间传送拥有权改变确认;以及响应于拥有权改变确认,在所述第一位置处的多个并行的网络设备中的所述第一个与所述第一位置处的多个并行的网络设备中的所述第二个之间传送拥有权传送确认。
5.一种方法,包括:使用第一位置处的多个并行的网络设备中的第一个发起与第二位置处的多个并行的网络设备中的第一个的TCP连接;以及 响应于由所述第一位置处的多个并行的网络设备中的第二个接收与TCP连接相关的TCP传输,使用所述第一位置处的多个并行的网络设备中的所述第一个来传送TCP连接。
6.如权利要求5所述的方法,其中接收的TCP传输是SYN/ACK,并且 其中所述传送步骤包括: 响应于TCP传输的接收,在所述第一位置处的多个并行的网络设备中的所述第一个处接收对TCP连接的拥有权的连接拥有权请求;以及 从所述第一位置处的多个并行的网络设备中的所述第一个发送指示TCP连接的拥有权的传送的检查响应。
7.如权利要求5所述的方法,其中接收的TCP传输是SYN/ACK,并且 其中所述传送步骤包括: 当SYN由所述第一位置处的多个并行的网络设备中的所述第一个接收到时,从所述第一位置处的多个并行的网络设备中的所述第一个发送SYN接收的消息;以及 响应于TCP传输的接收,在所述第一位置处的多个并行的网络设备中的所述第一个处接收拥有权传送消息。
8.如权利要求5所述的方法,其中接收的TCP传输是数据传送的一部分,并且 其中所述传送步骤包括: 响应于TCP传输的接收,在所述第一位置处的多个并行的网络设备中的所述第一个处接收对TCP连接的拥有权的连接拥有权请求; 响应于连接拥有权请求,从所述第一位置处的多个并行的网络设备中的所述第一个发送指示TCP连接的拥有权的拥有权响应; 响应于拥有权响应,在所述第一位置处的多个并行的网络设备中的所述第一个处接收对TCP连接的拥有权传送请求; 响应于拥有权传送请求,从所述第一位置处的多个并行的网络设备中的所述第一个向所述第二位置处的多个并行的网络设备中的所述第一个发送拥有权传送指示; 响应于拥有权传送指示,在所述第一位置处的多个并行的网络设备中的所述第一个处从所述第二位置处的多个并行的网络设备中的所述第一个接收拥有权改变确认;以及响应于拥有权改变确认,从所述第一位置处的多个并行的网络设备中的所述第一个发送拥有权传送确认。
9.一种方法,包括: 在第一位置处的多个并行的网络设备中的第二个处接收与TCP连接相关的TCP传输,所述TCP连接在所述第一个位置处的多个并行的网络设备中的第一个与第二个位置处的多个并行的网络设备中的第一个之间;以及 响应于TCP传输的接收,在所述第一位置处的多个并行的网络设备中的所述第二个处接收TCP连接。
10.如权利要求9所述的方法,其中接收的TCP传输是SYN/ACK,并且 其中所述传送步骤包括: 响应于TCP传输的接收,从所述第一位置处的多个并行的网络设备中的所述第二个发送对TCP连接的拥有权的连接拥有权请求;以及 接收指示将TCP连接的拥有权传送到所述第一位置处的多个并行的网络设备中的所述第二个的检查响应。
11.如权利要求9所述的方法,其中接收的TCP传输是SYN/ACK,并且 其中所述传送步骤包括: 当SYN由所述第一位置处的多个并行的网络设备中的所述第一个接收到时,在所述第一位置处的多个并行的网络设备中的所述第二个处接收SYN接收的消息;以及 响应于TCP传输的接收,从所述第一位置处的多个并行的网络设备中的所述第二个发送拥有权传送消息。
12.如权利要求9所述的方法,其中接收的TCP传输是数据传送的一部分,并且 其中所述传送步骤包括: 响应于TCP传输的接收,从所述第一位置处的多个并行的网络设备中的所述第二个发送对TCP连接的拥有权的连接拥有权请求; 响应于连接拥有权请求,在所述第一位置处的多个并行的网络设备中的所述第二个处接收指示TCP连接的拥有权的拥有权响应; 响应于拥有权响应,从所述第一位置处的多个并行的网络设备中的所述第二个发送对TCP连接的拥有权传送请求;以及 响应于来自于所述第二位置处的多个并行的网络设备中的所述第一个的拥有权改变确认,在所述第一位置处的多个并行的网络设备中的所述第二个处接收拥有权传送确认。
13.一种网络,包括: 第一位置处的多个并行的网络设备;以及 耦接到所述第一位置处的所述多个并行的网络设备的第二位置处的多个并行的网络设备; 其中所述第一位置处的所述多个并行的网络设备中的第一个和所述第二位置处的所述多个并行的网络设备中的第一个具有TCP连接; 其中所述第一位置处的所述多个并行的网络设备中的第二个接收与所述TCP连接相关的TCP传输;以及 其中响应于所述TCP传输的所述接收,所述第一位置处的所述多个并行的网络设备的所述第一个将所述TCP连接传送到所述第一位置处的所述多个并行的网络设备的所述第二个。
14.如权利要求13所述的网络,其中接收的TCP传输是SYN/ACK,并且 其中传送所述TCP连接包括: 响应于所述TCP传输的所述接收,在所述第一位置处的所述多个并行的网络设备中的所述第二个与所述第一位置处的所述多个并行的网络设备中的所述第一个之间传送对所述TCP连接的拥有权的连接拥有权请求;以及 在所述第一位置处的所述多个并行的网络设备中的所述第一个与所述第一位置处的所述多个并行的网络设备中的所述第二个之间传送指示所述TCP连接的拥有权的传送的检查响应。
15.如权利要求13所述的网络,其中接收的TCP传输是SYN/ACK,并且其中传送所述TCP连接包括: 当SYN由所述第一位置处的所述多个并行的网络设备中的所述第一个接收到时,在所述第一位置处的所述多个并行的网络设备中的所述第一个与所述第一位置处的多所述个并行的网络设备中的所述第二个之间传送SYN接收的消息;以及 响应于所述TCP传输的所述接收,在所述第一位置处的所述多个并行的网络设备中的所述第一个与所述第一位置处的所述多个并行的网络设备中的所述第二个之间传送拥有权传送消息。
16.如权利要求13所述的网络,其中所述接收的TCP传输是数据传送的一部分,并且 其中传送所述TCP连接包括: 响应于所述TCP传输的所述接收,在所述第一位置处的所述多个并行的网络设备中的所述第二个与所述第一位置处的所述多个并行的网络设备中的所述第一个之间传送对TCP连接的拥有权的连接拥有权请求; 响应于所述连接拥有权请求,在所述第一位置处的所述多个并行的网络设备中的所述第一个与所述第一位置处的所述多个并行的网络设备中的所述第二个之间传送指示所述TCP连接的拥有权的拥有权响应; 响应于所述拥有权响应,在所述第一位置处的所述多个并行的网络设备中的所述第一个与所述第一位 置处的所述多个并行的网络设备中的所述第二个之间传送对所述TCP连接的拥有权传送请求; 响应于所述拥有权传送请求,在所述第一位置处的所述多个并行的网络设备中的所述第一个与所述第二位置处的所述多个并行的网络设备中的所述第一个之间传送拥有权传送指示; 响应于所述拥有权传送指示,在所述第二位置处的所述多个并行的网络设备中的所述第一个与所述第一位置处的所述多个并行的网络设备中的所述第一个之间传送拥有权改变确认;以及 响应于所述拥有权改变确认,在所述第一位置处的所述多个并行的网络设备中的所述第一个与所述第一位置处的所述多个并行的网络设备中的所述第二个之间传送拥有权传送确认。
17.—种网络设备,所述网络设备是第一位置处的多个并行的网络设备中的第一个,所述网络设备包括: 多个网络端口,用于耦接到所述第一位置处的多个并行的网络设备中的第二个并且耦接到第二位置处的多个并行的网络设备中的第一个; 处理器,耦接到所述多个网络端口 ;以及 存储器,耦接到所述处理器并且存储软件,所述软件使得所述处理器: 发起与第二位置处的多个并行的网络设备中的所述第一个的TCP连接;以及响应于由所述第一位置处的多个并行的网络设备中的所述第二个接收与TCP连接相关的TCP传输,传送TCP连接。
18.如权利要求17所述的网络设备,其中接收的TCP传输是SYN/ACK,并且 其中所述传送步骤包括: 响应于TCP传输的接收,接收对TCP连接的拥有权的连接拥有权请求;以及发送指示TCP连接的拥有权的传送的检查响应。
19.如权利要求17所述的网络设备,其中接收的TCP传输是SYN/ACK,并且 其中所述传送步骤包括: 当SYN由所述第一位置处的多个并行的网络设备中的所述第一个接收到时,发送SYN接收的消息;以及 响应于TCP传输的接收,接收拥有权传送消息。
20.如权利要求17所述的网络设备,其中接收的TCP传输是数据传送的一部分,并且 其中所述传送步骤包括: 响应于TCP传输的接收,接收对TCP连接的拥有权的连接拥有权请求; 响应于连接拥有权请求,发送指示TCP连接的拥有权的拥有权响应; 响应于拥有权响应,接收对TCP连接的拥有权传送请求; 响应于拥有权传送请求,发送拥有权传送指示; 响应于拥有权传送指示,接收拥有权改变确认;以及 响应于拥有权改变确认,发送拥有权传送确认。
21.—种网络设备 ,所述网络设备是第一位置处的多个并行的网络设备中的第二个,所述网络设备包括: 多个网络端口,用于耦接到所述第一位置处的多个并行的网络设备中的第一个并且耦接到第二位置处的多个并行的网络设备中的第一个; 处理器,耦接到所述多个网络端口 ;以及 存储器,耦接到所述处理器并且存储软件,所述软件使得所述处理器: 接收与所述第一位置处的多个并行的网络设备中的所述第一个与所述第二位置处的多个并行的网络设备中的所述第一个之间的TCP连接相关的TCP传输;以及响应于TCP传输的接收,接收TCP连接。
22.如权利要求21所述的网络设备,其中接收的TCP传输是SYN/ACK,并且 其中所述传送步骤包括: 响应于TCP传输的接收,发送对TCP连接的拥有权的连接拥有权请求;以及 接收指示TCP连接的拥有权的传送的检查响应。
23.如权利要求21所述的网络设备,其中接收的TCP传输是SYN/ACK,并且 其中所述传送步骤包括: 当SYN由所述第一位置处的多个并行的网络设备中的所述第一个接收到时,接收SYN接收的消息;以及 响应于TCP传输的接收,发送拥有权传送消息。
24.如权利要求21所述的网络设备,其中接收的TCP传输是数据传送的一部分,并且 其中所述传送步骤包括: 响应于TCP传输的接收,发送对TCP连接的拥有权的连接拥有权请求; 响应于连接拥有权请求,接收指示TCP连接的拥有权的拥有权响应; 响应于拥有权响应,发送对TCP连接的拥有权传送请求;以及响应于来自于所述第二位置处的多个并行的网络设备中的所述第一个的拥有权改变确认,接收拥有权传送确认。
【文档编号】G06F15/177GK103975319SQ201280060093
【公开日】2014年8月6日 申请日期:2012年12月5日 优先权日:2011年12月6日
【发明者】P·库拉寇斯, A·萨巴, R·赫格兰, A·杜利, S·阿迪拉朱, A·武图库鲁, H·德赛 申请人:博科通迅系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1