UDP协议与TCP协议的对比

UDP协议的特点

(1)无连接,就像发短信一样,不需要建立连接,直接传输
(2)UDP尽最大努力交付,不保证可靠性,没有确认机制,没有重传机制
(3)UDP是面向报文的,应用层交付给UDP的报文,UDP原样发送,不会拆分和合并
(4)UDP首部只有8个字节,开销小
(5)UDP支持一对一、一对多、多对多的交互通信
(6)如果校验和出错,直接丢弃
(7)UDP没有真正意义上的发送缓冲区,调用sendto直接交给内核,由内核将数据传给网络层协议进行后续动作;UDP具有接受缓冲区,但是不能保证UDP报文的顺序和发送的顺序一致,如果缓冲区满了,再来的数据直接丢弃。

TCP协议的特点:

(1)TCP是面向连接的
(2)TCP提供可靠的交付服务,连接传输数据,无差错,不丢失,不重复,按序到达
(3)TCP面向字节流,TCP协议根据对方给出的窗口和当前网络的拥塞成都绝地当一个保温包含多少个字节。
(4)TCP除了可靠性,还有滑动窗口、捎带应答等机制保证效率

对比

  1. 传输效率:UDP协议,每个数据包中都给出了完整的地址信息,无需建立发送方和接收方的连接;TCP协议是面向连接的,在socket之间进行数据传输之前需要建立连接,所以TCP协议多了建立连接的时间
  2. 传输大小:UDP协议的传输是有大小限制的,每个被传输的数据包必须在64KB之内;TCP协议一旦建立连接,双方可以传输大量的数据
  3. 可靠性:UDP是不可靠的协议,发送方的数据并不一定按次序到达接收方;TCP协议是可靠的协议,确保接收方完全正确的获取发送方所发送的全部数据。

猜你喜欢

转载自blog.csdn.net/wei_cheng18/article/details/80602779