无连接运输:UDP
2024-09-06 18:49:52
多路复用和解复用与校验和是UDP唯一能做的事,运输层的协议必须做点什么,什么都没有就不需要这一层了。
为什么要使用UDP
既然有了可靠传输的TCP,为什么还要在udp之上来构件应用呢?
- 有效载荷大,TCP头部20Byte,UDP头部8B,相同的MTU下,传输的数据较多。
- 无需建立连接,时延小,直接就开始传输数据,不需要开头的三次握手,对于一个发送一次报文就能解决的应用,TCP握手的时延是不可以忽略的。
- 无连接的状态,两边的端系统不需要维持通信的状态,实现起来更加简单,资源占用小,且可以维持更多的通信。
- TCP有时会故意拖延发送的数据的时间,但是UDP不会,应用程序以什么样的速率交给它,他就怎么样发出去,整个过程可以由应用程序完全掌握。
报文结构
UDP数据校验和
与IP头部字段中的校验和不同,它不只是对数据部分进行校验,还包括UDP的头部和伪首部,其中UDP长度为整个UDP的长度,17是0x11是UDP的协议号。校验的过程是16bit一组,不断累加,溢出16bit的部分截取出来再回滚相加。
最新文章
- 嵌入式开发中常见3个的C语言技巧
- 玩蛇记--Python处理海量手机号码
- ZZULI 1876: 蛤玮的项链 Hash + 二分
- Poj2186Popular Cows
- javascript面向对象分层思维
- mongodb 入门笔记
- Jquery+asp.net后台数据传到前台js进行解析的方法
- Local IIS 7.0 - CS0016: Could not write to output file / Microsoft.Net >; Framework >; v4.0.30319 >; Temporary ASP.NET Files
- select count(distinct a)
- ADO.NET温习(一)
- oracle 删除外键约束 禁用约束 启用约束
- Thinkpad USB 经典键盘使用体验
- 在html代码中js的script标签建议放在那里?
- Java最小化镜像制作
- 记录weiye项目上线遇到的一些问题
- 页面弹出全屏浮层或遮罩时,禁止底层body滚动
- ExtJS 4.2 教程-01:Hello ExtJS
- ThinkPHP32 MODULE_ALLOW_LIST 存在的bug 不生效
- Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks论文理解
- w3cschool菜鸟教程离线版chm手册正式发布