计算机网络学习笔记--数据链据层之MAC子层(整理)

概述:

  为什么需要介质访问控制子层(MAC)?

  介质访问控制子层(MAC)是局域网体系结构中划分的子层,多路访问链路采用共享介质连接所有站点.发送站点通过广播方式发送数据并占用整个带宽,如果有多个站点同时发送信息,就会产生冲突,而在点对点链路网络中就不会存在这样的问题,因为在点对点网络中,目的节点是唯一的,不需要寻址,双方之间的通讯也只在彼此之间产生,不会有其他用户占用这个传输介质,所以,为了解决多路通信中介质征用的问题,IEEE把这种访问共享介质的功能专门划分出了一个子层,就是介质访问控制子层(MAC).

MAC的功能:

  一是用来寻址(这里指MAC地址),寻找目的节点.

  二是用来解决网络中多个用户争抢共享信道的现象.

为什么MAC子层之上又定义了一个LLC子层(逻辑链路控制子层)?

  从MAC功能上来看,MAC并不能保证可靠数据的传输,为了做到这一点,在其之上又增加了一个LLC,用来保证数据的可靠性传输,来为网络层提供服务.

说到共享信道,先来提一下信道的分类.

  点对点信道:有两个没有经过任何中间设备的节点构成的信道.点对点信道封装的是点对点类型的数据链路层协议(PPP协议).

  广播信道:一个信道被多条链路共享,一个节点发送的数据会被多个节点收到,对应的链路就是广播链路,广播信道封装是广播型数据链路层协议(以太网协议,WLAN协议).

MAC地址是什么?

  在局域网中,MAC的作用是用来找到我们要进行通信的计算机,MAC地址分为源地址(发送发的MAC地址),和目标地址(接收方MAC地址),源地址是单播地址(也叫单播帧),目标地址可能是单播地址,也可能是多播地址,或广播地址.

  单播地址:全球唯一,每个网卡上都有自己的一个MAC地址.

MAC地址的帧格式:

计算机网络学习笔记--数据链据层之MAC子层(整理)

如何解决介质争用?

  在局域网中解决方案有CSMA协议(载波侦听多路访问),CSMA/CD协议(带冲突检测的载波侦听多路访问),后者是前者的改进版.

  在WLAN网络中解决方案是CSMA/CA协议,也是CSMA协议的改进版.

CSMA/CD的工作过程:

  1.   发送数据帧前先监听信道,信道忙,则持续监听,直到信道空闲,信道一旦空闲则立即发送数据.
  2.   边发送边检测冲突,如果发送完毕都没有检测到冲突,则发送成功.
  3.   如果检测到冲突,则停止发送,并发送一个32位干扰信号(阻塞信号),以加强冲突信号,采用二进制指数退避算法随机延迟一段时间后,再重复以上步骤.

  流程图:

计算机网络学习笔记--数据链据层之MAC子层(整理)

以太网(802.3)的物理层:

计算机网络学习笔记--数据链据层之MAC子层(整理)

扩展局域网:

用网桥(bridge)连接若干局域网(LAN)可以构造一个更大的局域网,成为桥接局域网或者扩展局域网.

计算机网络学习笔记--数据链据层之MAC子层(整理)

原来的局域网成为了扩展局域网的一部分,称为这个扩展局域网的一个网段,

百度百科是这样定义网桥的:

  网桥(Bridge)像一个聪明的中继器。中继器从一个网络电缆里接收信号, 放大它们,将其送入下一个电缆。相比较而言,网桥对从关卡上传下来的信息更敏锐一些。网桥是一种对帧进行转发的技术,根据MAC分区块,可隔离碰撞。网桥将网络的多个网段在数据链路层连接起来

802.1d协议(STP 生成树协议):

  生成树协议的设计目的是要使二级交换网络中不存在二层环路,那么什么是环路呢?

  假设现在有两个交换机B,C之间有两条链路,主机A,D分别连接B,C.主机A在某一时刻发送了一个广播包到达了交换机A,交换机A接到广播信号,会通过两条链路向交换机B发送,这样交换机B就会受到两个广播信号,收到以后他也会通过两条链路向A广播,这样就形成了一个恶性循环,也就是形成了广播风暴,造成大量的网络设备,和带宽资源的浪费.

  上面说的两条链路成为"冗余链路",在显示网络设计中大量存在,本来的设计目的是当一条链路失效以后,另一条冗余链路可以马上接管所有工作,当然实际中冗余链路会带来广播风暴隐患.

  STP的工作原理是把整个交换网络看作是一个生成树实例,称之为公共生成树(CST),STP就是把一个物理网络拓扑结构变成无欢路的逻辑拓扑结构,采用两项主要技术:一是通过选举,使得交换网络中各个交换机处于特定的角色,另一个就是把交换机之间连接的端口划分为不同的角色,使可能形成环路的交换机端口在正常工作时处于堵塞状态.

802.1q协议(VLAN 虚拟局域网):

  计算机网络学习笔记--数据链据层之MAC子层(整理)

如图,如果网桥只在具有相同颜色的端口之间转发帧,就会把原来的局域网分割成多个多个相互隔离的小的局域网,称之为虚拟局域网(VLAN).

  虚拟局域网顾名思义,是一个虚拟的或者说逻辑的LAN,并不是一个物理的LAN,上面图中用的是网桥,实际更多的使用交换机,那么网桥和交换机有什么区别呢?

    这是一个网络上的一个总结:

局域网交换机的基本功能与网桥一样,具有帧转发、帧过滤和生成树算法功能。但是,交换机与网桥相比还是存在以下不同: 
  (1)交换机工作时,实际上允许许多组端口间的通道同时工作。所以,交换机的功能体现出不仅仅是一个网桥的功能,而是多个网桥功能的集合。即网桥一般分有两个端口,而交换机具有高密度的端口。 
  (2)分段能力的区别 
  由于交换机能够支持多个端口,因此可以把网络系统划分成为更多的物理网段,这样使得整个网络系统具有更高的带宽。而网桥仅仅支持两个端口,所以,网桥划分的物理网段是相当有限的。 
  (3)传输速率的区别 
  交换机与网桥数据信息的传输速率相比,交换机要快于网桥。 
  (4)数据帧转发方式的区别 
  网桥在发送数据帧前,通常要接收到完整的数据帧并执行帧检测序列FCS后,才开始转发该数据帧。交换机具有存储转发和直接转发两种帧转发方式。直接转发方式在发送数据以前,不需要在接收完整个数据帧和经过32bit循环冗余校验码CRC的计算检查后的等待时间。

 其实,我们只要把一个VLAN看成一个交换机(虚拟的),许多问题就比较好理解了,因为虚拟交换机和物理交换机有相同的基本属性,同一物理交换机上的不同VLAN之间就好像只有逻辑连接,没有物理连接的不同物理交换机一样,既然没有物理连接,那么不同的VLAN肯定是不能相互通信的,即使这些VLAN的成员处于同一IP网段.

  虚拟局域网的帧头部格式:

计算机网络学习笔记--数据链据层之MAC子层(整理)

 

上一篇:ECS Windows 系统蓝屏 (BSOD) 以及停止响应 (Hang) 的处理


下一篇:如何从 0 到 1 参与 Flink 社区?