为什么需要介质访问控制子层(MAC)?
介质访问控制子层(MAC)是局域网体系结构中划分的子层,多路访问链路采用共享介质连接所有站点.发送站点通过广播方式发送数据并占用整个带宽,如果有多个站点同时发送信息,就会产生冲突,而在点对点链路网络中就不会存在这样的问题,因为在点对点网络中,目的节点是唯一的,不需要寻址,双方之间的通讯也只在彼此之间产生,不会有其他用户占用这个传输介质,所以,为了解决多路通信中介质征用的问题,IEEE把这种访问共享介质的功能专门划分出了一个子层,就是介质访问控制子层(MAC).
MAC的功能:一是用来寻址(这里指MAC地址),寻找目的节点.
二是用来解决网络中多个用户争抢共享信道的现象.
为什么MAC子层之上又定义了一个LLC子层(逻辑链路控制子层)?
从MAC功能上来看,MAC并不能保证可靠数据的传输,为了做到这一点,在其之上又增加了一个LLC,用来保证数据的可靠性传输,来为网络层提供服务.
说到共享信道,先来提一下信道的分类.
点对点信道:有两个没有经过任何中间设备的节点构成的信道.点对点信道封装的是点对点类型的数据链路层协议(PPP协议).
广播信道:一个信道被多条链路共享,一个节点发送的数据会被多个节点收到,对应的链路就是广播链路,广播信道封装是广播型数据链路层协议(以太网协议,WLAN协议).
MAC地址是什么?在局域网中,MAC的作用是用来找到我们要进行通信的计算机,MAC地址分为源地址(发送发的MAC地址),和目标地址(接收方MAC地址),源地址是单播地址(也叫单播帧),目标地址可能是单播地址,也可能是多播地址,或广播地址.
单播地址:全球唯一,每个网卡上都有自己的一个MAC地址.
MAC地址的帧格式:如何解决介质争用?
在局域网中解决方案有CSMA协议(载波侦听多路访问),CSMA/CD协议(带冲突检测的载波侦听多路访问),后者是前者的改进版.
在WLAN网络中解决方案是CSMA/CA协议,也是CSMA协议的改进版.
CSMA/CD的工作过程:
发送数据帧前先监听信道,信道忙,则持续监听,直到信道空闲,信道一旦空闲则立即发送数据.
边发送边检测冲突,如果发送完毕都没有检测到冲突,则发送成功.
如果检测到冲突,则停止发送,并发送一个32位干扰信号(阻塞信号),以加强冲突信号,采用二进制指数退避算法随机延迟一段时间后,再重复以上步骤.
流程图:
以太网(802.3)的物理层:
扩展局域网:用网桥(bridge)连接若干局域网(LAN)可以构造一个更大的局域网,成为桥接局域网或者扩展局域网.
原来的局域网成为了扩展局域网的一部分,称为这个扩展局域网的一个网段,
百度百科是这样定义网桥的:
网桥(Bridge)像一个聪明的中继器。中继器从一个网络电缆里接收信号, 放大它们,将其送入下一个电缆。相比较而言,网桥对从关卡上传下来的信息更敏锐一些。网桥是一种对帧进行转发的技术,根据MAC分区块,可隔离碰撞。网桥将网络的多个网段在数据链路层连接起来
802.1d协议(STP 生成树协议):生成树协议的设计目的是要使二级交换网络中不存在二层环路,那么什么是环路呢?
假设现在有两个交换机B,C之间有两条链路,主机A,D分别连接B,C.主机A在某一时刻发送了一个广播包到达了交换机A,交换机A接到广播信号,会通过两条链路向交换机B发送,这样交换机B就会受到两个广播信号,收到以后他也会通过两条链路向A广播,这样就形成了一个恶性循环,也就是形成了广播风暴,造成大量的网络设备,和带宽资源的浪费.
上面说的两条链路成为"冗余链路",在显示网络设计中大量存在,本来的设计目的是当一条链路失效以后,另一条冗余链路可以马上接管所有工作,当然实际中冗余链路会带来广播风暴隐患.