802.11 - 定向多播服务(Directed multicast service)

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

定向多播服务

前言

802.11v指定了定向多播服务(directed multicast service,DMS),使客户端设备能够请求AP直接向其发送组播和广播帧,提高了网络效率。DMS的传输速率比定期组播每秒快数百Mb,与非DMS基础设施相比,节电50%。更高的传输速率允许使用更少的频谱和广播时间,增加了用于其他流量的广播时间。

传统PS背景简介

AP行为

AP会缓存发向PS 模式STA 的单播包、部分时候的广播和组播数据包,并在beacon(周期为Beacon Interval)中通过数据指示表TIM(Traffic Indication Map)指示在AP处缓存有数据的STA。
对于组播、广播包,AP发送几个TIM之后,就要发送一个DTIM,它通常用来组播或广播。
AP通过设置DTIM(缺省是一个beacon时间,100ms)来发送组播和广播。AP每发送几个TIM之后,就要发送一个DTIM,以指示其后有广播或组播数据发送。一旦AP发送了DTIM, STA就必须处于清醒状态以接收组播和广播数据(当然STA也无需每个DTIM都醒)。

STA行为

Doze 状态的STA 并不知道何时有数据被缓存,因此STA 必须周期性(周期为Listen Interval,STA可自由选择Beacon Interval的整数倍作为自己的Listen Interval)的侦听来自AP 的Beacon,以确定本身是否有数据被缓存。
如果STA发现beacon TIM 指示没有自己的数据缓存,就可以转入Doze 状态;如果STA发现TIM 指示其有自己的数据缓存,STA 就要向AP 发一个PS-Poll请求AP发送缓存数据。

注意事项

如果有多个处于PS 模式的STA 在收到同一个Beacon之后都要接收数据,那么这些STA 发送Poll 的机制同发送数据一样需要遵循CSMA/CA机制。
Listen Interval在验证/关联阶段由STA提出,与AP协商(同意或拒绝)得出来的。较长的Listan Interval会用掉AP过多的缓存空间,这个是AP要考虑的。
TBTT(target beacon transmission time):下一个beacon到来的时间
能量消耗极敏感的STA 可以选择不接收DTIM

定向多播服务背景简介

上文我们得知,STA需要在每个DTIM间隔(当然STA也无需每个DTIM都醒)醒来以接收组播包。
802.11v引入了DMS,使得AP缓冲某一STA的组播数据流,并在STA醒来并请求缓存数据时,将缓存的组播帧作为单播帧,以更高的速率发送。
相比于未使用DMS的情况,DMS有如下优点:

  • DMS使用更高的传输速率传输这些单播帧,使得STA接收机启用更短的时间就能全部接收,减少电池功耗;
  • STA无需再每个DTIM都醒来侦听组播帧,因而得到更长的sleep时间,同样达到省电的目的;
  • 设备占用更少的频谱资源和广播时间,增加了用于其他流量的广播时间,提高了网络效率。

DMS流程

角色

DMS provider:提供DMS服务的设备,一般为AP、PCP(Personal BSS Control Point)或关联DMS PCP的DMG STA。
DMS recipient:使用DMS服务的non-AP STA。

DMS recipient

DMS recipient通过发送DMS req或Reassociation Request,包含的DMS Request element.DMS Descriptors.Request Type = “Add”(per flow)/“Change”/“Remove”来请求使用/修改/移除一个或多个流的DMS。
DMS Request element中每个DMS Descriptor标识了需要作为单独寻址帧发送给DMS recipient的组地址帧。

DMS provider

一旦收到来自DMS recipient的DMS req或Reassociation Request,DMS provider需响应DMS Response frame或Reassociation Response。其中的对应流的DMS Response element.DMS Status field.Response Type=“Accept”/“Deny”/“Terminate”表示接受/拒绝/终止(常对应remove请求)该DMS 请求。

当DMS provider同意建立DMS服务,DMS provider应将随后符合Descriptors.frame classifier的组播MSDU组装成单独寻址的A-MSDU,并发送给DMS recipient STA。而A-MSDU中,各个subframe header的DA填写为组播地址。

AP需要如往常一样发送这些组播帧,以确保未建立对应组播帧类型的DMS服务的已关联STA也能收到这些组播帧。

原语

在这里插入图片描述

DMS 能力声明

beacon/probe req/probe resp/association resp

DMS Cap
*association req未捕获到相应的字段

帧格式

DMS request/response是扩展在管理帧的帧体部分的Action帧(因为管理帧子类型快要用完了)。

DMS req

DMS REQ

字段说明
DMSID当DMSID非0时指示了特定DMS业务流,当Request Type=Add时DMSID=0
DMS Length其值=n+1,指示Request Type(=1)和之后字段的长度(=n),DMS Length最大值为253
Request Type在这里插入图片描述
TCLAS Elements指定了STA请求作为单播获取的多播通信流。TCLAS指定源/目标IP地址、源/目标端口以及其他字段。
TSPEC element (optional)特定Qos相关设置
其他字段详见协议

DMS resp

DMS RESP

字段说明
DMSIDBSS内DMS传输流的标识
DMS Length其值=n+3,指示Response Type(=1)和Last Sequence Control(=2)和之后字段的长度(=n),DMS Length最大值为253
Response TypeDMS resp type
Last Sequence Control详见协议
其他字段详见协议

实例

DMS 建立

STA发送DMS request,其中请求AP将224.0.0.251, UDP (协议17),目的地端口9 的组播流进行缓存和单播发送。
(当前版本wireshark无法完全解码DMS request)。

DMS req
AP发送DMS response接受,并且分配DMS ID=1到STA发送的DMS请求。
DMS resp
之后对于目的地址为组224.0.0.251、port=9、UDP的包,AP将进行缓存,直到对应STA醒来,将该组播数据包以单播形式发送给STA。

如下是寻常的组播包,此时RA和DA是组播组地址。
在这里插入图片描述
如下是一种将组播包组成A-MSDU,此时DA和RA是客户端的地址。
在这里插入图片描述

DMS终止

当STA不再希望以单播的形式接收某各组播流,可以发送一个DMS Req,将req-type设置为“Remove”,并指示该组播流对应的DMSID。
DMS remove req
AP收到该DMS Req,接受并响应

在这里插入图片描述

参考

《802.11-2020》
《201015-802-11v-Basic-Service-Set-BSS-on-AireO》

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值