zoukankan      html  css  js  c++  java
  • 802.11 帧封装细节

    802.11帧主要有三类:

    数据帧——好比 802.11 的驮马,负责在工作站之间传输数据。
    控制帧——控制帧通常与数据帧搭配使用, 负责区域的清空、信道的取得以及载波监听的维护,并于收到数据时予以正面的应答,借此促进工作站间数据传输的可靠性。
    管理帧——管理帧负责监督, 主要用来加入或退出无线网络, 以及处理基站之间连接的转移事宜。
     

    4.1 数据帧

    数据帧会将上层协议的数据置于帧主体加以传递。会用到哪些位,取决于该数据帧所属的类型。

    一种区分方式:竞争式服务和免竞争服务两种数据帧
     
    另一种区分方式: 对携带数据与提供管理功能的帧加以区别
     
    表4-1: 数据帧的各种分类方式
    帧类型 基于竞争的服务 无竞争服务 携带数据 未携带数据
    Data
       
    Data+CF-ACK    
    Data+CF-Poll   AP only  
    Data+CF-ACK+CF-Poll   AP only  
    Null  
    CF-ACK    
    CF-Poll   AP only  
    CF-ACK+CF-Poll   AP only  
     
    4.1.1 Frame Control(帧控制)
    最值得注意的是那些地址位,它们的意义将因 ToDS 及FromDSbit 的值而异。

    4.1.2 Duration(持续时间)

    Duration(持续时间)位用来记载网络分配矢量( NAV)的值。
    数据帧之 Duration 位的设定,必须依循四项规范:
    1.免竞争期间所传递的任何帧,必须将 Duration 位设定为 32768。此规范适用于免竞争期间所传递的任何数据帧。
    2.目的地为广播或组播地址的帧( Address 1 位设定了群组 bit),其持续时间为 0。此类帧并非基本交换过程的一部分,接收端也不会加以应答,因此竞争式介质访问可以在广播或组播数据帧结束后立即开始。 NAV 在帧交换过程中是用来保护传输介质。既然广播或组播帧之后不会有来自链路层的应答,因此没有必要为后续帧锁住介质使用权。
    3.如果 Frame Control 位中的 More Fragments bit 为 0,表示该帧已无其余片段。最后的帧片段只须为本身的应答预订介质使用权,之后就可以恢复竞争式访问了。 Duration位会被设定为发送一个短帧间隔及片段应答所需要的时间。整个过程如图 4-2 所示。倒数第二个片段的 Duration 位,会为最后一个片段锁住介质使用权。
    4.如果 Frame Control 位的 More Fragmentsbit 被设定为 1 ,表示其后还有帧片段。因此,Duration 位便会被设定为发送两个应答、加上三个短帧间隔及下一个帧片段所需要的时间。为非最终片段设定 NAN 的方式本质上与 RTS 相同,所以亦称为虚拟 RTS。
     
    4.1.3 地址与 DS Bit

    地址位的编号与功能取决于设定了哪个 DS(传输系统) bit,因此所使用的网络类型会间接影响到地址位的用法。表 4-2 列出了地址位在数据帧中的各种用法。只有无线桥接器才会使用第四个地址位,因此比较少见。
    表 4-2:地址位在数据帧中的用法
    功能 ToDS FromDS Address 1(receiver) Address 2(transmitter) Address 3 Address 4
    IBSS 0 0 DA SA BSSID not used
    To AP 1 0 BSSID SA DA not used
    From AP 0 1 DA BSSID SA not used
    WDS(桥接器) 1 1 RA TA DA SA
    注意接收端目的地并不是完全相同的。
    目的地是指负责处理帧中网络层封包的工作站; 
    接收端则是负责将无线电解码为 802.11 帧的工作站。
    源地址是指产生帧中网络层协议封包的工作站
    发送端则是负责将帧发送至无线链路。
    Address 3 位则是供基站与传输系统过滤之用,不过该位的用法,取决于所使用的网络类型。
     
    4.1.4 数据帧的次类型
    • Data(数据)
    次类型为 Data 的帧,只有在竞争访问期间才会传输。
    • Null(空)
    它是由 MAC 标头与 FCS 标尾所组成。在传统的以太网中, Null帧无非就是额外的负担;在 802.11 网络中,移动工作站会利用 Null 帧来通知基站省电状态的改
    变。
     
    4.1.5 数据帧的封装
    4.1.5.1 IBSS 帧
    IBSS 数据帧的次类型不是 data 就是 Null;后者只是用来告知目前的电源管理状态。
    4.1.5.2 发送自基站( From AP)的帧
    区分源与发送端所以必要,是因为 802.11 MAC 会将应答送给帧的 Transmitter(发送端 AP),而较上层的协议会将应答送给帧的 source(来源地)。
    4.1.5.3 发送至基站( To AP)的帧

    发送至传输系统( Ds)的帧其 ToDS bit 会被设定为 1 ,而 FromOS bit 会被设定为 0。

    4.1.5.4 WDS 中的帧
    4.1.5.5 经加密的帧

    Frames Control(帧控制)位的 Protected Frame bit 会被设定为 1
     
    4.2 控制帧

    控制帧主要在协助数据帧的传递。
    4.2.1 一般的帧控制位
    ToDS FromDS bit
    控制帧负责处理无线介质的访问,因此只能够由无线工作站产生。传输系统并不会收送控制帧,因此这两个 bit 必然为 0。
     
    4.2.2 RTS(请求发送)
    RTS 帧可用来取得介质的控制权,以便传输「大型」帧。至于多大称之大型:是由网卡驱动程式中的 RTS threshold(门限)来定义。介质访问权只能保留给单点传播( unicast)帧使用,而广播(broadcast)与组播( multicast)帧只须发送便是了。
    Duration(持续时间)
    RTS 帧会试图预定介质使用权,供帧交换程序使用,因此 RTS 帧发送者必须计算 RTS 帧结束后还需要多少时间。
     
    4.2.3 CTS(允许发送)
    CTS 帧有两种目的:1. 用于应答 RTS 帧;2.被 802. 11g 防护机制用来避免干扰较旧的工作站
     
    4.2.4 ACK(应答)

    ACK 帧就是 MAC 以及任何数据传输(包括一般传输 RTS/CTS 交换之前的帧、帧片段)所需要的正面应答( positive acknowledgment)。
    4.2.5 PS-Poll(省电模式一轮询)
    当一部移动工作站从省电模式中苏醒, 便会发送一个 PS-Poll 帧给基站, 以取得任何暂存帧。
    AID(连接识别码):PS-Poll 帧将会以 MAC 标头的第三与第四 bit 来代表连接识别码(association ID)。连接识别码是基站所指定的一个数值, 用以区别各个连接。 将此识别码置入帧, 可让基站找出为其(移动工作站)所暂存的帧。
     
    4.3 管理帧
    4.3.1 管理帧的结构

    4.3.2 长度固定的管理帧元件
    Authentication Algorithm Number

    Authentication Transaction Sequence Number
    身份认证程序分为好几个步骤,其中包含由基站所发出的盘问口令( challenge),以及试图连接的移动工作站所做出的应答。
     
    Beacon interval
    每隔一段时间就会发出的 Beacon(信标)信号,用来宣布 802.11 网络的存在。 Beacon帧中除了包含 BSS 参数的信息,也包含基站暂存帧的信息,因此移动工作站必须仔细聆听Beacons 信号。 Beacon interval(信标间隔)位的长度有 16 个 bit,用来设定 Beacon 信号之间相隔多少时间单位。
     
    Capability information
    长度 16 个 bit 的 Capability Information 性能信息位, 发送 Beacon 信号的时候,它被用来通知各方,该网络具备哪种性能。
    •  ESS/IBSS(扩展服务组合/独立型塞本服务组合)
    这两个 bit 旗标彼此互斥( mutually exclusive)。基站会将 ESS 位设定为 1 ,而将 IBSS 布位设定为 0,表示基站属于基础网络的一部分。 IBSS 中的工作站则会将 ESS 位设定为 0,而将IBSS 位设定为 1 。
    • Privacy(私响性)
    将 Privacy bit 设定认 1 , 代表需要使用 WEP 以维持机密性。 在基础网络中, 发送端为基站。在 IBSS 里, Beacon 信号必须由 IBSS 当中某部工作站负责。
    • short Preamble(短同步信号)
    802.11b 规格新增此位的目的,是为了支持高速直接序列扩频物理层( high-rate DSSS PHY)。将之设定为 1 ,代表此网络目前使用短同步信号( short preamble),对此第十章会有进一步的说明。 0 代表不使用此选项,并且在该 BSS 中禁止使用短同步信号。 802.11g 规定使用短同步信号,因此在依循 802.11g 标准所建置的网络中,此位必然设定为 1 。
    • PBCC(分组二进制卷积编码)
    802.11b 规格新增此位的目的,是为了支持高速直接序列扩频物理层(high-rate DSSS PHY)。
    • Channel Agility(机动信道转换)
    这一位加入 802.11b 规格的目的,是为了支持高速直接序列扩频物理层(high-rate DSSS PHY)。
    • Short Slot Time( 802.llg)
    此 bit 若设定为 1 ,代表使用 802.11 所支持的较短的时槽,这将于第十四章讨论。

    • DSSS-OFDM( 802.lIg)
    bit 若设定为 1 ,代表使用 802.11g 的 DSSS-OFDM 帧构建( frame construction)选项。

    • Contention-free polling(免竞争轮询) bit
    工作站与基站使用这两个 bit(CF-Ppllable 与 CF-Poll Request)当作标签。

    Current AP Address
    移动工作站可以使用图 4-25 所示的 Current AP Address(目前基站的地址)位来表明目前所连接的基站的 MAC 地址。 这个位的用途是便于连接( association) 与重新连接( reassociation)的进行。 工作站会借此发送上一次所连接的基站的地址。 当工作站打算与不同的基站建立连接时,此位可用来转换连接,以及取回所有暂存的帧。
    Listen interval 位
    所谓 Listen Interval,其实就是以 Beacon interval(信标间隔)为单位所计算出的休眠时间。
     
    Association ID
    长度 16bit

    Timestamp
    用来同步 BSS 中的工作站 BSS 的主计时器会定期发送目前已作用的微秒数。 当计数器到达最大值时, 便会从头开始计数。
    Reason Code
    当对方不适合加入网络时,工作站会送出 Disassociation(解除连接)或 Deauthentication(解除身份认证)帧作为应答。这些帧当中包含一个长度 16bit 的 Reason Code(原因代码)位,表示对方的做法有误,

    代码 含义
    0 保留,未使用( Reserved; unused)
    1 未指定( Unspecified)
    2 之前的身份认证无效( Prior authentication is not valid)
    3 工作站已经离开基本服务区或扩展服务区,目前已经解除身份认证
    4 闲置计时器超时,且工作站已经解除连接
    5 基站资源不足,因此解除连接
    6 从尚未认证的工作站所收到的帧类型或次类型不正确
    7 从尚未连接的工作站所收到的帧类型或者次类型不正确
    8 工作站已经离开基本服务区或扩展服务区,目前已经解除连接
    9 在身份认证完成之前要求连接或者重新连接
    10( 802.11h) 无法接受 Power Capability 信息元素的设定值,因此解除连接
    11( 802.11h) 无法接受 Supported Channels 信息元素的设定值,因此解除连接
    12 保留
    13( 802.11i) 信息元素不正确( 802.11i 所加入的原因代码, 因此应指 802.11i 的信息元素)
    14( 802.11i) 数据完整性检验失败
    15( 802.11i) 四道密钥磋商超时
    16( 802.11i) 群组密钥磋商超时
    17( 802.11i) 四道磋商信息元素的安全参数与原始参数组合不符
    18( 802.11i) 群组密码锁不正确
    19( 802.11i) 成对密码锁不正确
    20( 802.11i) 身份认证与密钥管理协议不正确
    21( 802.11i) 未支持的固安网络信息元素版本
    22( 802.11i) RSN IE 的性能项不正确
    23( 802.11i) 802.1X 身份认证失败
    24( 802.11i) 所设定的使用政策拒绝所提议的密钥锁组
    25-65535 保留
     
    Status Code
    状态代码用来表示某项过程成功或失败。

     
    4.3.3 管理帧的信息元素
    信息元素( information element)是管理帧的组成元件,其长度不定。信息元素通常包含一个 Element ID(元素识别码)位、一个 Length(长度)位以及一个长度不定的位,如图 4-31所示。 Element ID 编号的标准值如表 4-7 所示。
     
    表 4-7:信息元素
    Element ID Name
    0 服务集标识( Service Set Identity (SSID))
    1 所支持的速率( Supported Rates)
    2 跳频参数集合( FH Parameter Set)
    3 直接序列参数集合( DS Parameter Set)
    4 免竞争参数集合( CF Parameter Set)
    5 数据待传信息( Traffic Indication Map (TIM))
    6 IBSS 参数集合( IBSS Parameter Set)
    7 (802.11d) 国家( Country)
    8 (802.11d) 跳频模式参数( Hopping Pattern Parameters)
    9 (802.11d) 跳频模式表( Hopping Pattern Table)
    10(802.11d) 请求( Request)
    11-15 保留;未使用( Reserved; unused)
    16 盘查口令( Challenge text)
    17-31 保留【注 a】(在 802.11 共享密钥身份认证停用之前,保留给盘查口令未来扩充用)
    32(802.11h) 功率限制( Power Constraint)
    33(802.11h) 功率性能( Power Capability)
    34(802.11h) 发射功率控制请求( Transmit Power Control (TPC) Request)
    35(802.11h) 发射功率控制报告( TPC Report)
    36(802.11h) 所支持的信道( Supported Channels)
    37(802.11h) 信道切换宣告( Channel Switch Announcement)
    38(802.11h) 测量请求( Measurement Request)
    39(802.11h) 测量报告( Measurement Report)
    40(802.11h) 禁声( Quiet)
    41(802.11h) IBSS 动态选频( IBSS DFS)
    42(802.11g) ERP 信息( ERP information)
    43-49 保留( Reserved)
    48 (802.11i) 固安网络( Robust Security Network)
    50(802.11g) 扩展支持速率(Extended Supported Rates)
    32-255 保留;未使用(Reserved; unused)
    221 Wi-Fi 访问保护(Wi-Fi Protected Access)
     
    4.3.3.1 服务集标识(Service Set Identity SSID))

    有些文件将 SSID 视为网络名称,因为网管人员通常以字串来指定 SSID。其实, SSID 不过是由字节所形成的字串,用来标示所属网络的 BSSID。有些产品要求此字串必须是以 null(即0)结尾的 ASCII 字串,虽然标准对此并无特别规范。
    SSID 的长度介于 0 至 32 字节之间。如果完全不加指定,此种特例称为 broadcast SSID;broadcast SSID 只用于 Probe Request 帧,工作站可以藉此找出该区域中所有的 802.11 网络。
     
    4.3.3.2 支持速率( Supported Rates
    无线局域网络支持数种标准速率。 802.11 网络可以使用 Supported Rates(所支持的冻率)信息元素指定其所支持的速率。 当移动工作站试图加入网络, 会先检视该网络所使用的数据速率。有些速率是强制性的,每部工作站都必须支持,有些则是选择性的。
    它是由一串字节所构成。每个字节会使用七个低效 bit 来代表数据速率;最高效 bit 则是用来表示该数据速率是否为强制性。如果是强制性速率,最高效 bit 为 1 ;非强制性速率则为 0。此信息元素最多可涵括八种速率。
     
    二进制数值 十六进制 响应的速率( Corresponding rate (Mbps)
    2 82 1Mbps
    4 84 2 Mbps
    11 (802.11b) 8B 5.5 Mbps
    12 (802.11g) 0C 6 Mbps
    18 (802.11g) 12 9 Mbps
    22 (802.11b) 96 11 Mbps
    24 (802.11g) 18 12 Mbps
    36 (802.11g) 24 18 Mbps
    44 (802.11g) 2C 22 Mbps (802.11g PBCC 选项 optional 802.11g PBCC)
    48 (802.11g) 30 24 Mbps
    66 (802.11g) 42 33 Mbps (802.11g PBCC 选项 optional 802.11g PBCC)
    72 (802.11g) 48 36 Mbps
    96 (802.11g) 60 48 Mbps
    108 (802.11g) 6C 54 Mbps
    图 4-33 显示了如何同时编码两种数据速率。除了支持强制性的 2Mbps 服务,也支持选择性的 11Mbps 服务。
     
    4.3.3.4 直接序列参数集合(DS Parameter Set
    802.11 直接序列( Direct-sequence)网络只有一个参数:网络所使用的信道数。

  • 相关阅读:
    替代谷歌、雅虎、必应的十大搜索引擎(1)
    CUDA Toolkit 4.1 RC1 新增LLVM编译器
    抢先报!GTC中国抢先报名,团购5折还送限量大礼
    Jacket for Matlab常见问题
    Jacket for Matlab 1.8新增功能介绍
    如何安装Jacket for Matlab
    Jacket for Matlab 2.1版本发布
    Matlab Jacket 2.0发布
    Attribute在.net编程中的应用(三)
    Attribute在.net编程中的应用(六)
  • 原文地址:https://www.cnblogs.com/hunaiquan/p/5566779.html
Copyright © 2011-2022 走看看