11 传输层协议

1、传输层里比较重要的两个协议,一个是 TCP,一个是UDP

对于不从事底层开发的人员来讲,或者对于开发应用的人来讲,最常用的就是这两个协议。

2、TCP 和 UDP 有哪些区别?
1.TCP 是面向连接的,UDP 是面向无连接的。

什么叫面向连接,什么叫无连接呢?

1.在互通之前,面向连接的协议会先建立连接.//例如,TCP 会三次握手
2.UDP 不会建立连接

为什么要建立连接呢?UDP不是也可以发3个包么?为啥不发?

1.所谓的建立连接,是为了在客户端和服务端维护连接,而建立一定的数据结构来维护双方交互的状态,用这样的数据结构来保证所谓的面向连接的特性。
2.例如,TCP 提供可靠交付。通过 TCP 连接传输的数据,无差错、不丢失、不重复、并且按序到达。我们
都知道 IP 包是没有任何可靠性保证的,一旦发出去,都只能随它去。
3.UDP 继承了 IP包的特性,不保证不丢失,不保证按顺序到达。
4.再如,TCP 是面向字节流的。发送的时候发的是一个流,没头没尾。IP 包可不是一个流,而是一个个的
IP 包。之所以变成了流,这也是 TCP 自己的状态维护做的事情。
5.UDP 继承了 IP 的特性,基于数据报的,一个一个地发,一个一个地收。
6.还有TCP 是可以有拥塞控制的。它意识到包丢弃了或者网络的环境不好了,就会根据情况调整自己的行
为,看看是不是发快了,要不要发慢点。UDP 就不会,应用让我发,我就发,管它呢。

因而TCP 其实是一个有状态服务,通俗地讲就是有脑子的,里面精确地记着发送了没有,接收到没有,发送到哪个了,应该接收哪个了,错一点儿都不行。
而UDP 则是无状态服务。通俗地说是没脑子的,发出去就发出去了。

1.MAC 层定义了本地局域网的传输行为
2.IP 层定义了整个网络端到端的传输行为

UDP 包头
在这里插入图片描述
在这里插入图片描述
UDP 的三大特点

1.沟通简单,相信网络世界是美好的,相信网络通路默认就是很容易送达的,不容易被丢弃的。
2.轻信他人。它不会建立连接,虽然有端口号,但是监听在这个地方,谁都可以传给他数据,他也可以传给任何人数据,甚至可以同时传给多个人数据。
3.做事不懂权变,不会根据网络的情况进行
发包的拥塞控制,无论网络丢包丢成啥样了,它该怎么发怎么发
UDP 的三大使用场景
1.第一,需要资源少,在网络情况比较好的内网,或者对于丢包不敏感的应用
2.不需要一对一沟通,建立连接,而是可以广播的应用 UDP 的不面向连接的功能,可以使得可以承载广播或者多播的协议DHCP 就是一种广播的形式,就是基于 UDP 协议的
3.第三,需要处理速度快,时延低,可以容忍少数丢包,但是要求即便网络拥塞,也毫不退缩,一往无前

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用IDEA让文本对比不在变的困难

文章目录 前言操作1、IDEA与电脑磁盘任意文件的比较2、项目内部的文件比较3、剪切板比较4、IDEA本地历史比较5、IDEA版本历史对比 前言 在日常实际开发当中我们常常会对一些代码或内容进行比对查看是否有差异,这个时候不需要借用第三方比对插件,在IDEA中…

leetcode-经典面/笔试题目

1.消失的数字 面试题 17.04. 消失的数字 - 力扣(LeetCode)https://leetcode.cn/problems/missing-number-lcci/ 这个题目当然有好几种解法,这里我推荐一种比较优秀的思路,也就是单身狗思路:异或。 异或的特点是相异…

java正则表达式(Pattern类和Matcher类)

文章目录 前言一、Java中使用正则表达式①捕获组②Pattern类与Matcher类Pattern类:Matcher类:Pattern类&Matcher类方法:Pattern类调用方法(静态方法):1、public static Pattern compile(String regex)2、public st…

【独家揭秘】跨境电商源码独立开发,软著认证,前后端全开源,无加密,交付源码,商用无忧!

在这个数字化快速发展的时代,跨境电商已成为全球商业的重要趋势。为了帮助您快速进入这个潜力巨大的市场,我们独家推出了一款经过全面验证的跨境电商源码解决方案!这款源码具有独立开发、软著认证、前后端全开源、无加密等特点,为您的商业运营…

【QT】 Qt自定义ui控件

在使用Qt的ui设计时,Qt为我们提供了标准的窗口控件,但是在很多复杂工程中,标准窗口控件并不能满足所有的需求,这时就需要我们自定义控件。我们自定义的类既可以作为独立的窗口显示,又可以作为一个控件显示。 我们要实现…

探索经典算法:贪心、分治、动态规划等

1.贪心算法 贪心算法是一种常见的算法范式,通常在解决最优化问题中使用。 贪心算法是一种在每一步选择中都采取当前状态下最优决策的算法范式。其核心思想是选择每一步的最佳解决方案,以期望达到最终的全局最优解。这种算法特点在于只考虑局部最优解&am…

React进阶之路(一)-- JSX基础、组件基础

文章目录 React介绍React开发环境搭建项目目录说明以及相关调整 JSX基础JSX介绍JSX中使用js表达式JSX列表渲染JSX条件渲染JSX样式处理JSX注意事项 组件基础组件的概念函数组件类组件事件绑定如何绑定事件获取事件对象传递额外参数 组件状态状态不可变表单处理受控表单组件非受控…

扭矩传感器采用一阶RC滤波

扭矩传感器内部的一阶RC(电阻-电容)滤波器是一种用于滤除高频噪声和干扰的电路,以确保传感器输出的信号平滑和稳定。这种滤波器通常用于传感器输出信号的处理,以减少测量中的高频噪声。 一阶RC滤波器通常由一个电阻(R…

【广州华锐互动】VR虚拟仿真技术为航测实践教学提供了哪些帮助?

在过去的几十年里,航空测量技术发展迅速,为我们提供了前所未有的地理信息获取手段。然而,这个领域的发展并未停止,最新的技术进步——虚拟现实(VR)——正在为航测实践教学开启新的篇章。 VR虚拟现实技术能够创建和体验三维虚拟环境…

linux循环继续fordodone数值处理和脚本的追踪调试

格式 for ((初始值:限制值;步长)) do 程序段 done 注意点:$(()) 数值运算 $()命令 ${}取值 sh [-nvx] *.sh -n 不执行脚本,检查语法错误-常用 -v 执行之前,将…

vue项目npm install报错解决

一、报错信息 node-sass4.14.1 postinstall: node scripts/build.js 二、解决方式 (1)删除未成功安装的 node_modules 文件; (2)为 node-sass 单独设置镜像源; npm config set sass_binary_sitehttps:/…

STM32H750之FreeRTOS学习--------(五)临界段代码保护

FreeRTOS 文章目录 FreeRTOS五、临界段代码保护临界段代码保护函数任务级进入临界段任务级退出临界段中断级进入临界段中断级退出临界段 任务调度器的挂起和恢复挂起任务调度器恢复任务调度器挂起任务调度器恢复任务调度器 五、临界段代码保护 临界段代码也叫做临界区&#xf…