哈工大计算机网络课程局域网详解之:无线局域网
哈工大计算机网络课程局域网详解之:无线局域网
文章目录
- 哈工大计算机网络课程局域网详解之:无线局域网
- IEEE 802.11无线局域网
- 802.11体系结构
- 802.11:信道与AP关联
本节介绍一下平时经常使用的一个无线局域网技术,也就是通常我们使用的wifi。
IEEE 802.11无线局域网
wifi是IEEE 802.11这样一个系列标准所定义的无线局域网。作为802.11局域网来说,实际上存在很多版本:
-
802.11b
- 2.4-2.5GHz免费频段(unliebensed spectrum)
- 最高速率:11Mbps
- 物理层采用直接序列扩频(DSSS)技术。所有主机使用相同的码片序列。
-
802.11a
- 5-6G频段
- 最高速率:54Mbps
-
802.11g
- 2.4-2.5GHz频段
- 最高速率:54Mbps
-
802.11n(多天线MIMO)
- 2.4-2.5GHz频段
- 最高速率:600Mbps
虽然有多个802.11的无线局域网标准,但是作为802.11无线局域网在链路层解决介质访问控制时,都使用CSMA/CA多路访问控制协议。 并且,802.11无线局域网在组网过程中都支持两种类型的网络模式:
-
基础设施模式(基站模式)
所有的无线主机都是通过无线方式与基站通信,基站通常再利用有线的方式连接到现有的基础设施网络上去,比如Internet网络。
-
特定网模式(自组网模式)
在自组网模式中,网络中没有基站,都是一些无线主机,在一定区域内动态的构成区域性网络。
下表给出了802.11局域网各种标准的特性,可供参考:

802.11体系结构

上面的体系结构示意图,就是典型的802.11基础设施模型的网络结构,也是大家平时接触的无线局域网最典型的网络结构。在这个结构中,可以看到这样几部分:
-
无线主机与基站通信
- 基站(base station)= 访问点(access point - AP)
- 作为基站,可以进一步的连接到集线器、交换机或路由器上,从而进一步连接到Internet网络上。
-
在每一个基站的覆盖范围内,这些无线主机都可以跟该基站进行连接,通过基站进行通信。这个覆盖范围,通常称为一个基本服务集BSS(Basic Service Set),也称为单元(cell)。
-
基础设施网络模式:一个基本服务集包含AP:基站和无线主机。
-
自组网模式:一个基本服务集只包含主机。
-
802.11:信道与AP关联
接下来我们继续看一下,802.11无线局域网中的主机是如何与AP进行关联的,以及如何使用它所占用的频率带宽。
以802.11b标准为例,它使用的频带是2.4-2.482GHz,在这个频段中,频谱被划分为11个不同频率的信道。
-
作为AP,每个AP在运行时在这个11个不同频率的信道中选择(或由网络管理员指定)一个频率来工作。
-
由于在实际网络构成中,有很多距离相近的AP存在,而这些AP的频率选择并没有一个硬性的标准来约束,因此很有可能出现,相邻的两个AP之间所选择的频率相同或相邻。因此,在802.11无线局域网中,一定会存在一些干扰问题
任何一个主机,在802.11无线局域网中,要想进行通信,必须要与某个AP进行关联。 关联过程大致如下:
-
任何一个主机都可以通过扫描这11个信道,来探测有哪些AP工作在这些信道上。事实上不管是哪个AP,只要在某一信道上工作的话,就会在相应的信道上定期发送或广播一个叫信标(beacon)帧。这个信标帧里就包含了这个AP所属的服务集标识符-SSID,以及这个AP的MAC地址。监听包含AP名称(服务集标识符-SSID)和MAC地址的信标(beacon)帧。
-
选择一个AP关联
因此作为某一个主机,可能在某个地点可以搜索到多个AP(比如打开Wi-Fi,可以看到有很多个Wi-Fi可以连接)。这种情况下,主机可以手动选择一个AP,也可以让系统自动选择AP(比如wifi自动连接)。当主机选定一个AP之后,就会与该AP进行关联。
-
身份认证
提供认证信息,比如用户名或密码,通过认证后,才能成功进行关联。
-
典型场景:运行DHCP获取IP地址
在现在Internet网络环境下,主机关联AP之后,通常还会利用DHCP协议来动态获取IP地址信息,完成主机的IP地址配置后,才真正地可以进行网络通信。
在主机与AP关联时,可以分为两种模式:被动扫描与主动扫描
被动扫描:
- 各AP发送信标帧
- 主机(H1)向选择的AP发送关联请求帧
- AP向主机(H1发送关联响应帧)

主动扫描:
- 主机(H1)主动广播探测请求帧(Probe Request Frame)
- AP发送探测响应帧(Probe Response Frame)
- 主机(H1)向选择的AP发送关联请求帧
- AP向主机(H1)发送关联响应帧

相关文章:
哈工大计算机网络课程局域网详解之:无线局域网
哈工大计算机网络课程局域网详解之:无线局域网 文章目录 哈工大计算机网络课程局域网详解之:无线局域网IEEE 802.11无线局域网802.11体系结构802.11:信道与AP关联 本节介绍一下平时经常使用的一个无线局域网技术,也就是通常我们使…...
系统集成|第六章(笔记)
目录 第六章、整体管理6.1 项目整体管理概述6.2 主要过程6.2.1 制订项目章程6.2.2 制订项目管理计划6.2.3 指导与管理项目工作6.2.4 监控项目工作6.2.5 实施整体变更控制6.2.6 结束项目或阶段 上篇:第五章、立项管理 第六章、整体管理 6.1 项目整体管理概述 概述&a…...
MySQL主从复制环境部署
文章目录 MySQL主从复制什么是主从复制:为什么需要主从复制:配置文件修改-主:时间同步:重启服务-主:创建同步用户:查看主上的二进制文件名及位置:配置-从:测试:注: MySQL…...
day42-servlet下拉查询/单例模式
0目录 1.Servlet实现下拉查询(两表) 2.单例模式 1.实战 1.1 创建工程,准备环境... 1.2 接口 1.3 重写方法 1.4 servlet 1.5 list.jsp list.jsp详解 2.单例模式 2.1 饿汉模式:在程序加载时直接创建对象&#…...
docker中设置容器健康检查
文章目录 一、docker-compose方式二、Dockerfile方式三、docker run方式四、查看检查日志 一、docker-compose方式 在docker-compose中加入healthcheck healthcheck 支持下列选项: test:健康检查命令,例如 ["CMD", "curl&quo…...
azure-cognitiveservices-speech api error while using with AWS Lambda
Azure 语音评估服务 Cancellation Reason 初始化平台失败 1.在mac上安装 pip install azure-cognitiveservices-speech1.30.0正常运行没有问题,服务部署到docker 容器中后调用Azure语音评估服务报错 Cancellation Reason 初始化平台失败 2.解决方案,变…...
系统集成项目管理工程师挣值分析笔记大全
系统集成项目管理工程师挣值分析笔记大全 挣值分析是一种项目管理技术,用于量化和监控项目绩效。它通过比较计划值(PV)、实际成本(AC)和挣值(EV)三个参数来评估项目的进展情况和成本绩效。 挣值…...
TCP 协议【传输层协议】
文章目录 1. 简介1.1 TCP 协议是什么1.2 TCP 协议的作用1.3 什么是“面向连接” 2. 简述 TCP2.1 封装和解包2.2 TCP 报文格式2.3 什么是“面向字节流”2.4 通过 ACK 机制实现一定可靠性 3. 详述 TCP3.1 基本认识TCP 报头格式16 位源/目标端口号32 位序列号*32 位确认应答号4 位…...
Golang 中的 time 包详解(二):time.Duration
在日常开发过程中,会频繁遇到对时间进行操作的场景,使用 Golang 中的 time 包可以很方便地实现对时间的相关操作。接下来的几篇文章会详细讲解 time 包,本文讲解一下 time 包中的 time.Duration 类型。 time.Duration time.Duration 类型是…...
Linux 学习记录58(ARM篇)
Linux 学习记录58(ARM篇) 本文目录 Linux 学习记录58(ARM篇)一、GIC相关寄存器1. 系统框图2. 中断号对应关系 二、GICD寄存器1. GICD_CTLR2. GICD_ISENABLERx3. GICD_IPRIORITYRx4. GICD_ITARGETSRx5. GICD_ICPENDRx 三、GICC寄存器1. GICC_PMR2. GICC_CTLR3. GICC_IAR4. GICC_…...
【一文搞懂】—带霍尔编码器的直流有刷减速电机
文章目录 一、直流有刷电机二、减速比三、霍尔编码器3.1 霍尔编码器3.2 霍尔编码器测速原理 四、测速程序设计4.1 跳变沿检测4.2 计算转速 一、直流有刷电机 宏观上说直流有刷电机由固定部分(定子)和旋转部分(转子)组成。在定子上…...
滴水逆向三期笔记与作业——02C语言——05 正向基础/05 循环语句
目录 一、缓冲区溢出的HelloWorld二、永不停止的HelloWorld三、基础知识3.1 变量的声明3.2 类型转换(一般用于小转大)3.3 表达式3.4 语句和程序块3.5 参数与返回值3.6 关系运算符3.7 逻辑运算符:&& || !3.8 单目运算符3.9 三目运算符…...
Python抓取分享页面的源代码示例
本文章是关于利用Python方法来抓取某网站分享页面中的源码方法示例。需要大家注意的是Python抓取分享页面的源代码示例,是要在运行时导入BeautifulSoup.py文件后才可以使用。 Python抓取分享页面的源代码示例,需要用到python urllib2模块方法࿰…...
linux安装nginx遇到的报错
1、Linux如何修改只读文件(以设置自动连网为例) vim /etc/sysconfig/network-scripts/ifcfg-ens33 然后提示 E45:已设定选项“readonly”(请加!强制执行) 如果需要强制修改,可以使用࿰…...
一起学SF框架系列5.8-spring-Beans-Bean注解解析3-解析配置component-scan
本文主要讲述Spring是如何解析“context:component-scan”元素,扫描加载目录下的BeanDefinition。 解析内容 1、解析的元素如下: <!-- 注解模式:配置bean扫描路径(注:自动包含子路径) --><conte…...
【LeetCode热题100】打卡第42天:滑动窗口最大值搜索二维矩阵II
文章目录 【LeetCode热题100】打卡第42天:滑动窗口最大值&搜索二维矩阵II⛅前言 滑动窗口最大值🔒题目🔑题解 搜索二维矩阵II🔒题目🔑题解 【LeetCode热题100】打卡第42天:滑动窗口最大值&搜索二维…...
[uni-app] 微信小程序 - 组件找不到/导入报错 (分包问题导致)
文章目录 问题表现问题原因 问题表现 切换了个路径下的组件, 导入失败, 尝试了清缓存\重启\删项目等一些列操作均无效 上面两个路径中, 都存在一模一样的videItem.vue Main路径是可以导入的 Main路径是无法导入的 问题原因 后来发现, 是 分包的问题导致. 我们先来假设一个场…...
从零构建医疗领域知识图谱的KBQA问答系统:其中7类实体,约3.7万实体,21万实体关系。
项目设计集合(人工智能方向):助力新人快速实战掌握技能、自主完成项目设计升级,提升自身的硬实力(不仅限NLP、知识图谱、计算机视觉等领域):汇总有意义的项目设计集合,助力新人快速实…...
编程小白的自学笔记十二(python爬虫入门四Selenium的使用实例二)
系列文章目录 编程小白的自学笔记十一(python爬虫入门三Selenium的使用实例详解) 编程小白的自学笔记十(python爬虫入门二实例代码详解) 编程小白的自学笔记九(python爬虫入门代码详解) 目录 系列文章…...
技术笔记2023076 rBoot学习7
技术笔记2023076 rBoot学习7 继续之前的学习。 代码分析:函数find_image() // prevent this function being placed inline with main // to keep mains stack size as small as possible // dont mark as static or itll be optimised out when // using the ass…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
python执行测试用例,allure报乱码且未成功生成报告
allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...
OCR MLLM Evaluation
为什么需要评测体系?——背景与矛盾 能干的事: 看清楚发票、身份证上的字(准确率>90%),速度飞快(眨眼间完成)。干不了的事: 碰到复杂表格(合并单元…...
React从基础入门到高级实战:React 实战项目 - 项目五:微前端与模块化架构
React 实战项目:微前端与模块化架构 欢迎来到 React 开发教程专栏 的第 30 篇!在前 29 篇文章中,我们从 React 的基础概念逐步深入到高级技巧,涵盖了组件设计、状态管理、路由配置、性能优化和企业级应用等核心内容。这一次&…...
数据库正常,但后端收不到数据原因及解决
从代码和日志来看,后端SQL查询确实返回了数据,但最终user对象却为null。这表明查询结果没有正确映射到User对象上。 在前后端分离,并且ai辅助开发的时候,很容易出现前后端变量名不一致情况,还不报错,只是单…...
验证redis数据结构
一、功能验证 1.验证redis的数据结构(如字符串、列表、哈希、集合、有序集合等)是否按照预期工作。 2、常见的数据结构验证方法: ①字符串(string) 测试基本操作 set、get、incr、decr 验证字符串的长度和内容是否正…...
