当前位置: 首页 > news >正文

TCP和UDP的区别以及应用场景

区别

首先UDP协议非常简单,头部只有8个字节:
校验和为了提供可靠的UDP首部和数据而设计,防止收到在网络传输中受损的UDP包。
在这里插入图片描述
再对比下TCP协议:
在这里插入图片描述
传输层有两个传输协议分别是 TCP 和 UDP,在内核中是两个完全独立的软件模块。
TCP传输数据前先要建立连接,UDP不需要。
TCP是一对一两点服务,一条连接只有两个端点,UDP支持一对一,一对多,多对多。
TCP是可靠交付数据的,数据可以是无差错,无丢失,无重复,按序可达。UDP尽可能最大努力交付,不保证可靠交付数据。
TCP有拥塞控制和流量控制机制,保证数据传输安全性。UDP没有,即使网络非常堵塞也不影响UDP的发送速率。
TCP首部最少20个字节,UDP首部8个字节且固定不变。
TCP流式传输无边界但保证顺序和可靠,UDP则一个包一个包发送,有边界,但可能会丢包和乱序。
TCP数据如果大于MSS,则会在传输层进行分片,目标主机收到后也同样在传输层组装TCP数据包,如果中途丢失一个分片,只需要传输丢失的这个分片。UDP的数据大小如果大于MTU大小,会在IP层分片,目标主机收到后,在IP层组装完数据,接着再传给传输层。
UDP没有首部长度TCP则有,因为TCP是可变长的字段,UDP不可变无序一个字段记录UDP的首部长度。
UDP有包长度字段,因为首部字段要求是4字节的整数倍,如果去掉UDP的包长度字段,那UDP首部长度就不是4字节的整数倍了。

应用场景

TCP 面向连接,保证数据的可靠性交付,经常用于:

  • FTP文件传输
  • HTTP/HTTPS

UDP面向无连接,可随时发送数据,再加上UDP本身的处理简单且高效,经常用于:

  • 包总量较少的通信,如DNS,SNMP等
  • 视频,音频
  • 广播通信
http://www.lryc.cn/news/58327.html

相关文章:

  • 高铁轮毂表面缺陷的<视觉显著性>超像素图像检测方法
  • 纺织工业库房如何有效防潮?恒温恒湿真的有效吗?
  • SDK之动态链接库开发—基本概念
  • spring生命周期、IOC工作流程、AOP过程,循环依赖、BeanFactory和FactoryBean
  • 小黑子—Java从入门到入土过程:第六章
  • python实战应用讲解-【numpy数组篇】常用函数(二)(附python示例代码)
  • windows10 java 创建合约
  • 阿里巴巴获得商品详情 API调用示例
  • 企业工程管理系统源码-数字化可视化项目管理平台
  • 【C语言】一文带你简单了解C语言
  • LeetCode 589 LeetCode590 N叉树的前序遍历和后序遍历
  • 为什么CAD多段线没有面积属性或数值不对?快看过来!
  • WRF后处理:使用ncl脚本批量提取wrfout变量并输出/Shell 入门:Shell进入不同文件夹执行脚本
  • Consul在Windows系统下的安装与启动
  • 2022国赛16:神州路由器交换机BGP配置实例1
  • PaddlePaddle NLP学习笔记1 词向量
  • 无重复全排列 [2*+]
  • 【血泪建议】软件测试岗位现状,可惜之前没人告诉我,肠子都晦青了....
  • Elastic(ELK) Stack 架构师成长路径
  • Netty的高性能体现在哪些方面
  • CompletableFuture详解
  • (学习日记)2023.3.10
  • 【图像分割】Meta分割一切(SAM)模型环境配置和使用教程
  • AJ入门路线
  • 多商户商城小程序源码开发需具备哪些功能?
  • 【动态规划模板】最长公共|上升子序列问题
  • Android系统启动流程--zygote进程的启动流程
  • C++程序设计——异常
  • 2022年第十三届蓝桥杯web开发—东奥大抽奖【题目、附官方解答】
  • 一份两年前一个月的工作经历没写在简历上,背调前主动坦白,却被背调公司亮了红灯,到手的offer没了!...