计算机网络-第5章运输层

5.1运输层协议概述

5.1.1进程之间的通信

运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。

通信的两端应当是两个主机中的应用进程。

运输层复用和分用:复用指在发送方不同的应用进程都可以使用同一个运输层协议传送数据,而分用是指接收方的运输层在剥去报文的首部后能够把这些数据正确交付目的应用进程。

运输层提供应用进程间的逻辑通信。从应用层看,好看这种通信就是沿水平方向直接传送数据,但事实上这两个运输层之间并没有一条水平方向的物理连接。

网络层为主机之间的通信提供服务,而远输层则在网络层的基础上,为应用进程之间的通信提供服务。运输层还要对收到的报文进行差错检测。

面向连接的TCP和无连接的UDP。运输层向高层用户屏蔽了下面网络核心的细节,它使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道。

当运输层采用面向连接的TCP协议时,尽管下面的网络是不可靠的,但这种逻辑通信信道就相当于一条全双工的可靠信道,但当运输层采用无连接的UDP协议时,这种逻辑通信信道仍然是一条不可靠信道。

5.1.2运输层的两个主要协议

①用户数据报协议UDP。②传输控制协议TCP。

TCP报文段,UDP用户数据报。

UDP在传送数据之前不需要先建立连接。TCP则堤供面向连接的服务。

5.1.3运输层的端口

运输层的复用和分用功能,应用层所有的应用进程都可以通过运输层再传送到网终层,这是复用。运输层从IP层收到发送给各应用进程的数据后,必须分别交付指明的各应用进程,这就是分用。

应用层与运输层之间的界面上有端口,每一个端口用一个称为端口号的正整数来标记。

运输层端口号分类:

①服务器端使用的端口号,又分为熟知端口号,登记端口号。

②客户端使用的端口号,又称短暂端口号。

5.2用户数据报协议UDP

只在IP的数据报服务之上增加了很少一点功能,这就是复用和分用功能以及差错检测功能。

特点:①无连接的。②尽最大努力交付。③面向报文的。④没有拥塞控制。⑤支持一对一,一对多,多对一,多对多的交互通信。⑥首部开销小,只有8个字节,比TCP的20个字节的首部要短

5.2.2UDP的首部格式

每个字段是2字节:①源端口,②目的端口,③长度,④检验和。捡验和是把首部和数据部分一起都捡验。

5.3传输控制协议TCP概述

特点:①面向连接的运输层协议。②每一条TCP连接只能有两个端点。③TCP提供全双工通信。④面向字节流,流指的是流入到进程或从进程流出的字节序列。面向字节流的含义是:虽然应用程序和TCP的交互是一次一个数据块,但TCP把应用程序交下来的数据仅仅看成是一连串的无结构的字节流。

TCP根据对方给出的窗口值和当前网络的拥塞程度,决定一个报文段应包含多少字节。UDP发送报文长度是应用进程给出的。如果应用进程只发来一个字节,TCP也可以等待积累足够多的字节后再构成报文段发送出去。

TCP把连接作为最基本的抽象,TCP连接的端点叫作套接字或插口,端口号拼接到IP地址即构成了套接字。每一条TCP连接唯一地被通信两端的两个端点所确定。

5.4可靠传输的工作原理

理想传输条件特点:①传输信道不产生差错。②不管发送方以多快的速度发送数据,接收方总是来得及处理收到的数据。

5.4.1停止等待协议

①无差错情况:发送确认。

②出现差错:超时重传,超时计时器。在收到确认前必须暂时保留己发送的分组的副本。分组和确认分组都必须进行编号。超时计时器设置的重传时间应当比数据在分组传输的平均往返时间更长一些,因为分组会经过哪些网络以及产生多大的时延都是不确定因素。

③确认丢失和确认迟到,自动重传请求ARQ。两个行动:丢弃重复分组,向接收方向发送方发送确认。

④信道刮用率:停止等待协议优点是简单,缺点是信道刮用率低。U=TD/(TD+RTT+TA)。

流水线传输提高信道利用率。

5.4.2连续ARQ协议

发送方每收到一个确认,就把发送窗口向前滑动一个分组。

接牧方一般都是采用累积确认的方式。

优点容易实现,即使确认丢失也不必重传,缺点是不能向发送方及时反映接收方己经正确收到所有分组的信息。

5.5TCP报文段的首部格式

20字节是固定的,后面有4n字节按需可增:

①源端口和目的端口 各占2个字节。②序号 4字节。③确认号 4字节,期望收到对方下一个报文段的第一个数据字节的序号。④数据偏移 4位。⑤保留 6位 ⑥紧急URG ⑦确认ACK ⑧推送PSH ⑨复位RST ⑩同步SYN ⑩①终止FIN ⑩②窗口 2字节。⑩③检验和 ⑩④紧急指针⑩⑤选项

窗口值作为接收方让发送方设置其发送窗口的依据。窗口安段明确指出了现在允许对方发送的数据量。窗口值经常动态变化。

最大报文段长度MSS。

5.6TCP可靠传输的实现

①以字节为单位的滑动窗口。发送窗口位置由窗口前沿和后沿的位置共同确定。

缓存空间和序号空间都是有限的,并且都是循环使用的。

发送缓存存放:准备发送的,己发送未确认的。

接收缓存:按序到达但尚未被接牧,未按序到达的。

①A的发送窗口并不总是和B的接收窗口一样大。②未按序到达的数据,TCP并未规定如何处理,③接收方必须有累积确认的功能。

5.7TCP的流量控制

利用滑动窗口实现流量控制。

流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。TCP的窗口单位是字节,不是报文段。

解决死锁局面:TCP为每一个连接设有一个持续计时器,时间到了就发一个零窗口探测报文段,1字节。

5.8TCP的拥塞控制

网络中某一资源的需求超过了该资源所能提供的可用部分。会使性能变坏,吞吐量随输入负符的增大而下降。

引起因素:①某个节点缓存的容量太小。②处理机处理的速率太低。

拥塞控制是一个全局性过程。流量控制是个端到端问题。

闭环控制:监测网络系统。发送拥塞发生的信息到可采取行动的地方。调整网络系统的运行。

拥塞控制方法:慢开始,拥塞避免,快重传和快恢复。

5.9TCP的运输连接管理

连接建立:SYN=1,ACK=1。SYN报文段不能携带数据,但要消耗掉一个序号ACK报文段可以携带数据,如果不携带数据则不消耗序号。3报文握手。

85129ac8b0754b23a4359b6eaf37d480.jpg

连接释放:FIN=1,ACK=1。四报文握手。

1af7361fc7aa400896dfbf0ee09ce4c0.jpg

 

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

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

相关文章

Vue2组件传值(通信)的方式

目录 1.父传后代 ( 后代拿到了父的数据 )1. 父组件引入子组件,绑定数据2. 子组件直接使用父组件的数据3. 依赖注入(使用 provide/inject API)1.在祖先组件中使用 provide2.在后代组件中使用 inject 2.后代传父 (父拿到了后代的数据)1. 子组件…

【Qt】认识Qt界面Hello world小程序

一.认识Qt界面 1.左边栏 在编辑模式下,左边竖排的两个窗⼝叫做 "边栏" 。 ① 是项⽬⽂件管理窗⼝ ② 是打开⽂件列表窗⼝。 边栏⾥的窗⼝数⽬可以增加,边栏⼦窗⼝标题栏有⼀排⼩按钮,最右边的是关闭按钮,倒数第⼆个是 …

千元好礼等你来拿 MatrixOne最强体验官

开发者集合![MatrixOne最强体验官]带着丰厚的奖品走来啦!MatrixOne 是一款高度兼容 MySQL 语法的 HTAP 数据库,MatrixOne Cloud (MO Cloud) 是基于 MatrixOne 内核的全托管云原生数据平台,具备实时 HTAP,多租户&#x…

Unity Shader 软粒子

Unity Shader 软粒子 前言项目Shader连连看项目渲染管线设置 鸣谢 前言 当场景有点单调的时候,就需要一些粒子点缀,此时软粒子就可以发挥作用了。 使用软粒子与未使用软粒子对比图 项目 Shader连连看 这里插播一点,可以用Vertex Color与…

antd(5.x) Popover 的content有个modal,关不掉了

问题描述&#xff1a; 如上图所示&#xff0c;我的提示modal 关不掉了&#xff0c;思考问题症结在handleVisibleChange const content (<div className{styles.box}>别的样式</div>{/* 链接 */}<div className{styles.linkBox}><Modaltitle{提示}open{…

deepin基于apt-mirror同步软件源及构建本地内网源

1.安装apt-mirror sudo apt install -y apt-mirror2.配置apt-mirror(/etc/apt/mirror.list) sudo cp /etc/apt/mirror.list /etc/apt/mirror.list.deepin.bak #备份配置文件 sudo gedit /etc/apt/mirror.list修改如下&#xff1a; deb [trustedyes] https://mirrors.bfsu.ed…

在线如何快速把图片变小?图片轻松修改大小的3个在线工具

随着现在图片在工作和生活中的广泛使用&#xff0c;在使用图片的时候经常会因为图片太大的问题受到影响&#xff0c;比较简单的一种处理方法可以通过压缩图片的方式来缩小图片大小&#xff0c;那么图片压缩具体该怎么来操作呢&#xff1f;下面就给大家分享几款图片在线压缩工具…

python如何求不定积分

sympy介绍 sympy库的安装非常的简单&#xff0c;利用conda命令可以快速的完成安装。 conda install sympy 接下来&#xff0c;我们将介绍利用第三方库sympy来完成积分的计算。 python求解不定积分 接下来&#xff0c;我们将介绍上述的不定积分的求解。 首先导入sympy库中的…

切片的基础知识

文章目录 ● Slice 的底层实现原理&#xff1f;● array 和 Slice 的区别&#xff1f;● 拷贝大切片一定比小切片代价大吗&#xff1f;● Slice 深拷贝和浅拷贝&#xff1f;● 零切片、空切片、nil切片&#xff1f;● Slice 的扩容机制&#xff1f;● Slice 为什么不是线程安全…

父子节点内容和个数提取

有时我们需要获得菜单的内容和个数&#xff0c;这个时候通常有父子菜单&#xff0c;那么怎么分别获取到他们呢&#xff1f;以下面的智慧物业管理系统为例&#xff0c;有7个父节点&#xff0c;每个父节点下面有子节点。如何把父节点名称和总数&#xff0c;以及子节点的名称和总数…

Golang-context理解

golang-context笔记整理 golang为何设计context&#xff1f;代码上理解原理空context类cancelCtx类.withcancelctx方法 timerCtx类valueCtx类 golang为何设计context&#xff1f; 有并发特性的语言中&#xff0c;都会有一种说法&#xff1a;创建异步线程或者携程的时候&#x…

在postman中调试supabase的API接口

文章目录 在supabase中获取API地址和key知道它的restfull风格在postman中进行的设置1、get请求调试2、post新增用户调试3、使用patch更新数据&#xff0c;不用put&#xff01;4、delete删除数据 总结 在supabase中获取API地址和key 首先登录dashboard后台&#xff0c;首页- 右…

OFDM的缺点与关键技术

子载波间干扰英文简写ICI&#xff0c;ICI可能由各种原因引起 在多径信道中&#xff0c;CP小于最大附加时延时收发系统载波频率偏差和采样偏差收发系统相对移动&#xff0c;存在多普勒频移 ICI是制约OFDM系统性能的主要重要因素之一 对频率偏差敏感----->同步技术&#xff0…

Figma-ui设计学习APP Store

Figma汉化&#xff1a;Figma 中文社区_插件组件库,软件汉化教程 - Figma.Cool 选择Chorme汉化版离线包 插件安装&#xff1a; 打开浏览器安装扩展&#xff0c;解压加载进去即可。 打开标尺&#xff0c;设置左右内边距参考线&#xff08;左21 右356&#xff09;&#xff0c;wi…

同一个excel表格,为什么在有的电脑上会显示#NAME?

一、哪些情况会产生#NAME?的报错 1.公式名称拼写错误 比如求和函数SUM&#xff0c;如果写成SUN就会提示#NAME&#xff1f;报错。 2.公式中的文本值未添加双引号 如下图&#xff1a; VLOOKUP(丙,A:B,2,0) 公式的计算结果会返回错误值#NAME?&#xff0c;这是因为公式中文本…

PostgreSQL的学习心得和知识总结(一百四十七)|深入理解PostgreSQL数据库之transaction chain的使用和实现

目录结构 注&#xff1a;提前言明 本文借鉴了以下博主、书籍或网站的内容&#xff0c;其列表如下&#xff1a; 1、参考书籍&#xff1a;《PostgreSQL数据库内核分析》 2、参考书籍&#xff1a;《数据库事务处理的艺术&#xff1a;事务管理与并发控制》 3、PostgreSQL数据库仓库…

反激开关电源反馈电路相关参数选型

Vb的电压正常变化范围是&#xff1a;0-1V&#xff08;最低0V&#xff0c;由于有稳压管&#xff0c;最高不会超过1V&#xff09; Vb的电压越高&#xff0c;则输出占空比越大&#xff0c;Vb电压越低&#xff0c;则输出占空比越小 那么Va的正常变化范围应该是&#xff1a;1.4-4.…

文本生成sql模型(PipableAI/pip-sql-1.3b)

安装环境 pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 pip install transformers 代码 question "What are the email address, town and county of the customers who are of the least common gender?"sc…

IT专业入门——高考假期预习指南,我来做你的引路人

目录 认识IT知识体系 什么是计算机 按规模、速度和功能分类 按照其工作模式分类 硬件 操作系统 编程语言 对学习语言的一点建议 对于学python的一点看法 网络 数据结构与算法 数据库 Web开发 Web前端 Web后端 基础预习指南 技术路线学习一览 学习资源推荐 刷…

白话负载均衡、正反向代理(入门科普版)

什么是负载均衡&#xff1f;为什么需要负载均衡 从字面上理解&#xff0c;什么是负载&#xff0c;服务器承受访问量的大小是负载&#xff0c;但是单台服务器的访问性能是有限的&#xff0c;最典型的例子就是双十一、春运抢票这种&#xff0c;这时候就需要一种方案来解决这类问…