5、传输层UDP28

news2024/11/24 12:40:49

传输层:负责俩端之间的数据传输(TCP&UDP)

UDP协议:协议格式(协议实现)、协议特性、编程影响

一、协议格式(协议实现)

面试:传输层的数据结构是什么?

就是在问他的协议格式:UDP&TCP

协议格式:

  • 16位源端端口&16位对端端口:描述通信俩端,谁发的,由谁处理
  • 16位数据报长度:描述报文长度(包含头部在内),限制了udp报文必须小于64k。(sendto发送数据的时候,能够给予的最大的数据大小:64k-8(8是头部))
  • 16位校验和:用于校验接收到的数据是否与对方发送的数据一致(二进制反码求和算法)

校验和二进制反码求和算法

  1. 发送方将报文组织完毕后,将校验和字段置0
  2. 从第0个字节开始(包含头部),对每个字节进行取反,然后求和
  3. 在求和过程中,如果数据大小超过16位,则截断,将高位与低16位继续求和
  4. 最终得到了2字节的校验和数据,然后填充到校验字段中,发送数据
  5. 接收方收到数据,同样对数据进行二进制反码求和,最终得到结果0。一旦收到的数据与发送的数据不一致,则udp会将数据丢弃

二、协议特性

无连接,不可靠,面向数据报

无连接:通信的时候不需要建立连接,只知道对方地址就可以发送数据

不可靠:不保证数据能够安全的到达对端,也不保证数据有序到达对端

面向数据报:无连接,不可靠,有固定最大长度限制的传输方式,必须小于64k

三、编程影响

  1. udp不保证数据安全到达对端(有可能会丢包),不保证有序到达对端。程序员在应用层进行丢包检测以及丢包重传操作,以及包序管理
  2. udp面向数据报有固定最大长度限制,64k(数据大小小于64k-8)。sendto发送数据的时候给予的数据一定要注意不要太大,太大了就要分包
  3. udp要求数据整条传输交付,不能交付半条或多条。程序员recvfrom接收数据的时候缓冲区一定要足够大(能够获取一条完整数据)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/760956.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1.计算机系统概述

1.1 计算机发展历程 1.1.1计算机硬件的发展 1.逻辑元件的四代变化: 电子管->晶体管->中小规模集成电路->超大规模集成电路 第四代计算机时代产生了微处理器,是微型计算机发展的标志。 2. 计算机元件的更新换代 如半导体存储器、微处理器都在不断…

IDEA配置maven国内源

这里写目录标题 前言注意第一步 前言 为什么要配置maven国内源, 因为如果不配置国内源,一个是依赖加载速度过慢, 另一个是可能会导致创建spring / Springboot创建失败,或者是在maven项目中引入jar包失败,从而导致项目运行失败 注意 配置要配置俩次 第一步 选择settings …

【复习8-9天内容】【我们一起60天准备考研算法面试(大全)-第十三天 13/60】

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录)   文章字体风格: 红色文字表示&#…

数字检测Y8S

【免费】数字检测Y8S,只需要OPENCV-深度学习文档类资源-CSDN文库 采用YOLOV8训练,得到PT模型,然后直接转ONNX,使用OPENCV的DNN,不需要其他依赖,支持C/PYTHON

【CodeWhisperer】 亚马逊AI辅助代码生成工具

Amazon CodeWhisperer 定价 Amazon CodeWhisperer 直接在集成式开发环境 (IDE) 中为开发人员提供实时代码建议。个人开发人员可以免费使用 CodeWhisperer。组织为使用 CodeWhisperer 按“每位用户每月”支付固定的订阅费,无需预付费用或长期承诺。 CodeWhisperer 提…

Docker安装tomcat

docker hub上面查找tomcat镜像 docker search tomcat 从docker hub上拉取tomcat镜像到本地 docker pull tomcat docker images查看是否有拉取到的tomcat docker images 使用tomcat镜像创建容器实例(也叫运行镜像) docker run -d -p 8080:8080 tomcat 说明 -p 小写,…

GPipe:微批量流水线并行

论文标题:GPipe: Easy Scaling with Micro-Batch Pipeline Parallelism论文链接:https://arxiv.org/abs/1811.06965论文来源:Google 一、概述 如下图所示,近过去十年中,由于开发了促进神经网络有效容量扩大的方法&…

【Unity3D】伽马校正

1 伽马相关概念 1.1 人眼对亮度变化的感知 人眼对亮度变化的感知不是线性的,如下图,人眼对亮区的亮度变化不太敏感,对暗区的亮度变化较敏感。另外,我们可以想象一下,在一个黑暗的房间里,由 1 根蜡烛到 2 根…

【改进粒子群优化算法】基于惯性权重和学习因子动态调整的粒子群算法【期刊论文复现】(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

面试题之MySQL事物的特性

在关系性数据库管理系统配置,一个逻辑工作要成为事物,必须要满足4个特性,即所谓的ACID:原子性(Atomicity),一致性(Consistency)、隔离性(lsolation)和持久性(Durability)。 原子性: 原子性:事物作为一个整体被执行,包含在其中对…

Redis - 为什么我要来安利你学习 Redis ?

目录 前言 一、Redis 的特性(优点) 1. Redis 是在内存中存储数据的 2.可编程性 3.可扩展性 4.持久化 5.支持集群 6.高可用 二、Redis 为什么快? 三、 Redis 使用场景 优势场景 1.将 Redis 当作数据库 2.作为缓存和存储 session …

【数据分享】1929-2022年全球站点的逐日平均压力数据(Shp\Excel\12000个站点)

气象数据是在各项研究中都经常使用的数据,气象指标包括气温、风速、降水、能见度等指标,说到气象数据,最详细的气象数据是具体到气象监测站点的数据! 对于具体到监测站点的气象数据,之前我们分享过1929-2022年全球气象…

【LeetCode每日一题合集】2023.7.10-2023.7.16(dfs 换根DP)

文章目录 16. 最接近的三数之和排序 双指针 1911. 最大子序列交替和解法——动态规划 2544. 交替数字和(简单模拟)931. 下降路径最小和(线性DP)979. 在二叉树中分配硬币⭐⭐⭐⭐⭐(dfs)算法分析补充&#…

PWM呼吸灯+流水灯设计

完成任务: 在流水灯基础上加入pwm呼吸灯设计,关于pwm呼吸灯设计可以看博主上一篇博客PWM呼吸灯设计 ,开发板上灯每两秒进行一次切换,每一个的亮灭间隔为一秒。 代码参考: module pwm_led_change(input wire …

软件测试人员和程序开发人员是死对头吗?

这两天闲来无事刷知乎,看到有些朋友问到关于测试与开发的关系,在这里想和大家稍微来聊一聊这个事儿。 有的人说呢,测试和开发是死对头;也有人说测试和开发是处在对立面的;还有人说测试与开发两者都不能互相理解。当然&…

再战算法-奋进

再战算法-奋进 算法入门痛苦经历总结收获 算法入门 在大学期间我直至觉得【算法】是很重要的一项,最开始接触的是c语言,算是第一门接触的,给了我很大的惊喜🥰,大二下的时候开始接触到Java语言,通过Java的入…

【C++进阶】C++11基础

文章目录 一、C11简介二、统一的列表初始化1. {}初始化2、std::initializer_list 三、 声明1.auto2. decltype3.nullptr 三、范围for 一、C11简介 在2003年C标准委员会曾经提交了一份技术勘误表(简称TC1),使得C03这个名字已经取代了C98称为C…

Python3实现画小提琴图(包含分组)

说在前面 Python如何画一个小提琴图呢?先看下必备的数据集合(自己构建,样式参考) 默认必有X列、Y列(数值),画分组需要包含分组的列group等数据参数准备 可以参考下面的数据样例: 除此之外,对于画图使用的参数,提前准备的知识如下: sns.violinplot所必备的参数…

数据结构-堆排序代码实现(详解)

内容:堆排序的代码实现及注解,思路详解 代码实现: 交换函数: void Swap(int* p1, int* p2) {int tmp *p1;*p1 *p2;*p2 tmp; } 堆排序函数: 1 向下调整建堆函数:这里建立大堆,小堆思路也…

Litedram仿真验证(三):AXI接口完成仿真(FPGA/Modelsim)

日常唠嗑 不知不觉,从开始接触Litedram已经过去了4个月,期间断断续续做了好多其他任务,导致进度比较慢,直到前天才把Litedram完全仿真起来。(坑很多,很多东西需要注意) 目录 日常唠嗑一、AXI用…