CN101789981B - 双协议栈数据传输的方法和设备 - Google Patents

双协议栈数据传输的方法和设备 Download PDF

Info

Publication number
CN101789981B
CN101789981B CN201010126832.XA CN201010126832A CN101789981B CN 101789981 B CN101789981 B CN 101789981B CN 201010126832 A CN201010126832 A CN 201010126832A CN 101789981 B CN101789981 B CN 101789981B
Authority
CN
China
Prior art keywords
data
ipv6
ipv4
equipment
socket
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.)
Active
Application number
CN201010126832.XA
Other languages
English (en)
Other versions
CN101789981A (zh
Inventor
林涛
孙凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201010126832.XA priority Critical patent/CN101789981B/zh
Publication of CN101789981A publication Critical patent/CN101789981A/zh
Application granted granted Critical
Publication of CN101789981B publication Critical patent/CN101789981B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种双协议栈数据传输的方法和设备,该方法包括:设备使用配置的socket函数建立IPv4和IPv6共同使用的socket;所述设备通过所述socket与对端设备建立IPv4和IPv6连接;所述设备与对端设备依据策略通过IPv4或者IPv6连接传输数据。本发明实现了IPv4和IPv6使用同一socket进行数据传输,节省资源。

Description

双协议栈数据传输的方法和设备
技术领域
本发明涉及通信领域,尤其涉及一种双协议栈数据传输的方法和设备。
背景技术
IPv6(Internet Protocol Version 6,因特网协议版本6)是网络层协议的第二代标准协议,也被称为IPNG(IP Next Generation,下一代因特网),是IETF(Internet Engineering Task Force,Internet工程任务组)设计的一套规范,是IPv4(Internet Protocol Version 4,因特网协议版本4)的升级版本。
域名系统(DNS,Domain Name System)是一种用于TCP(TransmissionControl Protocol传输控制协议)/IP(Internet Protocol,因特网协议)应用程序的分布式数据库,提供域名与IP地址之间的转换。通过域名系统,用户进行某些应用时,可以直接使用便于记忆的、有意义的域名,而由网络中的域名系统将域名解析为正确的IP地址。现有技术中,DNS协议中使用A记录存储IPv4地址和域名的对应关系(RFC(Request For Comment,请求注解)1035),使用AAAA记录IPv6地址和域名的对应关系(RFC 3596)。
现有IP网络中的主机,无论是使用IPv4或者IPv6进行通信,都需要将IP地址绑定到SOCKET(套接字),然后通过本地SOCKET与对端SOCKET建立连接进行通信。SOCKET是一组编程接口(API),介于传输层与应用层之间,屏蔽传输层差异,向应用层提供统一的编程接口。应用层可以直接通过对SOCKET接口函数的调用完成数据在IP网络的传输。如图1所示SOCKET在TCP/IP协议栈中的位置。
现有技术中同时支持IPv4/IPv6通信的主机具有IPv4/IPv6协议栈,需要分别建立IPv4socket与IPv6socket支持IPv4/IPv6通信,IPv4socket与IPv6socket之间没有共享资源,也不会互相影响。
但是,相互独立的协议栈实现方案资源占用过多,如果一个应用在IPv4上和IPv6上同时使用,则需要同时占用IPv4socket与IPv6socket的资源。
发明内容
本发明提供了一种双协议栈数据传输的方法和设备,以实现IPv4上和IPv6使用同一socket进行数据传输,节省网络资源。
本发明提供了一种双协议栈数据传输的方法,应用于使用因特网协议版本4IPv4和因特网协议版本6IPv6进行数据通信的设备,该方法包括以下步骤:
所述设备使用配置的socket函数建立IPv4和IPv6共同使用的socket;
所述设备通过所述socket与对端设备建立IPv4和IPv6连接;
所述设备与对端设备依据策略通过IPv4或者IPv6连接传输数据。
所述设备与对端设备依据策略通过IPv4或者IPv6连接传输数据之后,
所述设备与对端设备分别检测与对端设备的IPv4连接状态或者IPv6连接状态;
当所述设备或者对端设备检测到用于传输数据的连接故障时,切换到另一连接继续数据传输。
所述设备通过所述socket与对端设备建立IPv4和IPv6连接包括:
所述设备通过所述socket与所述对端设备交互IPv4和IPv6握手报文,建立与所述对端设备的IPv4和IPv6连接,其中,所述IPv6握手报文的扩展头中携带IPv4地址与IPv6地址的对应关系。
当所述设备或者对端设备检测到用于传输数据的连接故障时,切换到另一连接继续数据传输包括:
当所述设备与对端设备之间发送传输控制协议TCP应用数据时,若检测到用于传输数据的连接故障,根据对端IPv4地址与IPv6地址的对应关系获取与对端的另一连接,并使用所述用于传输数据的连接的同一套序列号继续进行数据传输。
所述策略具体为使用握手过程中响应速度较快的连接进行数据传输。
所述设备通过所述socket与对端设备建立IPv4和IPv6连接包括:
所述设备通过所述socket与所述对端设备交互IPv4和IPv6数据报文,建立与所述对端设备的IPv4和IPv6连接,其中,所述IPv6数据报文的扩展头中携带IPv4地址与IPv6地址的对应关系。
当所述设备或者对端设备检测到用于传输数据的连接故障时,切换到另一连接继续数据传输包括:
若检测到用于传输数据的连接故障,根据对端IPv4地址与IPv6地址的对应关系获取与对端的另一连接,切换到所述另一连接继续数据传输。
所述策略具体为使用数据报文的响应速度较快的连接进行数据传输。
所述设备使用配置的socket函数建立IPv4和IPv6共同使用的socket之前,还包括:
所述设备在socket函数中同时配置IPv4/IPv6地址,建立被IPv4和IPv6共同使用的socket函数。
本发明提供一种双协议栈数据传输的设备,使用IPv4和Pv6网络进行数据通信,该设备包括:
socket建立单元,用于使用配置的socket函数建立IPv4和IPv6共同使用的socket;
连接单元,与所述socket建立单元连接,用于通过所述socket与对端设备建立IPv4和IPv6连接;
数据传输单元,与所述连接单元连接,用于与对端设备依据策略通过IPv4或者IPv6连接传输数据。
还包括:
故障切换单元,与所述数据传输单元连接,用于检测与对端设备的IPv4连接状态或者IPv6连接状态,当检测到用于传输数据的连接故障时,切换到另一连接继续数据传输。
所述连接单元还用于:
通过所述socket与所述对端设备交互IPv4和IPv6握手报文,建立与所述对端设备的IPv4和IPv6连接,其中,所述IPv6握手报文的扩展头中携带IPv4地址与IPv6地址的对应关系。
所述故障切换单元还用于:
当所述设备与对端设备之间发送传输控制协议TCP应用数据时,若检测到用于传输数据的连接故障,根据对端IPv4地址与IPv6地址的对应关系获取与对端的另一连接,并使用所述用于传输数据的连接的同一套序列号继续进行数据传输。
所述策略具体为使用握手过程中响应速度较快的连接进行数据传输。
所述连接单元还用于:
通过所述socket与所述对端设备交互IPv4和IPv6数据报文,建立与所述对端设备的IPv4和IPv6连接,其中,所述IPv6数据报文的扩展头中携带IPv4地址与IPv6地址的对应关系。
所述故障切换单元还用于:
若检测到用于传输数据的连接故障,根据对端IPv4地址与IPv6地址的对应关系获取与对端的另一连接,切换到所述另一连接继续数据传输。
所述策略具体为使用数据报文的响应速度较快的连接进行数据传输。
还包括:
配置单元,与所述socket建立单元连接,用于在socket函数中同时配置IPv4/IPv6地址,建立被IPv4和IPv6共同使用的socket函数。
与现有技术相比,本发明至少具有以下优点:
网络设备建立被IPv4/IPv6共同使用的socket,根据该socket与对端设备建立IPv4/IPv6连接并进行数据传输,节省socket对资源的占用。
附图说明
图1是现有技术中SOCKET在TCP/IP协议栈中的位置示意图;
图2是本发明提供的双协议栈数据传输的方法的流程示意图;
图3是本发明应用场景提供的双协议栈数据传输的方法的流程示意图;
图4是图3所示场景中握手过程报文交互流程示意图;
图5是序列号在握手过程前后的使用过程示意图;
图6是本发明提供的双协议栈数据传输的设备的结构示意图。
具体实施方式
本发明的核心思想是:设备建立可以被IPv4和IPv6共同使用的socket,使用该socket与对端设备建立IPv4和IPv6的应用连接,进行IPv4/IPv6通信,并实现IPv4/IPv6通信的相互备份。
本发明提供一种双协议栈数据传输的方法,应用于使用IPv4和IPv6进行数据通信的设备,如图2所示,该方法包括以下步骤:
步骤201,所述设备使用配置的socket函数建立IPv4和IPv6共同使用的socket;
步骤202,所述设备通过所述socket与对端设备建立IPv4和IPv6连接;
步骤203,所述设备与对端设备依据策略通过IPv4或者IPv6连接传输数据。
下面结合具体应用场景详细介绍本发明提供的双协议栈数据传输的方法。
本发明应用场景中,socket提供socket()函数,通过对socket()函数的配置,在其iFamily参数中增加AF_INET46,当使用此参数建立socket时,需要在bind、accept、connect等函数中,同时添加IPv4/IPv6地址,从而可以通过配置后的socket()函数建立可以被IPv4/IPv6共同使用的socket。
本发明应用场景提供的双协议栈数据传输的方法的流程如图3所示,包括6个部分:
1、IPv4握手过程。
2、IPv6握手过程。IPv4/IPv6握手完成先后由握手报文的响应速度决定,图3中以IPv4先建立为例。
3、数据传输过程中,客户端发起的网络层检测。
4、数据传输过程中,服务器端发起的网络层检测。
5、业务完成后,IPv4拆连接过程。
6、IPv6拆连接过程。
下面对上述过程进行进一步详细介绍。
首先介绍IP v4和IPv6握手过程,该握手过程报文交互流程如图4所示。其中,客户端和服务器分别使用一个socket(图4中用单一socket ID表示),客户端的socket对应客户端的IPv4addr(address,地址):Clientv4和IPv6addr:Clientv6,服务器的socket对应服务器的IPv4addr(address,地址):Srvv4(Serverv4)和IPv6addr:Srvv 6(Serverv6)。客户端向服务器分别发送IPv4和IPv6的握手请求报文SYN(Synchronize,同步)报文,服务器返回SYN/ACK)(Acknowledge,响应)报文,客户端再向服务器发送ACK报文。
IPv4/IPv6连接建立的先后由客户端发送的握手请求报文的响应速度决定,图3中以IPv4先建立握手连接为例。其中,在IPv6ACK报文扩展头中携带客户端IPv4/IPv6连接信息,服务器解析并获取该信息,获知客户端IPv4/IPv6地址的对应关系。同样的,客户端解析并获取服务器的IPv6报文,获取服务器IPv4/IPv6地址的对应关系。
具体的,IPv6报文的扩展头定义如下:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Distination Header  | Hdr Ext  Len |                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                          +
|                                                    |
.                                                    .
.                       Options                       .
.                                                    .
|                                                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
其中的option定义如下:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - - - - - - - -
|  Bind46Type  |  Opt Data Len |  Option Data
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - - - - - - - -
Option Data为IPv4/IPv6地址对。
握手阶段完成后,客户端与服务器之间依据配置的策略进行数据传输。优选的,以先完成握手过程的网络进行数据传输,当然也可以根据实际需要灵活配置,例如配置为优先使用IPv6进行数据传输。
进行数据传输的过程中,客户端与服务器之间通过相互收发心跳报文检测IPv4或者IPv6连接状态,具体结合图3所示,客户端与服务器之间分别相互收发IPv4与IPv6的心跳报文,如果在预设时间内没有接收到对端发送的心跳报文,则判断对应的网络连接故障。其中,如果是TCP应用,socket使用TCP ALIVE报文作为心跳报文检测网络连接状态,当一个网络故障时,直接切换到另一网络。如果是其它应用,socket可选使用TCPALIVE报文或UDP报文进行状态监视。客户端与服务器之间也可以只对没有进行数据传输的IP连接进行心跳报文检测,例如通过IPv6连接传输数据时,客户端与服务器通过IPv4连接相互收发心跳报文判断IPv4连接的状态,而根据是否通过IPv6连接接收到数据传输的响应判断IPv6连接的状态。
本发明应用场景中,可选的,当一个网络故障切换到另一网络进行通信后,依然对故障的网络连接进行检测,一旦可用后,使用心跳报文保持连接,作为另一网络连接的备份,并优选较快网络连接继续传送数据。在最开始建立连接时,如果某一网络连接不可用,也启动定期检测,先使用另一网络连接通信,待两个网络连接都正常后互为备份。
如图5所示,如果是TCP应用,握手阶段完成之前,socket收发IPv4和IPv6数据时使用相互独立的两套序列号。握手阶段完成之后,socket收发数据使用同一套序列号,不再区分IPv4/IPv6协议栈。该序列号在握手过程前后的使用过程如图5所示,其中假设主动连接方(客户端)IPv4起始序列号为a、IPv6起始序列号为d,侦听方(服务器)IPv4起始序列号为b、IPv6起始序列号为c。客户端使用的序列号a、d分别属于相互独立的两套序列号,握手完成后客户端使用其中的一套序列号进行IPv4或者IPv6通信,不再区分IPv4/IPv6协议栈,如图5中在握手完成后使用原IPv6通信所使用的序列号继续进行通信。客户端与服务器之间的Keepalive机制具体为:发送方发送seq比正常少1的序号,接收端收到后认为序号不正确,对此回应正确的序列号,利用此机制完成连接保活。
本发明应用场景中,握手阶段完成后的数据发送使用IPv4或是IPv6协议栈由建立握手过程中的响应速度决定,优先使用响应速度快的协议栈。
客户端与服务器之间的数据传输完成后,断开相互的IPv4/IPv6连接,执行IPv4拆连接过程和IPv6拆连接过程。
本发明应用场景中,以客户端为例,客户端上的应用程序通过socket API建立连接之前,首先通过DNS分别查询到目的主机的IPv4/IPv6地址,或者手工输入IPv4/IPv6地址,然后再调用上述socketAPI接口,建立与目的主机之间的IPv4/IPv6连接。在通过IPv4/IPv6连接传输数据的过程中,如果IPv4/IPv6中的一个网络故障,应用程序并不需要知道,可以直接继续传送数据。
下面结合另一具体应用场景介绍本发明提供的双协议栈数据传输的方法,以设备之间的UDP应用连接为例,该方法的流程包括5个部分:
1、IPv4连接过程。
2、IPv6连接过程。
3、数据传输过程中的网络层检测。
4、业务完成后,IPv4拆连接过程。
5、IPv6拆连接过程。
下面结合上述5个部分对本发明提供的方法进行介绍。
其中,IPv4或者IPv6连接过程建立的方式可以根据需要灵活设置,例如,设备向对端设备发送IPv4数据报文与IPv6数据报文,若接收到对端设备对数据报文的响应,则建立连接。其中的数据报文可以是仅携带数据报文的报文头的空报文,不携带实际数据。IPv6数据报文的报文头中携带IPv4/IPv6地址的对应关系。
连接建立后,设备与对端设备通过IPv4或者IPv6连接与对端传输UDP应用数据。优选的,以数据报文的响应速度较快的连接进行数据传输。
IPv4或者IPv6连接的状态检测通过设备与对端设备之间交互UDP报文实现,或者使用上一应用场景中所述的TCP ALIVE报文进行状态监视,心跳报文(TCP ALIVE报文或者UDP报文)的选择可以根据实际需要灵活确定。
当进行数据传输的连接故障后,需要切换到另一连接继续数据传输。例如,设备初始与对端设备通过IPv4连接传输数据时,若IPv4连接故障,则切换到IPv6连接继续传输数据,UDP应用数据的传输不涉及序列号的调整。
数据传输结束后,根据需要可以拆连接,结束与对端设备的IPv4连接以及IPv6连接。
通过采用本发明提供的方法,网络设备建立被IPv4/IPv6共同使用的socket,根据该socket与对端设备建立IPv4/IPv6连接,其中IPv6握手报文的扩展头中携带IPv4/IPv6的地址对应关系,进一步根据预先配置通过IPv4或者IPv6网络与对端设备进行数据传输,并相互备份,节省资源。
本发明提供一种双协议栈数据传输的设备,使用IPv4和Pv6网络进行数据通信,如图6所示,该设备包括:
socket建立单元11,用于使用配置的socket函数建立IPv4和IPv6共同使用的socket;
连接单元12,与所述socket建立单元11连接,用于通过所述socket与对端设备建立IPv4和IPv6连接;
数据传输单元13,与所述连接单元12连接,用于与对端设备依据策略通过IPv4或者IPv6连接传输数据。
该设备还包括:
故障切换单元14,与所述数据传输单元13连接,用于检测与对端设备的IPv4连接状态或者IPv6连接状态,当检测到用于传输数据的连接故障时,切换到另一连接继续数据传输。具体的,所述故障切换单元14还用于:当所述设备与对端设备之间发送传输控制协议TCP应用数据时,若检测到用于传输数据的连接故障,根据对端IPv4地址与IPv6地址的对应关系获取与对端的另一连接,并使用所述用于传输数据的连接的同一套序列号继续进行数据传输。所述故障切换单元14还用于:若检测到用于传输数据的连接故障,根据对端IPv4地址与IPv6地址的对应关系获取与对端的另一连接,切换到所述另一连接继续数据传输。
具体的,所述连接单元12还用于:通过所述socket与所述对端设备交互IPv4和IPv6握手报文,建立与所述对端设备的IPv4和IPv6连接,其中,所述IPv6握手报文的扩展头中携带IPv4地址与IPv6地址的对应关系。
所述策略具体为使用握手过程中响应速度较快的连接进行数据传输,所述数据传输单元13使用握手过程中响应速度较快的连接进行数据传输。
具体的,所述连接单元12还用于:通过所述socket与所述对端设备交互IPv4和IPv6数据报文,建立与所述对端设备的IPv4和IPv6连接,其中,所述IPv6数据报文的扩展头中携带IPv4地址与IPv6地址的对应关系。
所述策略具体为使用数据报文的响应速度较快的连接进行数据传输。
本发明提供的设备还包括:
配置单元15,与所述socket建立单元11连接,用于在socket函数中同时配置IPv4/IPv6地址,建立被IPv4和IPv6共同使用的socket函数。
通过采用本发明提供的设备,网络设备建立被IPv4/IPv6共同使用的socket,根据该socket与对端设备建立IPv4/IPv6连接,其中IPv6握手报文的扩展头中携带IPv4/IPv6的地址对应关系,进一步根据预先配置通过IPv4或者IPv6网络与对端设备进行数据传输,并相互备份,节省资源。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (18)

1.一种双协议栈数据传输的方法,应用于使用因特网协议版本4IPv4和因特网协议版本6IPv6进行数据通信的设备,其特征在于,该方法包括以下步骤: 
所述设备使用配置的socket函数建立IPv4和IPv6共同使用的socket; 
所述设备通过所述socket与对端设备交互IPv4和IPv6报文,建立与所述对端设备的IPv4和IPv6连接,其中,IPv6握手报文的扩展头中携带IPv4地址与IPv6地址的对应关系; 
所述设备与对端设备依据策略通过IPv4或者IPv6连接传输数据。 
2.如权利要求1所述的方法,其特征在于,所述设备与对端设备依据策略通过IPv4或者IPv6连接传输数据之后, 
所述设备与对端设备分别检测与对端设备的IPv4连接状态或者IPv6连接状态; 
当所述设备或者对端设备检测到用于传输数据的连接故障时,切换到另一连接继续数据传输。 
3.如权利要求1或2所述的方法,其特征在于,所述设备通过所述socket与所述对端设备交互IPv4和IPv6的报文为握手报文。 
4.如权利要求3所述的方法,其特征在于,当所述设备或者对端设备检测到用于传输数据的连接故障时,切换到另一连接继续数据传输包括: 
当所述设备与对端设备之间发送传输控制协议TCP应用数据时,若检测到用于传输数据的连接故障,根据对端IPv4地址与IPv6地址的对应关系获取与对端的另一连接,并使用所述用于传输数据的连接的同一套序列号继续进行数据传输。 
5.如权利要求3所述的方法,其特征在于,所述策略具体为使用握手过程中响应速度较快的连接进行数据传输。 
6.如权利要求1或2所述的方法,其特征在于,所述设备通过所述socket与所述对端设备交互IPv4和IPv6的报文为数据报文。 
7.如权利要求6所述的方法,其特征在于,当所述设备或者对端设备检测到用于传输数据的连接故障时,切换到另一连接继续数据传输包括: 
若检测到用于传输数据的连接故障,根据对端IPv4地址与IPv6地址的对应关系获取与对端的另一连接,切换到所述另一连接继续数据传输。 
8.如权利要求6所述的方法,其特征在于,所述策略具体为使用数据报文的响应速度较快的连接进行数据传输。 
9.如权利要求1所述的方法,其特征在于,所述设备使用配置的socket函数建立IPv4和IPv6共同使用的socket之前,还包括: 
所述设备在socket函数中同时配置IPv4/IPv6地址,建立被IPv4和IPv6共同使用的socket函数。 
10.一种双协议栈数据传输的设备,使用IPv4和Pv6网络进行数据通信,其特征在于,该设备包括: 
socket建立单元,用于使用配置的socket函数建立IPv4和IPv6共同使用的socket; 
连接单元,与所述socket建立单元连接,通过所述socket与对端设备交互IPv4和IPv6报文,建立与所述对端设备的IPv4和IPv6连接,其中,IPv6握手报文的扩展头中携带IPv4地址与IPv6地址的对应关系; 
数据传输单元,与所述连接单元连接,用于与对端设备依据策略通过IPv4或者IPv6连接传输数据。 
11.如权利要求10所述的设备,其特征在于,还包括: 
故障切换单元,与所述数据传输单元连接,用于检测与对端设备的IPv4连接状态或者IPv6连接状态,当检测到用于传输数据的连接故障时,切换到另一连接继续数据传输。 
12.如权利要求11所述的设备,其特征在于,所述连接单元还用于: 
通过所述socket与所述对端设备交互IPv4和IPv6握手报文。 
13.如权利要求12所述的设备,其特征在于,所述故障切换单元还用于: 
当所述设备与对端设备之间发送传输控制协议TCP应用数据时,若检测到用于传输数据的连接故障,根据对端IPv4地址与IPv6地址的对应关系获取与对端的另一连接,并使用所述用于传输数据的连接的同一套序列号继续进行数据传输。 
14.如权利要求12所述的设备,其特征在于,所述策略具体为使用握手过程中响应速度较快的连接进行数据传输。 
15.如权利要求11所述的设备,其特征在于,所述连接单元还用于: 
通过所述socket与所述对端设备交互IPv4和IPv6数据报文。 
16.如权利要求15所述的设备,其特征在于,所述故障切换单元还用于: 
若检测到用于传输数据的连接故障,根据对端IPv4地址与IPv6地址的对应关系获取与对端的另一连接,切换到所述另一连接继续数据传输。 
17.如权利要求15所述的设备,其特征在于,所述策略具体为使用数据报文的响应速度较快的连接进行数据传输。 
18.如权利要求10所述的设备,其特征在于,还包括: 
配置单元,与所述socket建立单元连接,用于在socket函数中同时配置IPv4/IPv6地址,建立被IPv4和IPv6共同使用的socket函数。 
CN201010126832.XA 2010-03-18 2010-03-18 双协议栈数据传输的方法和设备 Active CN101789981B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010126832.XA CN101789981B (zh) 2010-03-18 2010-03-18 双协议栈数据传输的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010126832.XA CN101789981B (zh) 2010-03-18 2010-03-18 双协议栈数据传输的方法和设备

Publications (2)

Publication Number Publication Date
CN101789981A CN101789981A (zh) 2010-07-28
CN101789981B true CN101789981B (zh) 2014-03-19

Family

ID=42533030

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010126832.XA Active CN101789981B (zh) 2010-03-18 2010-03-18 双协议栈数据传输的方法和设备

Country Status (1)

Country Link
CN (1) CN101789981B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102611750A (zh) * 2012-03-15 2012-07-25 中兴通讯股份有限公司 一种双协议栈接入的方法和系统
CN103685281B (zh) * 2013-12-18 2017-08-15 中国联合网络通信集团有限公司 一种网络地址协议的切换方法和设备
CN104410725A (zh) * 2014-09-17 2015-03-11 广州杰赛科技股份有限公司 Gpu的处理方法、系统以及基于gpu的dns解析方法和系统
CN109218783B (zh) * 2018-08-08 2021-05-04 深圳市天威视讯股份有限公司 智能机顶盒
CN112019491B (zh) * 2019-05-31 2022-09-13 烽火通信科技股份有限公司 一种报文处理方法及系统
CN111225020B (zh) * 2019-11-07 2021-06-29 苏州浪潮智能科技有限公司 一种用户态网络文件系统双栈访问方法、装置及设备
CN112104763A (zh) * 2020-09-17 2020-12-18 宏图智能物流股份有限公司 一种可实现仓库内部不同网络平台对接的方法
CN114513452B (zh) * 2020-10-29 2024-01-02 北京华为数字技术有限公司 转发报文的方法、装置、计算机设备及存储介质
CN112787936B (zh) * 2020-12-25 2023-02-28 深圳创维数字技术有限公司 IPv4/IPv6双栈环境下的播放故障恢复方法、装置和存储介质
JP7265061B1 (ja) 2022-04-20 2023-04-25 株式会社Cygames プログラム、情報処理システム、および情報処理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1585376A (zh) * 2003-08-20 2005-02-23 华为技术有限公司 一种地址转换方法及实现该方法的混合地址转换路由器
CN1870654A (zh) * 2006-06-21 2006-11-29 中国科学院计算技术研究所 一种支持ipv4和ipv6双协议栈网络通信模块的实现方法
CN1893423A (zh) * 2005-07-05 2007-01-10 北京航空航天大学 一种基于SPI技术的服务器端应用系统IPv4/IPv6过渡方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1585376A (zh) * 2003-08-20 2005-02-23 华为技术有限公司 一种地址转换方法及实现该方法的混合地址转换路由器
CN1893423A (zh) * 2005-07-05 2007-01-10 北京航空航天大学 一种基于SPI技术的服务器端应用系统IPv4/IPv6过渡方法
CN1870654A (zh) * 2006-06-21 2006-11-29 中国科学院计算技术研究所 一种支持ipv4和ipv6双协议栈网络通信模块的实现方法

Also Published As

Publication number Publication date
CN101789981A (zh) 2010-07-28

Similar Documents

Publication Publication Date Title
CN101789981B (zh) 双协议栈数据传输的方法和设备
US8335853B2 (en) Transparent recovery of transport connections using packet translation techniques
US8130671B2 (en) Method and system for establishing bidirectional tunnel
EP3352431B1 (en) Network load balance processing system, method, and apparatus
CN101702657B (zh) 一种nat业务的热备份方法和设备
CN107113342B (zh) 使用软件定义网络的中继优化
US8462767B2 (en) Internet protocol compliant private branch electronic exchange and a method for redundantly configuring terminal interfaces
US8583831B2 (en) Thin client discovery
US9143421B2 (en) Network system capable of implementing stun with the assistance of two network devices and method thereof
CN111294399B (zh) 一种数据传输方法和装置
US20050066038A1 (en) Session control system, communication terminal and servers
EP1792408A2 (en) System and method for network-assisted connection in a wireless environment
US7564848B2 (en) Method for the establishing of connections in a communication system
CN100481778C (zh) 一种实现终端和伪终端设备绑定的方法、装置及系统
EP2197169A1 (en) VoIP registration with multiple call servers
US8250186B2 (en) Method and system of smart detection and recovery
CN104780231B (zh) 双栈应用访问方法和装置
JP2008311799A (ja) サーバ装置、ネットワークシステム及びそれらに用いるネットワーク接続方法
US10158604B2 (en) Method for addressing messages in a computer network
JP5723808B2 (ja) 通信装置、通信方法、及びプログラム
US10182006B2 (en) Internet protocol address selection in session initiation protocol communications
US11212250B2 (en) Relay device, network system, and network control method
WO2023231836A1 (zh) 一种文件同步方法、装置、设备及存储介质
JP2003224580A (ja) ネットワークアドレス変換装置
TWI483605B (zh) 用於網路系統之部署方法及電腦系統

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.

CP03 Change of name, title or address