计算机网络-第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

 

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

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

相关文章

vCenter VXR01405C ALARM Certificate is about to expire

vCenter VXR01405C ALARM Certificate is about to expire 需要更新证书 步骤如下 ===vCenter=== root@vc [ ~ ]# for i in $(/usr/lib/vmware-vmafd/bin/vecs-cli store list); do echo STORE $i; sudo /usr/lib/vmware-vmafd/b STORE MACHINE_SSL_CERT Alias : __MACHINE…

【机器学习】FFmpeg+Whisper:二阶段法视频理解(video-to-text)大模型实战

目录 一、引言 二、FFmpeg工具介绍 2.1 什么是FFmpeg 2.2 FFmpeg核心原理 2.3 FFmpeg使用示例 三、FFmpegWhisper二阶段法视频理解实战 3.1 FFmpeg安装 3.2 Whisper模型下载 3.3 FFmpeg抽取视频的音频 3.3.1 方案一:命令行方式使用ffmpeg 3.3.2 方案二&a…

代码随想录第四十四天 | 1049.最后一块石头的重量II,494.目标和,474.一和零

1049.最后一块石头的重量II 看完想法&#xff1a;和分割等和子集非常像&#xff0c;主要思想是把石头分成两份重量近似一样的&#xff0c;然后相减&#xff0c;得到的就会是可能的最小数值 int lastStoneWeightII(vector<int>& stones) {vector<int> dp(1500…

【高考志愿】力学

目录 一、专业概述 二、专业方向 三、就业前景 四、注意事项 五、学习挑战与收获 六、深造与进修 七、个人兴趣与职业规划 八、力学专业排名 九、总结与建议 高考志愿中选择力学专业是一个涉及广泛且基础扎实的学科选择。 一、专业概述 力学是物理学的一个重要分支&a…

基于协同过滤的电影推荐与大数据分析的可视化系统

基于协同过滤的电影推荐与大数据分析的可视化系统 在大数据时代&#xff0c;数据分析和可视化是从大量数据中提取有价值信息的关键步骤。本文将介绍如何使用Python进行数据爬取&#xff0c;Hive进行数据分析&#xff0c;ECharts进行数据可视化&#xff0c;以及基于协同过滤算法…

SuperMap GIS基础产品FAQ集锦(20240701)

一、SuperMap iDesktopX 问题1&#xff1a;对于数据提供方提供的osgb格式的数据&#xff0c;如何只让他生成一个s3mb文件呢&#xff1f;我用倾斜入库的方式会生成好多个s3mb缓存文件 11.1.1 【解决办法】不能控制入库后只生成一个s3mb文件&#xff1b;可以在倾斜入库的时候设…

2024第17届中国西部(重庆)留学移民海外置业展览会

2024第17届中国西部&#xff08;重庆&#xff09;留学移民海外置业展览会 邀请函 主办单位&#xff1a; 中国西部教体医融合博览会组委会 承办单位&#xff1a;重庆中博展览有限公司 展会背景&#xff1a; 成都和重庆是中国新一线城市&#xff0c;是西部经济的核心增长极&a…

代码随想录算法训练营第59天:动态[1]

代码随想录算法训练营第59天&#xff1a;动态 两个字符串的删除操作 力扣题目链接(opens new window) 给定两个单词 word1 和 word2&#xff0c;找到使得 word1 和 word2 相同所需的最小步数&#xff0c;每步可以删除任意一个字符串中的一个字符。 示例&#xff1a; 输入: …

实施粘贴式导航_滚动事件

● 所谓的粘贴式导航&#xff0c;就是当我们滑动页面到某一个位置的时候&#xff0c;导航不会因为滑动而消失&#xff0c;会固定在页面的顶部&#xff0c;我们来看一下如何实现&#xff1b; ● 首先我们要获取我们想要滚动到哪一部分的时候让导航栏显示出来&#xff0c;这就需要…

Java案例抢红包

目录 一&#xff1a;题目要求&#xff1a; 二&#xff1a;思路分析&#xff1a;&#xff08;遇见问题先想出完整的思路逻辑再去动手事半功倍&#xff09; 三&#xff1a;具体代码&#xff1a; 一&#xff1a;题目要求&#xff1a; 二&#xff1a;思路分析&#xff1a;&#x…

Cosine 余弦相似度并行计算的数学原理与Python实现

背景 Cosine 我在LLM与RAG系列课程已经讲了很多次了&#xff0c;这里不在熬述&#xff0c;它在LLM分析中&#xff0c;尤其是在语义相似度的计算中至关重要&#xff0c;在dot attention机制中&#xff0c;也会看到他的身影。这里讲的是纯数学上的运算与python是如何运用相关库进…

使用 Selenium 实现自动化分页处理与信息提取

目录 项目背景与目标Selenium 环境配置分页处理的基本思路简化后的代码示例总结 正文 1. 项目背景与目标 在进行 Web 自动化测试或数据抓取时&#xff0c;处理分页是一个常见的需求。通过 Selenium&#xff0c;我们可以自动化浏览多个分页并提取每页上的信息。本文将介绍如…

JS(JavaScript)的BOM操作

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

一文汇总VSCode多光标用法

光标的创建 按住alt&#xff0c;鼠标左键单击&#xff0c;在单击位置生成光标/删除光标 按住ctrlalt&#xff0c;单击↑/↓&#xff0c;在每行同一个位置&#xff08;若某一行较短&#xff0c;则在行尾&#xff09;生成光标&#xff0c;这个不会删除光标&#xff0c;只会在光标…

Day61 代码随想录打卡|回溯算法篇---组合优化

本篇是针对上一题的优化&#xff0c;因为在计算所有可能的组合结果时&#xff0c;不是每一条路径都是我们需要遍历的&#xff0c;如图&#xff0c;当n和k都为4的时候&#xff0c;其实最终的结果只有一个[1,2,3,4]是符合结果的。因此我们遍历的时候就不需要遍历每一条边&#xf…

数据结构递归(01)汉诺塔经典问题

说明&#xff1a;使用递归时&#xff0c;必须要遵守两个限制条件&#xff1a; 递归存在限制条件&#xff0c;满⾜这个限制条件时&#xff0c;递归不再继续&#xff1b; 每次递归调⽤之后越来越接近这个限制条件&#xff1b; 1 汉诺塔&#xff08;Hanoi Tower&#xff09;经典…

java List接口介绍

List 是 Java 集合框架中的一个接口,它继承自 Collection 接口,代表一个有序的元素集合。List 允许重复的元素,并且可以通过索引来访问元素。Java 提供了多种 List 的实现,如 ArrayList、LinkedList、Vector 和 CopyOnWriteArrayList。 List接口概述 List 接口提供了一些…

打造未来应用:Python GUI库全景指南与实战演练

打造未来应用&#xff1a;Python GUI库全景指南与实战演练 引言 在软件开发领域&#xff0c;图形用户界面&#xff08;GUI&#xff09;对于提升用户体验至关重要。Python凭借其简洁的语法和强大的库支持&#xff0c;为GUI编程提供了丰富的选项。本文将深入探讨Python中的GUI库…

卷积层的输出

卷积层的输出 flyfish 在卷积神经网络中&#xff0c;卷积层的输出尺寸计算主要依赖于输入尺寸、卷积核尺寸、步幅&#xff08;stride&#xff09;和填充&#xff08;padding&#xff09;。 经典的卷积神经网络模型 - AlexNet 标准卷积 以AlexNet第一个卷积层作为说明 imp…

SpringBoot设置自动跳转前端界面

一般情况下&#xff0c;我们的Application启动文件的内容为一行的运行代码&#xff0c;默认启动项目以后不会自动跳转到我们的前端页面 public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);} 这里我的可以通过设置文件的内容&#…