做无线网络测试已经大半年了,在这过程中发现《802.11权威指南》真是以本好书,在这里分享一下学习到的知识,也帮助我记忆。

1.MAC:

  mac(媒介访问控制层),它位于物理层之上,控制着数据的传输,负责核心的额成帧操作以及与有线网络的交互,不同的物理层提供不同的传输速率,不过物理层之间必须彼此互用。802.11采用CSMA/CA来避免冲突。

2.面临的问题

  a.射频链路的品质--

  b.隐藏节点的问题---通过RTS/CTS解决

3.载波侦听功能和网络分配矢量

  a.载波侦听主要用来判断媒介是否处于可用状态,802.11有两种载波侦听:物理载波侦听和虚拟载波侦听,物理载波侦听是通过物理实现,使用很少。

  b.虚拟载波侦听由网络分配矢量(NAV)提供,帧中的Duration字段用来预定媒介的使用时间,NAV就是一个定时器(timer),当NAV为0时,表示媒介处于空闲状态,利用NAV可以确保工作站的原子操作不被中断。

    

4.帧间间隔

  短帧间间隔(SIFS)用于高优先级传输场合,如RTS/CT以及肯定确认。

  PCF帧间间隔(PIFS)用于PCF(点协调功能)在无竞争操作中。

  DCF帧间间隔(DIFS)是竞争式服务中最短的媒介闲置时间,如果媒介长时间处于DIFS,则认为媒介处于空闲状态

  扩展帧间间隔(EIFS)只有在帧出现错误的时候在会用到EIFS。

这写帧间间隔的关系如图:

  

5.利用DCF进行基于竞争的访问

  a.媒介闲置时间大雨一个DIFS,便可以立即进行传输,如果帧呗准确的收到,则媒介空出一个DIFS,如果出现错误,媒介必须空出一个EIFS。

  b.错误恢复

  c.多帧序列可以在传输过程的每个步骤中更新NAV。

  d.如果叫高层的包的大小超过所设定的阈值,则必须使用扩展帧序列

    1)、包的大小超过RTS阈值,必须使用RTS/CTS交换过程。RTS阈值为0时,表示传送数据就交换RTS/CTS。RTS阈值为2347时,表示用于不会发送RTS信号。

    2)、长度超过分段阈值的必须加以分段。

6.无线到有线帧的转换

  a.检查无线帧的完整性

  b.查看是否还要处理这个帧:

    1).将Address1的地址改为bssid(有些产品可能不实现这个)

      通过验证, MAC标头的Address3的地址作为Ethernet的目的地址,Address2作为Ethernet的原地址,Data中的SNAP标头将类型代码复制到Ethernet帧里的Type字段中,顺序信息主要提供帧分段重组用,如果有qos处理过程,在这里需要进行无线接口与有线接口的qos映射。

    2).802.11 MAC检测且移除重复的帧

  c.解密

  d.解密成功之后,ap检查该帧是否为帧片段,是否需要进一步重组

  e.重新计算FCS

  f.产生的新的帧交付给Ethernet接口传送。

  

7.有线到无线帧的转换

  a.检查Ethernet的完整性FCS,检测目的地址是否为接入点上的终端

  b.将SNAP标头附加与Ethernet帧的数据之前

  c.对帧进行调度(省电操作,缓存帧)

  d.一旦帧呗置于队列待传,就会呗赋予一个序列号

  e.如果需要,则对帧主体进行加密

  f.802.11标头根据Ethernet的MAC标头产生

    Ethernet的目的MAC作为Address1,Ethernet的源MAC作为Address3,将BSSID至于Address2中,把预计传送时间写如到Duration字段,

  g.重新计算FCS

  h.将产生的帧交互给无线网口

802.11MAC基础的更多相关文章

  1. 第三章 802.11MAC基础 ****需要深入理解

    1.mac所面临的挑战 射频链路品质     radio link   容易受到干扰    802.11采用肯定确认机制   所有传送出去的帧都必须得到响应        工作站发送请求帧    基站 ...

  2. 802.1X基础

    这是一个认证规范.使用EAPOL协议在客户端与认证端交互. EAPOL协议:Extensible Authentication Protocol over LAN. 假设三个实体: 客户端:PC 认证 ...

  3. WiFi(802.11)基础

    参考: 1. Wireshark数据包分析实战(第2版) 2. wifi技术从了解到熟悉1----概念.802.11协议简述及四种主要物理组件.wifi适配层.wap_supplicant和wap_c ...

  4. WiFi相关基础概念

    转自:https://blog.csdn.net/lbaihao/article/details/73250798 一.WiFi相关基础概念 1.什么是wifi 我们看一下百度百科是如何定义的: Wi ...

  5. 【转】WiFi基础知识

    http://blog.csdn.net/myarrow/article/details/7930131 1. IE802.11简介 标准号 IEEE 802.11b IEEE 802.11a IEE ...

  6. WIFI 基础知识

    转载自:wifi基本知识 如侵犯您的版权,请联系:2378264731@qq.com 1. IE802.11简介 标准号 IEEE 802.11b IEEE 802.11a IEEE 802.11g ...

  7. 计算机网络基础之OSI参考模型

    计算机网络基础之OSI参考模型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.OSI参考模型 OSI是Open System Interconnection的缩写,意为开放式系 ...

  8. beacon帧

    1.MAC头部 解释: ① Version 版本号  目前为止802.11只有一个版本,所以协议编号为0 ② Type 00表示管理帧,01表示控制帧,10表示数据帧 ③ Subtype 和Type一 ...

  9. 与NS2一起度过第一个圣诞夜!(NS2入门学习参考资料)

    Merry xmas! 安装好NS2后正式开始学习NS2啦,先转发一哥们的博客内容,慢慢看! 一). NS常用基本网站         1. 寻求问题答案最好的地方.           http:/ ...

随机推荐

  1. Sublime Text 3 快捷键汇总

    Sublime Text 3非常实用,但是想要用好,一些快捷键不可或缺,所以转了这个快捷键汇总. 用惯了vim,有些快捷键也懒得用了,尤其是在win下面,还有图形界面,所以个人觉得最有用的还是搜索类, ...

  2. text/plain && text/html

    text/plain和text/html都是Content-Type; text/plain : 页面以文本形式输出 text/html:  页面以html格式输出

  3. 网站指纹识别工具——WhatWeb v0.4.7发布

      WhatWeb是一款网站指纹识别工具,主要针对的问题是:“这个网站使用的什么技术?”WhatWeb可以告诉你网站搭建使用的程序,包括何种CMS系统.什么博客系统.Javascript库.web服务 ...

  4. JavaScript模块化

    1.commonjs 导入: var math = require('math'); math.add(2,3); // 5 导出: module.exports={} 应用会停止并等待加载 2.AM ...

  5. java基本输入输出练习

    java获取用户的输入分两种,一种是字符的输入,一种是整行的输入,要用到java.io包.对于字符输入来说,使用System.in方法可以输入字符:对于整行的输入,可以使用Scanner类的方法获取整 ...

  6. 转载:[AngularJS系列] 那伤不起的provider们啊~ (Provider, Value, Constant, Service, Factory, Decorator)

    来源:http://hellobug.github.io/blog/angularjs-providers/ 用AngularJS做项目,但凡用过什么service啊,factory啊,provide ...

  7. Could not load file or assembly or one of its dependencies. 试图加载格式不正确的程序。

    当我把编译好的程序托管到IIS下后,访问时出现了以下问题,服务器环境是IIS 7,操作系统 Windows server 2008 r2 64位. 出现上述问题的原因是,所加载的程序集中有32位的,也 ...

  8. ThinkPHP 3.2.3(一)基础

    一.安装 ThinkPHP无需任何安装,直接拷贝到你的电脑或者服务器的WEB运行目录下面即可. 如:我使用的是XAMPP集成环境,将框架解压缩到htdocs目录下即可.   二.目录结构 1.初始目录 ...

  9. WPF MVVM 学习总结(一)

    ---恢复内容开始--- 1. MVVM简介 在WPF中,MVVM(View-ViewModel-Model)开发模型用的很多,它具有低耦合,可重用行,相对独立的设计和逻辑.所以备受广大开发者的喜爱. ...

  10. rtc关机闹钟2 Alarm manager

    public void set(int type, long triggerAtMillis, long windowMillis, long intervalMillis, PendingInten ...