前言
在TCP/IP协议四层模型的传输层中常用的协议就是TCP协议和UDP协议,主要是负责数据能够从发送端传输到接收端,这两个协议也有着各自的特点和优势,分别应用着不同的场合。
UDP数据报格式:
除去数据部分,就是UDP首部的格式。同时我们也会发现UDP的报文非常简单,这也是它的优势所在。
特点:
- 无连接
UDP是一种面向无连接的通信协议,因此不检查对端是否可以通信,直接将UDP包发送过去,
- 不可靠
相对于TCP协议中的安全机制,UDP协议没有超时重传机制,没有确认应答机制,以及其他的安全机制。如果因为网络故障则无法发送到对方,也不会给出任何的错误信息。因此UDP是不可靠传输。
虽然UDP是不可靠的,但是由于UDP的实时性很高,所以会常常用于视频/音频聊天等场合。
- 面向数据报
应用层交给UDP多长的报文,UDP就照原样发送,不会拆分,也不会合并。
- 有接收缓存区,没有发送缓存区
UDP没有真正意义上的发送缓存区,它会直接交给内核,由内核将数据传给网络层协议,进行后续的传输。
UDP有接收缓存区,但是接收缓存区不能保证接收到的顺序和发送的顺序一致,如果缓存区满了,再到达UDP数据就会被丢弃(从这里也可以看到UDP是不可靠的)。
TCP数据段格式
特点
- 有连接
TCP提供面向有连接的通信传输。面向有连接 是指数据通信开始之前先做好通信两端的准备工作。