TCP 与 UDP 的区别

原创 2017年10月06日 16:03:12

TCP面向字节流 UDP面向报文

TCP 是字节流的协议,无记录边界。
UDP 发送的每个数据报是记录型的数据报,所谓的记录型数据报就是接收进程可以识 别接收到的数据报的记录边界。

基于连接 vs 无连接

TCP 是面向连接的协议,而 UDP 是无连接的协议。这意味着当一个客户端和一个服 务器通过 TCP 发送数据之前,必须先建立连接,建立连接的过程也被称为 TCP 三次握手。

可靠性

TCP 提供交付保证,这意味着一个使用 TCP 协议发送的消息是保证交付给客户端的, 如果消息在传输过程中丢失,那么它将重发。UDP 是不可靠的,它不提供任何交付的保证, 一个数据报包在运输中可能丢失

TCP 只能单播,UDP 可以广播和组播。

有序性

消息传达到另一端时,TCP保证消息是有序的,UDP只能送达,不保证有序

速度

TCP 速度比较慢,而 UDP 速度比较快,因为 TCP 必须创建连接,以保证消息的可靠 交付和有序性,他需要做比 UDP 多的事。这就是为什么 UDP 更适用于对速度比较敏感的 应用。TCP 适合传输大量数据,UDP 适合传输少量数据

重量级 vs 轻量级

TCP 是重量级的协议,UDP 协议则是轻量级的协议。一个 TCP 数据报的报头大小最 少是 20 字节,UDP 数据报的报头固定是 8 个字节。TCP 报头中包含序列号,ACK 号,数 据偏移量,保留,控制位,窗口,紧急指针,可选项,填充项,校验位,源端口和目的端 口。而 UDP 报头只包含长度,源端口号,目的端口,和校验和。

流量控制或拥塞控制

TCP 有流量控制和拥塞控制。UDP 没有流量控制和拥塞控制。

TCP 应用场景:效率要求相对低,但对准确性要求相对高的场景。因为传输中需要 对数据确认、重发、排序等操作,相比之下效率没有 UDP 高。举几个例子:文件传输、邮 件传输、远程登录。
UDP 应用场景:效率要求相对高,对准确性要求相对低的场景。举几个例子:QQ 聊天、QQ 视频、网络语音电话(即时通讯,速度要求高,但是出现偶尔断续不是太大问 题,并且此处完全不可以使用重发机制)、广播通信(广播、多播)。

版权声明:本文为博主原创文章,未经博主允许不得转载。

TCP 和 UDP区别

  • 2015年04月16日 22:11
  • 387KB
  • 下载

TCP与UDP的区别

  • 2017年08月15日 11:25
  • 269KB
  • 下载

TCP/UDP 协议,和 HTTP、FTP、SMTP,区别及应用场景

TCP/UDP 协议,和 HTTP、FTP、SMTP,区别及应用场景 一、OSI 模型 OSI 模型主要作为一个通用模型来做理论分析,而TCP/IP 协议模型是互联网的实际通讯协议,两者一般做...

UDP和TCP区别详解

  • 2011年07月31日 19:06
  • 118KB
  • 下载

tcp和udp的区别测试实例

  • 2011年06月02日 15:38
  • 12KB
  • 下载

Tcp/Ip与UDP之间的联系与区别

原文地址:http://www.2cto.com/net/201302/188359.html 1.面向连接的TCP   www.2cto.com   TCP(Trans...

TCP与UDP的区别、用途、例子

  • 2012年08月03日 10:29
  • 6KB
  • 下载

TCP与UDP区别(socket编程)

  • 2011年11月07日 14:09
  • 17KB
  • 下载

TCP与UDP的特点和区别

面向连接的TCP       TCP面向连接通信,所以握手过程会消耗资源,过程为可靠连接,不会丢失数据,适合大数据量交换       “面向连接”就是在正式通信前必须要与对方建立起连接...

UDP与TCP的区别

  • 2017年02月08日 13:46
  • 25KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:TCP 与 UDP 的区别
举报原因:
原因补充:

(最多只允许输入30个字)