数据链路层服务
数据链路层功能
沿着通信链路连接的相邻结点的通信信道称为链路,数据链路层传输的数据单元称为帧。数据链路层通常提供的服务包括组帧、链路接入(物理链路可以分为点对点链路和广播链路两大类)、可靠交付、差错控制。
差错控制
一、差错控制基本概念
差错控制是指通过差错编码技术,实现对信息传输差错的检测,并基于某种机制进行差错纠正和处理,是计算机网络中实现可靠传输的重要技术手段,并在许多数据链路层协议中应用。
二、差错控制典型机制
典型的差错控制方式包括检错重发、前向纠错、反馈校验和检错丢弃四种基本方式。
1. 检错重发
检错重发是一种典型的差错控制方式,在计算机网络中应用广泛。在检错重发方式中,发送端对待发送数据进行差错编码,编码后的数据通过信道传输,接收端利用差错编码检测数据是否出错,对于出错的数据,接收端请求发送端重发数据加以纠正,直到接收端接收到正确数据为止。
2. 前向纠错
前向纠错(FEC)是接收端进行差错纠正的一种差错控制方法。前向纠错机制需要利用纠错编码。在前向纠错机制中,发送端首先对数据进行纠错编码,然后发送包含纠错编码信息的帧,接收端收到帧后利用纠错编码进行差错检测,对于发生错误的帧直接进行纠错。前向纠错机制比较适用于单工链路或者对实时性要求比较高的应用。
3. 反馈校验
反馈校验方式的接收端将收到的数据原封不动发回发送端,发送端通过比对接收端反馈的数据与发送的数据可以确认接收端是否正确无误接收了已发送的数据。反馈校验方式的优点是原理简单,易于实现,无须差错编码;缺点是需要相同传输能力的反向信道,传输效率低,实时性差。
4. 检错丢弃
某些应用采用一种简单的差错控制策略,不纠正出错的数据,而是直接丢弃错误数据,这种差错控制方式就是检错丢弃。网络检错丢弃通常适用于容许一定比例的差错存在,只适用于实时性要求较高的系统。
除了上述基本的差错控制机制外,还可以设计其他差错控制方式,比如检错重发与前向纠错相结合的混合差错控制方式等。
三、差错编码的基本原理
差错编码的基本原理就是在待传输(或待保护)数据信息的基础上,附加一定的冗余信息,该冗余信息建立起数据信息的某种关联关系,将数据信息以及附加的冗余信息一同发送到接收端,接收端可以检测冗余信息表征的数据信息的关联关系是否存在,如果存在则没有错误,否则就会有错误。
四、差错编码的检错与纠错能力
差错编码的检错或纠错能力与该差错编码的编码集的汉明距离有关。两个等长码字之间,对应位不同的位数,称为两个码字的汉明距离。
(1)对于检错编码,如果编码集的汉明距离 ,则该差错编码可以检测r位的差错。
(2)对于纠错编码,如果编码集的汉明距离 ,则该差错编码可以纠正r位的差错。
五、典型的差错编码
典型的差错编码包括奇偶校验码、汉明码以及循环冗余码(CRC)。
1. 奇偶校验码
奇偶校验码包括奇校验码和偶校验码,是一种最简单的检错码。奇偶校验码利用1位冗余信息实现差错检测,可以表示为(n,n - 1)。在奇校验码编码过程中,1位冗余位的取值为“0”或“1”,使得编码后的码字中的“1”的个数为奇数。
对于采用奇偶校验的码字,如果在传输过程中有奇数位(包括数据位和冗余位)发生错误,那么奇偶校验码可以检测出错误的发生,但是如果有偶数位发生错误,则无法被检测出来。因此,奇偶检验码可以实现50%的检错率,当然漏检率也高达50%。
奇偶校验码的优点是编码简单、编码效率高,是开销最小的检错编码,但缺点是检错率不高。
2. 汉明码
汉明码是典型的线性分组码,可以实现单个比特差错纠正,在数据通信以及数据存储系统中得到广泛应用。若一个信息位为k = n - 1 位的比特流 ,加上偶校验位
,构成一个n位的码字
。在接收方校验时,可按下面关系式
来计算,若S = 0,则无错;若S = 1,则有错。上式可称为监督关系式,S称为校正因子。在奇偶校验情况下,只有一个监督关系式,一个校正因子,其取值只有两种(0或1),分别代表了无错和有错两种情况,而不能指出差错所在的位置。
3. 循环冗余码
现今的计算机网络中,尤其在数据链路层协议中,广泛应用的差错编码是循环冗余检测(CRC)编码,简称循环冗余码,或称CRC码。CRC编码的基本思想是:将二进制位串看成是系数为0或1的多项式系数。
使用CRC编码时,发送方和接收方必须预先商定一个生成多项式G(x)。生成多项式的最高位和最低位系数必须是1。假设G(x)的阶为r(即对应的位串为 r + 1位),则CRC编码过程如下:
(1)在帧的低位端加上r个0位,使该帧扩展为 m + r 位(相当于左移 r 位),对应的多项式为 。
(2)用G(x)系数对应的位串,去除(模2除法) 系数对应的位串,求得 r 位余数 R。
(3)用 系数对应的位串,减(模2减法)去余数 R,结果就是完成CRC编码的帧。
CRC编码具有优良的性能,很适合用于差错检测。一方面,CRC编码具有很强的检错能力。另一方面,CRC的编码、解码实现简单,只需通过简单的位移与异或运算即可实现。另外,CRC编码效率高,CRC编码附加的冗余校验和(R)的长度,只取决于G(x),与数据位数无关,当数据远大于R的位数时,CRC编码的开销就很小。所以,CRC在计算机网络的数据链路层协议中得到了广泛应用。
多路访问控制协议
一、MAC协议的分类
多路访问控制(MAC)协议主要包括信道划分MAC协议、随机访问MAC协议和受控接入MAC协议。
二、MAC协议的作用
MAC协议的根本任务是解决信道的共享问题。这种采用多路复用技术实现信道共享的MAC协议,称为信道划分MAC协议。
三、多路复用技术和信道划分MAC协议
多路复用技术是实现物理信道共享的经典技术,其基本思想是将信道资源划分后,分配给不同的结点,各结点通信时只使用其分配到的资源,从而实现了信道共享,并避免了多结点通信时的相互干扰。
多路复用主要包括频分多路复用FDM、时分多路复用(TDM)、波分多路复用(WDM)和码分多路复用(CDM)。采用不同多路复用技术的MAC协议分别称为FDMA、TDMA、WDMA和CDMA。
1. 频分多路复用
频分多路复用(FDM)简称频分复用,是频域划分制,即在频域内将信道带宽划分为多个子信道,并利用载波调制技术,将原始信号调制到对应某个子信道的载波信号上,使得同时传输的多路信号在整个物理信道带宽允许的范围内频谱不重叠,从而共用一个信道。
频分多路复用的主要优点是分路方便,是目前模拟通信中常采用的一种复用方式,特别是在有线和微波通信系统中应用十分广泛。
2. 时分多路复用
时分多路复用(TDM)简称时分复用,是一种时域划分,即将通信信道的传输信号在时域内划分为多个等长的时隙,每路信号占用不同的时隙,在时域上互不重叠,使多路信号合用单一的通信信道,从而实现信道共享。
时分多路复用可以分为同步时分多路复用(STDM)和异步时分多路复用(ATDM)两种。
3. 波分多路复用
波分多路复用(WDM)简称波分复用,广泛应用于光纤通信中,其实质是一种频分多路复用,只是由于在光纤通信中,光载波频率很高,通常用光的波长来代替频率来讨论,所以称为波分多路复用。
在光纤通信中,为了实现长距离的高速传输,通常采用波分多路复用技术和光纤放大器。光纤通信中波分多路复用技术还包括密集波分复用(DWDM)技术,顾名思义,DWDM的波长划分更密集,复用度更高,信道利用率更高,通信容量更大。
4. 码分多路复用
码分多路复用(CDM)简称码分复用,通过利用更长的相互正交的码组分别编码各路原始信息的每个码元(比如1位),使得编码后的信号(已调信号)在同一信道中混合传输,接收端利用码组的正交特征分离各路信号,从而实现信道共享。
四、随机访问协议
典型的随机访问协议有ALOHA协议、载波监听多路访问协议以及带冲突检测的载波监听多路访问协议等。
1. ALOHA协议
ALOHA协议包括以下两种:
(1)纯ALOHA。纯ALOHA协议的工作原理是:任何一个站点有数据要发送时就可以直接发送至信道。发送站在发送数据后需要对信道侦听一段时间。通常这个时间为电波传到最远端的站再返回本站所需的时间。如果在这段侦听时间里收到接收站发来的应答信号,说明发送成功。否则说明数据帧遭到破坏(发生冲突),则等待一个随机时间后再进行重发,如果再次冲突,继续等待一个随机时间,直到重发成功为止。
(2)时隙ALOHA。时隙ALOHA的基本思想是:把信道时间分成离散的时隙,每个时隙为发送一帧所需的发送时间,每个通信站只能在每个时隙开始时刻发送帧,如果在一个时隙内发送帧出现冲突,下一个时隙以概率P重发该帧,以概率(1 - P)不发该帧(等待下一个时隙),直到帧发送成功。显然,P不能为1,否则协议会死锁。
2. 载波监听多路访问协议
载波监听多路访问协议(CSMA)的特点是通过硬件装置,即载波监听装置,使通信站在发送数据之前,监听信道上其他站点是否在发送数据,如果在发送,则暂时不发送,从而减少了发生冲突的可能,提高了系统的吞吐量。所以,CSMA的工作方式有时又称为“先听后说”。根据监听策略的不同,CSMA又可以分为以下三种:
(1)非坚持CSMA。非坚持CSMA的基本原理是:若通信站有数据发送,先侦听信道;若发现信道空闲,则立即发送数据;若发现信道忙,则等待一个随机时间,然后重新开始侦听信道,尝试发送数据;若发送数据时产生冲突,则等待一个随机时间,然后重新开始侦听信道,尝试发送数据。
(2)1-坚持CSMA。1-坚持CSMA的基本原理是:若通信站有数据发送,现侦听信道;若发现信道空闲,则立即发送数据;若发现信道忙,则继续监听信道直至发现信道空闲,然后立即发送数据。
(3)P-坚持CSMA。P-坚持CSMA适用于时隙信道(即同步划分时隙)。P-坚持CSMA的基本原理:若通信站有数据发送,先侦听信道;若发现信道空闲,则以概率P在最近时隙开始时刻发送数据,以概率 Q= 1 - P 延迟至下一个时隙发送。若下一个时隙仍空闲,重复此过程,直至数据发出或时隙被其他通信站占用;若信道忙,则等待下一个时隙,重新开始发送过程;若发送数据时发生冲突,则等待一个随机事件,然后重新开始发送过程。
3. 带冲突检测的载波监听多路访问协议
带冲突检测的载波监听多路访问协议(CSMA/CD)可以理解为“先听后说,边听边说”,其基本原理是:通信站使用CSMA协议进行数据发送;在发送期间如果检测到碰撞,立即终止发送,并发出一个冲突强化信号,使所有通信站都知道冲突的发生;发出冲突强化信号后,等待一个随机时间,再重复上述过程。所以,CSMA/CD的工作状态可以分为传输周期、竞争周期和空闲周期。
局域网
一、局域网特点
局域网(LAN)是局部区域网络,其特点是覆盖面积较小,网络传输速率高,传输误码率低。局域网拓扑类型主要包括星形网络、总线型网络、环形网络等。
二、数据链路层寻址与ARP
1. MAC地址
事实上,并不是主机或路由器具有链路层地址,而是他们的适配器(即网络接口卡)具有链路层地址,或称为MAC地址、物理地址、局域网地址等,用来标识局域网中的结点或网络接口。
MAC地址具有唯一性,即两块网络适配器必须具有不同的MAC地址。MAC地址空间的分配由IEEE统一管理。
适配器的MAC地址具有“扁平”结构,具有唯一性。网络层IP地址,则具有层次结构,会随着主机的迁移而发生相应的变化,因为当主机连接到不同IP子网中时,主机的IP地址需要描述对于不同子网的归属关系,IP地址类似于邮政地址。
当某适配器要向某目的适配器发送一个帧时,发送适配器将目的适配器的MAC地址设置为该帧的目的MAC地址,并将该帧发送到局域网上。当适配器接收到一个帧时,检查该帧中的目的MAC地址是否与它自己的MAC地址匹配,如果匹配,则提取出封装的数据报,并将该数据报沿协议栈向上层协议提交;如果不匹配,则丢弃该帧。
2. ARP
地址解析协议(ARP)用于根据本网内目的主机或默认网关的IP地址获取其MAC地址。ARP的基本思想是:在每一台主机中设置专用内存区域,称为ARP高速缓存(也称为ARP表),存储该主机所在的局域网中其他主机和路由器(即默认网关)的IP地址与MAC地址的映射关系,并且这个映射表要经常更新。ARP通过广播ARP查询报文,来询问某目的IP地址对应的MAC地址,即知道本网内某主机的IP地址可以查询到其MAC地址。
关于ARP有两点需要注意:首先,ARP查询分组是通过一个广播帧发送的,而ARP响应分组是通过一个标准的单播帧发送的;其次,ARP是即插即用的,即一个ARP表是自动建立的,它不需要系统管理员来配置。
三、以太网
冲突域是指在一个局域网内,如果任意两个结点同时向物理介质中发送信号(数据),这两路信号一定会在物理介质中相互叠加或干扰,从而导致数据发送的失败,那么,这两个结点位于同一个冲突域。
广播域是指人一结点如果发送链路层广播帧的话,接收该广播帧的所有结点与发送结点同属于一个广播域。
1. 以太网帧结构
以太网采用的是CSMA/CD协议,利用曼切斯特编码发送,使用截断二进制指数后退算法来确定碰撞后重传的时机。
以太网帧结构如下:
帧结构中包含两个地址:一个是目的地址,另一个是源地址,均为48位物理地址即MAC地址。
2. 以太网技术
(1)10Base-T。10Base-T 以太网是替代同轴电缆以太网的产品,采用非屏蔽的双绞线(UTP)作为以太网传输介质,数据传输速率为10Mbit/s的,支持以太网结构化布线方式和集线器设备。
(2)快速以太网。快速以太网是在传统以太网基础上发展起来的,保留了传统以太网的帧格式和CSMA/CD介质访问控制方式,但数据传输速率提高到100Mbit/s。
(3)千兆位以太网。千兆位以太网涉及数据传输速率、是否支持全双工传送方式以及帧格式与以太网格式是否兼容等问题。千兆位以太网是建立在以太网标准之上的技术。
(4)万兆位以太网。万兆位以太网进一步扩展了以太网的数据传输速率和传输距离,还使得以太网技术突破局域网领域的限制,开始应用于城域网和广域网领域。
四、交换机工作原理
从工作原理角度看,交换机就是多端口的网桥,是目前应用最广泛的数据链路层设备。交换机与网桥的工作原理相同,可以依据接收到的链路层帧的目的MAC地址,选择性地转发到相应的端口,这就是交换机的转发与过滤功能。
1. 以太网交换机转发和过滤
交换机的基本工作原理是当一帧到达时,交换机首先需要决策将该帧丢弃还是转发,如果是转发的话,还必须进一步决策应该将帧转发到哪个(或哪些)端口去。
作为第二层设备的以太网交换机,可以实现帧的选择性转发,通过交换机互连的主机,不再属于一个冲突域,不会发生传统的冲突,交换机实现了冲突域的分隔。
2. 以太网交换机的优点
(1)消除冲突。
(2)支持异质链路。
(3)网络管理。
五、VLAN基本原理
虚拟局域网是一种基于交换机(必须支持VLAN功能)的逻辑分割(或限制)广播域的局域网应用形式。
虚拟局域网的设置是在交换机上,通过软件方式实现的。划分虚拟局域网的方法主要有3种:
(1)基于交换机端口划分。
(2)基于MAC地址划分。
(3)基于上层协议类型或地址划分。
点对点链路协议
PPP
现在全世界使用得最多的点对点链路的数据链路层协议是点对点协议(PPP)。PPP处理错误检测、支持多种上层协议(即支持复用)、允许在连接时刻协商IP地址、允许身份认证等。
PPP主要提供3类功能:
(1)成帧。确定一帧的开始和结束,帧格式支持错误检测。
(2)链路控制协议(LCP)。用于启动线路、检测线路、协商参数及关闭线路。
(3)网络控制协议(NCP)。用于协商网络层选项,并且协商方法与使用的网络层协议独立。