✏️✏️✏️各位看官好,今天给大家分享的是 传输层的另外一个重点协议——UDP。
清风的CSDN博客
️️️希望我的文章能对你有所帮助,有不足的地方还请各位看官多多指教,大家一起学习交流!
✈️✈️✈️动动你们发财的小手,点点关注点点赞!在此谢过啦!哈哈哈!
目录
一、UDP 协议段格式
二、UDP 的特点
2.1 无连接
2.2 不可靠
2.3 面向数据报
2.4 缓冲区
2.5 全双工
2.6 大小受限
三、 TCP 和 UDP 对比
- 16位UDP长度,表示整个数据报(UDP首部+UDP数据)的最大长度
- 如果校验和出错,就会直接丢弃
UDP 协议的校验和,是使用了一种简单粗暴的 CRC 算法,把 UDP 数据报中的每个字节都依次进行累加,把累加结果放到两个字节的变量中,传输数据的时候会把原始数据和校验和一起传输。
如果发送端一次发送100个字节,那么接收端也必须一次接收100个字节,而不能循环接收10次,每次接收10个字节。
- UDP没有真正意义上的 发送缓冲区。发送的数据会直接交给内核,由内核将数据传给网络层协议进行后续的传输动作。
- UDP具有接收缓冲区,但是这个接收缓冲区不能保证收到的UDP报的顺序和发送UDP报的顺序一致,如果缓冲区满了,再到达的UDP数据就会被丢弃。
UDP的socket既能读,也能写,这个概念叫做 全双工。(Socket套接字,是由系统提供用于网络通信的技术,是基于TCP/IP协议的网络通信的基本操作单元。基于Socket套接字的网络程序开发就是网络编程)。
- TCP用于可靠传输的情况,应用于文件传输,重要状态更新等场景。
- UDP用于对高速传输和实时性要求较高的通信领域,例如,早期的QQ,视频传输等。另外UDP可以用于广播。
好啦,今天的分享就到这里!
希望各位看官读完文章后,能够有所提升!
创作不易,还希望各位大佬支持一下!
✈️✈️✈️点赞,你的认可是我创作的动力!
⭐⭐⭐收藏,你的青睐是我努力的方向!
✏️✏️✏️评论:你的意见是我进步的财富!