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类型
一周排行