数据是如何从无线网卡发送出去的?

最近在看计算机网络,数据如何从电脑出去?
都说数据的传输是层层往下封装,最后变为电信号在物理介质中传输,但有个疑问,封装到最后,数据是通过什么方式从我们电脑出去的,是通过网线嘛,如果没有网线连的WiFi呢,这一块一直没有想明白。
这个图就是从无线的物理层角度看出去的样子。
IP报文位于什么地方呢?
图中“Network Data”部分即是IP报文所在的位置。
有同学会问,为何这个IP报文需要使用无线接口传输?而不是有线的以太网传输。关于这块内容可以参考这篇文章。
“Network Data”的外层封装是LLC,它是干什么的,为什么要有它?
因为NetworkData不一定就是IP报文,还有可能是其它协议报文,比如IPv6。而有了LLC,可以提示接收方,里面封装到底是啥东东。这个LLC通常为802.2。但是,如果MAC封装是EthernetII,接收方可以根据ether type来知道里面封装到底是啥协议。那么就不需要802.2了。
MAC,虽然有线与无线都叫MAC,但是它们之间的格式已经大相径庭了。这个就是无线802.11 的MAC,从报文格式可以看出,802.11支持MAC层的fragment、以及数据加密、数据的重传。
MAC处理完了,就需要将封装好的帧提交给物理层继续封装。如下图所示,MAC层提交的报文,在下图中就是那个“MAC Frame”部分,一下子变得很渺小。
物理层大体分为两层:PLCP 层、PMD层。这两层分别干点啥呢?
 
PLCP 层(PhysicalLayer Convergence Procedure)
在MACFrame的外层添加 Preamble PLCP Header,其中Preamble主要用于时钟同步,采用最基础的data rate发送,即上图中的BPSK的调制方式。这个data rate接收方都默认支持。
PLCP Header主要用于告知接收方,MAC Frame是采用什么data rate来发送/接收。通常这个发送速率要远远快于前者。
当物理层所有的封装都完成了,就需要通过PMD来完成最后的调制工作,即将信号发送出去。
PMD层(PhysicalModulation Dependent)
从名字就可以看出,这层依赖于硬件芯片。硬件芯片如何将01字节调制成无线信号细节,局外人是无从知道的。但是PMD需要保证,按照PLCP指示的调制方式、以及调制速率将信号发送出去,只要满足这一点就Ok了。
接收方通过Preamble的学习,可以获取MAC Frame的Data Rate,接收方PMD只要按照获取的Data Rate就可以将MAC Frame给解码出来。如果CRC没有出错,将其提交给MAC层。
MAC层先校验FCS,如果也没有问题,且从LLC的提示,获悉被封装的货物是IP报文,那么就可以与IP层互动,完成IP报文的下一步处理。
  • 无线通信,发送速率可变,需要在物理层封装给点提示,让接收方用提示的速率解调制。

  • 有线通信,发送速率固定,但在传输数据之前,需要自动协商双方都认可的速率。

(0)

相关推荐