3. 数据链路层
3.6 媒体接入控制
3.6.1 媒体接入控制的基本概念
共享信道要着重考虑的一个问题就是如何协调多个发送和接收站点对一个共享传输媒体的占用,即媒体接入控制(Medium Access Control, MAC)。
媒体接入控制分为2大类,
-
静态划分信道
预先分配好信道,这类方法很不灵活,对于突发性数据传输信道利用率很低。
通常在无线网络的物理层中使用,而不是在数据链路层使用。
-
频分多址
-
时分多址
-
码分多址
-
-
动态接入控制
-
受控接入
基本已经淘汰。
-
集中控制
有一个主站,以循环方式轮询每个站点有无数据发送,只有被轮询到的站点才能发送数据,最大缺点在于单点故障问题。
-
分散控制
各站点是平等的,并连接成一个环形网络。令牌(一个特殊的控制帧) 沿着环逐站传递,接收到令牌的站点才有权发送数据,并在发送完数据后将令牌传递给下一个站点。
采用令牌传递协议的典型网络有:IEEE802.5令牌环网、IEEE802.4令牌总线网、光纤分布式数据接口FDDI。这些网络已逐步退出历史舞台。
-
-
随机接入
所有站点通过竞争,随机的在信道上发送数据。如果恰巧有2个及以上的站点在同一时刻发送数据,则信号在共享媒体上就要产生碰撞(即发生了冲突),使得这些站点的发送都失败。因此,这类协议要解决的关键问题是如何尽量避免冲突,及发生冲突后如何尽快恢复通信。著名的共享式以太网采用的就是随机接入。
随着技术发展,交换技术的成熟和成本的降低,具有更高性能的使用点对点链路和链路层交换机的交换式局域网在有线领域已完全取代了共享式局域网,但由于无线信道的广播天性,无线局域网仍然使用的是共享媒体技术。
-
3.6.2 媒体接入控制-静态划分信道
3.6.2.1 信道复用
复用(multiplexing)是通信技术的一个重要概念,复用就是通过一条物理线路同时传输多路用户的信号。
当网络中传输媒体的传输容量大于多条单一信道传输的总通信量时,可利用复用技术在一条物理线路上建立多条通信信道来充分利用传输媒体的带宽。
-
频分复用FDM
频分复用的所有用户同时占用不同的频带资源并行通信。
-
时分复用TDM
时分复用的所有用户在不同的时间占用同样的频带宽度。
-
波分复用WDM
波分复用其实就是光的频分复用。
-
码分复用CDM
码分复用是另一种共享信道的方法。实际上,由于该技术主要用于多址接入,人们更常用的名词是码分多址(Code Division Multiple Access, CDMA)。
同理,频分复用和时分复用同样可用于多址接入,相应的名词是频分多址(Frequency Division Multiple Access, FDMA)和时分多址(Time Division Multiple Access, TDMA)。
复用和多址可简单理解如下,
-
复用是将单一媒体的频带资源划分成多个信道,这些子信道之间互相独立,互不干扰。从媒体的整体频带资源上来看,每个子信道只占用该媒体频带资源的一部分。
-
多址(更确切的说是多点接入)处理的是动态分配信道给用户。在用户仅仅暂时性的占用信道的应用中是必须的,而所有的移动通信系统基本上都属于这个情况。相反,在信道永久性的分配给用于的应用中,多址是不需要的,例如无线广播和电视广播站。
-
某种程度上,FDMA、TDMA、CDMA可以看成是FDM、TDM、CDM的应用。
与FDM和TDM不同,CDM的每一个用户可以在同样的时间使用同样的频带进行通信。由于各用户使用经过特殊挑选的不同码型,因此各用户之间不会干扰。
CDMA的基本原理如下,
-
CDMA举例,
3.6.3 随机接入-CSMA/CD协议
载波监听多址接入/碰撞检测(Carrier Sense Multiple Access/Collision Detection, CSMA/CD)。
这是总线型局域网常用的协议。
多址接入MA:多个站(主机)连接在一条总线上,竞争使用总线。
载波监听CS:每一个站在发送帧之前,先要检测一下总线上是否有其他站点在发送帧,即“先听后说”。
-
若检测到总线上空闲96比特时间,则发送这个帧;
-
若检测到总线忙,则继续检测并等待总线转为空闲96比特时间,然后再发送这个帧
碰撞检测CD:每一个正在发送帧的站边发送边检测碰撞,即“边说边听”。
- 一旦发现总线上出现碰撞,则立即停止发送,退避一段随机时间后,再次发送,即一旦冲突,立即停说,等待时机,重新再说。
以太网还采取了一种叫做“强化碰撞”的措施。当发送帧的站点一旦检测到碰撞,除了立即停止发送帧外,还要继续发送32bit或48bit的人为干扰信号Jamming Signal,以便有足够多的碰撞信号使所有站点都能检测到碰撞。
3.6.3.1 争用期(碰撞窗口)
3.6.3.2 最小帧长
如果某个主机A发送了很短的帧,在传输过程中,另一主机C还没检测到信道被占用,开始发送自己的帧,那么就会出现碰撞,接收主机D就会收到错误帧并丢弃,但是A不知道D丢弃了这个帧,并不会重传。显然,以太网的帧长不能太短。
以太网规定最小帧长为64字节,即512bit,这个512bit时间也是争用期。
如果要发送的数据非常少,那么必须加入一些填充字节,使帧长不少于64字节。
以太网的最小帧长确保了主机可在帧发送完成之前就检测到该帧的发送过程是否发生了碰撞。
如果在争用期(共发送64字节)没有检测到碰撞,那么后续发送的数据就一定不会发生碰撞。
如果在争用期内检测到碰撞,就立即停止发送,这时已发送的数据一定小于64字节,因此,凡长度小于64字节的帧都是由于碰撞而异常终止的无效帧。
3.6.3.3 最大帧长
以以太网V2的MAC帧为例,数据载荷的长度范围为46-1500字节,算上帧头和帧尾的18字节,MAC帧的最小长度为64字节,刚好满足最小帧长。
插入VLAN标记后的802.1Q帧,帧头增加了4字节的VLAN标记,数据载荷的长度范围为42-1500字节。
3.6.3.4 截断时间的计算方法 - 截断二进制指数退避算法
3.6.3.5 信道利用率
3.6.3.6 接收流程
3.6.4 随机接入-CSMA/CA协议
载波监听多址接入/碰撞避免(Carrier Sense Multiple Access/Collision Avoidance, CSMA/CA)。
这是无线型局域网常用的协议。
既然CSMA/CD协议已经成功用于使用广播信道的有线局域网,那么同样使用广播信道的无线局域网能不能也使用CSMA/CD协议呢?
-
在无线局域网中,仍然可以使用CSMA,即在发送帧之前,先对传输媒体进行载波监听,若发现有其他站在发送帧,就推迟发送以免发生碰撞。
-
但是在无线局域网中,不能使用碰撞检测CD,
-
由于无线信道的传输条件特殊,信号强度的动态范围很大,无线网卡上接收的信号强度往往会远远小于发送信号的强度,可能相差百万倍。如果要在无线网卡上实现CD,对硬件要求很高。
-
即使能在硬件上实现无线局域网的碰撞检测功能,但由于无线电传输特殊性,存在隐蔽站问题,进行碰撞检测的意义不大。
-
由于不可能避免所有的碰撞,并且无线信道误码率较高,802.11标准使用了 数据链路层确认机制(停止等待协议) 来保证数据被正确接收。
802.11的MAC层定义了两种不同的媒体接入控制方式,
-
分布式协调功能(Distributed Coodination Function, DCF)
在DCF方式下,没有中心控制站点,每个站点使用CSMA/CA协议通过争用信道来获取发送权,这是802.11默认方式。 -
点协调功能(Point Coodination Function, PCF)
PCF方式采用集中控制的接入算法,一般在接入点AP实现集中控制,是802.11定义的可选方式,实际中较少使用。