• 用户数据报协议UDP(User Datagram Protocol)传输控制协议TCP(Transmission Control Protocol)

  • UDP和TCP是TCP/IP体系结构运输层中两个重要协议,其使用频率仅次于网际层的IP协议

  • 运输层采用面向连接的 TCP 协议时,尽管下面的网络是不可靠的(只提供尽最大努力服务),但TCP协议就相当于在逻辑上建立了一条通信信道,该信道是全双工的可靠信道

  • 当运输层采用无连接的 UDP 协议时,这种逻辑通信信道是一条不可靠信道

接下来,我们从以下几个方面对比UDP和TCP:

  • 以下的连接逻辑上连接不是物理上的连接

1、在连接方式上:

UDP是无连接的通信方式

TCP是通过著名的**“三次握手”建立连接,“四次挥手”释放连接**。

2、在传播方式上:

UDP由于不建立连接,支持多播和广播

TCP由于每次通信需要建立基于TCP连接的可靠信道,且每次只能建立一条连接,因此只支持单播

3、在报文传输处理上:

UDP协议中,对于应用层传输下来的报文不进行处理,保留报文的边界。在给报文加上UDP首部,进行发送。UDP接收方首部接收到UDP数据后,去除其首部,交付给应用层。

可以看出,UDP是针对报文为单位进行处理的,也就是UDP是面向应用报文的。

在TCP协议中比较复杂:
在TCP发送方:

TCP协议会把应用进程交付下来的数据块(报文)看作是一连串无结构的字节流(TCP并不知道这些子节含义),将他们编号,并存储在自己的发送缓存中,TCP再根据发送策略,提取一定量的字节,加上TCP首部,构建成TCP报文进行发送。

对于接收方,同时进行两件事:
从所接受到的TCP报文段中,取出数据载荷部分并存储在接收缓存中,同时将接收缓存中的一些字节交付给应用进程。

TCP将大块数据分割成以报文段为单位的数据包进行管理,是为了更方便传输。

有两个点值得注意:

TCP协议保证接收方收到的字节流和发送方应用进程发出的字节流完全一样
TCP不保证接收方应用进程所收到的数据块与发送方发送的数据块,具有对应大小的关系,例如,发送方应用进程交给发送方的TCP共10个数据块,但接收方的TCP可能只用了4个数据块,就把收到的字节流交付给了上层的应用进程。但。就是不会全部将数据交付给上层。

因此接收方的TCP应用进程必须有能力识别收到的字节流,把它还原成有意义的应用层数据

可以看出,TCP对报文的处理是以子节为单位的,也就是TCP是面向字节流的,这正是TCP实现可靠传输、流量控制、以及拥塞控制的基础

4、在给上层提供的服务上:

UDP提供的是不可靠服务:
对于发送的UDP数据报,接收方在检测到其误码后直接丢弃,不做其他操作。对于发送方发送过程中出现分组丢失,也不做处理。因此其传输数据是不一定能使接收方全部收到数据,因此是不可靠服务。

TCP提供的是可靠服务:
由于TCP字传输过程中需要建立连接,通过建立的可靠信道进行传输,因此不会出现传输差错,也就是误码、丢失、乱序、重复。因此可以保证发送端发送什么,接收端接收到什么,是可靠传输。

4、协议首部的对比:

由于UDP不提供可靠传输的服务,因此其首部只需要在网际层的基础上添加区分端口的子节,其首部比较简单。

在TCP中,需要提供可靠传输、流量控制、拥塞控制等服务,首部比较复杂,字段比较多。

TCP和UDP的对比总结:

UDP和TCP的对比相关推荐

  1. 计算机网络 | UDP和TCP的对比 | 参考自湖科大 | 无知的我费曼笔记(图文排版无水印)

    无知的我正在复盘计算机网络... 笔记特点是 我重新整理了涉及资料的一些语言描述.排版,而使用了自己比较容易理解的描述.同样是回答了一些常见关键问题... 文章目录 UDP和TCP的对比 TCP/IP ...

  2. UDP协议、UDP和TCP优缺点对比

    一.定义 UDP 全称 User Datagram Protocol, 用户数据报协议.和TCP协议一样,也处于计算机网络的运输层(传输层). 但是UDP是一种不可靠的协议,正如名字,他是无连接的.面 ...

  3. 基于Socket的UDP和TCP编程介绍

    一.概述 TCP(传输控制协议)和UDP(用户数据报协议是网络体系结构TCP/IP模型中传输层一层中的两个不同的通信协议. TCP:传输控制协议,一种面向连接的协议,给用户进程提供可靠的全双工的字节流 ...

  4. 基于Socket的UDP和TCP编程介绍-转

    一.概述 TCP(传输控制协议)和UDP(用户数据报协议是网络体系结构TCP/IP模型中传输层一层中的两个不同的通信协议. TCP:传输控制协议,一种面向连接的协议,给用户进程提供可靠的全双工的字节流 ...

  5. UDP与TCP对比,TCP保证可靠性传输的详细说明

    目录 1 UDP 2 TCP 2.1 TCP协议如何保证可靠传输 2.2 流量控制 2.2.1 TCP的滑动窗口 2.3 拥塞控制 2.3.1 慢开始 2.3.2 拥塞避免 2.3.3 快重传 2.3 ...

  6. UDP和TCP对比与区别

    文章目录 UDP和TCP对比 总对比 1.udp是无连接的服务,tcp是面向连接的服务 2.udp支持单播,多播以及广播:tcp仅支持单播 3.udp面向报文,tcp面向字节流 4.udp是不可靠传输 ...

  7. Qt UDP和TCP对比

    一.UPD和TCP区别总结 二.详细对比UDP和TCP如下: 1.TCP是面向连接的,UDP是面向无连接的 TCP则在通信前需要进行三次握手,UDP不需要. UDP在发送端,应用层将数据传递给传输层的 ...

  8. 实验7 UDP与TCP对比

    一.实验目的 熟悉UDP与TCP的主要特点及支持的应用协议. 理解UDP的无连接通信与TCP的面向连接通信. 熟悉TCP报文段和UDP报文的数据封装格式. 二.背景知识 1.UDP UDP是一个简单的 ...

  9. python怎么接收udp报文_面试官:说说UDP和TCP的区别及应用场景

    上一篇聊完一文彻底搞懂 TCP三次握手.四次挥手过程及原理 这次聊聊TCP和UDP的区别和场景 TCP/IP 中有两个具有代表性的传输层协议,分别是 TCP 和 UDP.来看看传输层位于OSI七层协议 ...

最新文章

  1. python程序保存_初识python 文件读取 保存
  2. nyoj-483--Nightmare--BFS+允许回头
  3. python十点半游戏代码_Python实现Pig Latin小游戏实例代码
  4. t–sql pl–sql_糟糕SQL查询设计– SQL查询性能的杀手–基本知识
  5. Socket TCP UDP
  6. open wrt 跟换主题_键盘还能这样玩,个性兼实用 达尔优归燕主题
  7. 管理感悟:不谈态度,只谈做法
  8. Python编程 | 颜色分类
  9. 什么是GRE词汇红宝书?
  10. IT之家精华:苹果iOS系统发布/固件下载/升级更新大全表~
  11. epson机器人编程 范例_EPSON工业机器人编程.pdf
  12. 初级、中级和高级开发人员之间有什么区别?
  13. Html的页面演变史01
  14. Ubuntu 16.04 LTS 完善解决亮度调整
  15. windows2016服务器优化,Windows server 2016性能调优问题
  16. 不用编程 实现西门子PLC和罗克韦尔AB PLC的通讯和协议转换
  17. OpenCV开发笔记(六十三):红胖子8分钟带你深入了解SIFT特征点(图文并茂+浅显易懂+程序源码)
  18. Listener refused the connection with the following error
  19. a-card标签中的文字不能垂直居中
  20. 设计师一定要知道这5个免费样机素材网

热门文章

  1. 只有善用能力才能充分发挥
  2. 红帽Liunx系统管理员认证(RHCSA)实验环境搭建
  3. AS3游戏源码,3D俄罗斯方块
  4. 不倾慕FaceTime 米聊更新支撑视频通话
  5. 解决sqlite 删除记录后数据库文件大小不变
  6. android 高仿qq,Android高仿QQ头像截取
  7. win7查找计算机图片,win7系统查看图片分辨率的详细办法
  8. angular js 打开新的浏览器窗口
  9. php move函数,php move_uploaded_file函数怎么用
  10. 《微店赚钱一册通 ——开店+营销+推广 实战全攻略》一一1.3 商家纷纷试水微信营销...