第5讲 | 从物理层到MAC层:如何在宿舍里自己组网玩联机游戏?
阅读原文时间:2021年11月12日阅读:1

第一层(物理层)

水晶头要做交叉线,用的就是所谓的 1-3、2-6 交叉接法。

有一个叫做 Hub 的东西,也就是集线器。这种设备有多个口,可以将宿舍里的多台电脑连接起来。但是,和交换机不同,集线器没有大脑,它完全在物理层工作。它会将自己收到的每一个字节,都复制到其他端口上去。这是第一层物理层联通的方案。

第二层(数据链路层)

MAC 的全称是 Medium Access Control,即媒体访问控制。控制什么呢?其实就是控制在往媒体上发数据的时候,谁先发、谁后发的问题。防止发生混乱。这解决的是第二个问题。这个问题中的规则,学名叫多路访问。

三种方式:

方式一:分多个车道。每个车一个车道,你走你的,我走我的。这在计算机网络里叫作信道划分;

方式二:今天单号出行,明天双号出行,轮着来。这在计算机网络里叫作轮流协议;

方式三:不管三七二十一,有事儿先出门,发现特堵,就回去。错过高峰再出。我们叫作随机接入协议。著名的以太网,用的就是这个方式。

ARP 协议,也就是已知 IP 地址,求 MAC 地址的协议。

因为集线器(Hub)的每个口都只连接一台电脑,这台电脑又不怎么换IP和MAC地址,所以集线器需要智能一些,能够记住每个口的MAC地址是啥,当集线器收到一个网络包时,能够解析网络包的MAC头,查看该网络包的目标MAC地址,如果目标MAC地址和某个口的MAC地址匹配,则我们将该网络包转发给该口的机器,如果目标MAC地址和某个口的MAC地址不匹配,这个口就不用转发了,这样也能节省更多的网络带宽。 这个时候的集线器有脑子了,能够解析MAC头了,并且能够记住哪个口的MAC地址是多少了。 此时这个会学习的设备就不叫集线器了,而是叫交换机。

在一个局域网里面,当知道了 IP 地址,不知道 MAC 怎么办呢?靠“吼”。ARP协议依靠 广播。

发送一个广播包,谁是这个 IP 谁来回答。具体询问和回答的报文就像下面这样:

为了避免每次都用 ARP 请求,机器本地也会进行 ARP 缓存。当然机器会不断地上线下线,IP 也可能会变,所以 ARP 的 MAC 地址缓存过一段时间就会过期。

MAC层解决的是多路访问的堵车问题:即谁先发包,谁后发包?如果同时发包,如何不造成混乱呢? 解决方法: 1.采用信道划分协议。 2.采用随机接入协议。 3.采用轮流协议。 MAC头中有目标MAC地址,和源MAC地址,解决了我这个包要发给谁,谁接收的问题。 MAC尾中有CRC(循环冗余检测):解决的是在网络中传输的包是否出现错误,以及出现错误之后的纠正。