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类型
一周排行
  • 1 public class THttpListener 2 { 3 HttpListener listerner; 4 /// <summary> 5 /// 6 /// </summary> ...
  • left join 改寫標量子查詢
    数据库环境:SQL SERVER 2005 有一博彩的赔率是0,它有2张业务表:sm
  • Hyper-V升级系列PART1:Hyper-V升级介绍 前言: 本系列将本人所了解的Hyper-V升级方法介绍一下,供大家参考,以及一起讨论与学习,也请大家指出错误! Hyper-V简介 Windows2008 R
  • 内容较多,持续更新(2 5) *如果没有特别说明,以下操作都是在root账号下完成,图形界面为GNOME. 一.防火墙 先从防火墙入手,为了后续的环境搭建,需要打开80.3306.80
  • 一.源码下载:http://sourceforge.net/projects/sevenzip/ 二.各种EXE及其功能 代码里面有很多的dsw工程,功能不一,size不一,需要挑选合适的加入到自己的工程中,下边是今
  • <VirtualHost *:80>    ServerName   localhost    DocumentRoot "D:\www"</VirtualHost>< ...
  • HBase Endpoint
    引言   假设HBase某张表有1个Region,里面存储着100万行数据,现在需要统计满
  • 之前编辑器用的是FCKeditor,因为项目原因需要升级为最新版本4.2.2,发现是已经更名为CKEditor. 百度了一下,据官方的解释,CK是对FCK的代码的完全重写. 项目环境是asp.net的,之前用的FCK
  • 源:http://blog.sina.com.cn/s/blog_4d80055a01atu.html import java.lang.Math; import java.awt.*; public class C ...
  • 1 php 7 性能 提升了 70%左右 2 固定变量类型,引入了错误处理 3 zval使用栈内存,php7可以直接使用栈内存. 4 zend_string存储hash值,array查询不再需要重复计算hash. p ...