作者:故事我忘了¢
个人微信公众号:程序猿的月光宝盒
个人微信公众号:程序猿的月光宝盒
## 1.UDP简介
1.1UDP报文结构:
Source Port:源端口
Destination Port:目标端口
Length:数据包长度
Checksum:奇偶校验值
data octets:用户数据
1.2 UDP特点
1.面向非连接
传输数据之前,源端和终端无建立连接,当他想传送时,就简单地去抓取来自应用程序的数据,并尽可能快的把他扔到网络上,在发送段,UDP传送数据的速度,仅仅是受应用程序生成数据的速度的影响,计算机的能力和传输带宽的限制.在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读取一个消息段.
-
不维护连接状态,支持同时向多个客户端传输相同的消息
-
数据包报头只有8个字节,额外开销较小
-
吞吐量只受限于数据生成速率,传输速率以及机器性能
-
尽最大努力交付,不保证可靠交付,不需要维持复杂的链接状态表
-
面向报文,不对应用程序提交时的报文信息进行拆分或者合并,因此,应用程序应该选择合适的报文大小
2. TCP和UDP的区别
-
TCP面向连接,UDP面向非连接
-
可靠性:TCP比较可靠,利用握手,确认和重传机制来提供可靠性,而UDP可能会丢失
-
有序性:TCP有序,TCP利用序列号保证了消息报的顺序交互,到达可能无序,但是TCP最终会排序,而UDP不具备有序性
-
速度:TCP速度比较慢,因为要创建连接,保证消息的可靠性和有序性,UDP更适合对速度比较敏感的应用,比如在线视频媒体,电视广播,多人在线游戏
-
量级:TCP属于重量级,UDP属于轻量级的,体现在源数据的头大小,TCP是20个字节,而UDP是8个字节