对计网大题的一些指正(中间介绍一下CDM的原理和应用)
目录
前言:
(1)五层原理体系结构每层功能:
下面是文档的答案:
我在之前的博客里面有介绍过五层原理体系结构, 按理来说,第五层应该是应用层才对,而会话层的功能应该被放到应用层里面合并才是正确的,下面给出我在其他博主粘贴过来的示意图:
所以,我认为的正确答案应该是:
(2)TCP建立连接三次握手过程:
感觉也不是很全面,对每次握手的客户端、服务端的状态都没有描述, 我来写答案的话应该会这样:
(3)访问浏览器的过程:
这个大差不差,都是这样,可以最后加一个关闭TCP连接
(4)抓包IP数据报分析:
这个也不太全面,但是我觉得没什么错,因为卷面答题的话写详细才奇怪
四、计算题:
1.第一个就是前面博客复习讲到的那个子网规划,说不定真是原题(?)
编辑
2.CDM就是码分复用,CRC是循环冗余验证编辑
下面我来详细讲(水)一下CDM :
CDMA原理
表示
那么,如何选择码片(如何为个用户分配码片)
计算题2:
一个UDP用户数据报的数据字段为8192字节。在链路层要使用以太网来传送。
先给出文档里面的答案:
我一时间没有理解到 8192+8=5000字节 是在干嘛,+8是为什么,=5000字节又是怎么算的,答案却是对的,没懂。然后我的解答过程就会这样写:
而(2)的答案就是对的,只不过没有完整的计算过程:
前言:
今天刚接收到一个计网大题的文档,来源暂且不知道,但是我对里面的答案持怀疑态度,不知道是不是经由标准答案给出来的,这里把题目拿出来,然后说一下我质疑的地方
(1)五层原理体系结构每层功能:
下面是文档的答案:
1.物理层:负责在物理媒介上传输原始比特流,包括定义电气信号、光信号等。
2.数据链路层:负责在相邻节点之间传输帧,确保无差错的数据传输,包括帧的同步、差错控制和流量控制。
3.网络层:负责在不同网络之间传输数据包,实现路由选择和拥塞控制。
4.传输层:负责提供端到端的数据传输服务,包括数据的分段、传输控制和错误检测。
5.会话层:负责建立、管理和终止应用程序之间的会话,确保会话的一致性和同步。
我在之前的博客里面有介绍过五层原理体系结构, 按理来说,第五层应该是应用层才对,而会话层的功能应该被放到应用层里面合并才是正确的,下面给出我在其他博主粘贴过来的示意图:
所以,我认为的正确答案应该是:
(1)物理层:提供在物理媒介传输比特流的服务,包括电气信号、无线电等物理手段以及光纤等物理设备
(2)数据链路层:提供网络节点之间的传输帧的服务,包括帧的同步、差错控制和流量控制
(3)网络层:选择目标地址和源地址之间的路径(路由选择),也就是在两个地址之间传输数据包,还包括数据分段、重组、寻址等
(4)运输层:提供端到端之间的传输服务,也有差错控制和流量控制的作用
(5)应用层:离用户最近的一层,提供应用程序的网络服务
(2)TCP建立连接三次握手过程:
1.第一次握手:客户端发送一个SYN(同步序列编号)标志的数据包给服务器,请求建立连接。
2.第二次握手:服务器收到SYN请求后,回复一个SYN-ACK(同步-确认)数据包,表示同意建立连接。
3.第三次握手:客户端收到SYN-ACK后,发送一个ACK(确认)数据包给服务器,完成握手过程,此时TCP连接建立。
感觉也不是很全面,对每次握手的客户端、服务端的状态都没有描述, 我来写答案的话应该会这样:
1.客户端向服务端发送一个TCP报文,包含SYN=1,ACK=0,发送的序号seq=X,客户端进入SYN_SENT状态
2.服务端接收到报文,结束监听(LISTEN)状态,返回一段报文:SYN=1,ACK=1,发送序号seq=Y,确认号ack=X+1
3.客户端接收报文,确认数据传输正常,结束SYN-SENT状态,发送SYN=0,ACK=1,发送序号seq=X+1,确认号ACK=Y+1
怎么描述都行,但是我还是倾向于描述报文信息要写出来才对
(3)访问浏览器的过程:
1.用户在浏览器地址栏输入网址。
2.浏览器解析DNS,将域名转换为IP地址。
3.浏览器使用IP地址与服务器建立TCP连接。
4.浏览器发送HTTP请求到服务器。
5.服务器处理请求,并将响应发送回浏览器。
6.浏览器接收到响应,并渲染网页。
这个大差不差,都是这样,可以最后加一个关闭TCP连接
(4)抓包IP数据报分析:
1.使用网络抓包工具捕获网络上的数据包。
2.分析捕获的数据包,查看每个数据包的详细信息,包括源IP地址、目的IP地址、端口号、协议类型等。
3.检查数据包的头部信息,确定数据包的类型和传输细节。
4.根据需要,可以进一步分析数据包的内容,如HTTP请求和响应数据。
这个也不太全面,但是我觉得没什么错,因为卷面答题的话写详细才奇怪
后面就是计算题,这个就挺好,没什么错的了
四、计算题:
1.第一个就是前面博客复习讲到的那个子网规划,说不定真是原题(?)
2.CDM就是码分复用,CRC是循环冗余验证
下面我来详细讲(水)一下CDM :
码分复用CDM
,又称码分多址
- 可以实现多个用户同时使用同样的频率进行通信。
- 如何实现?—— 通过各用户的码序列进行区分。
CDMA原理
表示
- 每个比特(0或1)以一组码序列发送。(m位编码即将每比特划分成m个时间片)
- 每个站分配唯一的码片序列。发1:即发送该码片序列;发0:即发送该码片序列的反码。
这张图网上找的
那么,如何选择码片(如何为个用户分配码片)
首先就有两个要求
- 各用户的码片要唯一;(唯一标识用户身份)
- 一个用户的码片,可以掩盖其他用户的信息。(只能取得自己的信息)
实现:对于第一个,这个好实现,只要保证不同就行了
着重说一下第二个要求:
第二个要求我们可以通过(两个向量如果正交,那么他们的数量级为0,或者说向量内积为0)这个想法去实现。只需要每个用户码片之间相互正交即可
假设现在有S和T两个用户码片,那就有
简单来说就是每个向量相乘,最后加起来=0的话就满足第二条了。
又因为:S(S+T1+T2)=SS,这样我们就可以通过码片去在多个信号中取出发送给自己的信号,因为发1是发码片序列,而接受时码片序列乘上发送的“那个1”正好是1。
计算题2:
一个UDP用户数据报的数据字段为8192字节。在链路层要使用以太网来传送。
(1)试问应当划分为几个IP数据报片?(给出计算)
(2)写出每一个IP数据报分片的数据字段长度和片偏移字段的值。
先给出文档里面的答案:
(1)8192+8=5000字节 以太网最大1480字节,因此应划分6个IP数据报片。
我看的时候一时间没有理解到 8192+8=5000字节 是在干嘛,然后我的解答过程就会这样写:
(1)已知字段为8192字节,udp头部占8个字节要划分成IP数据包片, 以太网算上头部是1500字节,去掉头则是1480字节(前面说过了),所以就是(8192+8)/1480约等于5.5左右(写成余数形式也可),所以应该划分成6个ip数据报片。
而(2)的答案就是对的,只不过没有完整的计算过程:
(2)每个分片数据字段长度分别为1480、1480、1480、1480、1480、800,对应的偏移字段值为:0、185、370、555、740、925。(自行整理计算过程)
解答的逻辑应该是:
把前面余数的形式写出来,最后多个800字节,然后,每一个片偏移占64位(8个字节),所以每一个数据应该要除以8
所以对应的答案才是下面的0、185(0+1480/8)、370(185+1480/8)、555(370+1480/8)、740(555+1480/8)、925(740+1480/8)
相关文章:
对计网大题的一些指正(中间介绍一下CDM的原理和应用)
目录 前言: (1)五层原理体系结构每层功能: 下面是文档的答案: 我在之前的博客里面有介绍过五层原理体系结构, 按理来说,第五层应该是应用层才对,而会话层的功能应该被放到应用层…...
122. 买卖股票的最佳时机 II
https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/description/?envTypestudy-plan-v2&envIdtop-interview-150问题分析: 和买卖股票的最佳时机I这题相比,区别就是可以买多只股票虽然同时只能持有一支,但是我们还是可以…...
qt中如何判断字符串是否为数字,整数,浮点数?
在 Qt 中,可以使用多种方法来判断字符串是否为数字、整数或浮点数。Qt 提供了一些方便的字符串和数值处理函数,可以帮助你实现这些判断。以下是几种常见的方法: 1. 使用 QRegularExpression Qt 提供了 QRegularExpression 类,可…...
《GICv3_Software_Overview_Official_Release_B》学习笔记
1.不同版本的 GIC 架构及其主要功能如下图所示: 2.GICv2m(Generic Interrupt Controller Virtualization Model)是针对ARM架构的GIC(通用中断控制器)的一种扩展, GICv2m扩展为虚拟化环境中的中断管理提供了…...
告别Kibana:Elasticsearch 桌面客户端的新变革
告别Kibana:Elasticsearch 桌面客户端的新变革 在大数据处理与分析领域,Elasticsearch 及其相关技术的应用日益广泛。长期以来,Kibana 在数据可视化与查询管理方面占据重要地位,但随着技术的不断发展,用户对于更高效、…...
【蓝桥杯研究生组】第14届Java试题答案整理
试题链接:链接 A题 满足条件的答案有:35813116 public class TianShu {public static void main(String[] args) {int ans 0;// 2000.1.1 - 2000000.1.1// 年份是月份的倍数,也是日的倍数for (int year2000; year<2000000; year) {for …...
链式调用方式重写父类set方法导致fastjson解析的对象属性未赋值
反序列化后发现属性为null 昨天使用fastjson的JSON.parseArray(json, class)反序列化的时候,发现返回的list列表中的对象某个属性为null,但是json字符串里面这个属性是有值的,经过排查发现是因为子类重写了父类的set方法,且返回值…...
[AUTOSAR 基础入门] - AUTOSAR配置工具
返回总目录 前文我们提到了要借助 EasySAR 平台来助力大家更好地融合 AUTOSAR 的理论与实践,让大家能够切实将所学知识转化为实际操作能力。建议大家感兴趣的去注册一下看看。跳转链接:EasySAR EasySAR是昂辉科技基于 AUTOSAR 方法论设计的一款面向汽车…...
鸿蒙开发:实现键值数据库存储
前言 鸿蒙当中数据持久化存储,为我们提供了多种的实现方式,比如用户首选项方式,关系型数据库方式,键值型数据库方式,文件存储方式等等,对于数据量比较的小的,我们直接选择轻量级的用户首选项方式…...
ip属地的信息准确吗?ip归属地不准确怎么办
在数字化时代,IP属地信息成为了我们日常生活中不可或缺的一部分。在各大社交媒体平台上,IP属地信息都扮演着重要的角色。然而,随着技术的不断进步和网络的复杂性增加,IP属地信息的准确性问题也日益凸显。那么,IP属地信…...
CSS——1.优缺点
<!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title><link rel"stylesheet" type"text/css" href"1-02.css"/></head><body><!--css:层叠样式表…...
Android设备使用AOA协议进行主机与配件模式通信
1.使用TYPC-C数据线连接两台华为手机: TYPE-C线,先连接下图右边的ACCESSORY 再连接左边的HOST 此时左边的HOST(白色) 会给右边的ACCESSORY(黑色) 充电 接着打开左连接的HostChart会自动调起授权,然后会启动右边的AccessoryChart USB HOS…...
MySQL中深度分页问题的优化
MySQL中深度分页问题的优化 在MySQL中,使用LIMIT子句进行分页查询时,可能会遇到一个常见的性能问题:当LIMIT子句中的偏移量X很大时,查询速度会显著下降。例如,LIMIT 0,10可能只需要20毫秒,而LIMIT 1000000,…...
5. C语言 常量与宏定义
本章目录: 前言一、什么是常量?1. 整型常量2. 浮点型常量3. 字符常量4. 字符串常量 二、如何定义常量?1. 使用 #define 宏定义2. 使用 const 关键字 三、#define 和 const 的区别四、使用建议1. 使用场景区分2. 避免宏定义的潜在问题 五、特殊用法与小技…...
【mybatis-plus问题集锦系列】mybatis使用xml配置文件实现数据的基础增删改查
简单的数据查询,我们可以在mapper接口里面去实现,但是如果是复杂的查询,我们就可以使用xml配置文件去做, 官网链接xml配置文件 实现效果 实现代码 根据mapper接口的包结构,在resources包里面新建同名同结构的xml文件…...
spring防止重复点击,两种注解实现(AOP)
第一种:EasyLock 简介 为了简化可复用注解,自己实现的注解,代码简单随拿随用 使用方式 1.创建一个注解 Target(ElementType.METHOD) Retention(RetentionPolicy.RUNTIME) Documented public interface EasyLock {long waitTime() default …...
Spring Boot 3 实现 MySQL 主从数据库之间的数据同步
✅ Spring Boot 3 实现 MySQL 主从数据库之间的数据同步 在实际项目中,为了提高 系统的读性能 和 数据的可用性,通常会使用 主从数据库架构。Spring Boot 提供了对 多数据源 的良好支持,可以轻松配置 主从数据库 的数据同步,实现 读写分离。 🎯 方案介绍 我们将通过 Sp…...
WPS-JS宏快速上手
WPS JS宏注意事项 代码后面可以不写分号“ ; ”; 缩进对程序的运行影响不大,但为了易读(防止自己以后看不懂),还是乖乖写好; 代码是逐行运行的,意味着下面一行代码错了,前面的代码…...
力扣hot100——堆
215. 数组中的第K个最大元素 快速排序 class Solution { public:int findKthLargest(vector<int>& a, int k) {auto qsort [&](this auto&& qsort, int l, int r) -> void {if (l r) return;int i l - 1, j r 1;int x a[(l r) / 2];/*如果把…...
【小制作】米家模拟手指点击
代码功能解释 这段代码是一个基于Arduino平台的控制程序,主要功能包括: 初始化:设置引脚模式、初始化编码器、舵机和EEPROM。按键检测:处理按钮的单击、双击和长按事件,并根据事件执行相应操作。编码器更新ÿ…...
ubuntu1604 apt镜像源切换
1、如何查看当前源 cat /etc/apt/sources.list less /etc/apt/sources.list 2、apt源修改为阿里镜像,这里ubuntu是1604: deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/…...
leetcode刷题笔记
题目思路1.两数之和哈希表2.两数相加链表操作3. 无重复字符的最长子串滑动窗口,特别注意数组越界情况!4. 寻找两个正序数组的中位数5.最长回文子串从中间向两边扩展,注意整个字符串都是回文串的边界情况10.正则表达式匹配动态规划,…...
修复 ITunes 在 Windows 或 Mac 上不断崩溃的问题 [100% 有效]
对于 iDevice 用户来说,只能通过 iTunes 在 iDevice 和计算机之间传输文件的困境一直是一个紧迫的问题。所有 iPhone 用户可能都知道,iTunes 并不是一款高效的应用程序,有时性能会很差,例如在 iDevices 和计算机之间传输文件时不断…...
Mac M2基于MySQL 8.4.3搭建(伪)主从集群
前置准备工作 安装MySQL 8.4.3 参考博主之前的文档,在本地Mac安装好MySQL:Mac M2 Pro安装MySQL 8.4.3安装目录:/usr/local/mysql,安装好的MySQL都处于运行状态,需要先停止MySQL服务最快的方式:系统设置 …...
Visual Point Cloud Forecasting enables Scalable Autonomous Driving——点云论文阅读(12)
此内容是论文总结,重点看思路!! 文章概述 这篇文章介绍了一个名为 ViDAR 的视觉点云预测框架,它通过预测历史视觉输入生成未来点云,作为自动驾驶的预训练任务。ViDAR 集成了语义、三维几何和时间动态信息,有效提升了感知、预测和规划等自动驾驶核心任务的性能。实验表明…...
handpose x plus 数据解析 >> DataBall
DataBall 助力快速掌握数据集的信息和使用方式,会员享有 百种数据集,持续增加中。 需要更多数据资源和技术解决方案,知识星球: “DataBall - X 数据球(free)” ---------------------------- 样品数据: 通过加入知识…...
LINUX线程操作
文章目录 线程的定义LINUX中的线程模型一对一模型多对一模型多对多模型 线程实现原理线程的状态新建状态(New)就绪状态(Runnable)运行状态(Running)阻塞状态(Blocked)死亡状态&#…...
每日一学——日志管理工具(ELK Stack)
5.1 ELK Stack 5.1.1 Elasticsearch索引机制 嘿,小伙伴们!今天我们要聊聊ELK Stack——一套由Elasticsearch、Logstash和Kibana组成的强大日志管理工具集。通过这套工具,我们可以轻松地收集、存储、搜索和可视化日志数据。首先,…...
设计模式 结构型 适配器模式(Adapter Pattern)与 常见技术框架应用 解析
适配器模式(Adapter Pattern)是一种结构型设计模式,它允许将一个类的接口转换成客户端所期望的另一个接口,从而使原本因接口不兼容而无法一起工作的类能够协同工作。这种设计模式在软件开发中非常有用,尤其是在需要集成…...
【Leetcode】732. 我的日程安排表 III
文章目录 题目思路代码复杂度分析时间复杂度空间复杂度 结果总结 题目 题目链接🔗 当 k k k 个日程存在一些非空交集时(即, k k k 个日程包含了一些相同时间),就会产生 k k k 次预订。 给你一些日程安排 [startTime, endTime…...
Flutter Android修改应用名称、应用图片、应用启动画面
修改应用名称 打开Android Studio,打开对应项目的android文件。 选择app下面的manifests->AndroidManifest.xml文件,将android:label"bluetoothdemo2"中的bluetoothdemo2改成自己想要的名称。重新启动或者重新打包,应用的名称…...
RocketMQ消费者如何消费消息以及ack
1.前言 此文章是在儒猿课程中的学习笔记,感兴趣的想看原来的课程可以去咨询儒猿课堂 这篇文章紧挨着上一篇博客来进行编写,有些不清楚的可以看下上一篇博客: https://blog.csdn.net/u013127325/article/details/144934073 2.broker是如何…...
华为消费级QLC SSD来了
近日,有关消息显示,华为的消费级SSD产品线,eKitStor Xtreme 200E系列,在韩国一家在线零售商处首次公开销售,引起了业界的广泛关注。 尽管华为已经涉足服务器级别的SSD制造多年,但直到今年6月才正式推出面向…...
Conda 安装 Jupyter Notebook
文章目录 1. 安装 Conda下载与安装步骤: 2. 创建虚拟环境3. 安装 Jupyter Notebook4. 启动 Jupyter Notebook5. 安装扩展功能(可选)6. 更新与维护7. 总结 Jupyter Notebook 是一款非常流行的交互式开发工具,尤其适合数据科学、机器…...
高等数学学习笔记 ☞ 极限的运算法则与存在准则
1. 极限的运算法则 (1)有限个无穷小的和是无穷小。 (2)有限个无穷小的乘积是无穷小。 备注: ①:无限个无穷小的和不一定是无穷小,反例如下…...
【开源】创建自动签到系统—QD框架
1. 介绍 QD是一个 基于 HAR 编辑器和 Tornado 服务端的 HTTP 定时任务自动执行 Web 框架。 主要通过抓包获取到HAR来制作任务模板,从而实现异步响应和发起HTTP请求 2. 需要环境 2.1 硬件需求 CPU:至少1核 内存:推荐 ≥ 1G 硬盘:推…...
k8s集群,CRI-Docker部署条件及方法
CRI-Docker部署条件及方法 文章目录 CRI-Docker部署条件及方法CRI-Docker使用条件安装 cri-docker 的步骤: CRI-Docker使用条件 在 Kubernetes 1.20 及以上版本,kubeadm 默认使用 containerd 作为容器运行时(Container Runtime Interface, C…...
STLG_01_09_程序设计C语言 - 指针
C语言中的指针是一个非常重要的概念,它允许程序直接访问和操作内存地址。理解指针对于掌握C语言编程至关重要。 1. 指针的基本概念 指针:指针是一个变量,它存储的是另一个变量的内存地址。指针变量:指针变量专门用来存储内存地址…...
Seaborn的分类柱状图sns.barplot()
Seaborn的分类柱状图sns.barplot 一、sns.barplot()参数详解二、代码实现一、sns.barplot()参数详解 sns.barplot 是 Seaborn 库中用于绘制分类柱状图(bar chart)的函数。Seaborn 是一个基于 Matplotlib 的数据可视化库,它提供了更高级别的接口来绘制统计图形,并且有更…...
SpringBoot入门之创建一个Hello World项目
文章目录 一、创建一个SpringBoot项目二、配置pom.xml文件三、下载Maven依赖四、创建一个Controller类:com.devops.controller.HelloController五、创建一个引导类:com.devops.HelloApplication六、启动项目七、访问8080八、完整项目结构九、参考视频 一…...
MAC系统QT Creator的快捷键
安装好QT Creator后使用了一段时间,真是越用越难受,只想说🗑️。。。 找一圈qt creator的快捷键 0. 快捷键界面 这里的搜索真的是…无语,不考虑是人查找吗?? 1. 代码前后浏览 2. 移动代码 3. 半自动导入…...
qml Rectangle详解
1、概述 Rectangle是Qt Quick中的一个基础图形元素,用于在QML界面上绘制一个可带边框和可填充的矩形区域。它继承自Item类,因此具有Item的所有属性和功能,如位置、尺寸、变换等。通过Rectangle,可以创建各种矩形形状,…...
C语言中关于数据类型带来的陷阱
前言 笔者在阅读《深入理解计算机系统》时,理解了为何C语言被称为不安全语言,C语言除了指针非常灵活可能会导致大量漏洞之外,C语言的无符号数据也可能带来致命性危害。 扩展一个数据的表示 将一个无符号数转换为更大的数据类型,…...
设计心得——流程图和数据流图绘制
一、流程图和数据流图 在软件开发中,画流程图和数据流图可以说是几乎每个人都会遇到。 1、数据流(程)图 Data Flow Diagram,DFG。它可以称为数据流图或数据流程图。其主要用来描述系统中数据流程的一种图形工具,可以将…...
【AimRT】AimRT Hello World
目录 一、工程结构二、源码说明/CMakeLists.txt/cmake/GetAimRT.cmake/src/CMakeLists.txt/src/module/helloworld_module/CMakeLists.txt/src/app/helloworld_app/CMakeLists.txt/src/install/cfg/helloworld_cfg.yaml/src/module/helloworld_module/helloworld_module.h/src/…...
在Typora中实现自动编号
文章目录 在Typora中实现自动编号1. 引言2. 准备工作3. 自动编号的实现3.1 文章大纲自动编号3.2 主题目录(TOC)自动编号3.3 文章内容自动编号3.4 完整代码 4. 应用自定义CSS5. 结论 在Typora中实现自动编号 1. 引言 Typora是一款非常流行的Markdown编辑…...
Vue2/Vue3使用DataV
Vue2 注意vue2与3安装DataV命令命令是不同的Vue3 DataV - Vue3 官网地址 注意vue2与3安装DataV命令命令是不同的 vue3vite 与 Vue3webpack 对应安装也不同vue3vite npm install kjgl77/datav-vue3全局引入 // main.ts中全局引入 import { createApp } from vue import Da…...
Docker 环境中搭建 Redis 哨兵模式集群的步骤与问题解决
在 Docker 环境中搭建 Redis 哨兵模式集群的步骤与问题解决 在 Redis 高可用架构中,哨兵模式(Sentinel)是确保 Redis 集群在出现故障时自动切换主节点的一种机制。通过使用 Redis 哨兵,我们可以实现 Redis 集群的监控、故障检测和…...
数据库设计
数据库设计全攻略:从理论到实践 在当今数字化驱动的世界里,数据已然成为企业和组织最为宝贵的资产之一。而数据库,作为数据的“栖息地”,其设计的优劣直接关系到整个信息系统的性能、可维护性以及能否高效满足业务需求。一个精心构思的数据库设计方案,就如同为一座高楼打…...
三甲医院等级评审八维数据分析应用(一)--组织、制度、管理可视化篇
一、引言 1.1 研究背景与意义 在当今医疗领域,三甲医院作为医疗服务的核心载体,肩负着保障民众健康、推动医学进步的重任。随着信息技术的飞速发展,数据已成为医院运营管理、医疗质量提升以及科学决策的关键要素。三甲医院等级评审作为衡量医院综合实力与服务水平的重要标…...