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 ...
随机推荐
- WPF学习之路(十二)控件(Content控件)
Label Label相比TextBlock功能并不强大,但是支持键盘快捷键的方式获得焦点 <StackPanel> <Label Target="{Binding Ele ...
- [Config]Zabbix的Mongodb插件安装,centos
1.yum install php-devel php-pear httpd-devel 2.安装mongo php驱动,pecl install mongo 3.pecl install mongo ...
- 【Html5】Html5新特性Notification实现桌面消息推送(2016-05-25)
序:最近工作使用WorkTile,发现使用Chrome浏览器的时候如果有任务下发给我则会在桌面右下角提示(当前浏览器为最小化模式).感觉这个东西蛮有意思的,感觉可以给用户更好的体验,于是乎就查询了一下 ...
- ASP.NET Core 1.0 安装并发布到Centos 7.2 使用jexus 5.8.2
安装运行环境 sudoyuminstall libunwind libicu 下载.net core https://www.microsoft.com/net/download 下载完后上传文件 安 ...
- 使用数据库sqlite3 C语言实现登陆注册的功能
//此代码为注册功能 void create_regtable() { int rc; //rc为返回值,判断函数是否执行成功 rc=0函数执行成功,rc !=0函数执行失败 sqlite3 *db; ...
- Puppet3在CentOS6.5集群下的安装
环境:3台主机, IP分别为10.211.55.11.12.13 puppet master安装在10.211.55.11 puppet agent安装在10.211.55.11.12.13 1.安装 ...
- 【OpenWRT之旅】如何自定义一个配置文件的设置界面
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1. 引言 OpenWRT中采用LuCI作为它的Web interface界面框架,采用Lua语言.在本文中将以 ...
- 用FineReport报表系统构建资金监管平台
一.应用背景 计算机的应用已经渗透到日常工作的许多方面,无论是其自身还是所发挥的作用,计算机都标志着一种高科技,使工作高效率和高水平.为了能更方便,更轻松,更好的管理,信息化建设正在日益发展壮大,更加 ...
- (二)工厂方法模式-C++实现
工厂方法模式:定义一个用于创建对象的借口,让子类决定实例化哪一个类. Factory method使一个类的实例化延迟到子类. 当系统准备为用户提供某个类的子类的实例,又不想让用户代码和孩子类形成耦合 ...
- 【转载】SweetAlert2 使用
SweetAlert2是一款功能强大的纯Js模态消息对话框插件.SweetAlert2用于替代浏览器默认的弹出对话框,它提供各种参数和方法,支持嵌入图片,背景,HTML标签等,并提供5种内置的情景类, ...