CN105897761B - Ice服务方法、ice服务器及ice客户端 - Google Patents
Ice服务方法、ice服务器及ice客户端 Download PDFInfo
- Publication number
- CN105897761B CN105897761B CN201610424443.2A CN201610424443A CN105897761B CN 105897761 B CN105897761 B CN 105897761B CN 201610424443 A CN201610424443 A CN 201610424443A CN 105897761 B CN105897761 B CN 105897761B
- Authority
- CN
- China
- Prior art keywords
- udt
- stun
- ice
- protocol package
- port
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 108700023290 Stanford University protocol Proteins 0.000 claims abstract description 72
- 230000005540 biological transmission Effects 0.000 claims abstract description 44
- 238000006243 chemical reaction Methods 0.000 claims abstract description 31
- 238000012546 transfer Methods 0.000 claims abstract description 19
- 238000004891 communication Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 4
- 238000005457 optimization Methods 0.000 abstract 1
- 230000003993 interaction Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2575—NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种ICE服务方法,其中,ICE服务器与ICE客户端的数据传输,采用UDT数据传输方法传输UDT协议包,并可采用UDP数据传输方法传输stun协议包。ICE服务器通过UDT代理单元进行UDT协议与stun协议包的转换。还提供与上述方法相应的ICE服务器和ICE客户端。本发明中ICE服务器与客户端的数据传输采用UDT数据传输方法,由于UDT数据传输方法在数据传输的过程中具有拥塞控制和数据可靠性控制机制,因而能最大的保障数据的可靠性,以及数据流量最优化。ICE服务器同时接受UDT协议包、stun协议包,具有很好的兼容性。
Description
技术领域
本发明涉及计算机网络技术领域,具体涉及ICE服务技术。
背景技术
ICE应用是基于stun协议,使用UDP进行传输的服务。
UDP是一种无连接的传输。UDP不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。
对此,现有技术的一种解决方案是,在ICE的通讯层加ACK确认机制,即在发送数据包之时,将发送数据的摘要做一次缓存,当收到ACK确认之时将数据摘要移除,从而保证数据是否到达。这样的ACK机制存在很明显的缺陷:ACK丢失的情况下缺少处理方案;并且其没有拥塞控制,可能会导致UDP包大量发送,从而造成数据流量增长。
发明内容
本发明的目的在于提供一种ICE服务方法、ICE服务器及ICE客户端,其能在数据传输的过程中保障数据的可靠性。
本发明的ICE服务方法,其中,ICE服务器采用UDT数据传输方法进行与ICE客户端的数据传输。
其中,ICE服务器采用UDT数据传输方法所传输的数据为UDT协议包,ICE服务器向ICE客户端发送数据前进行stun协议包到UDT协议包的转换,ICE服务器从ICE客户端接收数据后进行UDT协议包到stun协议包的转换。
优选地,ICE服务器采用UDT数据传输方法传输UDT协议包,并可采用UDP数据传输方法传输stun协议包,对于UDT协议包,ICE服务器向ICE客户端发送数据前进行stun协议包到UDT协议包的转换,ICE服务器从ICE客户端接收数据后进行UDT协议包到stun协议包的转换。
其中,ICE服务器接收数据后,判断是否为UDT协议包:若是,则进行UDT协议包到stun协议包的转换;ICE服务器发送数据前,判断是否以UDT协议包进行发送:若是,则进行stun协议包到UDT协议包的转换。
其中,ICE服务器通过stun服务器进行数据处理,优选地,所述的ICE服务方法为每一ICE客户端指定stun服务器的一个stun端口,并且当ICE服务器收到ICE客户端发送过来的UDT协议包时,会为该客户端生成一个UDT代理单元与指定的stun端口通信连接,UDT代理单元进行UDT协议包与stun协议包的转换,并与stun端口之间进行stun协议包的传输,以及与ICE客户端之间进行UDT协议包的传输。
本发明的ICE服务器,包括stun服务器和进行UDT协议包与stun协议包的转换的UDT代理单元,其中,stun服务器具有stun端口,UDT代理单元具有:UDT端口,与ICE客户端通信连接,以UDT数据传输方法传输UDT协议包;连接端口,与stun端口通信连接,传输stun协议包。
优选地,ICE服务器具有:UDT端口,与ICE客户端以UDT数据传输方法传输UDT协议包,UDT端口为UDT代理单元的UDT端口;stun端口,与ICE客户端以UDP数据传输方法传输stun协议包,stun端口为stun服务器的stun端口。
优选地,每一个ICE客户端对应一个指定的stun端口和数据传输路径,UDT代理单元连接于指定的stun端口和发送UDT协议包的该ICE客户端之间、指定的数据传输路径之上。
其中,ICE服务器设有判断单元,进行如下判断:接收数据后,判断是否为UDT协议包:若是,则通过UDT代理单元进行UDT协议包到stun协议包的转换,并将stun协议包传输给stun端口;若否,则将stun协议包传输给stun端口,发送数据前,判断是否以UDT协议包进行发送:若是,则通过UDT代理单元进行stun协议包到UDT协议包的转换后从UDT端口发送;若否,则将stun协议包从stun端口发送。
本发明的ICE客户端,具有UDT端口,UDT端口与ICE服务器之间以UDT数据传输方法进行UDT协议包的传输。
本发明的有益效果在于,本发明的ICE服务方法、ICE服务器及ICE客户端,其中ICE服务器与客户端的数据传输采用UDT协议,由于UDT协议在数据传输的过程中具有拥塞控制和数据可靠性控制机制,因而能最大的保障数据的可靠性,以及数据流量最优化。
本发明中,ICE服务器与新版ICE客户端之间采用UDT数据传输方法传输UDT协议包,并可与旧版ICE客户端之间采用UDP数据传输方法传输stun协议包。ICE服务器可以同时接受UDT协议包、stun协议包这两种数据,不仅支持更优性能的UDT协议包传输,也支持原有stun协议包传输,具有很好的兼容性。ICE服务器分别通过stun端口和UDT端口收发stun协议包和UDT协议包。
ICE服务器通过UDT代理单元进行UDT协议包与stun协议包的转换并与stun服务器进行stun协议包的交互:向客户端发送数据前进行stun协议包到UDT协议包的转换,从客户端接收数据后进行UDT协议包到stun协议包的转换。由此实现了对UDT协议包的支持。
附图说明
图1是本发明的ICE服务***架构图。
具体实施方式
下面参照附图描述本发明的实施方式,其中相同的部件用相同的附图标记表示。
UDT全称是基于UDP的数据传输协议(UDP-based Data Transfer Protocol)。UDT的主要目的是支持高速广域网上的海量数据传输。顾名思义,UDT建于UDP之上,并引入新的拥塞控制和数据可靠性控制机制。UDT是面向连接的双向的应用层协议。它同时支持可靠的数据流传输和部分可靠的数据报传输。由于UDT完全在UDP上实现,它也可以应用在除了高速数据传输之外的其它应用领域。
为了提高ICE应用数据的可靠性,本发明考虑在UDT的基础上实现ICE服务方法,构建ICE服务器及ICE客户端。
现有ICE客户端(旧版)和ICE服务器建立直连通道之前,需要通过stun协议包与ICE服务器进行相关交互,从而获取客户端自身的会话描述协议(SDP信息)。
本发明中,ICE服务器中包括stun服务器,stun服务器通过stun端口收发并进一步处理stun协议包。stun服务器是ICE服务器的核心。
本发明采用UDT协议(即UDT数据传输方法),来实现ICE服务器和新版ICE客户端之间数据的传输,即采用UDT协议传输二者之间的数据UDT协议包。
对于旧版的ICE客户端,ICE服务器发送和接收stun协议包,stun协议包通过UDP协议传输。
在ICE服务器,为原有的stun服务器配置了UDT代理单元。UDT代理单元具有连接端口,与stun服务器的stun端口通信连接,进行stun协议包的传输。UDT代理单元还具有UDT端口,与ICE客户端(新版)通信连接,收发UDT协议包。
stun服务器通过stun端口收发stun协议包。实际上,可以为每一ICE客户端指定一个stun端口。stun端口可以直接连接ICE客户端,进行stun协议包的收发。stun端口也可以连接UDT代理单元,协同UDT代理单元进行UDT协议包的收发。
UDT代理单元,实现UDT协议包与stun协议包的转换。具体的,所述数据转换为:对UDT协议包,进行解包,剥离外层的UDT协议,得到原始的stun协议包;对stun协议包,进行封包,成为UDT协议包。
由此,ICE服务器具有两种数据端口:stun端口和UDT端口,分别用于收发来自客户端的stun协议包和UDT协议包。
综上,本发明提供了一种ICE服务方法,其中,ICE服务器与新版客户端的数据传输采用UDT协议,传输UDT协议包,实现了数据的可靠性,并且数据流量最小。
优选地,ICE服务器仍可与旧版客户端采用UDP协议进行数据传输,传输stun协议包。ICE服务器可同时与新版客户端、旧版客户端进行不同模式的数据传输,实现了兼容。ICE服务器当然也可以只接受UDT协议包,此为不兼容的情况。
对于UDT协议包,由于stun服务器中处理的是stun协议包,因而需要进行stun协议包与UDT协议包的转换。也就是,ICE服务器向客户端发送数据前进行stun协议包到UDT协议包的转换,ICE服务器从客户端接收数据后进行UDT协议包到stun协议包的转换。
对于ICE服务器既接受UDT协议包也接受stun协议包的情况,在接收数据后需要判断是否为UDT协议包:若是,则进行UDT协议包到stun协议包的转换,而后将转换所得的stun协议包提供给stun服务器;若否,则将stun协议包直接提供给stun服务器。
对于发送UDT协议包给ICE服务器的客户端,需要向其返回UDT协议包。而对于发送stun协议包给ICE服务器的客户端,需要向其返回stun协议包。因而,ICE服务器发送数据前,会据此判断是否以UDT协议包进行发送:若是,则进行stun协议包到UDT协议包的转换;若否,则将stun协议包直接发送。UDT协议包的发送采用UDT协议,stun协议包的发送采用UDP协议。
实际上,优选地,本发明为ICE服务器的数据收发提供了以下方式,其中,每个ICE客户端(新版)对应于一个指定的UDT代理单元以及与之通信连接的stun服务器的一个指定的stun端口。具体的,当ICE服务器收到客户端发送过来的数据,并判断为UDT协议包时,会为该客户端生成一个UDT代理单元,并且为该UDT代理单元指定stun服务器的一个stun端口与之通信连接,以将转换后的stun协议包发送给stun服务器。在stun服务器处理完该客户端的数据后,生成stun协议包,并将stun协议包返回传输数据过来的所述stun端口。通过所述指定的stun端口发送到与之通信连接的所述指定的UDT代理单元,以将转换后的UDT协议包返回给所述ICE客户端(新版)。而每个ICE客户端(旧版)对应于stun服务器的一个指定的stun端口。
与上述方法相应地,本发明的ICE服务***架构如图1所示。
本发明提供了一种ICE服务器,包括stun服务器和UDT代理单元,二者通信连接。
stun服务器具有stun端口,收发、处理stun协议包。stun服务器监听stun端口。
UDT代理单元具有:UDT端口,与ICE客户端(新版)通信连接,传输UDT协议包;连接端口,与stun服务器的stun端口通信连接,传输stun协议包。
UDT代理单元进行UDT协议包与stun协议包的转换。通过UDT代理单元,实现了ICE服务器对UDT协议包的收发。UDT代理单元监听UDT端口。
由此,ICE服务器提供了两种数据端口:UDT端口和stun端口。
与之相对应的是两种数据传输路径。UDT路径:ICE客户端(新版)-UDT端口-UDT代理单元-连接端口-stun端口-stun服务器。其中,优选地,UDT端口、UDT代理单元和stun端口是为该ICE客户端(新版)指定的,也就是说每一个ICE客户端(新版)具有一个指定的数据传输路径。stun路径:ICE客户端(旧版)-stun端口-stun服务器。
当然,上述是考虑兼容性的情况,实际也可以不兼容,而只提供UDT端口和UDT路径。
对于ICE服务器既接受UDT协议包也接受stun协议包的情况,ICE服务器设有判断单元,进行如下判断:
接收数据后,判断是否为UDT协议包:若是,则通过UDT代理单元进行UDT协议包到stun协议包的转换,并将stun协议包传输给UDT端口;若否,则将stun协议包传输给stun端口,
发送数据前,判断是否以UDT协议包进行发送:若是,则通过UDT代理单元进行stun协议包到UDT协议包的转换后从UDT端口以UDT协议发送;若否,则将stun协议包从stun端口以UDP协议发送。
本发明还提供了一种ICE客户端,具有UDT端口,以发送、接收UDT协议包。
以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (2)
1.一种ICE服务方法,其特征在于,ICE服务器采用UDT数据传输方法,所传输的数据为UDT协议包,ICE服务器向ICE客户端发送数据前进行stun协议包到UDT协议包的转换,ICE服务器从ICE客户端接收数据后进行UDT协议包到stun协议包的转换;
ICE服务器接收数据后,判断是否为UDT协议包:若是,则进行UDT协议包到stun协议包的转换;
ICE服务器发送数据前,判断是否以UDT协议包进行发送:若是,则进行stun协议包到UDT协议包的转换
ICE服务器通过stun服务器进行数据处理,所述的ICE服务方法为每一ICE客户端指定stun服务器的一个stun端口,并且当ICE服务器收到ICE客户端发送过来的UDT协议包时,会为该客户端生成一个UDT代理单元与指定的stun端口通信连接,UDT代理单元进行UDT协议包与stun协议包的转换,并与stun端口之间进行stun协议包的传输,以及与ICE客户端之间进行UDT协议包的传输。
2.一种ICE服务器,其特征在于,包括stun服务器和进行UDT协议包与stun协议包的转换的UDT代理单元,其中,
stun服务器具有stun端口,
UDT代理单元具有:UDT端口,与ICE客户端通信连接,以UDT数据传输方法传输UDT协议包;连接端口,与stun端口通信连接,传输stun协议包;ICE服务器具有:
UDT端口,与ICE客户端以UDT数据传输方法传输UDT协议包,UDT端口为UDT代理单元的UDT端口;
stun端口,与ICE客户端以UDP数据传输方法传输stun协议包,stun端口为stun服务器的stun端口;每一个ICE客户端对应一个指定的stun端口和数据传输路径,UDT代理单元连接于指定的stun端口和发送UDT协议包的该ICE客户端之间、指定的数据传输路径之上;
ICE服务器设有判断单元,进行如下判断:
接收数据后,判断是否为UDT协议包:若是,则通过UDT代理单元进行UDT协议包到stun协议包的转换,并将stun协议包传输给stun端口;若否,则将stun协议包传输给stun端口,
发送数据前,判断是否以UDT协议包进行发送:若是,则通过UDT代理单元进行stun协议包到UDT协议包的转换后从UDT端口发送;若否,则将stun协议包从stun端口发送。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610424443.2A CN105897761B (zh) | 2016-06-15 | 2016-06-15 | Ice服务方法、ice服务器及ice客户端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610424443.2A CN105897761B (zh) | 2016-06-15 | 2016-06-15 | Ice服务方法、ice服务器及ice客户端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105897761A CN105897761A (zh) | 2016-08-24 |
CN105897761B true CN105897761B (zh) | 2019-08-13 |
Family
ID=56730829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610424443.2A Expired - Fee Related CN105897761B (zh) | 2016-06-15 | 2016-06-15 | Ice服务方法、ice服务器及ice客户端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105897761B (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100521663C (zh) * | 2006-04-18 | 2009-07-29 | 华为技术有限公司 | 点对点通信中穿越网络地址转换的方法 |
CN103297745A (zh) * | 2012-03-02 | 2013-09-11 | 三星电子(中国)研发中心 | 一种基于个人云的智能门铃*** |
CN102685268B (zh) * | 2012-05-22 | 2015-02-18 | 北京邮电大学 | 一种VoIP中基于ICE协议的快速私网穿越方法 |
-
2016
- 2016-06-15 CN CN201610424443.2A patent/CN105897761B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN105897761A (zh) | 2016-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8176187B2 (en) | Method, system, and program for enabling communication between nodes | |
US11146452B2 (en) | Transparent auto-negotiation of ethernet | |
US7966380B2 (en) | Method, system, and program for forwarding messages between nodes | |
CN102017542B (zh) | 将光纤通道网络与基于以太网的网络对接的方法 | |
US7359395B2 (en) | Pre-fetch communication systems and methods | |
US7149817B2 (en) | Infiniband TM work queue to TCP/IP translation | |
CN100521663C (zh) | 点对点通信中穿越网络地址转换的方法 | |
US20040156393A1 (en) | Architecture and API for of transport and upper layer protocol processing acceleration | |
EP1892929A1 (en) | A method, an apparatus and a system for message transmission | |
JP2005027318A5 (zh) | ||
CN102447708A (zh) | 一种应用层透明代理技术的通信实现方法 | |
CN102594672A (zh) | 适用于低可靠网络环境下高质量互联网通讯的方法及*** | |
WO2011056261A1 (en) | Network switch | |
CN102315918B (zh) | 一种tcp连接与sctp连接互通的方法及装置 | |
CN108566390A (zh) | 一种卫星应用层安全协议的实现方法及卫星消息监听与分发服务*** | |
CN105897761B (zh) | Ice服务方法、ice服务器及ice客户端 | |
US20020141442A1 (en) | Method and apparatus for providing network access for PDA devices | |
CA2439726A1 (en) | Connection-oriented communication network and method of operating | |
JP3834858B2 (ja) | データ伝送装置およびその方法 | |
CN112199211B (zh) | 基于RapidIO的CORBA中间件ORB间通信方法 | |
CN101064671A (zh) | 一种基于p2p技术的网络视频信号的处理方法 | |
CA2592881A1 (en) | Dynamic endpoint aggregator for web services | |
JP4220434B2 (ja) | コンテンツ配信方法およびネットワーク | |
KR100265979B1 (ko) | 호스트 컴퓨터와 브랜치 프로세서간의 통신 프로토콜변환 방법 및 장치 | |
TW201025934A (en) | Network system for communicating between network devices located in different private networks and its network link method |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190813 |