zoukankan      html  css  js  c++  java
  • 802.11成帧封装实现(六)

     

    1.3.4   管理帧的类型

    管理帧的主体所包含的固定位与信息元素是用来运送信息。管理帧有好几种分别负责链路层各种维护功能。

    1.3.4.1 Beacon (信标)帧

    Beacon帧是相当重要的维护机制,主要用来宣告某个网络的存在。定期发送的信标,可让移动工作站得知该网络的存在,从而调整加入该网络所必要的参数。在基础型网络里,接入点必须负责发送 Beacon帧。Beacon帧所及范围即为基本服务区域。在基础型网络里,所有沟通都必须通过接入点,因此工作站不能距离太远,占则便无法接收到信标。

    图1-51依序显示了 Beacon帧所使用的各个位。信标并不全然会用到所有位。选择性位只有在用到时才一会出现。只有在使用跳频(frequency hopping ,简州FH)或直接序列(direct-sequence,简称DS)物理层技术时,才会用到 FH与DS参数组合。任何时候只能使用一种物理层,因此 FH与DS参数组合是彼此互斥的。

    CF参数组合只用于支持 PCF 的接入点所产生的帧中,至于是否支持 PCF并非强制 PCF的TIM 只用于接入点所产生的 Beacon帧中,因为只有接入点才会暂存帧。如果有特定国家的跳频扩展元素,则必然随附在 Country 信息元素之后。不过,跳频网络至今已不常见,同样地,若是出现 IBSS DFS 元素,则其必然位于 Quiet与TPC Report元素之间。

     

              图1-51:Beacon(信标)帧

    1.3.4.2  探测请求(Probe Request)

    移动工作站将会利用 Probe Request (探测请求)帧,扫描所在区域内目前有哪些 802.11网络。Probe Request 帧的格式如图 1-52 所示。所有位均为必要。

     

              图1-52:Probe Request (探测请求)帧

    Probe Request 帧包含两个位:SSID以及 Supported Rates(移动工作站所支持的速率)。收到Probe Request 帧的工作站会据此判定对方能否加入网络。为了相处愉快,移动工作站必须支持网络所要求的所有数据速率,并以 SSID表明所欲加入的网络。SSID可设定为特定网络的SSID,或设定为任何相容网络的 SSID。允许网卡加入任何网络的驱动程式,将会在 Probe Requests中使用 broadcast SSID (广播形式的服务集合识别码)。

    1.3.1.3  探测响应(Probe Response)

    如果Probe Request 帧所探测的网络与之相容,该网络就会以 Probe Response 帧应答。送出最后一个 Beacon帧的工作站,必须负责应答所收到的探测信息。在基础架构型网络里,负责应答的工作站即为接入点。在 IBSS 当中,工作站会彼此轮流发送 Beacon信号。发送 Beacon信号的工作站必须负责发送 Probe Response帧,直到下一个 Beacon被发送出来。Probe Response帧的格式如图 1-53 所示。其中某些位彼此互斥;此规则同样适用于 Probe Response以及 Beacon帧。

     

              图1-53:Probe Response(探测响应)帧

    Probe Response帧中包含了 Beacon帧的所有参数,移动工作站可据以调整切入网络所需要的参数。Probe Response帧可以剔除 TIM 元素,因为此时工作站尚未建立连接,因此不必知道哪些连接在接入点中有暂存帧。

    1.3.4.4 IBSS 的数据待传指示通知信息(AT I M )帧

    HISS 中没有接入点,因此无法仰赖接入点暂存帧。IBSS 中的工作站如果为处于休眠状态的接收者暂存帧,就会在递送期间送出一个 ATIM帧,通知对方有信息待阵,如图 1-54 所示。

     

              图1-54:ATIM帧

    1.3.4.5  解除关联和解除认证(Disassociation与Deauthentication)

    Disassociation(解除关联)帧用来终结一段关联关系,而 Deauthentication(解除认证)帧则用来终结一段认证关系。两者均包含一固定位,Reason Code(原因代码),如图 1-55 所示。当然,Frame Control位彼此不同,因为不同类型的管理帧拥有不同的次类型。802.11改版并不需要改变这一格式,但几次修订均加入了新的原因代码。

     

          图1-55:Disassociation(解除关联)与Deauthentication(解除认证)帧

    1.3.4.6  关联请求(Association Request)

    一旦移动工作站找到相容网络并且通过身份认证,便会发送 Association Request(关联请求)帧,试图加入网络。Association Request帧的格式如图 1 一56所示。

     

            图1-56:Association Request(关联请求)帧

    Capability Information(性能信息)位用来指出移动工作站所欲加入的网络类型。在接受连接要求之前,接入点会验证 Capability Information 、SSID 以及(Extended)Supported  Rated等位是否符合网络参数。此外,接入点也会记录工作站所使用的 Listen Interval(聆听间隔;即移动工作站每隔多久聆听一次 Beacon帧,以监视 TIM 信息)。支持频谱管理的工作站具备power(功率)与 channel(信道)性能信息元素,支持安全防护的工作站则具备 RSN信息元素。

    1.3.4.7  重新关联请求(Reassociation Request)

    位于相同扩展服务区域,但在不同基本服务区域之间游走的移动工作站,若要再次使用分布式系统,必须与网络重新关联。如果工作站暂时离开接入点所涵盖的范围,之后要重新加入的时候,也必须重新关联。如图 1-57 所示。

     

              图1-57 :Reassociation Request(重新关联请求)帧

    association Request (关联请求)与 Reassociation Request(重新关联请求)之间的差别在于,后者包含移动工作站目前所关联之接入点的地址。拥有这项信息可让新旧接入点彼此联系,以及交接关联数据。交接项目包括先前关联之接入点所暂存的帧。

    1.3.4.8  关联响应与重新关联响应(Association Response 与Reassociation Response)

    当移动工作站试图关联接入点时,接入点会回覆一个 Association Response(关联响应)或Reassociation Response(重新关联响应)帧,如图小 58所示。两者之间的差别,在于 Frame Control位所记载的 subtype 位。所有位均属必要。在应答的过程中,接入点会指定一个 Association ID (关联识别码),至于指定的方式则因实作而异。

     

              图1-58:(Re)Association Response (〔重新〕关联响应)帧

    1.3.4.9  认证(Authentication)

    802.11网络发展初期,工作站是使用共享密钥以及图4-59 所示的 Authentication帧进行身份认证。到了 802.11i,共享密钥身份认证虽然仍保留在标准当中,但却无法与新的安全机制相容。如果工作站使用共享密钥身份认证,将不允许使用较为牢靠的安全性协议。

     

            图1-59:Authentication(身份认证)帧

    不同的身份认证算法可以同时存在。Authentication Algorithm Number(身份认证演算法编号)位用于选择演算法。整个认证程序可能包含好几个步骤(与所使用的算法有关),因此认证的过程中每个帧都有其序号。Status Code 与Challenge Text 的用法因算法而异。

    1.3.4.10 Action

    802.11h 加入了 Action 帧的支持,用来触发测量动作。

     

    1.4   帧发送以及连接与身份认证状态

    所能发送的帧类型,依连接状态与身份认证状态而有所不同。工作站可能已经认证或未经认证,也可能己经连接或尚未连接。这两个变数的组合有三种可能状态,结果构成了 802.11的网络发展层级:

        1. 初始状态;未经认证且尚未关联

        2. 已经认证但尚未关联

        3. 已经认证且已经关联

    每种状态分别对应到 802.11连接的发展阶段。一开始,移动工作站处于状态 1 ,只有进入状态3 才可以通过传输系统发送数据。(IBSS 不包含接入点,也无须进行关联,因此只会停留在状态2。)802.11帧传输的整体状态图,如图 1-60 所示。

     

            图1-60:802.11整体状态图

    1.4.1   帧等级

    帧可以被划分为三种等级。在状态 1 可以传递第 1 级帧;在状态 2 可以发送第 1 与2 级帧;在状态3 则可以传递第 1 、2 与多级帧。

     第1 级帧

    第1 级帧可以在任何状态中传递,它让802.11的工作站得以进行基本作业。在IBSS 当中,控制帧主要用来依循 CSMA/CA 规则,以及发送帧。工作站也会使用第 1 级帧来找寻基础型网络,并与之进行身份认证。表 1-11 列出了属于第 1 级的各种帧。

    表1-11 :第 1 级帧

     

     第2 级帧

    工作站只有在经过身份认证之后,方能够发送第 2 级帧,而且第 2 级帧只能使用于状态 2与状态3。2 级帧主要用来管理关联。关联或重新关联成功后,工作站就会进入状态 3 ;如果关联失败,则工作站依然处于状态 2。工作站收到未经认证的作站所传来的第 2 级帧时,就会应答一个Deauthentication(解除认证)帧,将对方推回状态 1 。表 1-12 列出了所有的第 2 级帧。

    表1-12 :第 2 级帧

     

     第3 级帧

    第3 级帧的使用时机,是在工作站认证成功并与接入点关联之后“一旦工作站进入状态3,就可以使用分布式系统服务,也可以和接入点范围以外的对象进行通讯。在状态 3,工作站还可以利用PS-Poll帧享受接入点所提供的省电服务。表手 1-13列出了不同类型的第 3 级帧。

    表1-13 :第多级帧

     

    如果所收到的帧,来自一部已经验证但尚未关联的工作站,接入点就会应答一个Disassociation(解除关联)帧,迫使工作站回到状态 2 。如果发出帧的工作站尚未经过验证,则接入点会应答一个 Deauthentication(解除认证)帧,迫使工作站回到状态 1 。

     

  • 相关阅读:
    iOS开发应用设置及用户默认设置【2、读取应用中的设置】
    iOS开发应用设置及用户默认设置【1、bundle的运用】
    iOS开发中的4种数据持久化方式【二、数据库 SQLite3、Core Data 的运用】
    iOS开发中的4种数据持久化方式【一、属性列表与归档解档】
    iOS开发编译报错、常见问题(实时更新)
    js window.location用法
    canvas 时钟
    java File处理
    servletjspEL 表达式
    Linux(centos 7)配置tomcat8、JDK1.8、lighttpd、ngnix、mysql
  • 原文地址:https://www.cnblogs.com/aixin0813/p/3227596.html
Copyright © 2011-2022 走看看