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的区别

  • 2017-08-15 11:25
  • 268KB
  • 下载

TCP 和 UDP区别

  • 2015-04-16 22:11
  • 387KB
  • 下载

TCP与UDP的区别,以及Http和Socket

TCP与UDP的区别  TCP:Transmission Control Protocol   传输控制协议    UDP: User Data Protocol 用户数据包协议 TCP面...

UDP和TCP区别详解

  • 2011-07-31 19:06
  • 118KB
  • 下载

tcp和udp的区别测试实例

  • 2011-06-02 15:38
  • 12KB
  • 下载

socket、HTTP、TCP、UDP、IP的区别

网络通信

udp与tcp数据模式区别-用代码解释

所有接触过网络编程的,都会被告之:udp传输的是数据报,tcp传输的是流。但是数据报和流到底有什么不同,怎么测试他们的不同呢?今天的这个小程序能很好的解释这个问题。 udp

TCP协议与UDP协议的区别

  • 2016-11-28 22:06
  • 316KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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