当前位置: 首页 > news >正文

网络原理-传输层-UDP报文结构

本文介绍UDP报文

有很多友友搞不清楚UDP报文的详细结构还有TCP的详细结构,所以专门分开来讲

以免弄混.

首先我们先看一下整个UDP结构,让大家有一个全方面的认识

下面我们来详细解释UDP报

16位源端口号(本机):就是2字节大小,16个二进制位.

16位目的端口号(目的机):也是2字节大小,16个二进制位.

16位UDP长度:只是用2字节,16个二进制位记录整个数据报(UDP⾸部+UDP数据)的最⼤⻓度.并不是整个报文大小2字节.但是记录了16位,所以UDP大小就是2的16次方/1024=64kb; 1 kb == 1024字节.

16位UDP校验和:用2字节,16个二进制位来校验,如果校验和出错,就会直接丢弃;

UDP的特点
UDP传输的过程类似于寄信.
• ⽆连接:知道对端的IP和端⼝号就直接进⾏传输,不需要建⽴连接;
• 不可靠:没有确认机制,没有重传机制;如果因为⽹络故障该段⽆法发到对⽅,UDP协议层也不会给应
⽤层返回任何错误信息;
• ⾯向数据报:不能够灵活的控制读写数据的次数和数量;

⾯向数据报
应⽤层交给UDP多⻓的报⽂,UDP原样发送,既不会拆分,也不会合并;
⽤UDP传输100个字节的数据:
• 如果发送端调⽤⼀次sendto,发送100个字节,那么接收端也必须调⽤对应的⼀次recvfrom,接收100
个字节;⽽不能循环调⽤10次recvfrom,?每次接收10个字节;

UDP使⽤注意事项
我们注意到,UDP协议⾸部中有⼀个16位的最⼤⻓度.也就是说⼀个UDP能传输的数据最⼤⻓度是
64K(包含UDP⾸部).
然⽽64K在当今的互联⽹环境下,是⼀个⾮常⼩的数字.
如果我们需要传输的数据超过64K,就需要在应⽤层⼿动的分包,多次发送,并在接收端⼿动拼装;

http://www.lryc.cn/news/327492.html

相关文章:

  • TCP/IP参考模型(四层及其解析)
  • 2024第六届环境科学与可再生能源国际会议能源 (ESRE 2024) 即将召开!
  • CentOS配置docker外部访问
  • 面试前端八股文十问十答第二期
  • 【漏洞复现】大华综合安防监控管理平台 Digital Surveillance System系统存在RCE漏洞
  • ssm网上订餐管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目采用线性算法
  • python 进程之由浅入深
  • 公链角逐中突围,Solana 何以成为 Web3 世界的流量焦点?
  • 算法设计-杨辉三角
  • Linux swatch命令教程:实时监视系统活动(附实例详解和注意事项)
  • C/C++语言学习路线: 嵌入式开发、底层软件、操作系统方向(持续更新)
  • SAP-CO主数据之统计指标创建-<KK01>
  • Eclipse+Java+Swing实现斗地主游戏
  • postgres12.4安装pg_rman-1.3.16
  • Word邮件合并
  • git的安装与配置教程-超详细版
  • 李宏毅【生成式AI导论 2024】第5讲 让语言模型彼此合作,把一个人活成一个团队
  • Unity 实现鼠标左键进行射击
  • 数据库---PDO
  • asyncio和 aiohttp
  • 微服务demo(三)nacosfeign
  • 学浪视频如何录屏保存?
  • c++中2种返回变量类型名称的方法
  • python仿真报告自动化——excite TD齿轮角加速度级计算
  • 如何系统的学习 C#
  • python爬虫----python列表高级
  • 目标检测的相关模型图:YOLO系列和RCNN系列
  • Linux基础命令2
  • IP组播基础
  • Pytorch的named_children, named_modules和named_children