计算机网络期末复习-Part3

news2024/10/7 4:26:02

1、rdt1.0,rdt2.0,rdt3.0的底层信道模型

RDT 1.0: 完全可靠的底层信道,没有比特差错,也没有分组丢失。

RDT 2.0: 具有比特差错的底层信道,有比特差错,但没有分组丢失。

RDT 3.0: 具有差错和丢包的底层信道,有比特差错,又有分组丢失。

2、rdt2.0比rdt0增加的机制:检错(校验和或CRC)、反馈(ACK, NAK)、重传;

rdt3.0比rdt2.0增加的机制有:定时,发送方会在发送数据后启动一个定时器,如果在规定的时间内未收到确认(ACK),则认为数据丢失,触发重传。

3、rdt2.0,rdt3.0属于:停等协议;GBN,SR,TCP属于:流水线协议

在停等协议中,发送方发送一个分组,然后等待接收方的确认。只有在收到确认之后,发送方才会发送下一个分组;在流水线协议中,发送方可以发送多个分组,而不必等待每个分组的确认。接收方可以按顺序接收这些分组,并发送累积确认。

4、对滑动窗口协议发送窗口、接收窗口如何滑动的理解

回退N帧法(Go-Back-N), 选择性重传(SR)都是滑动窗口协议

位于发送窗口内的分组才允许被发送,位于接收窗口内的分组才能被接收

接收方发送一个 ACK(确认),指示成功接收到的最后一个无误分组的序号。这个 ACK 是累计的,意味着如果接收方成功接收了序号为 N 的分组,那么 ACK 中就包含 N 及之前所有分组的确认信息。如果有分组丢失,接收方将等待并且只发送最后一个正确接收的分组的 ACK,触发发送方重新发送从该分组开始的所有未确认的分组。

每个 ACK 指示成功接收的特定分组的序号。接收方可以选择性地确认接收到的分组,而不是像 GBN 那样累积确认。这允许发送方只重新发送丢失的分组,而不必重新发送整个窗口的数据。

5、检查和(Checksum)的计算,例:两个16-bit二进制数的检查和。

注意:最高位进比特位的进位需要加到结果中(也就将最高位进位的1加到结尾)

看上述例子:

6、TCP的三次握手过程

第一次握手 - SYN(同步):

客户端向服务器发送一个TCP报文,其中设置了SYN标志位,并选择一个初始的序列号(SEQ,通常由客户端随机选择)。这表明客户端请求建立连接。

客户端 ------------------->  服务器
|                             |
| ------- SYN = 1 ----------> |

第二次握手 - SYN + ACK:

服务器收到客户端的SYN报文后,会回复一个包含SYN和ACK标志位的报文,同时也选择一个初始的序列号。这表明服务器接受了客户端的请求,并表示自己也准备好建立连接。

客户端 <------------------->  服务器
|                             |
| <------ SYN = 1, ACK = 1 ---|

第三次握手 - ACK:

客户端收到服务器的SYN + ACK报文后,会向服务器发送一个确认报文,其中设置了ACK标志位。这表明客户端确认了服务器的响应。此时,连接已经建立起来,可以开始进行数据传输。

客户端 ------------------->  服务器
|                             |
| ------- ACK = 1 ----------> |

来看个例题:

那么:

① SYN = 1

② SYN = 1 ; SEQ(由③中的ACK反推)= 2001 ;ACK(由①中的SEQ推出)= 1001

③ SEQ(等于上一次的ACK) = 1001

7、流量控制

发送方发送数据太快,导致接收方来不及接收时,需进行流量控制。(接收方对发送方的控制)

基本思想:接收方告诉发送方它目前的接收能力,发送方根据这个信息来控制发送的速率。

发送方:

发送方根据接收方的窗口大小,决定发送多少数据。
发送数据,并等待接收方的确认。

接收方:

接收方收到数据后,将其存储在接收缓冲区中。
接收方发送一个带有确认号和新的窗口大小的 ACK 给发送方。
如果接收方的缓冲区已满,它可以选择不立即确认,从而限制发送方的速率。

8、控制拥塞的两类方法:端到端的拥塞控制,如TCP;网络辅助的控制拥塞,如ATM。

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

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

相关文章

如何将BMP图片批量转为PNG透明图片,并去掉BMP黑色背景

将BMP图片批量转为PNG透明图片&#xff0c;并去掉BMP黑色背景&#xff0c;这里推荐一款软件bmp2png&#xff0c;关键是免费的。截图如下&#xff1a; 这个小软件不仅可以将bmp图片批量转为png图片&#xff0c;而且还增加了压缩功能&#xff0c;导出png图片时压缩导出图片&#…

jbase引入连接池

网站主题和代码生成器完事之后&#xff0c;ORM成为主要工作&#xff0c;之前只是搭了ORM的大体结构&#xff0c;没有详细优化和实现。这次引入连接池、把连接串信息从配置取、调整抛出异常。 连接池包选择c3p0&#xff0c;因为他稳定&#xff0c;用的多&#xff0c;下载引入c3…

Maven打包引入本地依赖包

Maven打包引入本地依赖包 SpringBoot 工程&#xff0c;Maven 在构建项目时&#xff0c;如何引入本地 Jar 包&#xff1f; 适合场景&#xff1a; 引用的依赖不在 Maven 仓库第三方公司提供的 SDK 包Maven 内网离线开发引入被定制改动过的 Jar 包 解决方法&#xff1a; 在 I…

nature日报:为什么印度德里现在的空气污染如此严重?

为什么印度德里现在的空气污染如此严重&#xff1f; 后季风季节为印度大城市的空气污染积累创造了理想的条件。 本文整理扩展自2023年11月10日nature杂志的NEWS EXPLAINER——Why is Delhi’s air pollution so bad right now? (nature.com) Highlights 季风期间&#xff0…

卡码网语言基础课 | 11. 句子缩写

目录 一、 字符串大小的比较 二、 ASCII码值 三、 基本框架代码 四、 解题思路 4.1 首字母问题 4.2 判定小写字母 4.3 小写字母转换为大写字母 五、空格判断 六、 代码模块化 6.1 满足的条件 6.2 代码完善 七、 题目解答 7.1 原始代码 7.2 改进代码 八、 拓展与…

Java_继承和多态

文章目录 前言继承继承语法继承总结super指定访问父级子类构造方法super和this再谈初始化(执行顺序)protected 关键字继承方式final 关键字继承与组合 多态动态绑定与静态绑定多态实现条件重写 前言 适合复习看 继承 继承语法 修饰符 class 子类 extends 父类 { // ... }子类…

[BJDCTF2020]Easy MD5 1

题目环境&#xff1a; 尝试了SQL注入、命令执行等都不行 点击提交并burp进行抓包Repeater进行重放这里看到了内置的SQL语句select * from admin where passwordmd5($pass,true) 发现传进去的值会进行md5加密 这里看了大佬们的解释 ffifdyop绕过&#xff0c;绕过原理是&#xff…

2023最新软件测试面试300问

一、Linux系统应用和环境配置 1、Linux系统的操作命令给我说10个&#xff0c;一般用什么工具远程连接Linux服务器&#xff1f; 2、Linux中的日志存储在哪里&#xff1f;怎么查看日志内容&#xff1f; 3、Linux中top和ps命令的区别&#xff1f; 4、Linux命令运行的结果如何写…

配置cuda和cudnn出现 libcudnn.so.8 is not a symbolic link问题

cuda版本为11.2 问题如图所示&#xff1a; 解决办法&#xff1a; sudo ln -sf /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_adv_train.so.8.1.1 /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_adv_train.so.8 sudo ln -sf /usr/local/cuda-11.2/targ…

CKA认证模块②-K8S企业运维和落地实战-2

CKA认证模块②-K8S企业运维和落地实战-2 K8S常见的存储方案及具体应用场景分析 k8s存储-empty emptyDir类型的Volume是在Pod分配到Node上时被创建&#xff0c;Kubernetes会在Node上自动分配一个目录&#xff0c;因此无需指定宿主机Node上对应的目录文件。 这个目录的初始内容…

用volta管理不同项目node版本

1 什么是volta volta是一个node.js的版本管理工具&#xff0c;你的电脑上安装了很多个node版本&#xff0c;volta可以让你在不同的项目中使用不同版本的node.js,并且可以切换node.js版本 Volta会自动将安装的Node.js版本与该项目绑定&#xff0c;使得您在该项目中执行 node、np…

【LLM_03】自然语言处理基础_1

一、自然语言处理基基本任务和应用1、自然语言处理的基本任务2、搜索引擎的基本工作原理3、知识图谱的构建4、应用 二、词表示与语言模型1、词表示2、上下文3、语言模型4、神经网络在语言模型的应用 三、神经网络1、神经网络基本组成元素2、如何训练神经网络3、计算图的概念4、…

巨好用又实用的18款3dMax插件!

3dMax是一款功能强大的 3D 软件&#xff0c;具有建模、动画、粒子动力学等许多强大功能。但并不是每个人都能有效地利用max的每一个功能&#xff0c;例如&#xff0c;很多人发现3dmax粒子流太难使用&#xff0c;3ds max蒙皮工具也是如此。 这让我们一些专业的开发公司或个人和…

it is missing from your system. Install or enable PHP‘s sodium extension.

Composer with –ignore-platform-reqext-sodium it is missing from your system. Install or enable PHP’s sodium extension. 出现如上的报错是的 开启php.ini中的 sodium的扩展

香港云服务器用于跨境电商外贸

港作为国际金融中心和互联网枢纽&#xff0c;具有非常发达的网络基础设施和优质的网络连接。这意味着在香港租用云服务器&#xff0c;外贸企业可以享受到高速稳定的网络连接&#xff0c;确保数据传输的安全和稳定性。这对于外贸企业来说至关重要&#xff0c;因为他们需要频繁地…

istio流量管理

流量管理 目录 文章目录 流量管理目录流量管理概述请求路由1.路由到版本1&#x1f6a9; 实战&#xff1a;路由到版本1-2023.11.11(测试成功) 2.基于用户身份的路由&#x1f6a9; 实战&#xff1a;基于用户身份的路由-2023.11.11(测试成功) 关于我最后 流量管理概述 上面我们了…

14 # 手写 debounce 防抖方法

什么是防抖 防抖: n 秒后再去执行该事件&#xff0c;若在 n 秒内被重复触发&#xff0c;则重新计时&#xff0c;这个效果跟英雄联盟里的回城技能差不多。 本质上是优化高频率执行代码的一种手段&#xff0c;目的就是降低回调执行频率、节省计算资源。 应用场景&#xff1a; …

基于subversion1.6.3动态库实现简单版本管理

基于subversion1.6.3动态库实现简单版本管理 一、运行环境 windows10 64位系统 VS2015、C Subversion1.6.3 二、功能设计与实现 1、需求背景 编码自动化版本部署、发布验证&#xff1b; svn cli命令行能满足基本功能&#xff0c;但是动作执行是否成功的判断不可靠&#…

GPU CUDA 使用shared memory 运行速度不升反降原因与解决方案

写了两张图像相加&#xff0c;以及图像滤波的的几个算子&#xff0c;分别采用shared memory 进行优化。 #include <stdio.h> #include <cuda_runtime.h>#include "helper_cuda.h" #include "helper_timer.h"#define BLOCKX 32 #define BLOCKY…

【C语言 | 预处理】C语言预处理详解(三)——内存对齐、手把手带你计算结构体大小

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…