802.11 对于multicast 和 broadcast的处理
ethernet内部会有broadcast 和 multicast。这两种包都是一个STA向多个STA发包。
当没有wifi存在的时候,LAN口之间的broadcast 和 multicast是可靠转发的,但是若有wifi存在就不一样了。
电源考量
根据协议,broadcast和multicast在DTIM的时候AP会发送给STA。DTIM在AP中的设置一般是一倍的TIM。
当DTIM增加的时候,会更加省电,因为出于PS模式下的STA醒来的次数变少了。但是这也会导致某些应用的延时加大。
DTIM减少的时候,会更加费电。
稳定性
broadcast 和 multicast都是使用基本速率发送的。多次测试可以看到,它们是用11Mbps的CCK rate发送。

当然这只是AP发出的broadcast和multicast的设定,从STA发出的包还是以正常的速率来。
一般来说,这两种包是没有ACK保护的,也就是说会丢包。
对于Ethernet来说,这两种包基本上不会丢,因为Ethernet比较稳定。但是wifi层面存在很多干扰,导致
丢包严重。
802.11透明转发
802.11对于BC/MC包的处理,可以理解为对ethernet是透明的。
当WiFi Client发送BC/MC包的时候,AP会对这个包进行转发,下面是流程:
1.STA以正常速率发出QoS data给AP,RA和TA分别是STA和AP的地址,SA是STA的地址,DA是BC/MC地址。使用pairwise key加密
2.AP以基本速率发出DATA,RA是BC/MC地址,TA是AP的地址,SA是STA的地址,DA是BC/MC地址,SA是STA的地址。使用group key加密。
注意到,对于BC/MC的包,都是进过加密的,一般都是CCMP加密。无线Client需要用group来解析收到的包,802.11也是提供了很好的安全性。
对于两端的STA,将802.11包转换成Ethernet包之后,802.11层次的东西就不可见了,唯一的区别是无线AP的LAN口之间的BC/MC包不容易丢,
但是LAN和wireless,wireless和wireless之间的BC/MC包容易丢弃。当然了,从wireless STA到LAN口的包应该不容易丢,因为之间传输的是unicast的Qos data,有ACK保护。
其他
在编程中会涉及到IP地址和MAC地址的转换,实际上IP地址填写完之后,协议栈会帮你转换成MAC地址。
在这点上802.11和Ethernet是没什么区别的,因为这是IP layer和MAC Layer接口处的考量。
测试工具推荐这个(开源的):

802.11 对于multicast 和 broadcast的处理的更多相关文章
- 802.11 MAC层
1. 介绍 本文主要介绍了802.11 MAC层 2. 访问机制 CSMA/CA: Carrier Sense Multiple Access with Collision Avoidance Wi ...
- 【NS2】NS2中802.11代码深入理解—packet传输的流程(转载)
如何传送一个封包(How to transmit a packet?)首先,我们要看的第一个function是在mac-802_11.cc内的recv( ),程式会先判断目前呼叫recv( )这个pa ...
- 第3 章 802.11 MAC
一 前言 802.11 规格的关键在于MAC(介质访问控制层),属于数据链路层,它定义了数据帧怎样在介质上进行传输.MAC 位于各种物理层之上,控制数据的传输.不同的物理层可以提供不同的传输速度,不过 ...
- Ubuntu下用wireshark抓取802.11封包并进行过滤分析
要用wireshark抓802.11的包 需要在linux下进行. 要在linux下抓802.11的包 需要在linux下安装无线网卡驱动. 所以 在正式抓取之前先把这两样东西搞起来. *没有特殊说明 ...
- 802.11协议帧格式、Wi-Fi连接交互过程、无线破解入门研究
相关学习资料 Linux黑客大曝光: 第8章 无线网络 无线网络安全攻防实战进阶 无线网络安全 黑客大曝光 第2版 http://zh.wikipedia.org/wiki/IEEE_802.11 h ...
- IEEE 802.11 标准列表
IEEE 802.11 标准列表 IEEE 802.11,1997年,原始标准(2Mbit/s,播在2.4GHz). IEEE 802.11a,1999年,物理层补充(54Mbit/s,播在5GHz) ...
- 802.11 wireless 七
802.11 wireless 7Wireless Fundamentals : End-to-End Discovering the NetworkGetting Connect Clients i ...
- 802.11 wireless 六
802.11 wireless 6Bluetooth蓝牙1.无线个人网络(WPAN)的无线电系统2.普通链路范围 10米/0dBm(100米/20dBm)3.传输频率在2.402 GHZ和2.480 ...
- 802.11 wireless 五
802.11 wireless 5CSMA/CA,采用倒计时的方法,退避的时间(当年时间+duration 为发送时间,每一个帧会有一个duration,这个位叫做duration[n.持续]) PS ...
随机推荐
- Java Gradle入门指南之依赖管理(添加依赖、仓库、版本冲突)
开发任何软件,如何管理依赖是一道绕不过去的坎,软件开发过程中,我们往往会使用这样那样的第三方库,这个时候,一个好的依赖管理就显得尤为重要了.作为一个自动构建工作,Gradle对依赖管理有着很好 ...
- Linux服务器宕机案例第二则
邮件告警发现海外工厂一Linux服务器连接不上,DPA(Database Performance Analyzer)系统也发现其出现问题,ping这台服务器发现网络不通,联系不到当地系统管理员,邮件咨 ...
- MongoDB Shard部署及Tag的使用
Shard部署 准备测试环境 为准备数据文件夹 Cd /home/tiansign/fanr/mongodb/Shard mkdir configdb1 configdb2 configdb3 mk ...
- Maven 打包涉及证书文件问题
当使用maven-assembly-plugin或者maven-shade-plugin打包时,如果涉及到证书文件,一定设置过滤,否则证书文件会被做修改.报异常: java.io.IOExceptio ...
- python-1 python基础知识
python第一课代码笔记 hello world [root@heartbeat-data- python]# vim hello1.py #!/usr/bin/env python print ( ...
- Android设置AlertDialog点击按钮对话框不关闭(转)
(转自:http://blog.csdn.net/winson_jason/article/details/8485524) 当我们在用到Android alertDialog创建对话框 的时候,我们 ...
- 构建 ARM Linux 4.7.3 嵌入式开发环境 —— BusyBox 构建 RootFS
上一篇我们已经成功将 ARM Linux 4.7.3 的内核利用 U-BOOT 引导了起来.但是细心的你会发现,引导到后面,系统无法启动,出现内核恐慌 (Kernel Panic). 原因是找不到文件 ...
- MiniProfiler 兼容 Entity Framework 6
一直以来都是在用MiniProfiler配合ASP.NET MVC做请求的监控. 在某项目升级Entity Framework 6之后,在执行查询时报错误: --------------无法将类型为“ ...
- jquery实现输入框聚焦,键盘上下键选择城市
在最近有个项目中 需要实现当文本框聚焦的时候,可以键盘上下键选择内容,按enter键的时候,把内容传到输入框中,如图所示: 实现代码如下: /** *输入框聚焦,键盘上下键选择城市 */ ;(func ...
- HDU 5155 Harry And Magic Box --DP
题意:nxm的棋盘,要求每行每列至少放一个棋子的方法数. 解法:首先可以明确是DP,这种行和列的DP很多时候都要一行一行的推过去,即至少枚举此行和前一行. dp[i][j]表示前 i 行有 j 列都有 ...