WIFI发展趋势介绍——前言
WIFI 的第一代是802.11标准,在1997(我出生的那年)发布。随着20多年的发展,WIFI越来越普及,成为除了3G/4G蜂窝系统数据业务系外首选的上网方式,其更新换代使得WIFI速率飞跃提升。
现在的WIFI应用对音视频的需求越来越大,无线网络的视频流量每年增长60%,将近占据全球移动流量的一半。海量的用户接入也对无线设备提出更高要求的挑战。
802.11介绍
802.11a
1999年,IEEE802.11a制定完成,工作频段在5GHz,数据传输速率到达54Mbps,传输距离在10~100m。采用OFDM正交频分复用的独特扩频技术。
802.11b
1999年9月,802.11b被正式批准,工作频率在2.4GHz,数据传输速率可以高达11Mbps。这是对IEEE802.11的一个补充,采用P2P模式和基本模式两种,可在多种传输速率切换,但是和11a标准不兼容,其价格低廉,被广泛使用。
802.11g
是对11b的提速,利用OFDM将11b的11Mbps提速到54Mbps
802.11n
2009年发布。工作在2.4GhHz和5GHz两个频段。理论速率可以高达600Mbps,采用MIMO OFDM调制技术,被大量使用。兼容11a/b/g/n四个协议。
802.11ac介绍
前言:2.4GHz的频段已经拥挤不堪,虽然2.4GHz可行但是却不可靠,如果我们需要传输高带宽数据,可靠性就成为问题。所以WIFI继续工作在5GHz评断以上以保证向下兼容性,且使得数据传输的通道范围大大扩充。新标准的理论传输速率最高有望到达1GHz,是11n 300Mbps(实际速率)的三倍多。
QAM的知识现在了解的还是太少,之后再去深入理解。
802.11ax介绍
11ac的加强版,5G频段,使用了MU-MIMO技术,将信号在时域、 频域、空域等多个维度上分成四个不同的“信号通道”,每 一个“信号通道”能单独与一台设备进行通信,看起来就像是把一条高速公路分成了四个不同的车道,通信效率成倍提高。
关键技术:
- 更宽:频宽160MHZ
- 更净:5G
- 更紧:256/1024QAM
- MU-MIMO技术
- 无线全双工Full Duplex:收发同时同频
MU-MIMO技术介绍
802.11n与802.11ac/x比较
技术规范 | 802.11n | 802.11ac/x |
频带 | 2.4G,5G | 5G |
信道带宽 | 20,40MHZ | 20,40,80MHZ |
速率 | 600MBps | 1.73GBps |
传输范围 | 12-70m | 12-35m |
802.11ah协议
功耗低、覆盖范围扩大、容纳节点多不易被干扰。
3个技术指标: ●频率在1GHz以下。 ●传输距离达到1km。 ●数据传输速率大于100kbit/s
引入限制窗口RAW技术:将节点分为不同的组,让其在给定的时间段进行传输
好处是 1.使得各个节点都能获得传输数据的机会 2.降低了接入冲突,提高了系统工作效率。
RTP/RTCP实时传输视频协议
前言,在陈峰老师的实时视频传输组中跑过RTP/RTCP的demo,那时候的目标是通过这个协议可以实现根据信道实时控制传输的速率。
那我们知道,一个视频通过采集编码成为H.264或者G.729(参见: H264基本原理)后需要通过协议传输到接收端,然后解码播放或者处理。那为什么不可以使用TCP或者UDP来实现实时流媒体的传输呢?因为TCP的三次握手以及超时重传会产生较大的延时,而且实现起来实在太复杂了;而UDP虽然简单,但是对于流媒体传输中的报文重组,排序等功能并不适合(值得一提的是RTP/RTCP底层其实用到的是UDP)
所以我们通常使用RTP来传输数据。RTCP是工作在应用层的协议。基于UDP/TCP之上。所以RTP的报文头是在UDP首部之后的。
下面是RTP的首部格式(rfc3550中)
具体的请参考:
这里的序号和时间戳是为了保证业务数据包的正确顺序的,以及确认是否丢包,同时可以同步多种业务流。
而RTP的协议demo其实比较简单,很好找到,只是我们需要通过RTCP来实现流量控制或者说拥塞控制,我们必须要知道RTCP的知识。
RTCP(Real-time Transport Control Protocol)
与RTP共同提供流量控 制和拥塞控制服务。在RTP会话期间,参与者周期性地传送RTCP包, 这些包中包含有已发送数据包的数量、丢失数据包的数量等统计数据, 服务器可根据这些信息动态地改变传送速率。
RTCP支持五种类型的报告:
- SR发送者报告:发出RTP报文的发送端所做的统计信息。(视频采集端)
- RR接收者报告:接收RTP报文的接收端所做的统计信息。(数据处理端)
- SDES源点描述:向会话成员传达源点信息。
- BYE结束:指示该源点将退出会话。
- APP特殊应用程序:扩展应用
PS:我们记得那时候疯狂找可以在RTCP传输信息的接口,发现貌似只有APP可以做。
这里关于RTCP的内容之后继续了解:RTCP协议详解
丢包率、环路时延的计算方法
LSR: 接收到的来自源SSRC的最新的发送者报告(SR)的NTP时间;
DLSR:是从收到来自SSRC的SR包到发送此接收报告块(RR)之间的延时。
环路时延RTT:报文从发送端到接收端后再发回发送端所经过的往返时延。
环路时延RTT=t2-t1-(t4-t3)=t4-LSR-DLSR 单向传输时延=RTT/2
丢包率:用于统计报文发送过程中的丢包概率,反映链路的丢包情况。
具体查看:
英语的,RTCP包的计算方法,有公式 Quality-of-service monitoring and reporting » Real-time control protocol RTCP