TCP协议和UDP协议对比 UDP协议的原理及应用

前言
tcp协议在不可靠的网络环境上提供了可靠的通信通道,隐藏了大量的底层细节,使应用程序更加简洁。但有些应用并不需要这么高的可靠性,并不需要按序交付,而且tcp为了提高可靠性也增加了延时,在某些对延时或抖动要求很高的情景下并不适用。为此,udp(user datagram protocol,用户数据报协议)被提出。udp虽然应用较为广泛,比如dns查询等,但一直不是重要的角色。自从webrtc被提出以来,它可以使浏览器在udp的基础上实现原生的语音和视频实时通信及其他形式的p2p通信,udp在这种境况下显得更加重要。本文大致介绍udp的原理及应用,以求加深对其理解。
udp
tcp是面向连接的,需要三次握手建立连接之后再传输数据,而是udp面向无连接的,它并不能保证信息交付,也不能保证按序交互,也不跟踪连接状态,也不需要拥塞控制。
要了解udp和为什么它通常被称为“空协议”,我们首先需要了解一下互联网协议(ip),它位于tcp和udp协议层下面。ip层主要任务就是基于地址将数据报从源主机发送到目的主机。要做到这一点,消息都封装在一个ip包,标识源和目的地址,以及一些其他路由参数。
我们再次强调一下上面提到的数据报这个术语的含义:ip层提供了不可靠的数据传输,既没有消息确认,也没有丢失通知, ip层直接把这一层的不可靠性暴露给上层。如果一个数据报在传输过程中因为某个路由节点拥塞,高负荷,或因其他原因丢失,那么由ip上层的协议来检测,恢复,并重传数据 - 当然这是在上层有这个需求的时候!ipv4的首部结构如下:
udp协议会用自己的分组结构封装用户信息,其数据格式如下:
如上图所示,我们在udp数据报里增加了源端口和目标端口,这样就使得当ip分组被送到接收端后,接收端就可以拆开udp分组,根据目标端口找到对应的应用程序,然后再把数据传递给应用程序。
从ip和udp的数据格式可以看到,它们的首部都带有校验和,都可以用来校验数据,那么应用程序即使忽略udp的校验和也不影响数据完整性,校验和字段是可选的。这意味着udp层所有的错误检测和纠错,可以委托给上述应用层校验。说到底,udp仅仅是在ip层上通过嵌入应用程序的源端口和目标端口,提供了一个“应用程序多路复用”机制。由此可以得到udp的特征如下:
不保证消息交付:不确认,不重传,无超时;
不保证交付顺序:不设置包序号,不重排,不发生队首阻塞;
不跟踪连接状态:不必建立连接或重启状态机;
不需要拥塞控制:不内置客户端或网络反馈机。
tcp是一个面向字节流的协议,能够通过多个分组的形式发送应用程序的消息数据,包内本身没有任何明确的消息边界。为了实现这一目标,连接两端都分配了连接状态,并且数据包被排序,重发丢包,按顺序发送。相反udp数据报有明确的界限:每一个数据报都被打包到一个ip包中,应用层读到的每一个udp包都是完整的信息 -数据报不能被分割。
关于数据报(datagram)详细定义如下:
数据报:一个自包含的,独立的数据实体,其承载了足够的信息,使其可以从源路由到达目标路由,而不依赖于在网络节点前的数据交换和传输网络没有任何依赖。
数据报文(datagram)和数据包(packet)两个术语往交替使用,但其实二者有一些细微差别。数据包(packet)一般用来描述任何格式的数据块,而数据报(datagram)往往被保留用来描述通过一个不可靠的服务传输的数据包(packet) - 没有传输保障,没有失败通知。所以udp包一般或者说更准确的被称为数据报(datagram)。
udp是一个简单的,无状态的协议,适合于引导上层的其他应用层协议 - 几乎所有的协议决策都留给它上面的应用层。然而,在你想实现自己的协议来取代tcp,你应该仔细考虑有关的复杂性,如udp与其它层的交互(比如nat穿越),以及网络协议一些最佳实践。没有仔细的规划和设计,设计一个新的协议不是一个好主意,最终也许实现成一个的简陋的tcp版本。


两种实用的电池供电电路分析
日光灯镇流器过热的改进办法
“新基建”目标的设定给汽车产业转型发展带来了新机遇
蓝牙耳机买什么品牌好一些?适合打游戏的无线蓝牙耳机推荐
电子连接器的选用
TCP协议和UDP协议对比 UDP协议的原理及应用
CES2024:三星发布“AI for All”愿景 把AI和超级连接带给所有人
!销售TDS2012B TDS2012B数字示波器TDS20
小天才电话手表销量、口碑蒸蒸日上的背后,产品实力才是最大推手
英特尔辟谣:5G调制调节器计划不变
注意!耳机音量过大会造成听力损失,这些坏习惯要改了
索尼联合华为消费者带来BG云服务全场景解决方案
【解决方案】安科瑞为方舱医院配电末端电气安全提供解决方案
逆变器介绍_工频逆变器与高频逆变器的区别
云天励飞将如何填补净利润亏损的“黑洞”?
中兴天机7 MAX,让你和电影院Say goodbye!
关于智能硬件,BAT给董明珠支了什么招?
科学家借助无线耳机技术来设计新的系统
天馈系统的设备类型
开启微信此功能后所有导航都比不上