UDP报文结构
由源端口、目标端口、数据长度、奇偶校验值、用户数据组成
UDP的特点
1.UDP是一个面向非连接的协议。传输数据之前,源端和终端不建立连接。当它想进行传送时就简单抓取来自应用程序的数据,并尽可能快的把它扔到网络上。在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制。在接收端UDP把每个消息段放在队列中,应用程序每一次从队列中读取一个消息段。
2.由于传输不建立连接,因此不需要维护连接状态,一台服务器支持同时向多个客户端传输相同的消息。
3.UDP的数据包报文只有8个字节,相比TCP的20个字节来说,其额外开销较小。
4.吞吐量只受限于数据生成速率、传输速率以及机器性能的影响。
5.UDP尽最大努力交付,不保证可靠交付,因此主机不需要维护复杂的链接状态表。
6.UDP是面向报文的,不对应用程序提交的报文信息进行拆分或者合并。
TCP和UDP的区别
TCP和UDP是运输层中的协议。TCP提供可靠的通信传输,而UDP常被用于让网络和细节交给应用层的通信传输。
1.面向连接vs无连接。TCP是面向连接的、UDP是面向无连接的。TCP有三次握手的连接过程,UDP适合消息的多播发布,从单个点向多个点传输信息。
2.可靠性。TCP是比较可靠的,利用握手确认和重传机制提供了可靠性保证。而UDP则可能会丢失,不知道到底有没有被接收。
3.有序性。TCP利用序列号保证了消息报的顺序交互,消息报到达时可能无序,但是TCP最终会根据序列号对消息报进行排序。而UDP不具备有序性。
4.速度。TCP速度比较慢,因为要创建连接,保证消息的可靠性和有序性,需要做额外的很多事情。而UDP更适合对于速度要求比较高的应用,比如在线视频媒体,电视广播,多人在线游戏等。
5.量级。TCP属于重量级的,UDP属于轻量级的,体现在源数据的头部大小,TCP是20个字节,UDP是8个字节。