CN101827111A - Tcp链接方法、网络系统、客户端和服务器 - Google Patents
Tcp链接方法、网络系统、客户端和服务器 Download PDFInfo
- Publication number
- CN101827111A CN101827111A CN201010178344A CN201010178344A CN101827111A CN 101827111 A CN101827111 A CN 101827111A CN 201010178344 A CN201010178344 A CN 201010178344A CN 201010178344 A CN201010178344 A CN 201010178344A CN 101827111 A CN101827111 A CN 101827111A
- Authority
- CN
- China
- Prior art keywords
- tcp
- server end
- link
- client
- session identification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种TCP链接方法、网络系统、客户端和服务器,其中,方法包括:客户端与服务器端创建TCP链接后,服务器端为TCP链接生成会话标识,并将会话标识发送给客户端;当客户端的网际协议IP地址发生改变时,客户端与服务器端重新创建新TCP链接;客户端将会话标识发送给服务器端以确认新TCP链接为TCP链接的重新链接。本发明实现了客户端的IP改变后不中断上层TCP传输层链接的效果。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种TCP链接方法、网络系统、客户端和服务器。
背景技术
目前,通信终端可以有多种接入因特网的方法,例如:手机终端可以同时具有多种2G、3G链接方式,通过蜂窝无线电通信网络接入因特网;也可以通过基于IEE802.1规范的无线局域网WLAN或无线保真技术WI-FI等无线网络接入因特网。普通的计算机也可能同时具有有线和无线等多种链接方式。虽然有这么多种不同的接入因特网的方法,但这些方法都是利用网际协议(IP)接入到因特网中的。如图1所示,客户端可以通过WI-FI、3G、2G接入网链接到因特网,进而访问相关的服务器。
由于网络传输质量的不同、资费的不同以及终端的移动性,终端需要根据环境的变化切换不同的链接制式。例如,手机用户可以通过2G的GPRS(General Packet Radio Service,通用分组业务)进行上网,但在3G(如时分同步的码分多址技术TD-SCDMA)网络信号好的情况下也有可能更倾向于用3G的方式联入网络以获得更好的网络传输速度。又如,手机用户在室外的时候通过3G的TD-SCDMA制式链接网络,但进入家里可能会更倾向于用WI-FI进行无线上网以降低上网费用。因此,对于同一终端可能需要根据不同的环境来选择不同的链接方式以获取更好的服务或更低的资费等。
由于现有的终端大多都是通过IPv4(Internet Protocol version4,网际协议版本4)接入到因特网中,每个终端具有唯一的IP地址。由于IP地址的资源有限,大多数的终端分配到的其实是一个内网的IP地址,当终端需要访问外网时需要通过网关的NAT(网络地址转换)协议进行地址和端口的映射,在外网的服务器端看到的访问地址其实是网关的外网IP。当终端接入网络的IP地址发生变化或终端接入的网关发生变化时,基于IP的传输层TCP(Transmission ControlProtocol,传输控制协议)链接不可避免地需要断开。如果用户使用的是同一运营商的服务,当终端从2G切换到3G时可以利用移动IP技术保证终端的IP地址和接入网关不变。
但是,移动IP技术的使用需要终端在链路层发生变化时通知其它的接入点,并且其它的接入点不能使用这一已分配的IP。如果是双模手机终端则可以利用两张卡同时联入网络,由于终端分配到的IP地址是与卡一一对应的,如果此时用户从原来的一张卡的2G上网改成另一张卡的3G上网,终端使用的IP地址将不可避免地发生变化。又如,终端从3G上网切换到WI-FI无线上网,此时使用的运营商都可能发生变化,不同的运营商具有不同的核心网网关,这样在服务器端看到的就是接入的IP地址不同,TCP链接就需要断开。
为了在IP地址改变后依然保持TCP链接,目前已有一种虚拟IP技术,该技术是在客户端和服务器端各自分配一个虚拟的IP地址,在客户端和服务器端各自保存一个路由表,实际的物理IP对虚拟的IP数据进行路由发送。但是,如果客户端要链接很多的服务器端,或者服务器端要链接很多的客户端,这样就意味着要保存一张很大的路由表。此外,客户端通过网关接入服务器端,需要通过网关的NAT协议进行地址和端口的映射,在外网的服务器端通过网关地址对应到虚拟IP地址,当客户端的IP从第一IP切换到第二IP时,这时由于所经过的运营商网关改变或映射关系改变,服务器端查找不到对应的虚拟地址,TCP链接仍然会发生中断,因此采用该技术仍然无法很好地解决IP地址发生改变保持TCP连接不发生中断的问题。
发明内容
本发明的主要目的在于提供一种TCP链接方法、网络系统、客户端和服务器,以至少解决上述问题。
根据本发明的一个方面,提供了一种传输控制协议TCP链接方法,包括:客户端与服务器端创建TCP链接后,服务器端为TCP链接生成会话标识,并将会话标识发送给客户端;当客户端的网际协议IP地址发生改变时,客户端与服务器端重新创建新TCP链接;客户端将会话标识发送给服务器端以确认新TCP链接为TCP链接的重新链接。
根据本发明的另一方面,提供了一种网络系统,包括:客户端,用于与服务器端创建传输控制协议TCP链接;还用于当网际协议IP地址发生改变时,与服务器端重新创建新TCP链接,并将服务器端为TCP链接生成的会话标识发送给服务器端以确认新TCP链接为TCP链接的重新链接;服务器端,用于在与客户端创建TCP链接成功后,为TCP链接生成会话标识,并将会话标识发送给客户端。
根据本发明的另一方面,提供了一种客户端,包括:TCP链接创建模块,用于与服务器端创建TCP链接;接收模块,用于在创建TCP链接成功后,接收服务器端发送的会话标识,其中,会话标识为服务器端在与客户端创建TCP链接成功后,为TCP链接生成的会话标识;重新建立模块,用于当客户端的网际协议IP地址发生改变时,与服务器端重新创建新TCP链接,并将会话标识发送给服务器端以确认新TCP链接为TCP链接的重新链接。
根据本发明的另一方面,提供了一种服务器,包括:创建模块,用于与客户端创建TCP链接;会话标识生成模块,用于在创建TCP链接成功后,为TCP链接生成会话标识;发送模块,用于将会话标识发送给客户端;重建模块,用于当客户端的网际协议IP地址发生改变时,与客户端重新创建新TCP链接,并根据来自客户端的会话标识确认新TCP链接为TCP链接的重新链接。
通过本发明,由于在客户端与服务器端首次建立一条TCP链接时,服务器端就为该TCP链接生成一个唯一的标识(即会话标识),由于标识是不会发生改变的,因此,即使客户端的IP地址发生改变,服务器端也能够通过该标识找到重新建立的TCP链接是对应于该客户端的TCP链接,从而实现了客户端的IP改变后不中断上层TCP传输层链接的效果,解决了相关技术无法很好地解决客户端IP地址发生改变保持TCP连接不发生中断的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据相关技术的IP数据网络的基本结构图;
图2是根据本发明实施例的TCP链接方法的流程图;
图3是根据本发明优选实施例的创建TCP链接的流程图;
图4是根据本发明优选实施例的客户端的IP地址改变后重新与服务器端建立TCP链接的流程图;
图5是根据本发明优选实施例的IP数据包的格式示意图;
图6是根据本发明实施例的网络系统的示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在通信网络中,客户端与服务器端一般通过建立TCP链接来进行数据的传输,如上传数据或下载数据等。
图2是根据本发明实施例的TCP链接方法的流程图,包括以下步骤:
步骤S202,客户端(例如为客户端X)与服务器端创建TCP链接(例如为链接1);
例如,如图3所示,客户端向服务器端发送SYN报文,服务器端接收到该SYN报文后向该客户端返回SYN.ACK报文,该客户端接收到给SYN.ACK报文后向该服务器端返回ACK报文,即可以通过三次握手建立TCP链接。TCP链接创建成功后,客户端和服务器端就可以使用该TCP链接向对方传输数据。
步骤S204,服务器端为该TCP链接生成会话标识(例如为ID1),并将该会话标识发送给客户端;
例如,服务器端为该TCP链接生成一个由0、1组成的N(N可以等于64)位的会话标识,显然,由于服务器端一般会同时管理与大量的客户端建立的TCP链接,每个客户端也可能与服务器端建立了多条TCP链接,因此,为某一个TCP链接生成的会话标识应该在服务器端的所有TCP链接中具有唯一性。
步骤S206,当客户端的IP(网际协议)地址发生改变时,客户端与服务器端重新创建新TCP链接(例如为链接2);
例如,如图4所示,在客户端X的IP地址发生改变时(此时链路发生切换),客户端X与服务器端通过三次握手重新建立新TCP链接(例如为链接2),即图4中客户端与服务器端的SYN、SYN.ACK、ACK的交互过程。
步骤S208,客户端将该会话标识(ID1)发送给服务器端以确认该新TCP链接为步骤S202中创建的TCP链接(链接1)的重新链接。
例如,客户端将该会话标识ID1发送给服务器端以确认该新TCP链接为之前建立的TCP链接(链接1)的重新链接,即确认与发送该ID1的客户端建立的链接2即为对应于客户端X的TCP链接。
相关技术中服务器端由于通过IP地址来识别与客户端X之间建立的TCP链接,这样一旦客户端的IP地址发生改变,就会发生TCP链接的中断,而且由于服务器端同时管理大量的TCP链接,即使客户端重新与服务器端建立了新TCP链接,此时客户端的IP地址已经发生改变,服务器端无法凭借IP地址识别重新建立的TCP链接,因此也无法将中断前未发完的数据重新发送给所述客户端。本实施例由于在客户端X与服务器端首次建立一条TCP链接时,服务器端就为该TCP链接生成一个唯一的标识(即会话标识),由于标识是不会发生改变的,因此,即使客户端X的IP地址发生改变,服务器端也能够通过该标识找到重新建立的TCP链接是对应于客户端X的TCP链接,从而实现了客户端的IP改变后不中断上层TCP数据收发的效果,解决了相关技术无法很好地解决客户端IP地址发生改变保持TCP数据收发不发生中断的问题。
优选地,如图3所示,在步骤S204之前,还可以包括:在与服务器端通过三次握手创建该TCP链接(链接1)成功后,客户端使用不对称加密技术生成公钥(可以记为KEY1)和私钥(可以记为KEY2);将该公钥(即图3中的SSN:公钥)(可以通过类型为公钥传送的会话操作消息发送给公钥)发送给服务器端。客户端在与服务器端保持TCP链接的过程中,还可以周期性地重新使用不对称加密技术生成新公钥和新私钥;将新公钥通过会话操作消息发送给服务器端。通过定期地对密钥(包括公钥和私钥)进行更新操作以保证密钥的健壮性。
优选地,步骤S204包括:服务器端记录接收到的公钥(具体地可以在接收到来自客户端的类型为公钥传送的会话操作消息后,记录该消息中携带的公钥);服务器端为在步骤S202中创建的TCP链接(链接1)生成会话标识;服务器端使用该公钥加密该会话标识,并将加密后的会话标识(可以通过类型为会话标识的会话操作消息发送)发送给客户端。
该优选实施例提供了在首次创建TCP链接成功后,客户端X利用不对称加密技术生成公钥和私钥以保护服务器端生成的会话标识的具体实施方案。考虑到网络链接的安全需求,要防止创建的会话标识被恶意侦听截获,从而伪装成客户端,因此考虑到对会话标识的保护,可以采用不对称加密技术保护会话标识。具体做法可以是TCP链接(例如为链接1)创建后客户端X首先告诉服务器端采用的公钥,服务器端生成的会话标识通过公钥进行加密,客户端通过私钥进行解密。
此外,按照现有的TCP协议的定义,TCP报文的首部有用于控制一个TCP链接的状态的6个标志比特以及6个比特的保留字段,该6个比特的保留字段中的2个比特用于定义拥塞控制,本优选实施例利用剩下的4个比特位的保留字段中的一个或多个来添加新的TCP控制,创建会话标识,进行会话操作。例如:如图5所示,可以将这4个比特位的保留字段中的一个比特定义成SSN(Session,会话)字段,用来表示该TCP报文为会话操作消息,并且当TCP协议栈读取到该SSN字段时结合TCP的数据区中的首字节来确定具体的会话操作消息的类型。
其中,如图5所示的TCP帧格式中各字段表示:Source Port:源端口;Destination Port:目标端口;Sequence Number:序号;Acknowledgment Number:确认号;Data Offset:数据偏移位;Reserved:保留位;FIN(Finish):结束标识位;SYN(Synchronize):同步标识位;RST(Reset):重新连接标识位;PSH(PUSH):压入标识位;ACK(Acknowledgment):确认标识位;URG(Urgent):紧急指针标识位;ECE(Explicit Congestion Notification Echo):外部拥塞通知标识位;CWR(Congestion Window Reduced):拥塞窗口减少标识位;SSN(Session):会话标识位;Window:窗口;Checksum:校验;Urgent Pointer:紧急指针;Options:选项;Padding:填充;data:数据。
这样,在步骤S204之前客户端可以将该公钥通过类型为公钥传送的会话操作消息发送给服务器端;步骤S204中服务器端也可以将加密后的会话标识通过类型为会话标识的会话操作消息给客户端。其中,会话操作消息包括自定义字段(可定位为SSN字段)和数据区,自定义字段和数据区中数据的第一个字节表示会话操作消息的类型。这样,在步骤S204中当服务器端判断接收到的来自客户端的会话操作消息中的自定义字段不可识别时,向客户端发送重新链接消息;客户端根据重新链接消息重新与服务器端创建TCP链接。在客户端与服务器端创建TCP链接成功后,首先由客户端将会话操作消息发送给服务器端,如果服务器端的协议栈不认识该会话操作消息中的SSN字段,会发送RST(Reset,重新链接)消息来终止一个异常链接,此时客户端重新发起链接请求,不再进行TCP相关的会话操作。
例如,客户端X将公钥通过类型为公钥传送的会话操作消息发送给服务器端可以具体为:会话操作消息为TCP报文,客户端X可以设定TCP报文头的SSN比特位(即自定义字段)为1,以及数据区首字节为公钥传送操作符以表示该会话操作消息的类型为公钥传送,并将公钥加入数据区后发送给服务器端;然后,服务器端收到该类型为公钥传送的会话操作消息后,其上的TCP协议栈判断该消息中的SSN比特位为1并且数据区首字节为公钥传送操作符,记录客户端的公钥。
服务器端将加密后的会话标识通过类型为会话标识的会话操作消息发送给客户端X可以具体为:服务器端设定TCP报文头的SSN比特位为1以及数据区首字节为会话标识操作符以表示该会话操作消息的类型为会话标识,将加密后的会话标识加入数据区后发送给客户端X。
优选地,如图3所示,在步骤S204之后,还可以包括:客户端使用该私钥(KEY2)解密来自服务器端的加密后的会话标识得到该会话标识;客户端保存该会话标识;客户端向服务器端发送会话标识确认消息(可以为ACK包)以确认收到服务器端发送的会话标识。之后,客户端与服务器端之间就可以进行数据传输(即图中DATA和DATA.ACK的交互过程)。
例如,客户端X收到服务器端发送的类型为会话标识的会话操作消息后,判断该消息的报文头的SSN比特位为1,并且数据区首字节为会话标识操作符,客户端首先通过私钥将数据区除会话标识操作符以外的部分解密,保存解密后得到的会话标识。
该优选实施例提供了客户端使用私钥解密服务器端发送的加密后的会话标识的具体实施方案。服务器端使用公钥加密其生成的会话标识,客户端使用私钥解密该加密后的会话标识得到会话标识,可以防止会话标识被恶意窃取,确保了会话标识的安全性,进而确保了客户端与服务器端的数据传输的安全性。
优选地,如图4所示,步骤S204还包括:服务器端将生成的所述会话标识保存到本地的内存中,具体可以保存到内存中与链接1对应的TCP链接上下文中(该TCP链接上下文中还可以包括链接1中服务器端已接收到TCP数据帧的序号,例如已经接收到98个TCP数据帧,则已接收到TCP数据帧的序号记为98);则如图4所示,步骤S208包括:客户端将会话标识(ID1)发送给服务器端(可以通过类型为重连的会话操作消息(即图4中的SSN:重连)发送);服务器端在本地的内存中查找是否存在与接收到的会话标识相同的会话标识;若存在,则服务器端确定与发送该会话标识的客户端之间的TCP链接(即链接2)是查找到的会话标识所对应的TCP链接(链接1)的重新链接。
该优选实施例提供了服务器端确认新链接即为步骤S202中创建的TCP链接的重新链接的具体实施方案。服务器端一般会同时管理大量的TCP链接,此时,由于客户端的IP地址已经发生改变,服务器端通过会话标识确认了与发送该会话标识的客户端之间的链接(此时即为上述的新TCP链接)即为之前与该客户端创建的TCP链接,从而找到重新建立的TCP链接(链接2)是对应于客户端X的TCP链接。客户端X可以在使用改变后的新IP地址与服务器端建立新TCP链接(链接2)成功后将与链接1对应的会话标识ID1发送给服务器端以确认该链接2为之前的链接1的重新链接以便进行数据续传,确保TCP链接不会发生中断。
优选地,如图4所示,在步骤S208之后,上述方法还包括:客户端和服务器端使用新TCP链接(链接2),将步骤S202中创建的TCP链接(链接1)中未发送的数据继续发送给对方。这样,在服务器端确认TCP链接2为链接1的重新链接之后,可以将链接1中未向对方发送完的数据继续发送给对方,以确保数据业务不会发现中断。
优选地,客户端和服务器端使用新TCP链接(链接2),将步骤S202中创建的TCP链接(链接1)中未发送的数据继续发送给对方包括:客户端将自身在步骤S202创建的TCP链接(链接1)中已接收TCP数据帧的序号发送给服务器端(该序号可以保存在客户端本地,例如,客户端在链接1中已接收了服务器端发送的100个TCP数据帧,则客户端的已接收TCP数据帧的序号可以记为100);服务器端使用该序号确定新TCP链接(链接2)中将要发送给客户端的数据帧(例如,将要发送给客户端的数据帧的起始点为101,从第101个数据帧开始发送),并使用该新TCP链接发送该确定的数据帧(即从第101个数据帧开始发送);服务器端使用对应于会话标识的公钥加密自身在TCP链接(链接1)中已接收TCP数据帧的序号(同样,该序号可以保存在服务器端本地的内存中与链接1对应的TCP链接上下文中,例如服务器端已经在链接1中接收到客户端发送的98个TCP数据帧,则服务器端的已接收到TCP数据帧的序号可以记为98),将加密后的序号发送给客户端(可以通过类型为重连确认的会话操作消息(即图4中的SSN:重连确认)发送);客户端使用私钥(KEY2)解密该加密后的序号得到服务器端已接收TCP数据帧的序号,使用该序号确定新TCP链接中将要发送给服务器端的数据帧(例如,将要发送给服务器端的数据帧的起始点为99,从第99个数据帧开始发送),并使用新TCP链接发送该确定的数据帧(即从第99个数据帧开始发送)。
例如,步骤1,客户端设定TCP报文头的SSN比特位为1以及数据区首字节为重新建立链接操作符以表示该会话操作消息的类型为重连,将已确认接收到的服务器端TCP数据序号写入数据区,同时将服务器端分配的会话标识以明文形式加入数据区后发送,同时将服务器端分配的会话标识符以明文形式加入数据区后发送。该示例是以会话标识和已确认接收到的服务器端TCP数据序号同时通过类型为重连的会话操作消息发送给服务器端,显然,也可以分别独立发送;
步骤2,服务器端收到数据该类型为重连的会话操作消息后,判断其报头的SSN比特位为1并且数据区首字节为重新建立链接操作符,服务器端解析出客户端上一TCP链接已经接收到的TCP数据序号和会话标识符。服务器端根据会话标识符判断是否有对应的链接;如果匹配成功则根据客户端已收到的数据调整该链接TCP将要发送的数据,并得到该链接对应的公钥密码;
步骤3,服务器端设定TCP报文头的SSN比特位为1以及数据区首字节为允许重连操作符表示该会话操作消息的类型为重连确认,服务器端将已接受收的客户端的TCP数据帧序号通过公钥进行加密,并将加密后的数据加入数据区后发送给客户端;
步骤4,客户端收到服务器端的类型为重连确认的会话操作消息后判断其报文头的SSN比特位为1,并且数据区首字节为允许重连操作符,客户端通过私钥解密服务器端已确认接收到的TCP数据帧序号,并根据解密后的序号调整将要发送的TCP数据帧;
步骤5,客户端根据调整后的TCP链接上下文(包括已发送的数据帧的数量和已接收的数据帧的数量等)发送ACK包给服务器端,确认已经接收到的数据。
步骤6,客户端和/或服务器端可以使用如图4中通过三次握手重新创建的新TCP链接来继续向对端传送数据以完成数据的续传。
上述优选实施例提供了客户端与服务器端相互确认客户端IP地址改变前建立的TCP链接(链接1)所未传送完的数据,从而可以获知应该续传的数据帧的起始点,实现在客户端的IP地址改变后使用新TCP链接(链接2)的数据续传。
根据本发明优选实施例的的TCP链接方法考虑了客户端IP地址改变后不中断TCP链接的关键在于服务器能够区分数据发自同一客户端,因此在TCP链接首次创建时在客户端和服务器端之间创建一个唯一的标识(即会话标识)用来表示一个TCP链接。TCP链接的创建首先要经过三次握手,然后才能进行数据发送,在三次握手成功后创建一个会话标识,在会话标识创建成功后再进行数据传输。在客户端的IP地址改变后,客户端通过该不会改变的会话标识来重新建立与服务器端之间的TCP链接。
图6是根据本发明实施例的网络系统的示意图,包括:
客户端10,用于与服务器端20创建TCP链接(例如为链接1);还用于当IP地址发生改变时,与服务器端创建新TCP链接(例如为链接2),并将服务器端为上述TCP链接(链接1)生成的会话标识发送给服务器端以确认该新TCP链接为上述TCP链接的重新链接;
服务器端20,用于在与客户端10创建TCP链接(链接1)成功后,为该TCP链接(链接1)生成会话标识,并将该会话标识发送给客户端10。
如图6所示,客户端10包括:TCP链接创建模块101,用于与服务器端创建TCP链接(链接1);接收模块102,用于在创建该TCP链接成功后,接收服务器端发送的会话标识,其中,该会话标识为服务器端在与客户端创建该TCP链接成功后,为该TCP链接生成的会话标识;重新建立模块103,用于当客户端的IP地址发生改变时,与服务器端重新创建新TCP链接(链接2),并将该会话标识发送给服务器端以确认该新TCP链接(链接2)为TCP链接(链接1)的重新链接。
服务器(端)20包括:创建模块201,用于与客户端创建TCP链接(链接1);会话标识生成模块202,用于在创建该TCP链接成功后,为该TCP链接生成会话标识(例如为ID1);发送模块203,用于将该会话标识发送给客户端;重建模块204,用于当客户端的IP地址发生改变时,与客户端重新创建新TCP链接(链接2),并根据来自客户端的该会话标识(ID1)确认该新TCP链接(链接2)为TCP链接(链接1)的重新链接。
该网络系统中的客户端与服务器端使用上述优选实施例(如图1至图5所示)的TCP链接方法建立TCP链接以保证客户端的IP地改变时,保持TCP链接不会发生中断。
从以上的描述中,可以看出,本发明实现了如下技术效果:在不改变当前网络结构的基础上,能够在客户端的IP地址改变时不中断TCP数据收发,保证数据传输的连贯性。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种传输控制协议TCP链接方法,其特征在于,包括:
客户端与服务器端创建TCP链接后,所述服务器端为所述TCP链接生成会话标识,并将所述会话标识发送给所述客户端;
当所述客户端的网际协议IP地址发生改变时,所述客户端与所述服务器端重新创建新TCP链接;
所述客户端将所述会话标识发送给所述服务器端以确认所述新TCP链接为所述TCP链接的重新链接。
2.根据权利要求1所述的方法,其特征在于,在所述服务器端为所述TCP链接生成会话标识,并将所述会话标识发送给所述客户端之前,还包括:
在与所述服务器端通过三次握手创建所述TCP链接成功后,所述客户端使用不对称加密技术生成公钥和私钥;
将所述公钥发送给所述服务器端。
3.根据权利要求2所述的方法,其特征在于,所述服务器端为所述TCP链接生成会话标识,并将所述会话标识发送给所述客户端包括:
所述服务器端记录所述公钥;
为所述TCP链接生成所述会话标识;
使用所述公钥加密所述会话标识,将加密后的会话标识发送给所述客户端。
4.根据权利要求3所述的方法,其特征在于,在所述服务器端为所述TCP链接生成会话标识,并将所述会话标识发送给所述客户端之后,还包括:
所述客户端使用所述私钥解密所述加密后的会话标识得到所述会话标识;
保存所述会话标识;
向所述服务器端发送会话标识确认消息。
5.根据权利要求1所述的方法,其特征在于,
所述服务器端为所述TCP链接生成会话标识,并将所述会话标识发送给所述客户端还包括:所述服务器端将生成的所述会话标识保存到本地的内存中;
所述客户端将所述会话标识发送给所述服务器端以确认所述新TCP链接为所述TCP链接的重新链接包括:所述客户端将所述会话标识发送给所述服务器端;所述服务器端在本地的内存中查找是否存在与接收到的所述会话标识相同的会话标识;若存在,则所述服务器端确定与发送所述会话标识的客户端之间的TCP链接是查找到的会话标识所对应的所述TCP链接的重新链接。
6.根据权利要求2所述的方法,其特征在于,在所述客户端将所述会话标识发送给所述服务器端以确认所述新TCP链接为所述TCP链接的重新链接之后,还包括:
所述客户端和所述服务器端使用所述新TCP链接,将所述TCP链接中未发送的数据继续发送给对方。
7.根据权利要求6所述的方法,其特征在于,所述客户端与所述服务器端使用所述新TCP链接,将所述TCP链接中未发送的数据继续发送给对方包括:
所述客户端将自身在所述TCP链接中已接收TCP数据帧的序号发送给所述服务器端;
所述服务器端使用所述已接收TCP数据帧的序号确定所述新TCP链接中将要发送给所述客户端的数据帧,并使用所述新TCP链接发送所述确定的数据帧;
所述服务器端使用对应于所述会话标识的公钥加密自身在所述TCP链接中已接收TCP数据帧的序号,将加密后的序号发送给所述客户端;
所述客户端使用所述私钥解密所述加密后的序号得到所述服务器端已接收TCP数据帧的序号,使用所述服务器端已接收TCP数据帧的序号确定所述新TCP链接中将要发送给所述服务器端的数据帧,并使用所述新TCP链接发送所述确定的数据帧。
8.一种网络系统,其特征在于,包括:
客户端,用于与服务器端创建传输控制协议TCP链接;
还用于当网际协议IP地址发生改变时,与所述服务器端重新创建新TCP链接,并将所述服务器端为所述TCP链接生成的会话标识发送给所述服务器端以确认所述新TCP链接为所述TCP链接的重新链接;
所述服务器端,用于在与所述客户端创建所述TCP链接成功后,为所述TCP链接生成会话标识,并将所述会话标识发送给所述客户端。
9.一种客户端,其特征在于,包括:
TCP链接创建模块,用于与服务器端创建TCP链接;
接收模块,用于在创建所述TCP链接成功后,接收所述服务器端发送的会话标识,其中,所述会话标识为所述服务器端在与所述客户端创建所述TCP链接成功后,为所述TCP链接生成的会话标识;
重新建立模块,用于当所述客户端的网际协议IP地址发生改变时,与所述服务器端重新创建新TCP链接,并将所述会话标识发送给所述服务器端以确认所述新TCP链接为所述TCP链接的重新链接。
10.一种服务器,其特征在于,包括:
创建模块,用于与客户端创建TCP链接;
会话标识生成模块,用于在创建所述TCP链接成功后,为所述TCP链接生成会话标识;
发送模块,用于将所述会话标识发送给所述客户端;
重建模块,用于当所述客户端的网际协议IP地址发生改变时,与所述客户端重新创建新TCP链接,并根据来自所述客户端的所述会话标识确认所述新TCP链接为所述TCP链接的重新链接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010178344A CN101827111A (zh) | 2010-05-12 | 2010-05-12 | Tcp链接方法、网络系统、客户端和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010178344A CN101827111A (zh) | 2010-05-12 | 2010-05-12 | Tcp链接方法、网络系统、客户端和服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101827111A true CN101827111A (zh) | 2010-09-08 |
Family
ID=42690811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010178344A Pending CN101827111A (zh) | 2010-05-12 | 2010-05-12 | Tcp链接方法、网络系统、客户端和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101827111A (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932319A (zh) * | 2011-08-12 | 2013-02-13 | 上海贝尔股份有限公司 | 一种用于保持通话的方法和装置 |
CN103457956A (zh) * | 2013-09-17 | 2013-12-18 | 网宿科技股份有限公司 | 基于多条tcp连接的http流媒体直播方法和系统 |
CN104980456A (zh) * | 2014-04-03 | 2015-10-14 | 华为技术有限公司 | 传输业务的方法、中间节点、终端和服务器 |
CN103607311B (zh) * | 2013-11-29 | 2017-01-18 | 厦门市美亚柏科信息股份有限公司 | 一种无缝重建tcp连接的系统及方法 |
CN106716975A (zh) * | 2016-12-27 | 2017-05-24 | 深圳前海达闼云端智能科技有限公司 | 传输链路的续传方法、装置和系统 |
WO2017092580A1 (zh) * | 2015-11-30 | 2017-06-08 | 阿里巴巴集团控股有限公司 | 一种结构化数据的序列化、反序列化方法及装置 |
CN107113178A (zh) * | 2015-01-08 | 2017-08-29 | 耐腾信股份公司 | 具有终端会话恢复功能的网络通信方法 |
WO2017156704A1 (zh) * | 2016-03-15 | 2017-09-21 | 华为技术有限公司 | 数据通道建立及数据包传输方法、终端、服务器及系统 |
CN107612760A (zh) * | 2017-11-03 | 2018-01-19 | 睿石网云(北京)科技有限公司 | 一种业务服务的中断监测方法及系统 |
CN107707535A (zh) * | 2017-09-25 | 2018-02-16 | 深圳市友华软件科技有限公司 | 实现热切换的多安审平台系统及方法 |
CN108306828A (zh) * | 2018-01-24 | 2018-07-20 | 广东睿江云计算股份有限公司 | 一种利用拥塞控制数据列表优化tcp连接的方法及装置 |
WO2018233504A1 (en) * | 2017-06-23 | 2018-12-27 | Huawei Technologies Co., Ltd. | CONTINUITY OF SESSION AND MOBILITY WITHOUT INTERRUPTION WITH TCP MOBILITY OPTION |
CN109257387A (zh) * | 2018-11-20 | 2019-01-22 | 郑州云海信息技术有限公司 | 用于断线重连的方法和装置 |
CN109347966A (zh) * | 2018-10-31 | 2019-02-15 | 许继集团有限公司 | 一种服务器集群通讯方法及终端设备及通讯服务器 |
CN109639810A (zh) * | 2018-12-20 | 2019-04-16 | 视联动力信息技术股份有限公司 | 一种国标tcp码流接入到视联网方法和装置 |
CN113055373A (zh) * | 2017-03-30 | 2021-06-29 | 华为技术有限公司 | 数据传输方法和通信设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1224961A (zh) * | 1997-09-30 | 1999-08-04 | 索尼公司 | 通信方法和通信装置 |
CN1252662A (zh) * | 1998-10-28 | 2000-05-10 | 朗迅科技公司 | 移动tcp以及建立和保持一个移动tcp连接的方法 |
US7398292B2 (en) * | 2000-06-28 | 2008-07-08 | Microsoft Corporation | System and method of enhancing web server throughput in single and multiple processor systems |
-
2010
- 2010-05-12 CN CN201010178344A patent/CN101827111A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1224961A (zh) * | 1997-09-30 | 1999-08-04 | 索尼公司 | 通信方法和通信装置 |
CN1252662A (zh) * | 1998-10-28 | 2000-05-10 | 朗迅科技公司 | 移动tcp以及建立和保持一个移动tcp连接的方法 |
US7398292B2 (en) * | 2000-06-28 | 2008-07-08 | Microsoft Corporation | System and method of enhancing web server throughput in single and multiple processor systems |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932319A (zh) * | 2011-08-12 | 2013-02-13 | 上海贝尔股份有限公司 | 一种用于保持通话的方法和装置 |
CN102932319B (zh) * | 2011-08-12 | 2016-03-16 | 上海贝尔股份有限公司 | 一种用于保持通话的方法和装置 |
CN103457956B (zh) * | 2013-09-17 | 2017-02-08 | 网宿科技股份有限公司 | 基于多条tcp连接的http流媒体直播方法和系统 |
CN103457956A (zh) * | 2013-09-17 | 2013-12-18 | 网宿科技股份有限公司 | 基于多条tcp连接的http流媒体直播方法和系统 |
CN103607311B (zh) * | 2013-11-29 | 2017-01-18 | 厦门市美亚柏科信息股份有限公司 | 一种无缝重建tcp连接的系统及方法 |
CN104980456B (zh) * | 2014-04-03 | 2018-09-21 | 华为技术有限公司 | 传输业务的方法、中间节点、终端和服务器 |
CN104980456A (zh) * | 2014-04-03 | 2015-10-14 | 华为技术有限公司 | 传输业务的方法、中间节点、终端和服务器 |
CN107113178A (zh) * | 2015-01-08 | 2017-08-29 | 耐腾信股份公司 | 具有终端会话恢复功能的网络通信方法 |
CN106815238A (zh) * | 2015-11-30 | 2017-06-09 | 阿里巴巴集团控股有限公司 | 一种结构化数据的序列化、反序列化方法及装置 |
WO2017092580A1 (zh) * | 2015-11-30 | 2017-06-08 | 阿里巴巴集团控股有限公司 | 一种结构化数据的序列化、反序列化方法及装置 |
CN106815238B (zh) * | 2015-11-30 | 2020-10-20 | 阿里巴巴集团控股有限公司 | 一种结构化数据的序列化、反序列化方法及装置 |
WO2017156704A1 (zh) * | 2016-03-15 | 2017-09-21 | 华为技术有限公司 | 数据通道建立及数据包传输方法、终端、服务器及系统 |
CN106716975B (zh) * | 2016-12-27 | 2020-01-24 | 深圳前海达闼云端智能科技有限公司 | 传输链路的续传方法、装置和系统 |
CN106716975A (zh) * | 2016-12-27 | 2017-05-24 | 深圳前海达闼云端智能科技有限公司 | 传输链路的续传方法、装置和系统 |
CN113055373A (zh) * | 2017-03-30 | 2021-06-29 | 华为技术有限公司 | 数据传输方法和通信设备 |
CN110771118B (zh) * | 2017-06-23 | 2022-05-24 | 华为技术有限公司 | 一种具有tcp移动性选项的无缝移动性和会话连续性 |
WO2018233504A1 (en) * | 2017-06-23 | 2018-12-27 | Huawei Technologies Co., Ltd. | CONTINUITY OF SESSION AND MOBILITY WITHOUT INTERRUPTION WITH TCP MOBILITY OPTION |
US10616379B2 (en) | 2017-06-23 | 2020-04-07 | Futurewei Technologies, Inc. | Seamless mobility and session continuity with TCP mobility option |
CN110771118A (zh) * | 2017-06-23 | 2020-02-07 | 华为技术有限公司 | 一种具有tcp移动性选项的无缝移动性和会话连续性 |
CN107707535A (zh) * | 2017-09-25 | 2018-02-16 | 深圳市友华软件科技有限公司 | 实现热切换的多安审平台系统及方法 |
CN107707535B (zh) * | 2017-09-25 | 2020-12-22 | 深圳市友华软件科技有限公司 | 实现热切换的多安审平台系统及方法 |
CN107612760A (zh) * | 2017-11-03 | 2018-01-19 | 睿石网云(北京)科技有限公司 | 一种业务服务的中断监测方法及系统 |
CN108306828A (zh) * | 2018-01-24 | 2018-07-20 | 广东睿江云计算股份有限公司 | 一种利用拥塞控制数据列表优化tcp连接的方法及装置 |
CN109347966A (zh) * | 2018-10-31 | 2019-02-15 | 许继集团有限公司 | 一种服务器集群通讯方法及终端设备及通讯服务器 |
CN109347966B (zh) * | 2018-10-31 | 2021-08-03 | 许继集团有限公司 | 一种服务器集群通讯方法及终端设备及通讯服务器 |
CN109257387A (zh) * | 2018-11-20 | 2019-01-22 | 郑州云海信息技术有限公司 | 用于断线重连的方法和装置 |
CN109639810A (zh) * | 2018-12-20 | 2019-04-16 | 视联动力信息技术股份有限公司 | 一种国标tcp码流接入到视联网方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101827111A (zh) | Tcp链接方法、网络系统、客户端和服务器 | |
KR101454986B1 (ko) | 호스트 기반 이동성 및 멀티홈잉 프로토콜을 위한 경량의 보안 솔루션을 위한 방법 및 장치 | |
US8510549B2 (en) | Transmission of packet data over a network with security protocol | |
US9319439B2 (en) | Secured wireless session initiate framework | |
JP3730480B2 (ja) | ゲートウェイ装置 | |
JP5597676B2 (ja) | 鍵マテリアルの交換 | |
KR101378647B1 (ko) | Ieee 802.15.4 네트워크에서의 보안 설정 가능한 맥프레임 제공 방법 및 장치 | |
US20180288013A1 (en) | End-to-end secured communication for mobile sensor in an iot network | |
JP4410070B2 (ja) | 無線ネットワークシステムおよび通信方法、通信装置、無線端末、通信制御プログラム、端末制御プログラム | |
CN101039310B (zh) | 链路共享服务装置以及通信方法 | |
CN110191052B (zh) | 一种跨协议网络传输方法及系统 | |
CN104184646A (zh) | Vpn网络数据交互方法和系统及其网络数据交互设备 | |
US20110002272A1 (en) | Communication apparatus and communication method | |
CN115883478B (zh) | 一种多标识网络体系中安全高效的传输控制方法及系统 | |
KR20090100009A (ko) | 단말기의 프로파일 정보를 네트워크에 등록하는 시스템 | |
JP4305087B2 (ja) | 通信ネットワークシステム及びそのセキュリティ自動設定方法 | |
CN114765805A (zh) | 一种通信方法、网络设备、基站及计算机可读存储介质 | |
CN100536471C (zh) | 一种家乡代理信令消息有效保护方法 | |
WO2001022685A1 (en) | Method and arrangement for communications security | |
Jara et al. | Secure mobility management scheme for 6lowpan id/locator split architecture | |
KR101594897B1 (ko) | 사물 인터넷에서 경량 사물간 보안 통신 세션 개설 방법 및 보안 통신 시스템 | |
CN100469073C (zh) | 短程无线网络环境中允许安全网络访问的方法 | |
Saedy et al. | Machine-to-machine communications and security solution in cellular systems | |
CN116132983A (zh) | 接入认证方法、装置、终端及核心网 | |
EP2739117A1 (en) | System and method for simultaneously routing traffic through multiple network interfaces |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20100908 |