• TCP与UDP的区别


    前言

    TCP协议:TCP协议是传输控制协议,它是面向连接的可靠传输层协议,在传输数据之前必须建立连接

    UDP协议:UDP协议是用户数据报协议,它是无连接的不可靠传输层协议,在传输数据之前不需要建立连接

    区别

    TCP协议

    UDP协议
    面向连接无连接
    可靠不可靠
    只支持点对点

    支持一对一、一对多、

    多对一和多对多的交互通信

    字节流形式传输数据报文段形式传输
    具备流量控制、拥塞控制等功能不使用拥塞控制
    所需资源较多所需资shubu
    首部字节最小为20字节最多为60字节协议首部字节为8字节

    TCP协议是面向连接的,而UDP协议是无连接的

            TCP协议面向连接体现在,在数据传输之前必须要通过“三次握手”与服务器建立连接,而UDP是无连接的,随时都可以发送数据。

    TCP协议是传输可靠的,UDP协议是传输不可靠的

            TCP的可靠性是体现在,在数据传输的过程中,TCP协议将数据分出若干报文段来进行传输,而当出现网络延迟、网络情况复杂等特殊情况时,出现丢包情况,TCP协议会在网络恢复时,将丢包重新进行发送,而UDP协议不考虑传输的数据是否准确,因从TCP协议是可靠传输,而UDP协议是不可靠传输。

    TCP协议是以字节流形式传输的,UDP协议是以数据报文段形式传输的

            TCP协议是把引用层传下来的报文看作是字节流,把字节流组织成大小不等的报文段,而UDP协议是面向报文传输

    TCP传输效率较低,而UDP传输效率较高

            TCP协议由于要保证数据的可靠性传输,因此在底层代码处理中要比UDP协议复杂的多,所以“以效率换安全”,因此TCP协议相对与UDP协议传输效率较低

    TCP协议所需资源较多,UDP所需资源较少

            正如分析TCP效率低一样,在维护TCP协议数据传输的可靠性这一方面,底层采用多种方式进行控制可靠性,例如:重传机制、滑动窗口、检验和、序列号等多种方式,因此TCP协议是所需资源较多的,而UDP协议是不保证可靠的,因此所需资源较少

    TCP首部字节最小为20字节最多为60字节,UDP协议首部字节为8字节

            在TCP首部中有一个数据偏移,该数据偏移是四字节,最大是1111表示15×4=60个字节,即表示TCP首部最大长度为60个字节,UDP的首部开销较小,只有8字节

    TCP协议使用场景要求通信数据可靠,UDP协议要求通信速度快

            TCP协议:文件传输、邮件传输等

            UDP协议:音频、视频通话、直播等

  • 相关阅读:
    解决docker通过volumes挂载文件,宿主机修改后容器内不同步,重启服务才能同步
    mysql面试题20:有哪些合适的分布式主键方案
    Spring 框架(Spring Framework)使用详解
    Vue.js 框架源码与进阶 - Vue.js 3.0 响应式系统原理
    win7电脑开机后找不到explorer. exe怎么办
    造轮子之消息实时推送
    电商平台如何实现分账功能?
    18.9k star!一个高性能的嵌入式分析型数据库,主要用于数据分析和数据处理任务
    基于KMeans聚类算法的网络流量分类预测
    macOS 和 Linux 有什么区别?
  • 原文地址:https://blog.csdn.net/w259149/article/details/127038551