802.11MAC基礎

做无线网络测试已经大半年了,在这过程中发现《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可以确保工作站的原子操作不被中断。

    802.11MAC基礎

4.帧间间隔

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

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

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

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

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

  802.11MAC基礎

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.将产生的帧交互给无线网口

更多相关文章
  • 最近在学习前端,当然包括js,css,html什么的,在听课时做的一些小练习,记录下来: 实例一: --Tab选项卡-- <script type="text/javascript">  window.onload=
  • ASP.NET MVC 4.0 學習1C#基礎語法
    1,方法多載,相同的方法名稱,不同的參數類型.數量 class Program { static void Main(string[] args) { Program newObject = new Program(); //字符串 Console.WriteLine(newObject.Cal(& ...
  • LACP协议有几种报文 只有一种,就是LACPPDU报文 - LACP协议中哪些角色会发送LACPPDU Actor会主动发送 Passive会发送响应报文,但是不会主动发送(slave端在收到actor端的lacp
  • 


    		    玩轉無線路由之DDWRT基礎掃盲
    不知道各位读者是否听说过DD-WRT?是否自己亲自将无线路由器刷新成DD-WRT无线设备?相信真正的无线设备愛好者一定对DD-WRT非常熟悉,我 们通过给无线路由器刷新DD-WRT驱动程序后就可以让自己的设备发挥更多原先没有的功能.笔者将通过多篇文章为大家呈现DD-WRT相关的内容,希望各 位IT1
  • 


    		    Linux基礎知識4.LInux用戶和用戶組以及權限管理
    Linux基础知识--4.LInux用户和用户组以及权限管理 一.Linux用户和用户组 Linux操作系统是一个多用户.多任务的操作系统.有时可能多个用户在linux系统上操作一个任务,有时可能完成多个任务.用户的主要作用就是完成用户本身要完成的任务,不同用户所具有的权限也不同,所以能完成的任务也
  • .NET基礎拾遺(1)類型語法基礎和記憶體管理基礎
     Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理
  • .NET基礎拾遺(2)面向對象的實現和異常的處理基礎
     Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理
  • .NET基礎拾遺(3)字符串、集合和流
    Index: (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开发基础 (7)WebService的开发与应用基础 一.字符串处理 1.1 StringBuilder类型
一周排行
  • 


    		    Aspose.Words從零創建OOXML圖表
    Aspose.Words文档类已经添加进了新的插入图表方法,所以,让我们看看如何使用Doc
  • 题目链接:戳我 题目大意: 有 n个人,m对朋友关系,朋友之间可以选择成为 在线朋友 或者 离线朋友,每个人都想有相同数目的 在线朋友 和 离线朋友.(比如一个人有 x 个在线朋友,那么他必须有 x 个离线朋友)但是
  • https://www.ruby-forum.com/topic/6873127
  • 1. Using an NFC-equipped mobile phone as a token in physical access control       http://essay.utwente.nl/65
  • 


    		    Windows Mobile 7(Photon) 夢幻之旅系列前言
    650) this.width=650;" onclick='window.op ...
  • 添加Java变量 (1)添加JAVA_HOME,值为:C:\Program files\Java\jdk(2)编辑path,添加:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin(3)添加cla ...
  • 注意事项: 1. 请不要使用下载工具下载驱动,建议直接点击保存下载文件 2. 请按照工程师提供的列表顺序安装驱动程序 3. 请使用与之对应的操作系统版本驱动程序 4. 如有驱动链接点击后没有弹出下载窗口,请将地址链接
  •   TabbarButton.h @interface TabbarButton : UIButton @property (nonatomic, strong) UIButton *badgeValueView;
  • 150111 切片總結(待學習…)
      1,关于提高目前工作效率的思考: 首先,提高自身的技能水平很重要(当然团队各自的技能提
  • 问题:用户登入之后,URL会出现一长串字符,类似SessionId,把这一长串字符删除之后重新进入页面,页面又会自动地跳转到登录页面,所以,应该是Session没记住用户已经登录的信息. 网站环境: 1.服务器端为W