802.11 - 灵活组播服务(Flexible multicast service)

7 篇文章 6 订阅
4 篇文章 1 订阅

前言

灵活组播服务(Flexible multicast service, FMS)在802.11v提出,用于帮助设备节能的一种技术。在WNM中,FMS的实现是可选的。
本文基于《802.11-2020》对FMS的功能、帧结构、流程等方面进行简要介绍,旨在了解基本的原理。

缩写

AcronymsDefinition
FMSFlexible multicast service
BUsbufferable units
DTIMdelivery traffic indication map
WNMWireless Multimedia
TCLAStraffic classification .The specification of certain parameter values to identify a PDU or a MSDU. The classification process is performed above the MAC SAP, within the MLME, or within the MAC, based on the type of classification.
SAPservice access point
MLMEMAC sublayer management entity

简介

常规的Power save下,STA需要下每个DTIM醒来接收组播业务。FMS则使non-AP STA能够为多组Rx组播流请求一个备用(alternate)的DTIM。在这种机制下:

  • STA可以在备用的DTIM而非每个常规DTIM醒来接收相应的组播流,从而获得更长的Sleep时间,达到省电的目的;
  • STA能够为组播业务建立高于最小可用数据速率的数据速率和delivery interval。

帧格式

FMS能力

STA在Extended Capabilities->FMS指示了是否支持FMS。

dot11FMSActivatedExtended Capabilities->FMS
1Supported(1)
0Not Supported(0)

FMS能力指示

WNM action FMS type

FMS request和FMS response是一种管理帧中的WNM action帧,通过帧结构中的Category=WNM指示。
在这里插入图片描述
并在WNM action字段中指明子类型为FMS Request和FMS Response。
在这里插入图片描述

FMS Request

FMS Request帧non-AP STA发送给AP,以请求指定的FMS并为一组组寻址流建议delivery interval。FMS Request也由non-AP STA发送,请求对先前的FMS请求进行修改。FMS Request的动作字段格式如图9-928所示。
non-AP STA可以发送FMS Request,用以请求FMS并为一组组播流建议delivery interval。
non-AP STA也可以发送FMS Request,用以修改前一次的FMS 请求。

FMS Request帧结构
Category和WNM Action见上文。

FMS Request Element

字段说明
Element IDFMS Request的Element ID=87
Length后续长度指示
FMS TokenFMS Token 为一组FMS流的标志。如果是新的FMS req,FMS Token=0;否则FMS Token=AP在FMS Response中分配的值
FMS Request Subelements其中的Subelement ID指示不同的类型。Subelement ID=1则为FMS subelement;Subelement ID=221则为Vendor Specific subelement;Subelement ID=其他值为预留。其中Vendor Specific subelement是运营商自定义元素,本文不展开
FMS subelement
字段说明
Subelement IDSubelement ID=1指示该字段为FMS subelement
Length后续字段长度
Delivery Interval指示STA请求的传输流周期,单位DTIM。默认值=1。如果为0表示STA不再使用TCLAS elements标识的FMS流。
Max Delivery Interval指示STA支持的最大传输流周期,单位DTIM。Max Delivery Interval=0表示STA愿意接受AP支持的任一最大delivery interval。
Rate Identification指示STA接收组播帧的请求的接收速率,详见《802.11-2020》9.4.1.32。如果STA并不请求特定的接收速率,则该字段为0。
FMS IDFMSID由接入点(AP)分配给FMS成功请求之后的特定组寻址流的标识符。如果这是一个新的FMS request,FMSID=reserved。否则,FMSID设置为AP在FMS响应元素中分配的值。
TCLAS ElementsTCLAS Elements字段包含一个或多个TCLAS元素,用于指定传输流过滤器。TCLAS Elements数量有限,需满足FMS request elements<=255octets。
TCLAS Processing Element(opional)可选字段,定义如何处理多个TCLAS元素。
Vendor Specific element

运营商自定义元素,本文不展开。

FMS Response

FMS Response提供有关组播帧传送的信息。

FMS Response帧结构

FMS Response element

字段说明
Element IDFMS Response的Element ID=88
Length后续长度指示
FMS TokenFMS Token是一组FMS流的标识,这组FMS流共享计数器,计数器由AP维护FMS Counter ID来标识。
FMS Response Subelements其中的Subelement ID指示不同的类型。Subelement ID=1则为FMS Status subelement;Subelement ID=2则为TCLAS Status subelement;Subelement ID=221则为Vendor Specific subelement;Subelement ID=其他值为预留。其中Vendor Specific subelement是运营商自定义元素,本文不展开
FMS Status subelement
字段说明
Subelement IDSubelement ID=1指示该字段为FMS subelement
Length后续字段长度
Element Status指示对于STA请求的Delivery Interval的响应状态。详见下图
Delivery Interval定义与该FMSID对应的流的帧的连续传输之间的DTIM周期的最小整数。
Max Delivery Interval定义了AP用于对应于FMSID的流的最大delivery interval。Max Delivery Interval =0表示对于FMSID标识的流,AP没有最大delivery interval。
FMSIDFMSID由接入点(AP)分配给FMS成功请求之后的特定组寻址流的标识符。
FMS Counter包含FMS Counter ID、Current Count两个字段。FMS Counter ID表示AP为特定FMS流分配的计数器标识。FMS Status subelement-> FMS Counter –>Current Count目前为预留
Rate Identification指示用于组播传输的数据速率。如果Rate Identification =0,表示未指定组播速率。
Multicast Address包含与此FMS response相关的组播传输的MAC地址。

其中Element Status各个值的含义如下:

Element StatusDescription
0Accept
1Deny, due to request format error or ambiguous classifier.
2Deny, due to lack of resources on the AP.
3Deny, due to requested classifier(s) matching 2 or more existing streams on different intervals.
4Deny, by policy, requested stream or filter is not permitted to participate in the service.
5Deny, reason unspecified.
6Alternate proposed, due to existing stream with different delivery interval.
7Alternate proposed, due to policy limits on the AP.
8Alternate proposed, because the AP changed the delivery interval.
9Multicast rate changes not allowed.
10Terminate, due to an AP policy change.
11Terminate, due to lack of resources of the AP.
12Terminate, due to other FMS stream with higher priority.
13Alternate proposed, because the AP changed the maximum delivery interval.
14Alternate proposed, because the AP is unable to provide requested TCLAS-based classifiers.
15–255Reserved
TCLAS Status subelement
字段说明
Subelement IDSubelement ID=2指示该字段为TCLAS Status subelement
Length后续字段长度
FMSIDFMSID由接入点(AP)分配给FMS成功请求之后的特定组寻址流的标识符。
TCLAS ElementsTCLAS Elements字段包含一个或多个TCLAS元素,用于指定传输流过滤器。TCLAS Elements数量有限,需满足FMS request elements<=255octets。
TCLAS Processing Element可选字段,定义如何处理多个TCLAS元素。
Vendor Specific element

运营商自定义元素,本文不展开。

FMS Descriptor element

Beacon->FMS Descriptor定义了AP缓存的组播BUs(group addressed BUs)的信息。

字段说明
Element IDFMS Descriptor的Element ID=86
Length后续长度指示
Number of FMS Counters定义FMS Descriptor->FMS Counters中包含的FMS Counter字段的个数
FMS Counters在组播BUs分配了特定delivery interval后,STA基于FMS Counters对应的组播FMS流何时发送。FMS Counters包含0~多个FMS Counter字段。每个FMS Counter字段包含FMS Counter ID、Current Count两个子字段。FMS Counter ID表示AP为特定FMS流分配的计数器标识;Current Count指示了下一个DTIM Beacon之前还有多少个DTIM beacon(包括当前的)。当AP接收到1~多个FMS流,则至少要包含1个FMS Counter字段。最多允许有8个FMS计数器。
FMSIDs包含0~多个FMSID。每个FMSID由AP分配,长1octet。包含FMSID说明AP已经和缓存了组播BUs,并且在DTIM Beacon后可立即传输。

FMS流程

基本流程

dot11FMSActivated=True时,AP要在Beacon中携带FMS Descriptor,FMS Descriptor指示了FMS组播BUs(bufferable units)。如果AP没有缓存的Bus,则FMS Descriptor-> Length=1。AP应为一个nontransmitted BSSID在Beacon-> Multiple BSSID element->corresponding Nontransmitted BSSID Profile中包含FMS Descriptor。
AP支持任意数量的FMS流,且支持1~8种不同的FMS流delivery interval,对应8个FMS计数器。不同的FMSID可以拥有相同的delivery interval,因此会共享同一个FMS计数器。换而言之,一个FMS计数器对应唯一的delivery interval,而可能对应多个FMS流。

FMS参数对应关系

每次DTIM Beacon,FMS counter - -(实际应该是子字段Current Count - -)。
FMS counter减到0时,AP缓存对应FMS流的BUs将会在下一个DTIM Beacon之后发送。
发送完对应FMS流的BUs,AP将重置对应FMS counter为对应FMS流的delivery interval。
不使用FMS的non-AP STA则需要在每个DTIM间隔唤醒以接收组播BUs。
支持FMS功能的STA,不论是哪种流,都应支持delivery interval=1。

FMS请求流程

STA通过发送FMS Request帧或Reassociation Request帧来请求启用FMS模式。携带1到多个FMS Request elements,其中每个FMS Request element携带1~多个FMS subelements。每个FMS subelement标识一个FMS流、及请求该流的delivery interval和maximum delivery interval。

AP响应FMS Response,其中FMS Response element按顺序与请求里的FMS Request element一一对应;每个FMS Response element包含1个FMS Status subelement,及0~多个其他的subelements(例如TCLAS Status subelement、Vendor Specific subelement)。

如果AP接受请求的FMS subelement和对应的delivery interval,则相应FMS Status subelement中的Element Status应设置为Accept,并且FMSID分配为非0值。

如果请求的FMS subelement中的FMS流匹配到已经使用的delivery interval,则AP将该FMS流分配对应的FMS Counter ID(对应delivery interval)。

AP可以重新调度由FMSID标识的FMS流,以使该FMS流的传输时间与STA在相同的delivery interval已经接收的其它FMS流的传输时间一致。为此,AP有以下两个选项:

  1. 使用FMS流通知STA。即AP应在出现两个连续Beacon帧的Current Count字段上保持非0值且不变。
  2. 当前Current Count=0时,将一个未经请求的FMS Response发送到原始FMS Response帧中包含的组播地址,该组地址带有更新的delivery interval。AP将此FMS Response作为一个组播,并在合适的DTIM(所有STA都醒着接收)发送。

AP可以发送一个未经请求的FMS Response以终止FMS的使用,其中对应FMSID的delivery interval设置为0,Element Status设置为10~12(“Terminate”类型),并以任何理由恢复FMSID对应的任何FMS流的默认(non-FMS)传输规则。

如果STA请求了非0值的delivery interval,并且指定了max delivery interval,则AP不得修改大于non-AP STA指定的max delivery interval的流的delivery interval。

AP递交同一FMSID的缓存MSDU时,顺序按照MSDU在MAC Data SAP接收到的顺序。

如果AP拒绝该FMS请求,需要在FMS Status subelement中设置为1~5即deny,及相应的原因。

如果AP从FMS请求指定的值中选择一个备用delivery interval或备用max delivery interval,需要在FMS Status subelement中设置为6~8即Alternate proposed,及相应的原因。

为了终止某个FMS流(标识为FMSID)的使用,non-AP STA应发送FMS Request帧,其中对应该FMSID的delivery interval=0。

AP应对格式错误的FMS Request或Reassociation Request作出响应,其中FMS Response frame 或Reassociation Response拒绝所有FMS Request element,并指明FMS Status code=1(拒绝,原因:请求格式错误或分类器不明确)。

FMS 响应流程

支持FMS的non-AP STA在接收到FMS Response(其中的Addr1==STA MAC或者AP组播)时,基于FMS Response->FMS Status subelement-> Element Status会有不同的处理。

STA接收到的FMS Response->FMS Status subelement-> Element StatusAP/STA处理
Accept(0)如果STA在FMS Request请求了非0值的delivery interval,则之后STA与AP将以新的delivery interval交互指定FMS流的传输。STA在收到FMS Response的下一DTIM Beacon醒来以同步对应FMS流的FMS Current Count;一旦同步上,STA无需在每个DTIM醒来接收组播缓存数据
Deny(1~5)AP不采用STA请求的delivery interval,而是在每个DTIM传输对应的FMS流
Alternate proposed (6~8,13)AP不采纳STA 在FMS Request里申请的delivery interval 和maximum delivery interval;AP在FMS Status subelement中提出自己期望使用的delivery interval 和maximum delivery interval(基于STA发的另一个FMS Request中指定的delivery interval 和maximum delivery interval);STA可以发送一个新的FMS Request,包含AP建议的delivery interval 和maximum delivery interval,如果AP接收此请求,将以新的值进行交互
Alternate proposed(14)AP不采纳STA 在FMS Request里申请的delivery interval 和maximum delivery interval;AP将修改TCLAS Status subelement-> TCLAS element或TCLAS Processing element中的部分字段并返回给STA作为指示。STA如果接收到修改TCLAS element,其中Classifier Mask=0和 Classifier Parameter=0,STA认为表示AP未提供建议值。
Terminate(10~12)AP终止指定FMSID对应的流的FMS传输,而采用DTIM间隔传输;STA在每个DTIM醒来接收组播缓存数据。

FMS组播速率选择

支持FMS的STA在FMS Request会推荐较高组播速率。AP可向STA发送FMS响应帧以改变STA的多播速率。
AP选速时,速率不得高于现有STA和请求STA提供的最低速率值。
AP调度时TXVECTOR参数,包括FORMAT、NON_HT_MODULATION、PREAMBLE_TYPE、MCS、CH_BANDWIDTH、 STBC、FEC_CODING、GI_TYPE需要兼容现有STA和请求STA的能力。
AP可向STA发送FMS Response以改变STA的组播速率。
当AP向STA发送FMS Response->Element Status=“Multicast rate changes not allowed”,则表示AP不允许组播速率的修改。那么STA就不应再请求改变组播速率。

总结

FMS机制使得STA能够为指定组播流请求一个备用的DTIM,以及对应的组播发送速率,以此减少STA醒来接收组播数据的时间,达到省电的目的。

参考资料

[1] 《802.11-2020》

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
wsend.exe和wlisten.exe是组播multicast)测试工具。 首先,组播multicast)是一种在互联网上同时向多个目的地发送数据包的传输方式。这种方式用于将同一组数据包发送给一组主机,而不是单个主机。组播在诸如视频和音频流传输、在线游戏和多播文件下载等方面具有广泛的应用。 wsend.exe是一个组播测试工具中的发送工具。通过wsend.exe,用户可以将测试数据包发送到指定的组播地址,并同时传输到多个目标主机。该工具提供了参数设置,可以设定数据包大小、传输速率和传输时间等。 wlisten.exe是一个组播测试工具中的接收工具。用户可以使用wlisten.exe监听指定的组播地址,并接收组播传输的数据包。该工具也提供了参数设置,可以设定接收的数据包个数、日志输出和超时时间等。 使用这两个工具可以进行组播网络的性能测试和故障排查。比如,可以通过wsend.exe发送大量的测试数据包到指定组播地址,然后使用wlisten.exe监听接收到的数据包个数和传输速率等信息,以评估组播网络的性能状况。同时,可以通过观察接收到的数据包日志,排查网络中存在的故障或问题。 总之,wsend.exe和wlisten.exe是组播测试工具,可以帮助用户进行组播网络的性能测试和故障排查。通过这些工具,用户可以更好地理解和优化组播传输在网络中的表现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值