MAC层是什么层啊?

MAC层是什么层啊?,第1张

MAC层位于OSI七层协议中数据链路层。

数据链路层是OSI参考模型中的第二层,介乎于物理层和网络层之间。数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。

它定义了数据帧怎样在介质上进行传输。在共享同一个带宽的链路中,对连接介质的访问是“先来先服务”的。物理寻址在此处被定义,逻辑拓扑(信号通过物理拓扑的路径)也在此处被定义。线路控制、出错通知、帧的传递顺序和可选择的流量控制也在这一子层实现。

扩展资料

链路控制协议可分为异步协议和同步协议两大类:

1、异步协议

字符为独立的信息传输单位,在每个字符的起始处开始对字符内的比特实现同步,但字符与字符之间的间隔时间是不固定的(即字符之间是异步的)。

由于发送器和接收器中近似于同 一频率的两个约定时钟,能够在一段较短的时间内保持同步,所以可以用字符起始处同步的时钟来采样该字符中的各比特,而不需要每个比特再用其它方法同步。

2、同步协议

同步协议是以许多字符或许多比特组织成的数据块——帧为传输单位,在帧的起始处同步,使帧内维持固定的时钟。

实际上该固定时钟是发送端通过某种技术将其混合在数据中一并发送出去的,供接收端从输入数据中分离出时钟来,实现起来比较复杂,这个功能通常是由解调器来完成。

正如图中看到的一样,存在着两种WiFi设备,具体是哪一类要看IEEE802.11标准的MLME如何实现。

如果直接通过硬件实现,那么设备就是硬MAC(fullMAC)设备如果通过软件的方式实现,那么设备就是软MAC(softMAC)设备。现阶段大部分无线设备都是软件实现的软MAC设备。

通常我们把Linux内核无线子系统看成两大块:cfg80211和mac80211,它们连通内核其他模块和用户空间的应用程序。

特别指出,cfg80211在内核空间提供配置管理服务,内核与应用层通过nl80211实现配置管理接口。需要记住的是,

硬MAC设备和软MAC设备都需要cfg80211才能工作。而mac80211只是一个驱动API,它只支持软件实现的软MAC设备。

接下来,我们主要关注软MAC设备。

Linux内核无线子系统统一各种WiFi设备,并处理OSI模型中最底层的MAC、PHY两层。

若进一步划分,MAC层可以分为MAC高层和MAC底层。前者负责管理MAC层无线网络的探测发现、身份认证、关联等

后者实现MAC层如ACK等紧急 *** 作。大部分情况下,硬件(如无线适配器)处理大部分的PHY层以及MAC底层 *** 作。Linux子系统实现大部分的MAC高层回调函数。

2模块间接口

从图一中我们可以看出,各个模块之间分界线很清晰,并且模块间相互透明不可见。模块之间一般不会相互影响。

举个例子,我们在WiFi设备驱动做修改(如,打补丁、添加新的WiFi驱动等),这些变更并不会影响到mac80211模块,

所以我们根本不用改动mac80211的代码。再如,昆明北大青鸟http://www.kmbdqn.cn/建议添加一个新的网络协议理论上是不用修改套接字层以及设备无关层代码。一般情况下,内核通过一系列的函数指针实现各层之间相互透明。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7237104.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-03
下一篇2023-04-03

发表评论

登录后才能评论

评论列表(0条)

    保存