传输协议特点大比拼之UDP


前言

本文将比较两种主要的传输协议 ,UDP的特点,以帮助读者更好地理解它们的应用场景和优缺点。


一.UDP协议端的格式

大家先来看一些UDP的报文格式具体是什么样子的.
在这里插入图片描述
实际上按照横向画出来的形式是这个样子的
在这里插入图片描述

其实就是端口号和报文长度和检验和组成,大家也别担心,我会一一去解释这些内容实际上是什么意思.

源端口号和目的端口号

在计算机网络中,源端口和目的端口是用于标识不同应用程序或进程之间的通信的端口号。

源端口是指发送数据的应用程序或进程使用的端口号,目的端口则是接收数据的应用程序或进程使用的端口号。

但说实话,我们还可以用西游记唐僧的话来解释,贫僧自东土大唐而来,到西天拜佛求经,为什么这么说呢?我画个图来解释一下,你就明白这个其中的含义了.
在这里插入图片描述
如果这个样还没明白,我再举个生活的例子
电话通信。假设你想要打电话给朋友,你需要拨打对方的电话号码,这就相当于源端口号。而当你朋友接听电话后,你们就可以开始通话了,这时你们的通信就需要使用一个共同的频道,就像计算机网络中的端口一样。在这个例子中,你和朋友的电话就相当于计算机网络中的两个应用程序,电话通信使用的频道就相当于网络中的端口。

报文长度

在这里插入图片描述
仔细看这个报文长度,16位长度,就是2个字节,代表的范围就是65535,这代表的就是64kb
这里代表的就是传输数据最大就是64kb,但又有人会问,我们有时候传输的数据很大怎么办,这个时候我们就需要分片传输,但这会增加网络传输的开销,并且会增加丢失和延迟的风险。因此,在设计UDP应用程序时,应尽量将数据分为适当大小的数据块,以避免UDP报文过大,从而提高传输效率和可靠性.

校验和

在这里插入图片描述
或许大家对校验和十分的感兴趣,校验,校验,说白就是,验证数据的传输是否正确.
具体的一个解释如下:
UDP 数据报时,发送端会计算出 UDP 数据报的校验和,将其添加到 UDP 数据报的头部,然后再将 UDP 数据报发送出去。接收端收到 UDP 数据报后,也会重新计算 UDP 数据报的校验和,并将计算结果与接收到的校验和进行比较,以验证 UDP 数据报的完整性和正确性。
当然我们再来举一个例子,大家就知道我们在传输过程中,校验和是干什么用的啦
在这里插入图片描述
我们检验和用于检测 UDP 数据报在传输过程中是否发生了错误或损坏。

二.UDP的特点

无连接

知道对端的IP和端口号就直接进行传输,不需要建立连接;
类比于你给朋友发短信,不需要先和朋友建立电话通话连接,直接发送短信即可。

面向数据报

应用层交给UDP多长的报文,UDP原样发送,既不会拆分,也不会合并;
用UDP传输100个字节的数据:
如果发送端一次发送100个字节,那么接收端也必须一次接收100个字节;而不能循环接收10次,
每次接收10个字节。

不可靠

UDP 不提供可靠的数据传输,因为它不会重传丢失的数据包,也不保证数据包的顺序。
类比于你给朋友发快递,如果其中一件丢失了,你不会主动重新发送,而是等待朋友询问缺少了哪件快递,再重新发送。

缓冲区

UDP只有接收缓冲区,没有发送缓冲区:
UDP没有真正意义上的 发送缓冲区。发送的数据会直接交给内核,由内核将数据传给网络层协议
进行后续的传输动作;
UDP具有接收缓冲区,但是这个接收缓冲区不能保证收到的UDP报的顺序和发送UDP报的顺序一
致;如果缓冲区满了,再到达的UDP数据就会被丢弃;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 在 TCP/IP 协议族的传输层中,TCP 和 UDP 是两种不同的传输层协议,它们的主要区别在于: - TCP 是面向连接的协议,在传输数据之前,需要先建立可靠的连接。TCP 通过三次握手建立连接,并且在数据传输过程中进行确认和重传来保证数据的可靠性。 - UDP 是无连接的协议,不需要建立连接就可以传输数据。UDP 的优点在于传输效率高,因为它不需要建立连接和进行确认和重传。 因此,TCP 和 UDP 的选择要根据应用场景和传输要求来决定。 在一般情况下,如果要求数据传输的可靠性较高,比如文件传输、电子邮件等,则使用 TCP 协议;如果对传输效率要求较高,比如视频会议、在线游戏等,则使用 UDP 协议。 ### 回答2: 在TCP/IP协议族的传输层中,存在两种不同的传输层协议TCP(Transmission Control Protocol)和UDP(User Datagram Protocol),它们之所以会存在是因为它们有不同的特点和适用场景。 首先,TCP是一种面向连接的协议,它提供可靠的、有序的数据传输。TCP通过三次握手建立连接并维护连接状态,确保数据的可靠性和完整性。TCP通过流量控制和拥塞控制机制,根据网络状况调整发送和接收的数据量,避免网络拥堵。因此,TCP适用于对数据可靠性要求较高的场景,如文件传输、网页浏览等。 相比之下,UDP是一种面向无连接的协议,它提供不可靠的数据传输。UDP发送数据时不需建立连接,因此速度较快。由于没有可靠性保证机制,UDP的数据可能会丢失、重复、或乱序到达。UDP主要用于对实时性要求较高、丢失部分数据不影响整体情况的场景,如音频、视频传输、实时游戏等。 综上所述,TCP适用于需要可靠传输的场景,而UDP适用于实时性要求较高、丢失少量数据不会对整体造成影响的场景。选择使用哪种协议取决于需求的可靠性和实时性。同时,由于TCP的可靠性机制和额外的控制信息,使得它的首部开销较大,而UDP的首部较小,可以更有效地利用网络资源。因此,在设计网络应用时,需要根据具体需求选择适合的传输层协议。 ### 回答3: TCP (Transmission Control Protocol) 和 UDP (User Datagram Protocol) 是 TCP/IP 协议族中的两个不同的传输层协议。它们之间的设定是为了满足不同的网络通信需求。 TCP是一种面向连接的协议,它提供可靠的数据传输。TCP建立一个连接,通过三次握手来确保数据传输的可靠性。它通过使用序列号和确认应答保证数据的正确传输。TCP还能够对数据进行流量控制和拥塞控制,以确保网络的稳定性。由于这种可靠性和稳定性的机制,TCP被广泛用于需要保证数据完整性和可靠性的应用,如文件传输、电子邮件和网页浏览等。 UDP是一种无连接的协议,它提供不可靠的数据传输。UDP不需要像TCP那样建立连接和保持状态,因此传输效率更高。UDP直接将数据报发送到目标地址,没有拥塞控制和流量控制机制。虽然UDP不能保证数据可靠性,但在某些应用场景下,如实时流媒体传输和视频游戏,它的速度和实时性要求更重要。 总的来说,TCP和UDP之间的不同主要体现在是否可靠。如果应用需要确保数据的可靠性和有序传输,则应选择TCP。如果应用对数据准确性和传输效率要求较低,更关注传输速度和实时性,则可以选择UDP。 对比而言,TCP可以提供可靠的、有序的、面向连接的数据传输,适用于大多数常见的网络应用;而UDP则提供了快速的、无连接的数据传输,适用于对实时性要求较高的应用。选用哪种协议取决于具体的网络需求和应用要求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忘忧记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值