UDP和TCP的区别

738 阅读2分钟

本文正在参与 “网络协议必知必会”征文活动

UDP简介

Internet 协议集支持一个无连接的传输协议,该协议称为用户数据包协议(UDP,User Datagram Protocol)。UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法。RFC 768  描述了 UDP。

Internet 的传输层有两个主要协议,互为补充。无连接的是 UDP,它除了给应用程序发送数据包功能并允许它们在所需的层次上架构自己的协议之外,几乎没有做什么特别的事情。面向连接的是 TCP,该协议几乎做了所有的事情。 来源为百度百科

UDP的特点

1.UDP是无连接的, 即发送数据之前不需要建立链接 2.UDP是尽最大努力交付,即不保证可靠交付, 不需要维持链接状态 3.UDP是面向报文的 4.UDP没有拥塞设计 5.UDP支持一对一,一对多,多对多 6.UDP的首部开销非常小, 只有8个字节

区别

TCP和UDP的主要区别如下

  1. TCP基于连接,UDP基于无连接
  2. 系统资源的要求(TCP占用资源较多,UDP占用资源少)
  3. UDP程序结构比较简单
  4. TCP保证数据正确性, UDP因为基于无连接有可能会丢包
  5. TCP保证数据顺序, UDP不保证数据顺序
  6. TCP的安全性没有UDP的安全性搞,并且UDP的漏洞比较少,不容易被不法分子利用
  7. UDP的速度比TCP快, 因为TCP在传输数据时需要先建立连接,建立连接需要先进行三次握手,比较耗时,而UDP是无连接传输数据的.
  8. 连接数量的区别,TCP是一对一的链接, 而UDP是一对多或者多对多进行连接的