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 的区别相关推荐

  1. TCP和UDP的区别(转)

    TCP协议与UDP协议的区别     首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信 ...

  2. 5.TCP和UDP的区别

    定义:TCP(Transmission ControlProtocol 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC 793定义.在简化的计算机网络OSI模型 ...

  3. tcp和udp的区别和三次 四次挥握手 http://www.cnblogs.com/bizhu/archive/2012/05/12/2497493.html...

    小结TCP与UDP的区别: 1.基于连接与无连接: 2.对系统资源的要求(TCP较多,UDP少): 3.UDP程序结构较简单: 4.流模式与数据报模式 : 5.TCP保证数据正确性,UDP可能丢包,T ...

  4. 【转】TCP和UDP的区别

    TCP协议与UDP协议的区别 首先咱们弄清楚,TCP协议和UDP协议与TCP/IP协议的联系,很多人犯糊涂了, 一直都是说TCP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信! TCP/ ...

  5. udp 使用connect优点_一文搞懂TCP和UDP的区别

    TCP(Transmission Control Protocol,传输控制协议)和UDP(User Data Protocol ,用户数据报协议)都属于TCP/IP协议簇.TCP/IP协议集包括了超 ...

  6. TCP和UDP的区别(Socket)

    TCP和UDP区别 TCP和UDP编程区别 TCP编程的服务器端一般步骤是: 1.创建一个socket,用函数socket(): 2.设置socket属性,用函数setsockopt(); * 可选 ...

  7. 网络通信tcp与udp的区别

    tcp与udp的区别 网络udp概述 UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议.一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务.类似于日常生 ...

  8. TCP/IP的初步理解,TCP和UDP的区别

    1.什么是TCP/IP协议 TCP/IP协议是一个协议簇.里面包括很多协议的.UDP只是其中的一个.之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他俩命名了. TCP/IP ...

  9. 传输层协议TCP和UDP的区别详解

    一.TCP协议 1.TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认.窗口.重传.拥塞控制机制,在数据传完后,还会断开连接用来节约系 ...

  10. TCP和UDP的区别有哪些

    TCP和UDP的区别有哪些 传输层协议主要有TCP与UDP. UDP:提供无连接的通信,不能保证数据包被发送到目的地址,典型的即时传输少量数据的应用程序使用UDP TCP:面向连接的.可靠地.基于字节 ...

最新文章

  1. Excel VBA 教程
  2. 用 javascript 获取当页面上鼠标(光标)位置
  3. pb9数据窗口中显示行数据与当前行区别_Hive的窗口函数
  4. OpenCV人脸检测并把图片写成avi视频
  5. 数学C语言编程,数学规划 (最速下降法,c语言编程).doc
  6. 故宫4天门票已售罄 五一假期大家都去哪儿“看一看”了?
  7. SMTP Error: Could not connect to SMTP host.
  8. yolov3识别的类别_Gaussian YOLOv3:一个更强的YOLOv3,现已开源!
  9. python c++ 批量命名文件夹内的图像
  10. matplotlib 28原则
  11. 开发一个简单实用的android紧急求助软件
  12. 无法启动程序因为计算机中丢失dev,DevUseAnalyzerTask.dll
  13. 定义标准的POJO类
  14. java poi word 复制_java poi如何复制word中的table
  15. jQuery插件的使用
  16. H5页面跳转到微信公众号首页
  17. 分享一个微信公众号id转换为biz的接口
  18. Linux防火墙入门:基本观念(转)
  19. PCIE高性能RAID固态存储卡
  20. 第十届蓝桥杯单片机组(省赛)——试题解答

热门文章

  1. Android Content开头的Uri和文件绝对路径互相转换
  2. MATLAB图像去雾处理系统
  3. 【ansys常见命令集合】
  4. three.js中jsm文件夹的使用
  5. ROS2机器人操作系统简介2021英文字幕版本
  6. Linux怎样返回上一层目录的命令:
  7. 2023北京物资学院计算机考研信息汇总
  8. 芯盾时代完成3亿元C轮融资,宽带资本领投
  9. Navicat-数据库的连接以及使用
  10. Python调用PHP的函数