408 计算机网络 知识点记忆(4)

news2025/4/7 2:25:31

前言

本文基于王道考研课程与湖科大计算机网络课程教学内容,系统梳理核心知识记忆点和框架,既为个人复习沉淀思考,亦希望能与同行者互助共进。(PS:后续将持续迭代优化细节)

往期内容

408 计算机网络 知识点记忆(1)

408 计算机网络 知识点记忆(2)

408 计算机网络 知识点记忆(3)

核心知识记忆点

介质访问控制MAC
MAC地址属于数据链路层

信道划分介质访问控制
时分复用TDM 统计时分复用STDM
频分复用FDM
波分复用WDM
码分复用 不同码片序列相互正交 ST=0 码片向量自身内积为1 SS=1

随机介质访问控制 胜利者征用获得信道,进而获得信息发送权
争用型协议

ALOHA协议
纯ALOHA协议 不进行任何检测发送数据,冲突随机等待一段时间后重发
时隙ALOHA协议 将时间划分等长时隙 站点只能在每个时隙开始时才发送帧,冲突随机等待一段时间后重发

CSMA协议(载波监听多路访问)
1-坚持CSMA 信道空闲 发送 ;忙,继续监听
1-非坚持CSMA 信道空闲,发送;忙,放弃监听,随机时间后再监听
p-坚持CSMA 信道空闲,p概率发送;忙,继续监听

CSMA/CD 载波监听多路访问/冲突检测
总线型/半双工
先听后发 边听边发 冲突停发 随即重发
发送站开始发送数据后最多经过时间 2 τ 2\tau 2τ(端到端传播距离的2倍) 争用期/碰撞窗口
最短帧长/传输=最大单向传播时延*2(便发送便检测,不发送不检测)
10Mb/s以太网 51.2us争用期时间

截断二进制指数退避算法
2 τ r 2\tau r 2τr
k<=10, r ∈ [ 0 , 2 k − 1 ] \in [0,2^k-1] [0,2k1]随机
k>10, r ∈ [ 0 , 2 1 0 − 1 \in [0,2^10-1 [0,2101随机
k=16,直接放弃,报告上级网络层
以太网最小帧间隔96比特时间,接收缓存及时清理
1 准备发送
2 检测信道:忙,持续监测,直至空闲;若在9.6us时间内信道空闲(保持帧间最小间隔),发送该帧
3 发送过程中适配器继续检测信道:发送成功;失败,退避一段时间后继续2 16次失败

CSMA/CA协议 冲突避免
所有站检测到信道空闲后,还要等待一段时间(持续监听)才能发送帧,帧间间隔(IFS)
SIFS(短IFS) 28us ACK帧
PIFS(点协调IFS)
DIFS(分布式协调IFS)
发送方:先听后发,忙则退避:信道空闲,间隔DIFS,再发送;若不,随即退避(i次, [ 0 , 2 2 + k − 1 ] [0,2^{2+k}-1] [0,22+k1],max 255 k=6)
接收方:停止等待协议,每收到一个返回ACK帧

1.若站点最初有数据要发送(而非有数据发送不成功再重传),且检测到信道空闲,等待DIFS后,发送整个数据帧
2.否则,CSMA/CA 信道忙,退避计时器不变;空闲,倒计时
3.退避倒计时归零,站点发送整个帧并等待确认
4.发送站收到ACK 则已被正确接收,发送下一帧从2开始;未收到ACK,重传

基本服务集BSS
拓展服务集ESS
服务集标识符SSID

隐蔽站问题:RTS和CTS
A AP B(A和B都检测到信道空闲)
解决办法:对信道进行预约
1.源站点发送数据之前,先监听信道,空闲等待DIFS后,广播RTS
2.AP正确收到RTS且信道空闲,等待SIFS,广播CTS
3.源站收到CTS后,等待SIFS,发送数据
4.Ap收到源站数据,等待SIFS发送ACK
源站在RTS帧填写持续时间为收到RTS后,SIFS+CTS+SIFS+数据帧+SIFS+ACK
AP填写CTS持续时间为收到CTS后,SIFS+数据帧+SIPS+ACK
其他站根据CTS设置网络分配向量NAV

802.11无线局域网的MAC帧
数据帧 传输数据
控制帧 负责区域的清空,虚拟载波监听维护以及信道接入,并给收到的数据帧予以确认 eg ACK帧 RTS帧 CTS帧
管理帧 用于加入或退出无线网络,以及处理AP之间连接的转移事宜 eg 信标帧 关联请求帧 身份认证帧

帧头:帧控制(2字节)持续期(2)地址1(6) 地址2 (6) 地址3(6)序号控制(2) 地址4(6)
数据:数据载荷(0–2312)
帧尾:FCS(4)
帧控制:协议版本(2b)类型(2)子类型(4)去往AP(1)来自AP(1)更多分片(1)重试(1)功率管理(1)更多数据(1)WEP(1)顺序(1)

轮询访问:令牌传递协议
1.当网络空闲时,环路中只有令牌帧循环传递
2.当令牌传递到有数据要发送的站点时,该站点就修改令牌中的一个标志位,并在令牌附加自己需要传输的数据,将令牌变成一个数据帧,发送出去
3.数据帧沿环路传输,接收到的站点,一边转发一查看帧的目的地址,若与自己相同,则接受站复制该数据帧,进一步处理
4.数据帧沿环路传输,直到该帧的源站点,原站点收到自己发出的帧后不再转发,通过检验返回帧查看数据传输过程是否出错,若出错,重传
5.源点站发送完数据后,重新生成一个令牌,并传递给下一站点,交出信道控制权

结语

介质访问控制(MAC)作为数据链路层的核心,是共享信道中秩序与效率的守护者。从时分复用到码分复用的频谱交响,从ALOHA的随机碰撞到CSMA/CD的冲突博弈,从CSMA/CA的无线避让到令牌传递的精密轮询,每一种协议都在诠释着“共享”与“竞争”的哲学平衡。无论是总线型以太网的二进制退避智慧,还是无线局域网的RTS/CTS预约艺术,技术的演进始终围绕一个目标:让多用户环境下的信道资源分配更公平、更高效、更可靠。

在CSMA/CD的碰撞窗口中,我们见证了有线网络的果断回溯;在CSMA/CA的帧间间隔里,我们领悟了无线通信的谦逊避让;而令牌环路的优雅流转,则展现了确定性时延场景的独特价值。802.11帧结构的多重地址设计、隐蔽站问题的创新攻克,无不体现着协议设计者对现实复杂性的深刻洞察与精准应对。

参考资料

1.王道考研课程
2.湖科大计算机网络课程

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

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

相关文章

深度学习数据集划分比例多少合适

在机器学习和深度学习中&#xff0c;测试集的划分比例需要根据数据量、任务类型和领域需求灵活调整。 1. 常规划分比例 通用场景 训练集 : 验证集 : 测试集 60% : 20% : 20% 适用于大多数中等规模数据集&#xff08;如数万到数十万样本&#xff09;&#xff0c;平衡了训练数…

CExercise_1_5 水仙花数

题目&#xff1a; 经典循环案例&#xff1a;请求出所有的水仙花数&#xff0c;并统计总共有几个。 所谓的水仙花数是指一个三位数&#xff0c;其各位数字的立方和等于该数本身。 举例&#xff1a;153就是一个水仙花数&#xff0c;153 1 * 1 * 1 5 * 5 * 5 3 * 3 * 3 1 125…

哈密尔顿路径(Hamiltonian Path)及相关算法题目

哈密尔顿路径要求访问图中每个顶点恰好一次&#xff0c;通常用于解决旅行商问题&#xff08;TSP&#xff09;或状态压缩DP问题。 哈密尔顿路径&#xff08;Hamiltonian Path&#xff09;是指在一个图中经过每个顶点恰好一次的路径。如果这条路径的起点和终点相同&#xff08;即…

MINIQMT学习课程Day10

开始获取股票数据课程的学习&#xff1a; 获取qmt账号的持仓情况后&#xff0c;我们进入下一步&#xff0c;如何获得当前账号的委托状况 还是之前的步骤&#xff0c;打开qmt&#xff0c;选择独立交易&#xff0c; 之后使用pycharm&#xff0c;编写py文件 导入包&#xff1a…

JAVA实战开源项目:智慧图书管理系统(Vue+SpringBoot) 附源码

本文项目编号 T 152 &#xff0c;文末自助获取源码 \color{red}{T152&#xff0c;文末自助获取源码} T152&#xff0c;文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

Linux 系统管理综合实训 —— 基于 NAT 模式的多 IP 配置、Nginx 服务部署及存储管理

1. 虚拟机网络配置&#xff1a;NAT模式与多IP地址设置 将你的虚拟机的网卡模式设置为nat模式&#xff0c;给虚拟机网卡配置三个主机位分别为100、200、168的ip地址 设置静态IP [rootlocalhost ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 192.168.2.100/2…

如何在windows 环境、且没有显卡的情况下用python跑通从ModelScope下载的大模型的调用

文章目录 背景介绍源代码&#xff1a;安装调试过程1.设置第三方镜像源2.预先安装&#xff1a;3.在python中创建代码&#xff1a;4.最终修改程序,将device_map从“cuda”改成“auto”&#xff0c;大模型调用1.5B&#xff08;1___5B)的5.最终跑出结果解释&#xff1a;示例&#x…

黑马点评redis改 part 1

本篇将主要阐述短信登录的相关知识&#xff0c;感谢黑马程序员开源&#xff0c;感谢提供初始源文件&#xff08;给到的是实战第7集开始的代码&#xff09;【Redis实战篇】黑马点评学习笔记&#xff08;16万字超详细、Redis实战项目学习必看、欢迎点赞⭐收藏&#xff09;-CSDN博…

【Ragflow】11. 文件解析流程分析/批量解析实现

概述 本文继续对ragflow文档解析部分进行分析&#xff0c;并通过脚本的方式实现对文件的批量上传解析。 文件解析流程 文件解析的请求处理流程大致如下&#xff1a; 1.前端上传文件&#xff0c;通过v1/document/run接口&#xff0c;发起文件解析请求 2.后端api\apps\docum…

第三期:深入理解 Spring Web MVC [特殊字符](数据传参+ 特殊字符处理 + 编码问题解析)

✨前言&#xff1a;传参和状态管理&#xff0c;看似简单其实门道不少 在 Web 开发中&#xff0c;前端和后端最核心的交流方式就是“传参”&#xff0c;而“传参”除了涉及如何写代码获取参数&#xff0c;还藏着很多开发者容易忽略的细节&#xff1a; 为什么 URL 带了中文&…

Everything 安装教程与使用教程(附安装包)

文章目录 前言一、Everything 介绍二、Everything 安装教程1.Everything 安装包下载2.选择安装文件3.选择安装语言4.接受许可协议5.选择安装位置6.配置安装选项7.完成安装 三、Everything 使用教程1.启动软件2.简单关键词搜索3.按类型搜索 前言 在日常使用电脑时&#xff0c;随…

SQL语句(三)—— DQL

目录 基本语法 一、基础查询 1、查询多个字段 2、字段设置别名 3、去除重复记录 4、示例代码 二、条件查询 1、语法 2、条件列表常用的运算符 3、示例代码 三、分组查询 &#xff08;一&#xff09;聚合函数 1、介绍 2、常见的聚合函数 3、语法 4、示例代码 &…

Opencv计算机视觉编程攻略-第九节 描述和匹配兴趣点

一般而言&#xff0c;如果一个物体在一幅图像中被检测到关键点&#xff0c;那么同一个物体在其他图像中也会检测到同一个关键点。图像匹配是关键点的常用功能之一&#xff0c;它的作用包括关联同一场景的两幅图像、检测图像中事物的发生地点等等。 1.局部模板匹配 凭单个像素就…

汇编学习之《push , pop指令》

学习本章前线了解ESP, EBP 指令 汇编学习之《指针寄存器&大小端学习》-CSDN博客 栈的特点&#xff1a; 好比一个垂直容器&#xff0c;可以陆续放入物体&#xff0c;但是先放的物体通常会被后面放的物体压着&#xff0c;只有等上面后放的物品拿出来后&#xff0c;才能…

Python循环控制语句

1. 循环类型概述 Python提供两种主要的循环结构&#xff1a; while循环 - 在条件为真时重复执行for循环 - 遍历序列中的元素 2. while循环 基本语法 while 条件表达式:循环体代码示例 count 0 while count < 5:print(f"这是第{count1}次循环")count 13. f…

微信小程序(下)

目录 在事件处理函数中为 data 中的数据赋值 事件传参 bindinput 的语法格式 实现文本框和 data 之间的数据同步 条件渲染 结合 使用 wx:if hidden wx:if与 hidden 的对比 wx:for 手动指定索引和当前项的变量名 wx:key 的使用 WXSS 和 CSS 的关系 什么是 rpx 尺寸…

【零基础入门unity游戏开发——2D篇】2D 游戏场景地形编辑器——TileMap的使用介绍

考虑到每个人基础可能不一样&#xff0c;且并不是所有人都有同时做2D、3D开发的需求&#xff0c;所以我把 【零基础入门unity游戏开发】 分为成了C#篇、unity通用篇、unity3D篇、unity2D篇。 【C#篇】&#xff1a;主要讲解C#的基础语法&#xff0c;包括变量、数据类型、运算符、…

vector的介绍与代码演示

由于以后我们写OJ题时会经常使用到vector&#xff0c;所以我们必不可缺的是熟悉它的各个接口。来为我们未来作铺垫。 首先&#xff0c;我们了解一下&#xff1a; https://cplusplus.com/reference/vector/ vector的概念&#xff1a; 1. vector是表示可变大小数组的序列容器…

ubuntu 22.04 解决LXC 报错CGroupV1 host system

解决CGroupV1 host system 报错 echo "cgroupv1 environment" sed -i s/^GRUB_CMDLINE_LINUX.*/GRUB_CMDLINE_LINUX_DEFAULT"quiet splash systemd.unified_cgroup_hierarchy0" / /etc/default/grub update-grub reboot 下载oracle 7 Linux 容器测试 l…