我是靠谱客的博主 落后台灯,最近开发中收集的这篇文章主要介绍WiFi深入理解(三):MAC的数据缓存管理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

wifi msdu可以32级聚合,mpdu可以256级聚合。聚合后的最大长度mpdu是11000kB左右。

既然都是聚合,为什么还要分成两级呢? 各有好处呀。 前者聚合只需要各自加上RA TA LENGTH就可以了,为什么除了LENGTH之外还需要RA,TA呢。毕竟recv端只需要LENGTH解析出分段就可以交给网络层了。这里有个规定:MSDU的分片必须RA和TA以及TID都相同,我想这是避免不同RA,TA和TID的MSDU聚合影响了收端的数据分发效率。聚合的时候加上RA,TA就可以方便MAC层判断MSDU是否满足聚合条件,RECV端方便check。

后者就必须整个HEADER都给加上(为什么?)。 所以前者效率高。但是呢,前者我无法分片重传?为什么?

聚合后发出去,对与RECV端来讲,需要的buffer数量如何计算? 实际应该看RECV端的转存机制是如何的。

msdu是逐个写入主存呢,还是缓存为一个多包的msdu整体再写入呢? 由于接收端的buffer容量要以最大可能的msdu为单位,所以逐个写入,虽然写入的数据少,但不能因此减少缓存数量。不过依次写入应依然可以提升系统吞吐效率。

mpdu是逐个写入主存呢,还是一次写入呢?和msdu情况类似,逐个写入,能够加快流水,减少数据滞留的时间。

因此对于支持双聚合的RECV,应该以max{mpdu, msdu},也就是mpdu的长度作为最小缓冲。

最后

以上就是落后台灯为你收集整理的WiFi深入理解(三):MAC的数据缓存管理的全部内容,希望文章能够帮你解决WiFi深入理解(三):MAC的数据缓存管理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部