mac(多媒体访问控制)其作用就是在数据链路层利用多路访问解决在网络中谁先发谁后发的问题。
发给谁,谁接受:利用链路层地址,因为在mac层我们记录了源mac地址和目标mac地址,对上游的包进行层层包装,然后在服务端进行层层拆开取得数据内容交给服务器去处理。处理结束后返回一个响应;
数据怎么容错:在mac层有一个CRC(循环容错检测),通过XOR异或算法进行解决来解决网络中的错误;
因为IP会变,所以其对应的mac可能也会发生改变;
HUB 是集线器,在局域网中通过广播的方法将自己的信息发送出去,然后通过每个主机判断是不是发送给自己的。
交换机:每个网口可以记录这个端口所连接的电脑的mac地址。可以了解网络的拓扑结构。
mac层的作用:1.解决信息发送的冲突问题(堵车问题),2.发给谁,谁接受问题 3.解决网络传送过程中遇到的一些问题;
ARP广播时,交换机会将一个端口收到的包转发到其它所有的端口上。
比如数据包经过交换机A到达交换机B,交换机B又将包复制为多份广播出去。
如果整个局域网存在一个环路,使得数据包又重新回到了最开始的交换机A,这个包又会被A再次复制多份广播出去。
如此循环,数据包会不停得转发,而且越来越多,最终占满带宽,或者使解析协议的硬件过载,行成广播风暴。
- 多个交换机在刚开始不知道mac来源的时候采用的是将IP发送到交换机上然后交换机除了不发给来的方向之外通过广播的方式进行发送。直到找到IP对应的mac为止。(通过ARP)
2.交换机刚开始是不知道每个主机的ip的,例如当机器1要想知道机器5的mac,首先机器1通过arp广播,此时他所连接的机器2和交换机A就能够收到,机器2发现里面的IP不是自己的就不管了,这时候交换机A就会记录机器1的信息,并且他也是以广播的策略去将包发出去,交换机B收到这个广播之后就会在该局域网内进行广播,然后找到机器5的mac后然后就将该mac进行返回,并且同时交换机B记录了机器1是在他左边的网口的。就这样,每个交换机就会记录下所有的ip地址,这样避免了盲目的收发包;
3.遇到的问题:环形问题,如下图所示:
遇到的问题:当机器1去找机器2的mac的时发送广播包,然后A-左和B-左收到了该广播包定位了机器1的位置,然后交换机A就会以广播的形式在A-右找机器2,这时候交换机B的右边就会获得到该消息,这样交换机B就不知道机器1的位置。
破解的方法:
采用STP(Spanning Tree Protocol)进行定位解决,将连接在一起的环形分开,让其变成树形,这样就避免了环形带来的地址不确定问题了。
如何解决广播问题和安全问题:
避免局域网之间想要传递的信息被其他连接在交换机上的机器偷窥到,在二层的头上加一个TAG,里面有一个VLAN ID,将同一局域网下面的内容放到同一个VLAN ID下面,这样保障了局域网内信息的安全问题。
交换之间用Trunk 进行连接。