【计算机网络篇】UDP协议

这篇具有很好参考价值的文章主要介绍了【计算机网络篇】UDP协议。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

✅作者简介:大家好,我是小杨
📃个人主页:「小杨」的csdn博客

🐳希望大家多多支持🥰一起进步呀!


UDP协议

1,UDP 简介

UDP(User Datagram Protocol)是一种无连接的传输层协议,它提供了一种简单的、不可靠的数据传输服务。

UDP 提供了不面向连接的通信,且不对传送的数据报进行可靠的保证,适用于一次传送少量的数据,不适用于传输大量的数据。


2,UDP 特点

UDP 的主要特点为无连接,不可靠传输,面向数据报,全双工通信。下面对这些特点进行逐一解释:

1,无连接:UDP是一种无连接的传输协议,这意味着在通信之前不需要进行连接建立的过程。发送方直接向目标主机发送数据报,接收方无需事先建立连接就能接收数据。

2,不可靠传输:UDP不保证数据传输的可靠性。它将数据划分为独立的数据报,并通过网络发送,但不提供丢包重传、数据校验和错序整理等机制。如果在传输过程中发生数据丢失、损坏或重复,UDP协议不会进行任何处理,这使得UDP的传输不可靠。

3,面向数据报:UDP以数据报(Datagram)为单位进行通信。每个UDP数据包是一个独立的数据报,具有自己的报头,其中包含源端口号、目标端口号和数据长度等信息。这使得UDP的通信单位独立,不受其他数据报的影响,独立地发送和接收数据。

4,全双工通信:UDP支持全双工通信,允许发送方和接收方同时发送和接收数据。发送方可以随时发送数据报,而接收方可以在任何时间接收数据报,而不受发送方的限制。这使得UDP在实现实时双向通信时具有优势。


3,UDP 段格式

UDP协议的数据包(也称为UDP报文)由两部分组成:UDP头部和UDP数据部分。

UDP 协议段格式示意图:

【计算机网络篇】UDP协议,计算机网络,计算机网络,udp,网络协议

UDP 数据包中的各字段代表含义如下:

1,源端口号(Source Port):16位字段,表示发送方的端口号,用于标识发起UDP通信的应用程序的发送端口。

2,目标端口号(Destination Port):16位字段,表示接收方的端口号,用于标识接收方应用程序的接收端口。

3,长度(Length):16位字段,表示UDP报文的长度,包括UDP头部和数据部分的总长度。

4,校验和(Checksum):16位字段,用于检测UDP报文在传输过程中是否发生错误或被篡改。

5,数据区(Data):可选字段,用于携带实际的应用数据内容。

UDP 数据包中的注意事项:

1,UDP协议的首部固定为8个字节,即源端口、目的端口、长度和校验和,其中校验和字段为可选字段,可以不包含校验和。

2,UDP报文长度包括UDP头部和数据部分,最大长度为16位,UDP数据报的最大长度被限制为65535 B ,也就是最多只能传输64KB的数据。如果应用程序需要传输更大的数据,则需要将数据进行分片,并在应用层协议中进行重组,或者采用TCP协议。

3,UDP首部中的源端口和目的端口用于标识发送方和接收方的应用程序或服务。这两个字段共同决定了数据包的传输路径,以确保正确地将数据包传送到相应的应用程序或服务。


4,UDP 扩展知识


拓展:端口号介绍

端口号是在传输层中使用的概念,用于标识不同应用程序或服务的网络进程。

在传输层协议中,头部中的源端口和目的端口用于标识发送方和接收方的应用程序或服务。

这两个字段共同决定了数据包的传输路径,以确保正确地将数据包传送到相应的应用程序或服务。

端口号是一个16比特(2字节)的无符号整数,代表的取值范围为0 ~ 65535,在该范围内被划分3部分,分别为:

  1. 知名端口:从0到1023的端口号被指定为知名端口,用于一些广泛使用的标准服务。
  2. 注册端口:从1024到49151的端口号被指定为注册端口,用于一些用户注册的应用程序或服务。
  3. 动态或私有端口:从49152到65535的端口号是动态或私有端口,也称为临时端口。

下面是一些常见的知名端口号的定义和用途:

  • 22:SSH端口,用于安全外壳协议,用于远程登录和安全文件传输。
  • 53:DNS端口,用于域名系统解析域名到IP地址。
  • 80:HTTP端口,用于超文本传输协议,用于Web浏览器和服务器之间的通信。
  • 143:IMAP端口,用于Internet消息访问协议,用于电子邮件客户端与服务器之间的通信。
  • 443:HTTPS端口,用于安全的超文本传输协议,通过SSL/TLS加密的HTTP通信。
  • 3306:MySQL数据库服务器的默认端口号。

进程与端口号之间的关系:

一个进程可以绑定多个端口号,但是一个端口号不能被多个进程绑定。


拓展:校验和字段介绍

校验和的作用是用于验证UDP数据包的完整性,以确保数据在传输过程中没有被篡改或损坏。

校验和的作用过程:发送方在发送UDP数据包时,会计算数据包的校验和(校验和的计算涉及UDP头部和数据部分),并将校验和值存储在校验和字段中。接收方在接收到UDP数据包后,会重新计算数据包的校验和,并将计算得到的校验和值与接收到的校验和字段进行比对。如果两者一致,则说明数据包在传输过程中没有损坏;如果两者不一致,则说明数据包可能在传输过程中发生了错误。

校验和字段为可选字段,在UDP协议中是可以不选,是否使用校验和可以根据应用程序的需求和对数据完整性的要求来决定。

  • 对于实时性要求高、数据可靠性要求较低的应用,可以选择不使用校验和以减少开销和延迟。
  • 对于对数据的可靠性要求较高的应用,可以自行添加校验和机制来保证数据的完整性。

经典问题:基于传输层UDP协议,来实现一个可靠传输,应该如何设计?

问题引入:虽然校验和可以提供一定程度的数据完整性检查,但是因为UDP本身是一种不可靠传输协议,即使检测到错误或数据篡改,UDP也不会进行任何恢复操作,具体就是不提供丢包重传、数据校验和错序整理等机制。

若想基于传输层UDP协议,来实现一个可靠传输,那就是从下面这几个方面来考虑:

  1. 数据包序列号:为每个发送的数据包分配一个唯一的序号。序号可以是一个递增的数字或其他唯一标识符,接收方根据序列号对接收到的数据包进行排序和重组,以确保数据包按正确的顺序传递给应用层。
  2. 确认应答机制:接收端需要向发送端发送确认消息以确认已收到的数据包。发送端在收到确认消息后才能发送下一个数据包。如果发送端没有收到确认消息,则会启动超时重传机制。
  3. 超时重传:当发送端发送一个数据包后,如果在一定时间内没有收到确认消息,则认为数据包丢失或发生了错误。发送端需要启动超时重传机制,重新发送丢失的数据包。

结语

这就是本期博客的全部内容啦!如果有什么其他的问题无法自己解决,可以在评论区留言哦!

最后,如果你觉得这篇文章写的还不错的话或者有所收获的话,麻烦小伙伴们动动你们的小手,给个三连呗(点赞👍,评论✍,收藏📖),多多支持一下!各位的支持是我最大的动力,后期不断更新优质的内容来帮助大家,一起进步。那我们下期见!

【计算机网络篇】UDP协议,计算机网络,计算机网络,udp,网络协议文章来源地址https://www.toymoban.com/news/detail-653898.html


到了这里,关于【计算机网络篇】UDP协议的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【计算机网络】UDP/TCP协议

    我们先来看一张图; 在研究UDP前我们先来回答两个问题: 有效载荷如何与报头分离? 如何将有效载荷交付? 第一个问题由于在报头里面有16位UDP长度(表示的是有效载荷+报头长度),而报头长度8字节是固定的,所以分离时我们只需要用整个报文的大小减去固定的8字节报头数据即

    2024年02月08日
    浏览(50)
  • 【计算机网络】UDP协议与TCP协议

    端口号(Port)标识了一个主机上进行通信的不同的应用程序; 在TCP/IP协议中, 用 “源IP”, “源端口号”, “目的IP”, “目的端口号”, “协议号” 这样一个五元组来标识一个通信(可以通过netstat -n查看); 服务器的同一个服务会使用多进程或者多线程的方式,对于不同的客户端请

    2024年01月25日
    浏览(44)
  • [计算机网络] 实验3 UDP协议分析

    实验目的 掌握运输层 UDP 协议内容 理解 UDP 协议的工作原理 了解应用层和运输层协议的关系 实验内容 1.DNS查询UDP数据分析 要求 : 使用 t c p d u m p tcpdump t c p d u m p 抓取 D N S DNS D N S 查询网络通信数据包,利用 w i r e s h a r k wireshark w i r e s h a r k 分析 U D P UDP U D P 数据 例如 : d i

    2023年04月26日
    浏览(35)
  • 【计算机网络】TCP协议与UDP协议详解

    文章目录 一、传输层 1、1 再次理解传输层 1、2 再次理解端口号 1、2、1 端口号范围划分 1、2、2 认识知名端口号 1、3 网络常用指令netstat 与 pidof 二、UDP协议 2、1 UDP协议的报文 2、2 UDP的特点  2、3 UDP的缓冲区 三、TCP协议 3、1 TCP协议的报文 3、2 确认应答 3、3 按序到达 3、

    2024年02月08日
    浏览(40)
  • 计算机网络-传输层(UDP协议报文格式,伪首部,UDP校验过程)

    UDP只在IP数据报服务之上增加了很少功能,即复用分用和差错检测功能。 UDP的主要特点: UDP是无连接的,减少开销和发送数据之前的时延。 UDP使用最大努力交付,即不保证可靠交付。 UDP是面向报文的,适合一次性传输少量数据的网终应用。 应用层给UDP多长的报文,UDP就照样

    2023年04月25日
    浏览(33)
  • 【计算机网络之TCP/UDP篇】TCP与UDP协议详细介绍

    目录 一、TCP协议 1.1 TCP协议段 1.2  TCP的原理 1.2.1   确认应答机制(安全机制) 1.2.2 超时重传机制(安全机制) 1.2.3  TCP是如何实现可靠性传输? 1.2.4   连接管理机制(安全机制) 1.2.5  滑动窗口机制(效率机制) 1.2.6 流量控制机制 1.2.7 拥塞控制(安全机制) 1.2.8  延

    2024年02月07日
    浏览(42)
  • 计算机网络笔记:TCP协议 和UDP协议(传输层)

    TCP 和 UDP都是传输层协议,他们都属于TCP/IP协议族。 TCP的全称是 传输控制协议 是一种 面向连接的、可靠的、基于字节流 的 传输层 通信协议。TCP 是面向连接的、可靠的流协议(流就是指不间断的数据结构) TCP报文 是TCP层传输的数据单元,也称为 报文段 ,一个TCP报文段由

    2024年02月02日
    浏览(39)
  • 计算机网络 — UDP协议(看这一篇就可以

    UDP是传输层的重要协议之一,另一重要协议为TCP协议。两者对比: TCP 协议复杂,但传输可靠。 UDP 协议简单,但传输不可靠。 UDP协议 全称为:User Datagram Protocol(用户数据报协议)。 它是一个简单的 面向数据报 的传输层协议。提供的是无连接的、不可靠的数据流传输。它只

    2024年01月23日
    浏览(78)
  • 【计算机网络实验】实验四 TCP/UDP协议分析

    目录 一、TCP连接建立过程分析 二、TCP关闭连接过程分析 三、6号报文分析 四、A方TCP报文序列号分析 五、计算 六、UDP协议分析 图 1 第一次握手 第一次握手:客户端将标志位 SYN 置为 1 ,随机产生一个值 SEQ = X = 0 ,并将该数据包发送给服务器,等待服务器确认; 图 2 第二次

    2024年02月03日
    浏览(41)
  • 计算机网络:TCP协议的三次握手和四次挥手与UDP协议区别.

    TCP协议: UDP协议: TCP协议与UDP协议都工作在传输层. TCP协议与UDP协议它们的目标: TCP协议与UDP协议的最大区别: TCP协议保持连接的三个关键步骤: UDP协议: TCP协议与UDP协议主要区别: 传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的

    2023年04月15日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包