网易首页 > 网易号 > 正文 申请入驻

网络协议之:基于UDP的高速数据传输协议UDT

0
分享至

简介

简单就是美。在网络协议的世界中,TCP和UDP是建立在IP协议基础上的两个非常通用的协议。我们现在经常使用的HTTP协议就是建立在TCP协议的基础上的。相当于TCP的稳定性来说,UDP因为其数据传输的不可靠性,所以用在某些特定的场合,如直播、广播消息、视频音频流处理等不太需要校验数据完整性的场合。

UDP相对TCP协议而言,其特点就是简洁,它删除了在TCP协议中为了保证消息准确性的各种限制性特征。简洁带来的好处就是快!今天给大家讲解一下,基于UDP的高速数据传输协议UDT。

UDT协议

UDP因为其简单的特性,所以可以做到很多TCP做不到的事情,比如进行大数据量的快速传输。这里并不是要将TCP和UDP分个好坏高下,毕竟各个协议的适应场景不同,它们之所以流行,就是因为可以在特定的场景发挥出重要的作用。套用中国的一句谚语就是:不管白猫黑猫,能抓到老鼠的,就是好猫。

用好UDP协议,我们就可以快速的传递大量的数据,这个协议就是UDT协议。

话说,像这些基础协议都是老外发明的,而中国的互联网巨头都在抢着做平台、做流量的生意,真的是无话可说….

UDT项目开始于2001年,是由Yunhong Gu在芝加哥伊利诺伊大学国家数据挖掘中心 (NCDM)读博士期间开发的,并在毕业之后持续的进行维护和升级改进。

UDP的出现是因为那时候,传输更快更便宜的光纤网络出现了,代替了之前的铜缆线和双绞线,从而极大的提升了信息传输的效率。这时候大家就会发现之前使用TCP协议来进行大数据的传输会有很大的问题。从而基于UDP的UDT协议出现了。

UDT的第一个版本,也称为SABUL(Simple Available Bandwidth Utility Library),UDT通过支持批量数据传输,从而方便在私有网络中进行数据的传输。

要注意的是UDT的第一个版本SABUL使用UDP协议进行传输数据,同时使用单独的TCP协议连接传输控制消息。

UDT的初始版本是在超高速网络(1 Gbit/s、10 Gbit/s等)上进行开发和测试的,2003年10月,NCDM实现了从美国芝加哥到荷兰阿姆斯特丹的平均每秒6.8G比特的传输。在30分钟内的测试中,他们传输了大约1.4TB的数据。

从2004年发布的2.0版本开始,SABUL改名为UDT,UDT的全称是UDP-based Data Transfer Protocol,也就是基于UDP的数据传输协议。

为什么要改成UDT呢?因为在UDT2.0中,删除了SABUL中的TCP 控制连接,并使用UDP来处理数据和控制信息。另外,UDT2还引入了一种新的拥塞控制算法,允许协议动态调整UDT和TCP流,实现UDT和TCP流的并发运行。

在2006年,UDT协议升级到了3版本,该协议不仅是在私有网络中运行了,而是扩展到了商业互联网中。同时UDT3中的拥塞控制可以进行调整优化,可以在低带宽的环境中运行,并且允许用户轻松定义和安装自己的拥塞控制算法。另外,UDT3还显着减少了系统资源(CPU和内存)的使用。

2007年,UDT4版本在高并发和防火墙穿透方面进行优化和性能的提升。UDT4允许多个UDT连接绑定到同一个UDP端口,它还支持集合连接设置,以便UDP hole punching。

什么是UDP hole punching呢?

UDP hole punching通常被用在网络地址转换 (NAT)中。用来维护穿越NAT的用户UDP数据包流。它是一种使用网络地址转换器在专用网络中的Internet主机之间建立双向UDP连接的方法。

什么是NAT呢?

大家都知道IPV4地址是有限的,很快IPV4地址就快用完了,那怎么解决这个问题呢?

当然,一个永久解决的办法是IPV6,不过IPV6推出这么多年了,好像还没有真正的普及。

不使用IPV6的话还有什么解决办法呢?

这个办法就是NAT(Network Address Translators)。

NAT的原理是将局域网的IP和端口和NAT设备的IP和端口做个映射。

NAT内部维护着一张转换表。这样就可以通过一个NAT的IP地址和不同的端口来连接众多的局域网服务器。

那么NAT有什么问题呢?

NAT的问题在于,内部客户端不知道自己外网IP地址,只知道内网IP地址。

如果是在UDP协议中,因为UDP是无状态的,所以需要NAT来重写每个UDP分组中的源端口、地址,以及IP分组中的源IP地址。

如果客户端是在应用程序内部将自己的IP地址告诉服务器,并想跟服务器建立连接,那么肯定是建立不了的。因为找不到客户端的公网IP。

即使找到了公网IP,任何到达NAT设备外网IP的分组还必须有一个目标端口,而且NAT转换表中也要有一个条目可以将其转换为内部主机的IP地址和端口号。否则就可能出现下图的连接失败的问题。

怎么解决呢?

第一种方式是使用STUN服务器。

STUN服务器是IP地址已知的服务器,客户端要通信之前,先去STUN服务器上面查询一下自己的外网IP和端口,然后再使用这个外网IP和端口进行通信。

但有时UDP包会被防火墙或者其他的应用程序所阻挡。这个时候就可以使用中继器技术Traversal Using Relays around NAT (TURN) 。

双方都将数据发送到中继器server,由中继器server来负责转发数据。注意,这里已经不是P2P了。

最后,我们有一个集大成者的协议叫做ICE(Interactive Connectivity Establishment ):

它实际上就是直连,STUN和TURN的综合体,能直连的时候就直连,不能直连就用STUN,不能用STUN就用TURN。

在使用STUN和ICE的过程中,我们会有一台网络主机用来建立端口映射和保持其他UDP端口状态,但是UDP的状态通常在几十秒到几分钟的短时间后过期,为了保证NAT中UDP的状态和生命周期,于是有了UDP hole punching的技术。通过定时传输keep-alive数据包,对NAT中的UDP状态进行更新。

UDT的缺点

因为UDT是基于UDP协议的,但是UDP协议因为其简洁的特性,所以并不具备安全性的特征。所以基于其上的UDT协议因为缺乏安全特性,所以在商业环境中应用会受到一定的限制。

不过UDT的新版本已经在开发中,大家可以期待一下。

总结

UDT被广泛用于高性能计算,比如光纤网络上的高速数据传输。我们后续会在netty中告诉大家怎么使用UDT协议。

本文已收录于 http://www.flydean.com/11-udt/

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
沉默4天后,美方报复来了,对华突然下禁令,将禁止进口中国产品

沉默4天后,美方报复来了,对华突然下禁令,将禁止进口中国产品

影孖看世界
2026-06-28 18:18:36
《GTA6》港服分级已出!系列传统 玩家可以放心了

《GTA6》港服分级已出!系列传统 玩家可以放心了

游民星空
2026-06-29 10:14:41
国防部长是个搞营销的?这仗还怎么打

国防部长是个搞营销的?这仗还怎么打

二湘空间
2026-06-28 08:00:09
2026年湖北省17市州高考成绩及一分一段完整版大数据

2026年湖北省17市州高考成绩及一分一段完整版大数据

娱乐的宅急便
2026-06-29 07:32:49
人活到最后,真正能给你幸福的,只有这4件事

人活到最后,真正能给你幸福的,只有这4件事

金沛的国学笔记
2026-06-27 17:43:49
太突然了!特斯拉这款热门产品已经彻底下架停产

太突然了!特斯拉这款热门产品已经彻底下架停产

XCiOS俱乐部
2026-06-28 09:21:37
42天,从78kg到67kg,不是奇迹,是科学——一个普通IT男的逆袭日记。

42天,从78kg到67kg,不是奇迹,是科学——一个普通IT男的逆袭日记。

人马君
2026-06-28 21:26:36
仅1首轮!坏了,湖人心动了,10年了顶级中锋终于来了

仅1首轮!坏了,湖人心动了,10年了顶级中锋终于来了

体育新角度
2026-06-28 13:36:44
中超第3主场崩盘:连丢4球,惨遭逆转,上海申花超越上海海港

中超第3主场崩盘:连丢4球,惨遭逆转,上海申花超越上海海港

足球狗说
2026-06-28 21:00:13
马光远:房子装空调是耻辱,欧洲的房子早就实现恒温恒湿了!

马光远:房子装空调是耻辱,欧洲的房子早就实现恒温恒湿了!

52赫兹实验室
2026-06-28 15:50:09
冯小刚《抓特务》扑街:跟韩红没有太大关系,而是跟电影题材有关

冯小刚《抓特务》扑街:跟韩红没有太大关系,而是跟电影题材有关

动物奇奇怪怪
2026-06-29 10:55:30
朗尼克:我当了40年教练,想不起来哪场比赛这么有戏剧性

朗尼克:我当了40年教练,想不起来哪场比赛这么有戏剧性

懂球帝
2026-06-28 21:27:48
当今教育十大发明,绝对是教育的悲哀!

当今教育十大发明,绝对是教育的悲哀!

李老师讲最真教育
2026-06-20 18:01:12
老板娘问我她身材好不好?我该怎么回答?

老板娘问我她身材好不好?我该怎么回答?

太急张三疯
2026-06-29 10:49:43
再见,湖人!斯玛特来了,火箭暗爽

再见,湖人!斯玛特来了,火箭暗爽

体育新角度
2026-06-28 15:06:23
全程亲自上阵无替身!詹妮弗劳伦斯出演 R 级片,大胆尺度彻底放开

全程亲自上阵无替身!詹妮弗劳伦斯出演 R 级片,大胆尺度彻底放开

阿废冷眼观察所
2026-06-28 19:13:32
1959年,毛主席晚年回老家,看到杨开慧照片,决定见贺子珍一面

1959年,毛主席晚年回老家,看到杨开慧照片,决定见贺子珍一面

春秋砚
2026-06-29 10:15:07
史上最大死亡高峰要来了?不是天灾,全是这几代人造的“果”

史上最大死亡高峰要来了?不是天灾,全是这几代人造的“果”

匹夫来搞笑
2026-06-28 19:28:04
WTT美国大满贯:首个11:0产生!张本美和拒绝让球,3:0大获全胜

WTT美国大满贯:首个11:0产生!张本美和拒绝让球,3:0大获全胜

国乒二三事
2026-06-29 05:36:16
五年少了近一半幼儿!北京幼儿园从一位难求到空教室遍地……

五年少了近一半幼儿!北京幼儿园从一位难求到空教室遍地……

一口娱乐
2026-06-29 00:07:32
2026-06-29 11:31:00
flydean程序那些事
flydean程序那些事
最通俗的解读,最深刻的干货!
356文章数 438关注度
往期回顾 全部

科技要闻

OpenAI推迟上市,那“Kimi们”呢?

头条要闻

牛弹琴:武契奇提前辞去总统职务 一盘新棋局才刚开始

头条要闻

牛弹琴:武契奇提前辞去总统职务 一盘新棋局才刚开始

体育要闻

两周飞5万公里!因凡蒂诺遭环保人士猛批

娱乐要闻

萧蔷宣布捐出参加“浪姐”所有收入

财经要闻

35岁职场人,又好找工作了?

汽车要闻

精致大气 尊界V800诠释顶级体验的新旗舰MPV

态度原创

艺术
游戏
手机
亲子
公开课

艺术要闻

林徽因先生一生珍稀之影像。

R星偏心索尼!GTA6预购链接仅PS版 索尼狂砸宣传

手机要闻

小米REDMI K90至尊版天际蓝配色公布,明日发布

亲子要闻

瞬间爆炸!宝妈头发被烧掉一片!网友:我也被炸过!不少人家里有

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版