• TCP和UDP的区别


    TCP的特点

    1. TCP是面向连接的.
    2. 仅支持单播传输, 每一条TCP连接只能有两个端点, 点对点的数据传输, 不支持多播和广播传输方式.
    3. TCP提供可靠交付的服务, 通过TCP连接传输的数据, 无差错, 不丢失, 不重复, 并且按序.
    4. TCP提供拥塞控制, 当网络出现拥塞时, TCP能减小数据发送的速率和数量, 缓解拥塞.
    5. TCP提供双全工通信, TCP允许通信双方的应用进程在任何时候都能发送数据. TCP连接的两端都设有发送缓存和接收缓存, 用来临时存放双方通信的数据.
    6. 面向字节流, 虽然应用程序和TCP的交互是一次一个大小不等的数据块, 但是TCP把数据仅仅看成一连串的 无结构的字节流.

    UDP的特点

    1. UDP是面向无连接的.
    2. UDP使用尽最大努力交付, 即不保证可靠交付, 因此主机不需要维持复杂的连接状态.
    3. UDP 是面向报文的.
    4. UDP 没有拥塞控制, 因此网络出现拥塞不会使源主机的发送速率降低, 对实时应用很有用.
    5. UDP支持一对一, 一对多, 多对一和多对多的交互通信.
    6. UDP的首部开销小, 只有8个字节, 比TCP的20个字节的首部要短.

    TCP和UDP比较

    TCP UDP
    是否连接 面向连接 面向无连接
    是否可靠 传输可靠 传输不可靠
    连接对象个数 点对点, 一对一 一对一, 一对多, 多对一, 多对多
    传输方式 面向字节流 面向报文
    首部开销 20-60 8
    所需资源
    传输效率
    使用场景 要求通信数据可靠, 如文件传输 要求通信速度高的实时应用, 如域名转换
    作者:凯旋.Lau
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    自动代码质量分析示例搭建
    Springboot监听多个端口
    restFul风格调用get、post请求(包含文件上传与下载)
    主机和虚拟机的网络互通设置
    centos7 linux 安装mysql
    【Flutter】ShaderMash 着色器实现渐变色文字
    Git强制还原本地文件到特定的版本
    VS一直显示“正在从以下位置***加载符号”的解决办法
    .net类库
    hyperf json-rpc剖析
  • 原文地址:https://www.cnblogs.com/KX-Lau/p/12555604.html
Copyright © 2020-2023  润新知