CN102571749B - 使用中继服务器的数据传输系统和方法 - Google Patents

使用中继服务器的数据传输系统和方法 Download PDF

Info

Publication number
CN102571749B
CN102571749B CN201110389291.4A CN201110389291A CN102571749B CN 102571749 B CN102571749 B CN 102571749B CN 201110389291 A CN201110389291 A CN 201110389291A CN 102571749 B CN102571749 B CN 102571749B
Authority
CN
China
Prior art keywords
client
relay server
tcp
address
udp
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
CN201110389291.4A
Other languages
English (en)
Other versions
CN102571749A (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.)
Samsung SDS Co Ltd
Original Assignee
Samsung SDS 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 Samsung SDS Co Ltd filed Critical Samsung SDS Co Ltd
Publication of CN102571749A publication Critical patent/CN102571749A/zh
Application granted granted Critical
Publication of CN102571749B publication Critical patent/CN102571749B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/255Maintenance or indexing of mapping tables
    • H04L61/2553Binding renewal aspects, e.g. using keep-alive messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2589NAT traversal over a relay server, e.g. traversal using relay for network address translation [TURN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/165Combined use of TCP and UDP protocols; selection criteria therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Radio Relay Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

提供了一种使用中继服务器的数据传输系统和方法。在使用中继服务器的数据传输方法中,当客户将注册包发送到中继服务器时,中继服务器在通过注册包注册客户之后将注册结果消息发送到客户。中继服务器将客户的注册信息发送到定位服务器。定位服务器根据每个客户存储客户注册信息。

Description

使用中继服务器的数据传输系统和方法
本申请要求于2010年12月27日提交的第10-2010-0135270号韩国专利申请的优先权和利益,该申请的公开通过引用完整地包含于此。
技术领域
示例性实施例涉及一种数据传输技术,更具体地说,涉及一种使用中继服务器的数据传输技术。
背景技术
对等(P2P)技术使用户能够通过直接连接到单独终端来共享各种信息和内容。P2P技术最初用作用于使用户能够在互联网上彼此非法地共享音乐文件和视频文件的方法。然而,最近,P2P技术已经被用于多种服务,诸如信使系统中的客户之间的文件传输、互联网电话中的音频数据传输等。
如果在P2P技术中由于客户存在于私有网络中而使得客户之间的直接连接不可行,则使用中继服务器来中继数据的方法被使用。此时,当中继用户数据报协议(UDP)数据时使用UDP中继服务器,当中继传输控制协议(TCP)数据时使用TCP中继服务器。然而,现有技术中的使用中继服务器的数据传输方法具有以下问题。
第一个问题是:客户必须周期性地连接到特定服务器,从而与服务建立连接并与其他客户交换数据(消息、文件等)。为此,许多服务提供商配置登录服务器,从而当客户被登录服务器验证时该客户可访问服务。此时,客户维持与登录服务器的TCP连接,并识别出可通过TCP连接进行P2P服务的状态。然而,当客户通过登录服务器连续地维持TCP连接时,该服务器承受大量负载。
第二个问题是:如果由于客户存在于私有网络中而使得客户之间的直接连接不可行,则每个客户在与中继服务器(TCP中继服务器或UDP中继服务器)建立连接之后应该通过中继服务器将数据发送到第二客户。然而,由于TCP中继服务器仅中继TCP数据,UDP中继服务器仅中继UDP数据,因此在UDP连接不可行的环境下客户不通过UDP中继服务器发送数据。当连接到客户的中继服务器的类型彼此不同时,可能不能进行数据传输。
第三个问题是:由于当通过中继服务器在客户之间中继数据时,每个客户不处于与第二客户建立直接连接的状态,因此数据传输不能得到直接保证。也就是说,存在这样的问题:由于无法直接确定第二客户是否已成功接收到其自身发送的数据,因此数据传输的可靠性不能得到保证。
发明内容
示例性实施例提供一种使用中继服务器的数据传输系统和方法,所述系统和方法可在不需要登录服务器的情况下维持P2P网络连接。
示例性实施例还提供一种使用中继服务器的数据传输系统和方法,所述系统和方法可在不管TCP使用环境和UDP使用环境的情况下发送数据。
示例性实施例还提供一种使用中继服务器的数据传输系统和方法,所述系统和方法可保证客户之间的数据传输。
根据示例性实施例,提供了一种使用中继服务器的数据传输系统,包括:中继服务器;客户,配置为将注册包发送到中继服务器,其中,中继服务器在通过注册包注册客户之后将注册结果消息发送到客户。
根据另一示例性实施例,提供了一种使用中继服务器的数据传输方法,包括:(A)由中继服务器从客户接收注册包;(B)由中继服务器在通过注册包注册客户之后将注册结果消息发送到客户;(C)由中继服务器将客户的注册信息发送到定位服务器(location sever)。
附图说明
通过参照附图详细描述其示例性实施例,上述和其它对象、特点和优点对于本领域普通技术人员将变得更加清楚,其中:
图1是示出根据示例性实施例的客户通过与TCP中继服务器建立连接来维持P2P网络连接的方法的示图;
图2是示出根据示例性实施例的将被客户发送到TCP中继服务器的注册包的示图;
图3是示出根据示例性实施例的客户通过与UDP中继服务器建立连接来维持P2P网络连接的方法的示图;
图4是示出将数据从使用UDP的客户发送到使用UDP的客户的方法的示图;
图5是示出将数据从使用TCP的客户发送到使用TCP的客户的方法的示图;
图6是示出将数据从使用UDP的客户发送到使用TCP的客户的方法的示图;
图7是示出将数据从使用TCP的客户发送到使用UDP的客户的方法的示图。
具体实施方式
下面将参照图1到图7详细描述根据示例性实施例的使用中继服务器的数据传输系统和方法。
在下面的描述中,为了保持公开的清楚和简明,不详细描述涉及示例性实施例的公知技术。考虑到示例性实施例的功能来选择这里使用的术语,且所述术语可依据用户或操作者的意图或者本领域内的习惯而不同。因此,应该基于本说明书的整体上下文来理解术语的意义。
提供这些示例性实施例从而本发明将是充分且完整的,并且将向本领域技术人员充分传达本发明构思,且示例性实施例仅由权利要求及其等同物限定。
1、P2P网络连接维持
在示例性实施例中,每个客户在不与单独服务器(诸如登录服务器)建立连接的情况下,仅通过中继服务器来维持P2P网络连接并交换数据。在这方面,划分并描述客户连接到TCP中继服务器的情况和客户连接到UDP中继服务器的情况。这里,客户根据其所属的网络环境连接到TCP中继服务器或UDP中继服务器。
1-1、客户连接到TCP中继服务器的情况
图1是示出根据示例性实施例的客户通过与TCP中继服务器建立连接来维持P2P网络连接的方法的示图。
参照图1,客户102与TCP中继服务器104建立TCP连接(S101)。
特别地,如果客户102将同步(SYN)包发送到TCP中继服务器104,则TCP中继服务器104将SYN+确认(ACK)包作为对SYN包的响应发送到客户102。然后,客户102发送ACK包作为SYN+ACK的响应。因此,通过3次握手方法在客户102和TCP中继服务器104之间建立TCP连接。
接着,客户102将注册包发送到TCP中继服务器104(S103)。
图2是示出根据示例性实施例的将被客户发送到TCP中继服务器的注册包的示图。
参照图2,注册包150包括头151和有效载荷154。头151包括IP头和TCP头。IP头包括客户102的私有IP地址,TCP头包括客户102的私有端口号。
有效载荷154包括客户102的用户识别信息、客户102的私有IP地址、关于客户102的私有端口号的信息、客户102所属的私有网络的网络地址转换器(NAT)类型等。
用户识别信息是用于从其他客户识别客户102的唯一信息。用户识别信息的示例可包括用户标识符(ID)、与用户ID映射的用户唯一号、客户102的介质访问控制(MAC)地址等。
NAT是在私有网络和公共网络之间相互转换IP私有地址和公共IP地址的装置。当客户102属于私有网络时,客户102使用NAT从而节省互联网的公共IP地址或保护客户102免受外部攻击。
可存在四种NAT类型:全锥(full cone)、限制锥(restricted cone)、端口限制锥(port restricted cone)和对称锥(symmetric cone)。客户102将关于客户102所属的私有网络的NAT类型的信息包括在注册包中,并将注册包发送到TCP中继服务器104。
这里,由客户102发送的注册包150通过客户102所属的私有网络的NAT,被传送到TCP中继服务器104。此时,NAT将包括在注册包150的IP头中的客户102的私有IP地址转换为与该私有IP地址映射的公共IP地址,将包括在TCP头中的客户102的私有端口号转换为与该私有端口号映射的公共端口号,并传送所述公共IP地址和所述公共端口号。
接着,TCP中继服务器104使用包括在注册包中的信息,在TCP中继服务器104中注册客户102(S105)。然后,TCP中继服务器104具有客户102的注册信息。
注册信息包括客户102的用户识别信息、客户102的私有IP地址、客户102的私有端口号、客户102所属的私有网络的NAT类型、映射的客户102的公共IP地址以及映射的客户102的公共端口号。
接着,TCP中继服务器104将注册结果消息发送到客户102(S107)。
在这种情况下,客户102处于与P2P网络建立了连接且P2P服务可用的状态。在维持与TCP中继服务器104的TCP连接时持续该状态。此时,客户102可通过TCP中继服务器104将数据发送到其他客户或从其他客户接收数据。
如上所述,客户102在TCP中继服务器104中被注册,从而确定客户102是否处于在不需要使用单独登录服务器的情况下P2P服务可用的状态,并执行与其他客户的数据通信。这里,如果终止客户102和中继服务器104之间的TCP连接,则TCP中继服务器104通过确定客户102已经登出来执行注册释放进程。
接着,TCP中继服务器104将客户102的注册信息发送到定位服务器106(S109)。然后,定位服务器106存储客户102的注册信息。
1-2、客户连接到UDP中继服务器的情况
图3是示出根据示例性实施例的客户通过与UDP中继服务器建立连接来维持P2P网络连接的方法的示图。
参照图3,客户202将注册包发送到UDP中继服务器204(S201)。也就是说,由于UDP不提供像TCP一样的连接功能,因此客户202最初将注册包发送到UDP中继服务器204。
除了由客户202发送的注册包具有代替TCP头的UDP头之外,由客户202发送的注册包和图2中示出的注册包相同。注册包通过客户202所属的私有网络的NAT被传送到UDP中继服务器204。此时,NAT将包括在注册包的IP头中的客户202的私有IP地址转换为与该私有IP地址映射的公共IP地址,将包括在UDP头中的客户202的私有端口号转换为与该私有端口号映射的公共端口号,并传送所述公共IP地址和所述公共端口号。
接着,UDP中继服务器204使用包括在注册包中的信息,在UDP中继服务器204中注册客户202(S203)。然后,UDP中继服务器204具有客户202的注册信息。
注册信息包括客户202的用户识别信息、客户202的私有IP地址、客户202的私有端口号、客户202所属的私有网络的NAT类型、映射的客户202的公共IP地址以及映射的客户202的公共端口号。
接着,UDP中继服务器204将注册结果消息发送到客户202(S205),并将客户202的注册信息发送到定位服务器206(S207)。然后,定位服务器206存储客户202的注册信息。
接着,如果客户202周期性地将保持接通(Keep Alive)消息发送到UDP中继服务器204(S209),则UDP中继服务器204以回送模式将保持接通消息重发给客户202(S211)。通过这样,客户202可确定客户202是否处于P2P服务可用(也就是说,建立了与P2P网络的连接)的状态。
此时,UDP中继服务器204检查来自客户202的保持接通消息的接收时间。如果在预设时间或更长时间未从客户202接收到保持接通消息,则UDP中继服务器204确定与客户202的连接已终止。
如上所述,可通过在UDP中继服务器204中注册客户202并周期性地发送保持接通消息,在不需要使用单独登录服务器的情况下确定客户202是否处于P2P服务可用的状态并执行与其他客户的数据通信。
2、不管网络使用环境的数据传输
在示例性实施例中,可不管每个客户的环境中使用是TCP还是UDP,使用中继服务器(TCP中继服务器或UDP中继服务器)来执行数据传输。在这方面,根据客户的网络使用环境来划分并描述情况。
2-1、将数据从使用UDP的客户发送到使用UDP的客户的情况
图4是示出将数据从使用UDP的第一客户发送到使用UDP的第二客户的方法的示图。
参照图4,当第一客户302将数据发送到第二客户308时,第一客户302将第二客户308的用户ID发送到定位服务器304(S301)。此时,第一客户302可例如通过信使服务的朋友查找等获得第二客户308的用户ID。
接着,定位服务器304在通过第二客户308的用户ID检查第二客户308的UDP连接信息之后,将UDP连接信息发送到第一客户302(S303)。UDP连接信息包括与第二客户308连接(例如,连结)的UDP中继服务器的地址和与第二客户308的公共网络映射的地址(例如,与第二客户308的私有IP地址映射的公共IP地址和与第二客户308的私有端口号映射的公共端口号)。
也就是说,由于如参照图3所述当UDP中继服务器注册每个客户时,UDP中继服务器将每个客户的注册信息发送到定位服务器,因此定位服务器存储客户特定注册信息以及每个客户的注册信息发送到的UDP中继服务器的地址。因此,如果从第一客户302接收到第二客户308的用户ID,则定位服务器304可通过用户ID检查第二客户308的UDP连接信息。
接着,第一客户302在从UDP连接信息检查连接到第二客户308的UDP中继服务器306的地址之后,将包括与第二客户308的公共网络映射的地址的数据包发送到UDP中继服务器306(S305)。此时,数据包包括用于识别该数据包是否是由UDP中继服务器306中继的消息或是否是由UDP中继服务器306处理的消息的ID。
接着,UDP中继服务器306在从数据包检查与第二客户308的公共网络映射的地址之后,将数据包发送到与第二客户308的公共网络映射的地址(S307)。然后,属于第二客户308的私有网络的NAT将与公共网络映射的地址中的公共IP地址转换为与该公共IP地址映射的私有IP地址,将与公共网络映射的地址的公共端口号转换为与该公共端口号映射的私有端口号,并将所述私有IP地址和所述私有端口号传送到第二客户308。
此时,由于通过打洞(hole punching)维持与UDP中继服务器306的连接,因此第二客户308可接收数据包。
2-2、将数据从使用TCP的客户发送到使用TCP的客户的情况
图5是示出将数据从使用TCP的第一客户发送到使用TCP的第二客户的方法的示图。
参照图5,当第一客户402将数据发送到第二客户408时,第一客户402将第二客户408的用户ID发送到定位服务器404(S401)。
接着,定位服务器404在检查第二客户408的TCP连接信息之后,将TCP连接信息发送到第一客户402(S403)。TCP连接信息包括连接到第二客户408的TCP中继服务器的地址和第二客户408的用户唯一号。这里,第二客户408的用户唯一号可以是与第二客户408的用户ID映射的号。
也就是说,由于定位服务器404存储每个客户的注册信息和发送客户注册信息的TCP中继服务器的地址,因此定位服务器404在从第一客户402接收第二客户408的用户ID时可通过用户ID检查第二客户408的TCP连接信息。
接着,第一客户402在从TCP连接信息检查连接到第二客户408的TCP中继服务器406的地址以及与TCP中继服务器406建立TCP连接(S405)之后,将包括第二客户408的用户唯一号的数据包发送到TCP中继服务器406(S407)。
接着,TCP中继服务器406在从数据包检查第二客户408的用户唯一号之后,通过根据用户唯一号检查具有TCP连接的客户(即,第二客户408)来发送数据(S409)。
也就是说,由于TCP中继服务器406将连接到TCP中继服务器406的客户的TCP会话与该客户的用户唯一号进行映射,因此如果从数据包检查到用户唯一号则可检查数据包传送到的客户的TCP对话,其中,从第一客户402接收所述数据包。
2-3、将数据从使用UDP的客户发送到使用TCP的客户的情况
图6是示出将数据从使用UDP的第一客户发送到使用TCP的第二客户的方法的示图。在这种情况下,第一客户通过UDP中继服务器和TCP中继服务器并以这样的顺序将数据发送到第二客户。
参照图6,第一客户502将第二客户510的用户ID发送到定位服务器504(S501)。
接着,定位服务器504在通过第二客户510的用户ID检查第二客户510的TCP连接信息之后,将TCP连接信息发送到第一客户502(S503)。TCP连接信息包括连接到第二客户510的TCP中继服务器508的地址以及第二客户510的用户唯一号。
接着,第一客户502将包括TCP连接信息的数据包发送到连接到第一客户502的UDP中继服务器506(S505)。
接着,UDP中继服务器506在从数据包的TCP连接信息检查连接到第二客户510的TCP中继服务器508的地址之后,将包括TCP连接信息的数据包发送到TCP中继服务器508(S507)。
接着,TCP中继服务器508在从数据包的TCP连接信息检查第二客户510的用户唯一号之后,通过根据用户唯一号检查具有与TCP中继服务器508的TCP连接的客户(即,第二客户510)来发送数据包(S509)。
2-4、将数据从使用TCP的客户发送到使用UDP的客户的情况
图7是示出将数据从使用TCP的第一客户发送到使用UDP的第二客户的方法的示图。在这种情况下,第一客户通过TCP中继服务器和UDP中继服务器并以这样的顺序将数据发送到第二客户。
参照图7,第一客户602将第二客户610的用户ID发送到定位服务器604(S601)。
接着,定位服务器604将第二客户610的UDP连接信息发送到第一客户602(S603)。UDP连接信息包括连接到第二客户610的UDP中继服务器608的位置以及与第二客户610的公共网络映射的地址(例如,与第二客户610的私有IP地址映射的公共IP地址和与第二客户610的私有端口号映射的公共端口号)。
接着,第一客户602在与连接到第一客户602的TCP中继服务器606建立TCP连接(S605)之后,将包括UDP连接信息的数据包发送到TCP中继服务器606(S607)。
接着,TCP中继服务器606在从UDP连接信息检查连接到第二客户610的UDP中继服务器608的地址之后,将包括UDP连接信息的数据包发送到UDP中继服务器608(S609)。
接着,UDP中继服务器608在从UDP连接信息检查第二客户610的公共映射地址之后,将数据包发送到第二客户610的公共映射地址(S611)。然后,属于第二客户610的私有网络的NAT将与公共网络映射的地址中的公共IP地址转换为与该公共IP地址映射的私有IP地址,将与公共网络映射的地址的公共端口号转换为与该公共端口号映射的私有端口号,并将所述私有IP地址和所述私有端口号传送到第二客户610。
此时,由于通过打洞维持与UDP中继服务器608的连接,因此第二客户610可接收数据包。
另一方面,由第一客户602发送的数据包可包括连接到第一客户602的TCP中继服务器606的地址。在这种情况下,接收数据包的第二客户610在存储TCP中继服务器606的地址之后,在将数据发送到第一客户602时可使用TCP中继服务器606来传送数据。
根据示例性实施例,即使在客户不建立UDP连接的情况下也可通过UDP中继服务器发送数据,并且即使当连接到每个客户的中继服务器的类型不同时,也可发送数据。因此,可在不管每个客户的网络环境的情况下通过中继服务器发送数据。
3、保证数据传输可靠性
当使用中继服务器在P2P客户之间发送数据时,中继服务器仅用于中继数据,从而不能确定数据是否确实被发送到第二客户。因此,在示例性实施例中,当第一客户通过中继服务器将数据发送到第二客户时,数据被划分为比网络的最大传输单元(MTU)更小的片段,并且发送所述片段。此时,交换号被分配给数据并且片段号被分配给包片段。
第二客户针对数据的交换号和每个包片段的片段号将ACK消息发送到第一客户。此时,中继服务器将ACK消息分流(bypass)并传送到第一客户。
在这种情况下,即使当每个客户使用中继服务器发送数据时,针对数据的交换号和数据的每个包片段的片段号接收ACK消息,从而确定所有数据被发送到第二客户。
根据示例性实施例,在不需要与诸如登录服务器的单独服务器建立连接的情况下,每个客户可仅通过中继服务器在维持P2P网络连接的同时发送数据。此外,可在不管每个客户的TCP使用环境或UDP使用环境的情况下,使用中继服务器来发送数据。最后,可保证使用中继服务器的客户之间的数据传输。
示例性实施例可包括可记录介质,所述可记录介质具有用于执行使用中继服务器的数据传输方法的程序代码。计算机可读可记录介质包括各种类型的可记录介质,在所述可记录介质中可存储可由计算机系统读取的数据。例如,计算机可读可记录介质包括只读存储器(ROM)、随机存取存储器(RAM)、致密盘(CD)-ROM、磁带、软盘、光数据存储设备等。此外,计算机可读可记录介质可分布在通过网络彼此连接的计算机系统中,且可在其中存储和执行可由计算机通过分布处理方法来读取的程序代码。
本领域技术人员将清楚,在不脱离本发明构思的精神和范围的情况下,可对上述示例性实施例进行各种修改。因此,只要所有这样的修改在权利要求及其等同物的范围之内,则示例性实施例意图覆盖所有这样的修改。

Claims (25)

1.一种数据传输系统,包括:
中继服务器;
第一客户,配置为将注册包发送到中继服务器,
其中,中继服务器在基于注册包注册第一客户之后,将注册结果消息发送到第一客户,其中,中继服务器是用户数据报协议(UDP)中继服务器;
其中,所述数据传输系统还包括:
定位服务器,配置为存储由中继服务器发送的第一客户注册信息,
其中,第一客户被配置为在从定位服务器获得第二客户的UDP连接信息之后,将包括UDP连接信息的数据包发送到连接到第二客户的UDP中继服务器,其中,所述注册包包括:
头,包括第一客户的私有IP地址和第一客户的私有端口号;
有效载荷,包括第一客户的用户识别信息、第一客户的私有IP地址、第一客户的私有端口号以及第一客户所属的私有网络的网络地址转换器(NAT)类型。
2.如权利要求1所述的数据传输系统,还包括:
NAT,设置在第一客户所属的私有网络中,配置为将包括在由第一客户发送的数据包中的头中的第一客户的私有IP地址转换为与所述私有IP地址映射的公共IP地址,将包括在头中的第一客户的私有端口号转换为与所述私有端口号映射的公共端口号,并将所述公共IP地址和所述公共端口号传送到中继服务器。
3.如权利要求2所述的数据传输系统,其中,第一客户注册信息包括第一客户的用户识别信息、第一客户的私有IP地址、第一客户的私有端口号、第一客户所属的私有网络的NAT类型、与第一客户的私有IP地址映射的公共IP地址以及与第一客户的私有端口号映射的公共端口号中的至少一个。
4.如权利要求1所述的数据传输系统,其中,UDP连接信息包括连接到第二客户的UDP中继服务器的地址和与第二客户的公共网络映射的地址。
5.如权利要求4所述的数据传输系统,其中,连接到第二客户的UDP中继服务器在从UDP连接信息检查与第二客户的公共网络映射的地址之后,将数据包传送到与第二客户的公共网络映射的地址。
6.如权利要求1、4到5中的任何一项所述的数据传输系统,其中,第一客户将数据包划分为多个片段,发送所述多个片段,为数据包分配交换号,并为多个包片段分配片段号。
7.如权利要求1所述的数据传输系统,其中,第一客户在接收到注册结果消息之后周期性地将保持接通消息发送到UDP中继服务器,并且UDP中继服务器将所述保持接通消息重发到第一客户。
8.一种数据传输系统,包括:
中继服务器;
第一客户,配置为将注册包发送到中继服务器,
其中,中继服务器被配置为在基于注册包注册第一客户之后,将注册结果消息发送到第一客户,其中,中继服务器是传输控制协议(TCP)中继服务器;
其中,所述数据传输系统还包括:
定位服务器,配置为存储由中继服务器发送的第一客户注册信息,
其中,第一客户在从定位服务器获得第二客户的TCP连接信息之后,将包括TCP连接信息的数据包发送到连接到第二客户的TCP中继服务器,
其中,所述注册包包括:
头,包括第一客户的私有IP地址和第一客户的私有端口号;
有效载荷,包括第一客户的用户识别信息、第一客户的私有IP地址、第一客户的私有端口号以及第一客户所属的私有网络的网络地址转换器(NAT)类型。
9.如权利要求8所述的数据传输系统,其中,TCP连接信息包括连接到第二客户的TCP中继服务器的地址和第二客户的用户识别信息。
10.如权利要求9所述的数据传输系统,其中,连接到第二客户的TCP中继服务器在从TCP连接信息通过第二客户的用户识别信息来检查第二客户具有与中继服务器的TCP连接之后,将数据包传送到具有TCP连接的第二客户。
11.如权利要求8至10中的任何一项所述的数据传输系统,其中,第一客户将数据包划分为多个片段,发送所述多个片段,为数据包分配交换号,并为多个包片段分配片段号。
12.如权利要求8所述的数据传输系统,其中,第一客户在与TCP中继服务器建立TCP连接之后,将注册包发送到TCP中继服务器。
13.一种数据传输系统,包括:
中继服务器;
第一客户,配置为将注册包发送到中继服务器,
其中,中继服务器被配置为在基于注册包注册第一客户之后,将注册结果消息发送到第一客户,其中,中继服务器是用户数据报协议(UDP)中继服务器;
其中,所述数据传输系统还包括:
定位服务器,配置为存储由中继服务器发送的第一客户注册信息,
其中,第一客户在从定位服务器获得第二客户的TCP连接信息之后,将包括TCP连接信息的数据包发送到连接到第一客户的UDP中继服务器,
其中,所述注册包包括:
头,包括第一客户的私有IP地址和第一客户的私有端口号;
有效载荷,包括第一客户的用户识别信息、第一客户的私有IP地址、第一客户的私有端口号以及第一客户所属的私有网络的网络地址转换器(NAT)类型。
14.如权利要求13所述的数据传输系统,其中,TCP连接信息包括连接到第二客户的TCP中继服务器的地址和第二客户的用户识别信息。
15.如权利要求14所述的数据传输系统,其中:
UDP中继服务器在从TCP连接信息检查连接到第二客户的TCP中继服务器的地址之后,将数据包发送到连接到第二客户的TCP中继服务器,
连接到第二客户的TCP中继服务器在从TCP连接信息通过第二客户的用户识别信息来检查第二客户具有与TCP中继服务器的TCP连接之后,将数据包传送到具有TCP连接的第二客户。
16.如权利要求13-15中的任何一项所述的数据传输系统,其中,第一客户将数据包划分为多个片段,发送所述多个片段,为数据包分配交换号,并为多个包片段分配片段号。
17.一种数据传输系统,包括:
中继服务器;
第一客户,配置为将注册包发送到中继服务器,
其中,中继服务器被配置为在基于注册包注册第一客户之后,将注册结果消息发送到第一客户,其中,中继服务器是传输控制协议(TCP)中继服务器;
其中,所述数据传输系统还包括:
定位服务器,配置为存储由中继服务器发送的第一客户注册信息,
其中,第一客户在从定位服务器获得第二客户的UDP连接信息之后,将包括UDP连接信息的数据包发送到连接到第一客户的TCP中继服务器,
其中,所述注册包包括:
头,包括第一客户的私有IP地址和第一客户的私有端口号;
有效载荷,包括第一客户的用户识别信息、第一客户的私有IP地址、第一客户的私有端口号以及第一客户所属的私有网络的网络地址转换器(NAT)类型。
18.如权利要求17所述的数据传输系统,其中,UDP连接信息包括连接到第二客户的UDP中继服务器的地址和与第二客户的公共网络映射的地址。
19.如权利要求18所述的数据传输系统,其中:
TCP中继服务器在从UDP连接信息检查连接到第二客户的UDP中继服务器的地址之后,将数据包传送到连接到第二客户的UDP中继服务器,
连接到第二客户的UDP中继服务器在从UDP连接信息检查与第二客户的公共网络映射的地址之后,将数据包传送到与第二客户的公共网络映射的地址。
20.如权利要求17-19中的任何一项所述的数据传输系统,其中,第一客户将数据包划分为多个片段,发送所述多个片段,为数据包分配交换号,并为多个包片段分配片段号。
21.如权利要求20所述的数据传输系统,其中,第二客户将与数据包的交换号和所述多个包片段的片段号之一对应的确认(ACK)发送到第一客户。
22.一种使用中继服务器的数据传输方法,包括:
由中继服务器从第一客户接收注册包;
由中继服务器在通过注册包注册第一客户之后,将注册结果消息发送到第一客户;
其中,所述数据传输方法还包括以下步骤:
由中继服务器将第一客户的注册信息发送到定位服务器;
由第一客户从定位服务器获得第二客户的UDP连接信息;
由第一客户在从UDP连接信息检查连接到第二客户的UDP中继服务器的地址之后,将包括UDP连接信息的数据包发送到连接到第二客户的UDP中继服务器;
由连接到第二客户的UDP中继服务器在从UDP连接信息检查与第二客户的公共网络映射的地址之后,将数据包发送到与第二客户的公共网络映射的地址,
其中,所述注册包包括:
头,包括第一客户的私有IP地址和第一客户的私有端口号;
有效载荷,包括第一客户的用户识别信息、第一客户的私有IP地址、第一客户的私有端口号以及第一客户所属的私有网络的网络地址转换器(NAT)类型。
23.一种使用中继服务器的数据传输方法,包括:
由中继服务器从第一客户接收注册包;
由中继服务器在通过注册包注册第一客户之后,将注册结果消息发送到第一客户;
其中,所述数据传输方法还包括以下步骤:
由中继服务器将第一客户的注册信息发送到定位服务器;
由第一客户从定位服务器获得第二客户的TCP连接信息;
由第一客户在从TCP连接信息检查连接到第二客户的TCP中继服务器的地址之后,将包括TCP连接信息的数据包发送到连接到第二客户的TCP中继服务器;
由连接到第二客户的TCP中继服务器在从TCP连接信息通过第二客户的用户识别信息检查第二客户具有与TCP中继服务器的TCP连接之后,将数据包发送到具有TCP连接的第二客户,
其中,所述注册包包括:
头,包括第一客户的私有IP地址和第一客户的私有端口号;
有效载荷,包括第一客户的用户识别信息、第一客户的私有IP地址、第一客户的私有端口号以及第一客户所属的私有网络的网络地址转换器(NAT)类型。
24.一种使用中继服务器的数据传输方法,包括:
由中继服务器从第一客户接收注册包;
由中继服务器在通过注册包注册第一客户之后,将注册结果消息发送到第一客户;
其中,所述数据传输方法还包括以下步骤:
由中继服务器将第一客户的注册信息发送到定位服务器;
由第一客户从定位服务器获得第二客户的TCP连接信息;
由第一客户将包括TCP连接信息的数据包发送到连接到第一客户的UDP中继服务器;
由UDP中继服务器在从TCP连接信息检查连接到第二客户的TCP中继服务器的地址之后,将数据包传送到连接到第二客户的TCP中继服务器;
由连接到第二客户的TCP中继服务器在从TCP连接信息通过第二客户的用户识别信息检查第二客户具有与TCP中继服务器的TCP连接之后,将数据包传送到具有TCP连接的第二客户,
其中,所述注册包包括:
头,包括第一客户的私有IP地址和第一客户的私有端口号;
有效载荷,包括第一客户的用户识别信息、第一客户的私有IP地址、第一客户的私有端口号以及第一客户所属的私有网络的网络地址转换器(NAT)类型。
25.一种使用中继服务器的数据传输方法,包括:
由中继服务器从第一客户接收注册包;
由中继服务器在通过注册包注册第一客户之后,将注册结果消息发送到第一客户;
其中,所述数据传输方法还包括以下步骤:
由中继服务器将第一客户的注册信息发送到定位服务器;
由第一客户从定位服务器获得第二客户的UDP连接信息;
由第一客户将包括UDP连接信息的数据包发送到连接到第一客户的TCP中继服务器;
由TCP中继服务器在从UDP连接信息检查连接到第二客户的UDP中继服务器的地址之后,将数据包传送到连接到第二客户的UDP中继服务器;
由连接到第二客户的UDP中继服务器在从UDP连接信息检查与第二客户的公共网络映射的地址之后,将数据包传送到与第二客户的公共网络映射的地址,
其中,所述注册包包括:
头,包括第一客户的私有IP地址和第一客户的私有端口号;
有效载荷,包括第一客户的用户识别信息、第一客户的私有IP地址、第一客户的私有端口号以及第一客户所属的私有网络的网络地址转换器(NAT)类型。
CN201110389291.4A 2010-12-27 2011-11-30 使用中继服务器的数据传输系统和方法 Active CN102571749B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2010-0135270 2010-12-27
KR1020100135270A KR101263783B1 (ko) 2010-12-27 2010-12-27 릴레이 서버를 이용한 데이터 전송 시스템 및 방법

Publications (2)

Publication Number Publication Date
CN102571749A CN102571749A (zh) 2012-07-11
CN102571749B true CN102571749B (zh) 2015-06-10

Family

ID=45094535

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110389291.4A Active CN102571749B (zh) 2010-12-27 2011-11-30 使用中继服务器的数据传输系统和方法

Country Status (5)

Country Link
US (1) US9137313B2 (zh)
EP (1) EP2469792B1 (zh)
JP (1) JP5378494B2 (zh)
KR (1) KR101263783B1 (zh)
CN (1) CN102571749B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10187441B2 (en) * 2011-10-03 2019-01-22 CSC Holdings, LLC Media relay
US8990955B2 (en) * 2012-08-01 2015-03-24 Blackberry Limited Controlling access to a shared file
CN102917082B (zh) * 2012-10-10 2016-03-23 青岛海信传媒网络技术有限公司 穿透网络地址转换的消息推送方法及系统
US9432330B2 (en) * 2013-05-29 2016-08-30 Huawei Technologies Co., Ltd. Data interaction method, apparatus, and system
CN103347099B (zh) * 2013-05-29 2016-08-10 华为技术有限公司 一种数据交互的方法、装置及系统
CN104408778B (zh) * 2014-10-10 2016-08-24 来安县新元机电设备设计有限公司 基于穿越nat的远程考勤的实现方法、考勤机及考勤服务器
CN105635227A (zh) * 2014-11-05 2016-06-01 北京东土科技股份有限公司 一种基于串口服务器的点对点通信方法及系统
CN104408777B (zh) * 2014-11-27 2017-04-12 凯拔(中国)科技有限公司 一种基于nat穿越实现p2p通信的互联网考勤管理系统和方法
KR101586058B1 (ko) * 2014-12-10 2016-01-22 경희대학교 산학협력단 Nat환경을 고려한 피투피 통신 연결 장치 및 이를 이용한 피투피 통신 연결 방법
CN104980528A (zh) * 2015-06-26 2015-10-14 广州华多网络科技有限公司 实现节点间通信的方法、系统及装置
US10749698B2 (en) * 2017-05-18 2020-08-18 Vmware, Inc. Feature-aware software usage metering
US11196831B2 (en) * 2017-10-31 2021-12-07 Canon Kabushiki Kaisha Communication apparatus, communication method, and storage medium
US11323288B2 (en) 2018-08-07 2022-05-03 Dh2I Company Systems and methods for server cluster network communication across the public internet
US11165891B2 (en) 2018-08-27 2021-11-02 Dh2I Company Highly available transmission control protocol tunnels
US11575757B2 (en) 2019-06-17 2023-02-07 Dh2I Company Cloaked remote client access
US11677584B2 (en) * 2019-06-17 2023-06-13 Dh2I Company Application TCP tunneling over the public internet
US11563802B2 (en) 2020-11-06 2023-01-24 Dh2I Company Systems and methods for hierarchical failover groups
CN113037890A (zh) * 2021-03-20 2021-06-25 张晋 一种能够确保穿透对称型nat设备的方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101106550A (zh) * 2007-08-31 2008-01-16 金蝶软件(中国)有限公司 大尺寸消息的发送方法、接收方法及传输系统
CN101163082A (zh) * 2006-10-11 2008-04-16 村田机械株式会社 文件服务器装置
CN101594242A (zh) * 2009-06-23 2009-12-02 腾讯科技(深圳)有限公司 一种传输视频数据的方法、系统和装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3581251B2 (ja) * 1998-06-16 2004-10-27 株式会社東芝 通信システム、データパケット転送方法、ルータ装置及びパケット中継装置
US20020095506A1 (en) * 2001-01-15 2002-07-18 Murata Kikai Kabushiki Kaisha Relay server, communication system and facsimile system
KR100456311B1 (ko) 2001-10-09 2004-11-09 아이피원(주) 무선 랜을 이용한 무선 데이터통신단말기간 피어투피어모드 통신 서비스 장치 및 방법
KR100475186B1 (ko) * 2002-12-02 2005-03-10 삼성전자주식회사 접속 설정 프로토콜을 이용한 단말 장치의 등록 방법
US7899932B2 (en) * 2003-01-15 2011-03-01 Panasonic Corporation Relayed network address translator (NAT) traversal
AU2003277691A1 (en) * 2003-11-03 2005-05-19 Immertec Co., Ltd. Udp packet communication method and system for private ip terminals
JP4331090B2 (ja) * 2004-11-05 2009-09-16 パナソニック株式会社 通信システム、情報処理装置、仲介サーバ、識別情報送信サーバ、通信方法及びプログラム
WO2006049251A1 (ja) * 2004-11-08 2006-05-11 Matsushita Electric Industrial Co., Ltd. 通信端末及び通信方法
US7912046B2 (en) * 2005-02-11 2011-03-22 Microsoft Corporation Automated NAT traversal for peer-to-peer networks
JP4487810B2 (ja) * 2005-03-14 2010-06-23 株式会社日立製作所 セッション中継装置
US7313134B2 (en) * 2005-05-12 2007-12-25 Yahoo! Inc. Proxy server for relaying VOIP messages
JP4327142B2 (ja) * 2005-09-29 2009-09-09 パナソニック株式会社 情報処理システム、トンネル通信装置、トンネル通信方法、代理応答装置、及び代理応答方法
KR100660123B1 (ko) 2005-10-25 2006-12-20 (주)클립컴 Nat 통과를 위한 브이.피.엔 서버 시스템 및 브이.피.엔클라이언트 단말기
US20070233844A1 (en) * 2006-03-29 2007-10-04 Murata Kikai Kabushiki Kaisha Relay device and communication system
US20070253418A1 (en) * 2006-04-27 2007-11-01 D.S.P. Group Ltd. Routing path optimization between sip endpoints
JP4222397B2 (ja) * 2006-09-12 2009-02-12 村田機械株式会社 中継サーバ
CN101491021A (zh) * 2006-09-22 2009-07-22 松下电器产业株式会社 通信装置、通信方法及通信系统
DE602007012475D1 (de) * 2006-10-11 2011-03-24 Murata Machinery Ltd Relaisserver
JP2008263279A (ja) * 2007-04-10 2008-10-30 Toyota Motor Corp 通信ネットワークシステム及び端末間通信方法
JP4847403B2 (ja) * 2007-04-20 2011-12-28 パナソニック株式会社 Ip通信装置及びip通信装置によるnat種別の判定方法
CN101431464A (zh) * 2007-11-06 2009-05-13 阿里巴巴集团控股有限公司 一种优选客户端之间数据传输路径的方法及其装置
US20090319674A1 (en) * 2008-06-24 2009-12-24 Microsoft Corporation Techniques to manage communications between relay servers
US8374188B2 (en) * 2008-06-24 2013-02-12 Microsoft Corporation Techniques to manage a relay server and a network address translator

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101163082A (zh) * 2006-10-11 2008-04-16 村田机械株式会社 文件服务器装置
CN101106550A (zh) * 2007-08-31 2008-01-16 金蝶软件(中国)有限公司 大尺寸消息的发送方法、接收方法及传输系统
CN101594242A (zh) * 2009-06-23 2009-12-02 腾讯科技(深圳)有限公司 一种传输视频数据的方法、系统和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Managing Client-Initiated Connections in the Session Initiation Protocol (SIP);C. Jennings等;《Network Working Group Request for Comments: 5626, Standards Track》;20091030;4.4.2 *

Also Published As

Publication number Publication date
KR20120073489A (ko) 2012-07-05
US20120166593A1 (en) 2012-06-28
EP2469792A3 (en) 2012-07-25
US9137313B2 (en) 2015-09-15
EP2469792A2 (en) 2012-06-27
EP2469792B1 (en) 2016-09-07
JP2012138901A (ja) 2012-07-19
CN102571749A (zh) 2012-07-11
JP5378494B2 (ja) 2013-12-25
KR101263783B1 (ko) 2013-05-13

Similar Documents

Publication Publication Date Title
CN102571749B (zh) 使用中继服务器的数据传输系统和方法
CN101141420B (zh) 私网与公网进行数据通信的方法及系统
CN101296238B (zh) 一种保持安全套接层会话持续性的方法及设备
US20050229243A1 (en) Method and system for providing Web browsing through a firewall in a peer to peer network
CN101138219B (zh) 通过网络与客户机通信的方法和系统
US20070233844A1 (en) Relay device and communication system
EP3125502A1 (en) Method for providing access to a web server
US20150381563A1 (en) Relay system for transmitting ip address of client to server and method therefor
CN105847108B (zh) 容器间的通信方法及装置
CN112997463A (zh) 用于跨公用互联网的服务器集群网络通信的系统和方法
CN102812671A (zh) 用于进行diameter消息处理器间路由的方法、系统和计算机可读介质
CN103081382A (zh) 用于多路复用网络信道的系统和方法
CN102984289A (zh) 用于移动网络设备的nat穿透
CN106604119B (zh) 一种用于智能电视私有云设备的网络穿透方法及系统
CN101304436A (zh) 实现应用层会话持续性的负载均衡方法、系统及设备
CN111182022B (zh) 数据发送方法和装置、存储介质及电子装置
CN113810512A (zh) 物联网终端接入系统、方法、装置及存储介质
CN103119903A (zh) 网络服务器之间的负载平衡
US6757734B1 (en) Method of communication
US20080298273A1 (en) Method For Establishing a Communication Relationship in at Least One Communication Network
US9699139B2 (en) Communications system
US10742751B2 (en) User based mDNS service discovery
CN112134744A (zh) 一种分布式管理系统中节点的管理方法
CN104756462A (zh) 用于在限制性防火墙后进行tcp turn操作的方法和系统
CN105791432A (zh) 一种p2p通信方法和p2p通信系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant