(学习笔记-TCP基础知识)TCP与UDP区别

news2024/11/25 2:24:05

UDP

UDP不提供复杂的控制机制,利用IP提供面向[无连接]的通信服务。

UDP协议非常简单,头部只有8个字节(位),UDP的头部格式如下:

  • 目标和源端口:主要是告诉UDP协议应该把报文发给哪个进程
  • 包长度:该字段保存了UDP首部的长度跟数据的长度之和
  • 校验和:提供可靠的UDP首部和数据而设计,防止收到网络传输中受损的UDP包

TCP

TCP是面向连接的、可靠的、基于字节流的传输层通信协议

TCP的头部格式大概如下:


区别

 1. 连接

  • TCP是面向连接的传输层协议,传输数据前要先建立连接
  • UDP是不需要连接,即刻传输数据。

2. 服务对象

  • TCP是一对一的两点服务,即一条连接只有两个端点
  • UDP支持一对一、一对多、多对多的交互通信

3. 可靠性

  • TCP是可靠交付数据的,数据可以无差错、不丢失、不重复、按序到达
  • UDP是尽最大努力交付,不保证可靠交付数据。但是我们可以基于UDP传输协议实现一个可靠的传输协议,比如QUIC协议

4. 拥塞控制、流量控制

  • TCP有控拥塞控制和流量控制机制,保证数据传输的安全性
  • UDP则没有,即使网络非常拥堵,也不会影响UDP的发送速率

5. 首部开销

  • TCP首部长度较长,会有一定的开销,首部在没有使用[选项]字段的时候是20个字节,如果使用了会更长
  • UDP首部长度只有8个字节,并且是固定不变的,开销较小

6. 传输方式

  • TCP是流式传输、没有边界,但保证顺序和可靠
  • UDP是一个包一个包的发送,是有边界的,但可能会丢包和乱序。

7. 分片不同

  • TCP的数据大小如果大于MSS大小,则会在传输层进行分片,目标主机收到后,也同样在传输层组装TCP数据包,如果中途丢失了一个分片,只需要传输丢失的这个分片。
  • UDP的数据大小如果大于MTU大小,则会在IP层进行分片,目标主机收到后,在IP层组装完数据。

应用场景

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

  • FTP文件传输
  • HTTP/HTTPS

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

  • 包总量较少的通信,如DNS、SNMP
  • 视频、音频等多媒体通信
  • 广播通信

问题

1. 为什么UDP头部没有[首部长度]字段,而TCP头部有[首部长度]字段呢?

原因:TCP有可变长的[选项]字段,而UDP头部长度是不会变化的,无需多一个字段去记录UDP的首部长度。

2. TCP和UDP可以使用同一个端口吗?

可以

在数据链路层中,通过MAC地址来寻找局域网中的主机。在网络层中通过IP地址来寻找网络中互连的主机或路由器。在传输层中,需要通过端口号进行寻址,来识别统一计算机中同时通信的不同应用程序。

所以,传输层的端口号的作用是为了区分同一个主机上不同应用程序的数据包。

传输层有两个传输协议分别是TCPUDP,在内核中是两个完全独立的软件模块。

当主机收到数据包后,可以在IP包头的[协议号]字段知道该数据包是TCP/UDP,所以可以根据这个信息确定送给哪个模块(TCP/UDP)处理,送给TCP/UDP模块的报文根据[端口号]确定送给哪个应用程序处理。

因此,TCP/UDP各自的端口号也相互独立,如TCP有一个80的端口号,UDP也可以有一个80的端口号,并不冲突。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/765218.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CentOS目录详解

在centos中,最顶层的目录称作根目录, 用/表示。/目录下用户可以再创建目录,但是有一些目录随着系统创建就已经存在,接下来重点介绍几个常用目录。 /bin(binary)包含了许多所有用户都可以访问的可执行文件&a…

轻松实现金蝶云星空与赛意SMOM系统的全面集成

1. 金蝶云星空:为运营协同与管控型企业提供通用ERP服务平台 金蝶云星空是基于当今先进管理理论和数十万家国内客户最佳应用实践开发的ERP服务平台。它针对事业部制、多地点、多工厂等企业和集团公司,提供了通用的企业资源计划(ERP&#xff0…

win键无效,键盘Win组合键突然不不能用如何解决?

电脑win键失效怎么办? 在使用windows系统的时候,发现一个问题,就是win键失效了,怎么按都没有反应,该怎么办呢? 键盘方面的原因 此时之是键盘的原因与系统本身没有关系,键盘屏蔽热键主要目标是…

【技能实训】DMS数据挖掘项目-Day13

文章目录 任务15【任务15.1】ClientFrame.java【任务15.2】ClientFrame.java【任务15.3】实现匹配日志信息或物流数据的数据保存功能(保存到本地文件),将15.2中,返回的匹配数据,保存到客户端文件中【任务15.4】实现物流…

恢复软件哪些好?推荐3款,亲试好用!

“想问下朋友们有什么好的恢复软件推荐吗?我的电脑数据经常都莫名其妙就找不到了,我也不敢随意进行操作。如果有好的数据恢复软件,快给我推荐推荐吧!” 电脑数据很多都是比较重要的,如果经常丢失数据,会对我…

DV SSL证书

一、DV SSL证书是什么? DV SSL(又称域名验证型证书)是便宜又快速实现网站HTTPS加密、有效防劫持的SSL证书。购买DV证书仅需百十元起,只需验证域名的所有权,3-5分钟极速签发。因此,DV SSL证书成为众多个人网…

探索新机遇,助力娱乐社交新增长丨网易云信亮相 PMTalk 北京产品运营大会

近日,在 PMTalk 联合网易易盾、网易云信主办的北京产品运营大会上,网易云信娱乐社交产品经理聂夏军介绍了 AIGC 与娱乐社交行业融合并助力业务新增长的思路,并分享了网易云信在帮助开发者业务增长方面的探索和实践经验。 由于国内娱乐社交市场…

nginx推流环境搭建

目录 1、创建安装文件夹2、安装编译 nginx 所需要的库3、下载 nginx-1.21.6.tar.gz下载 nginx-rtmp-module4、解压解压nginx文件解压rtmp模块5、编译6、安装7、启动nginx,检测nginx是否能成功运行8、配置nginx使用RTMP9、重启nginx服务器1、创建安装文件夹 cd ~ mkdir nginx …

无参数读文件和RCE总结

什么是无参数? 顾名思义,就是只使用函数,且函数不能带有参数,这里有种种限制:比如我们选择的函数必须能接受其括号内函数的返回值;使用的函数规定必须参数为空或者为一个参数等 接下来,从代码…

基于51单片机和proteus的温室大棚系统

此系统是基于51单片机和proteus的仿真设计,功能如下: 1. LCD1602实时显示光照/土壤湿度/温度值及设定值。 2. 按键可增减光照/土壤湿度/温度设定阈值。 3. 获取到的温度低于设定温度则打开加热设备。 4. 获取到的光照值低于设定光照值则打开补光灯。…

「车型分析」控制系统典型应用车型 —— 停车机器人

如今,城市可用土地的日益稀缺(城市化)和汽车使用数量的增加(机动化),为了可持续性发展和其他生活质量问题相结合,由此孕育出来了一种自动停车系统。停车机器人凭借其灵活、高效、标准化的停车模式&#xff…

高时空分辨率、高精度一体化预测技术之风、光、水能源自动化预测教程

详情点击链接:高时空分辨率、高精度一体化预测技术之风、光、水能源自动化预测 第一:预测平台及安装 一、高精度气象预测基础 综合气象观测数值模拟模式; 全球预测模式、中尺度数值模式; 二、自动化预测平台 Linux系统 Crontab…

直播软件源码开发搭建提高安全性方案

随着互联网技术的发展与普及,直播软件源码平台早已深入到大家生活当中,人们常常在直播软件源码平台中去获取资讯、发布资讯或是去寻找想要的物品。但是,直播软件源码平台虽是一款放松娱乐、获取资讯等作用的软件,但也包含了用户们…

IDEA实用设置及插件

一、IDEA实用设置 二、IDEA实用插件 1. aiXcoder是一个基于最先进的深度学习技术的强大的代码完成器和代码搜索引擎。它有可能向您推荐一整行代码,这将帮助您更快地进行编码。AiXcoder还提供了一个代码搜索引擎,帮助您在GitHub上搜索API用例。 2. 阿里…

【25】SCI易中期刊推荐——神经网络科学(中科院4区)

💖💖>>>加勒比海带,QQ2479200884<<<💖💖 🍀🍀>>>【YOLO魔法搭配&论文投稿咨询】<<<🍀🍀 ✨✨>>>学习交流 | 温澜潮生 | 合作共赢 | 共同进步<<<✨✨ 📚📚>>>人工智能 | 计算机视觉…

学术论文——2.学术论文编写规则(参考国家标准GB/T 7713.2-2022)

目录 1 组成部分 1.1 一般要求 1.2 前置部分 1.3 正文部分 1.4 附录部分 2 编排格式要求 2.1 编号要求 2.2 量和单位 2.3 图表 2.4 数字 2.5 数学式 3 字号和字体 该规则的适用范围包括一切反映自然、社会和人文等的科学体系的学术论文&#xff0c;规定了学术论文…

前端(七)——React框架的定位与应用场景解析

&#x1f60a;博主&#xff1a;小猫娃来啦 &#x1f60a;文章核心&#xff1a;React框架的定位与应用场景解析 文章目录 React的产生和发展React框架概述React在前端开发中的角色React框架的优势与劣势最火的9款React UI框架React的定位与使用场景React框架的未来发展趋势学习R…

23 - 数组和广义表 - 数组

前面我们学习了线性表,数组和广义表可看成是一种特殊的线性表 ,数组则是线性表中最典型的一种结构,数组也称之为顺序表,那么我们就先以数组来开始学习! 数组的定义 数组(array)是一种线性表的数据结构,用一组连续的内存空间,存储相同的类型数据。 数组在内存中的结构…

RabbitMq面试题总结

一. 为什么选择RabbitMq&#xff1f; 1.支持持久化消息&#xff0c;持久化消息主要是指我们机器在不可抗力因素等情况下挂掉了&#xff0c;消 息不会丢失的机制。 2.支持高并发&#xff0c;erlang语言面向并发面向消息的函数编程语言&#xff0c;可以很快创建轻量级线程。 3.社…

C++核心编程之函数高级使用

目录 一、函数的默认参数 二、函数占位参数 三、函数重载 四、函数重载-注意事项 一、函数的默认参数 在C中&#xff0c;函数的形参列表中的形参是可以有默认值的 语法&#xff1a;返回值类型 函数名 &#xff08;参数默认值&#xff09;{} 示例1&#xff1a; #includ…