运输层


title: 运输层
date: 2023-12-24 14:17:55
tags: 知识总结
categories: 计算机网络

运输层和网络层的联系和区别

物理层、数据链路层以及网络层它们共同解决了将主机通过异构网络互联起来所面临的问题,实现了主机到主机的通信,但实际上,在计算机网络中进行通信的真正主体是位于通信两端主机中的进程,即两台主机的应用进程互相通信。因此运输层的任务就是为应用进程之间的通信提供服务

一、用户数据报协议

UDP报文首部的长度仅八个字节

二、传输控制协议TCP

可靠传输的工作原理
理想传输条件有以下两个特点

(1) 传输信道不会产生差错
(2) 不管发送方以多快的速度发送数据,接收方总是来得及处理收到的数据

理想状态下,不需要任何措施就能够实现可靠传输,。但实际网络中,都不具备理想传输条件,必须使用一些可靠传输协议、从原本不可靠的传输信道实现可靠传输
对于第二点,接收方通过确认报文的窗口值来确认控制发送方的发送窗口值
(我能接受多少,你就发多少)

停止等待协议

每发送完一个分组即停止发送,等待对方的确认,在收到确认后再发送下一个分组

每发送完一个分组,必须暂时保存已发送的分组的副本,只有在收到相应的确认后才消除暂时保留的分组副本,就如发送缓存和接受缓存

设置一个超时重传时间,在发送一个分组,启动超时重传时间,等待ACK,若丢失或者错误,那么则不会受到确认,这时时间到期就重传

超时计时器的重传时间比分组传输的平均往返时间要长一些,防止不必要的重传

使用上述的确认和重传机制,我们就可以在不可靠的传输网络实现可靠的通信,这种机制通常交作文自动重传请求,重传的请求是发送方自动进行的不需要接收方的通知

滑动窗口 连续ARQ协议

ARQ的优点是简单,但缺点是信道利用率太低

采用流水线方式,不用等待确认,发送方连续发送多个分组

发送窗口:位于发送窗口内的分组可以连续发送出去,不需要等待对方确认

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

三、TCP可靠传输的实现

四、TCP的流量控制

流量控制,就是对发送方的发送速率不要太快,要让接收方来得及接收
滑动窗口机制很方便的在TCP连接上实现对发送方的流量控制

基本方法:根据接收方根据自己的接受能力控制发送方的流量控制

五、TCP的拥塞控制

六、TCP的运输连接管理

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

奋楫扬帆,奔赴新程 | 2023 年图扑大事记回顾,与您携手共迎 2024

2023.01 工信部公示了 2022 年度智能制造示范工厂揭榜单位和优秀场景名单。图扑软件和上海洲邦合作建设的宁波甬友数字孪生工厂被评为优秀场景,全国共有 369 个智能制造典型场景入选。 2023.01 在第十一届中国创新创业大赛全国赛(新一代信息技术&#…

idea 弹框提示:Server‘s certificate is not trusted 解决办法

如图所示: 引起这个的根本原因:是因为你破解了idea,在本地hosts配置了映射,然后idea检测出来弹出警告 服务器证书不可用。所以在弹出这个框。 解决方法: 打开idea--->File-->Settings-->Tools-->点击Server Certifi…

anaconda navigator卡在loading user解决办法

01问题 打开anaconda navigator特别慢,卡在loading user 02查找原因 (1)关闭anaconda的所有进程 (2)打开anaconda prompt,输入anaconda-Navigator回车,即可通过报错查看原因。 QMimeDatabase: Error loading internal MIME data

jdk和IDEA教育版下载和安装详解

前言 研究生专业是通信系统,为了寻找实习于是在研二时期学习java。但是在学习java的过程中没有进行系统总结,很多知识点或者一些细节已经忘记。由于工作找的是某行软件中心的软件开发。准备在毕业前对java知识进行系统性学习。本专栏将从零基础开始,从最简单的jdk和IDEA下载…

python入门第一讲:认识python

目录 什么是计算机 什么是编程 编程语言有哪些 python是咋来的 python能干啥 python的优缺点 什么是计算机 什么叫计算机,当你把问这个问题问家里的老人的时候,他们很可能指着计算器告诉你说,这个就是计算机,这个很明显&am…

一文上手ThreadLocal使用和原理

什么是ThreadLocal?它有什么用? 当我们某个类需要被多线程共享的时候,我们就可以使用ThreadLocal关键字,ThreadLocal可以为每个线程创建这个变量的副本并存到每个线程的存储空间中(关于这个存储空间后文会展开讲述),从而确保共享…

输出回文数-第11届蓝桥杯选拔赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第23讲。 输出回文数&#…

数据分析概述

数据分析概述 在当今数字化的时代,数据已经成为我们周围不可忽视的存在。从商业领域到医疗行业,从科学研究到政府治理,数据的涌现为我们提供了前所未有的信息资源。然而,要从这个庞大的信息海洋中获取有意义的见解并做出明智的决策…

OpenCV-14图片的四则运算和图片的融合

一、图片的四则运算 1. 加法运算 通过使用API add来执行图像的加法运算 cv2.add(src1, src2)需要再其中传入两张图片。 图片就是矩阵,图片的加法运算就是矩阵的加法运算。 因此加法运算中要求两张图的shape必须是相同的。 首…

2023我的编程之旅-地质人的山和水

引言 大家好,我是搞地质的。外行人有的说我们游山玩水,有的说我们灰头土脸,也有的说我们不是科学。 而我说,这是一门穷极一生青春,值得奉献的行业。这是一门贴近民生,又拥抱自然的学科。他的真理性在于探…

excel 插件:Rainbow Analyst Crack

一个插件中包含四种 EXCEL 审核工具检测并修复隐藏的电子表格错误 不要满足于更少,四种领先的电子表格审计工具合二为一 Rainbow Analyst(因其对颜色编码的独特强大使用而得名)结合了世界级电子表格审核功能的多个领域: Excel™ …

【Spring实战】14 Web表单校验

文章目录 1. 依赖2. 实体类3. 控制器4. 页面5. 启动6. 验证1)访问页面2)后台校验 7. 优点8. 代码详细总结 在 Web 应用中,表单是用户与后端交互的主要界面之一。为了确保数据的有效性和一致性,我们经常需要对提交的表单数据进行验…

一文教会git如何配置多SSH Key(Github+Gitlab)

一文教会git如何配置多SSH Key(GithubGitlab) 对于工作了的伙伴来说,大家经常会配置多个SSH Key: SSH拉取的仓库不会反复的要求输入github用户名密码来验证自己的身份需要将公司的Gitlab和个人的Github区分开 我这里以Mac电脑为例…

Debezium发布历史46

原文地址: https://debezium.io/blog/2019/02/05/debezium-0-9-0-final-released/ 欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯. Debezium 0.9.0.Final 发布 2019 年 2 月 5 日 作者: G…

matplotlib颜色合集——各种常见简单图形(上)

一、.颜色配图表 图文颜色引用:建站教程 - FINTHON 二、折线图 jupyter notebook 简介plot() 2.1折线图参数 plt.plot(*args, scalexTrue, scaleyTrue, dataNone, **kwargs) 2.2、参数介绍 x:X轴数据,列表或数组,可选。 y&a…

没有Kubernetes也可以玩转Dapr?

一、NameResolution组件 虽然Dapr提供了一系列的编程模型,比如服务调用、发布订阅和Actor模型等,被广泛应用的应该还是服务调用。我们知道微服务环境下的服务调用需要解决服务注册与发现、负载均衡、弹性伸缩等问题,其实Dapr在这方面什么都没…

【数据结构】二叉树(一)——树和二叉树的概念及结构

前言: 本篇博客主要了解什么是树,什么是二叉树,以及他们的概念和结构。 文章目录 一、树的概念及结构1.1 树的基本概念1.2 树的相关特征1.3 树的实现 二、二叉树的概念及性质2.1 二叉树的概念2.2 二叉树的性质 一、树的概念及结构 1.1 树的基本概念 树&…

Z-score 因子的深入思考

最新(2024 年 1 月)出版的 SC 技术分析(Techical Analysis of Stock & Commodities)的第 4 条文章给到了 Z-score,原文标题为《Z-score: How to use it in Trading》。今天的笔记,就借此机会&#xff0…

C++线程池的原理(画图)及简单实现+例子(加深理解)

1.为什么线程池会出现,解决什么问题? C线程池(ThreadPool)的出现主要是为了解决以下几个问题: 1.性能:创建和销毁线程都是相对昂贵的操作,特别是在高并发场景下,频繁地创建和销毁线…

ubuntu18.04安装MySQL

1.安装mysql服务器端 sudo apt-get -y install mysql-server(18.04/20.04不会提示输入密码,默认是没有密码) 2.安装mysql客户端 sudo apt-get -y install mysql-client3.安装mysql模块 sudo apt-get -y install libmysqlclient-dev4.验证是…