第一节 数据链路层服务
- 数据链路层负责通过一条链路,从一个结点向另一个物理链路直接相连的相邻结点,传送网络层数据报,中间通常不经过任何其他交换结点。网络层数据报被封装到数据链路层的帧中传送。数据链路是在物理线路之上,基于通信协议来控制数据帧传输的逻辑数据通路。实现数据链路层功能的典型硬件实体是网络适配器(NIC,网卡),网络适配器实质上需要实现数据链路层和物理层的功能。
- 无论是主机还是路由器等网络设备,都可以统称为结点,因为它们通常都是一条数据链路的端点。沿着通信链路连接的相邻结点的通信信道称为链路,数据链路层传输的数据单元称为帧。数据链路层通常提供以下服务。
- 组帧:数据链路层一般是将要传输的数据封装成帧,称为组帧或成帧。在组帧过程中,会在数据(如网络层数据报)的基础上增加帧头(帧首)和帧尾,帧头中通常包含发送结点和接收结点的地址等信息,帧尾通常包含用于差错检测的差错编码。组帧过程增加的帧头和帧尾中还有一部分信息,用于帧定界,确保接收结点从物理层收到的比特流中,能够依据帧头和帧尾中的定界字符或定界比特串,成功识别一个帧的开始和结束。
- 链路接入:物理链路分为点对点链路和广播链路。
- 点对点链路中,发送结点和接收结点独占通信链路,只要链路处于空闲状态,随时可以使用链路发送和接收帧。
- 广播链路中,通信链路被多个结点共享,任意两个结点同时通过链路发送帧,都会彼此干扰,导致帧传输失败。对于广播链路,各个结点必须运行媒介访问控制(Medium Access Control,MAC)协议,来协调各结点使用共享的物理传输媒介,实现帧的成功传输。
- 可靠交付:在相邻结点间经数据链路实现数据报的可靠传输。支持可靠数据传输的数据链路层协议,多应用于高出错率的链路中,如无线网。通常有线链路的数据链路层协议,不提供可靠传输服务。
- 差错控制:数据链路层帧在物理媒介上的传播过程中,可能会产生比特翻转的差错。在一段时间内,传输过程出现差错的比特数,占所传输比特总数的比率,称为误比特率。误比特率与线路的信噪比有很大的关系。为保证帧传输的可靠性,数据链路层协议通常采用不同的差错控制措施,或者通过确认重传纠正差错,或者直接丢弃差错帧。
第二节 差错控制
- 通过差错编码技术,实现对信息传输差错的检测,并基于某种机制进行差错纠正和处理。
- 产生差错的原因
- 信号在信道传输过程中,会受到各种噪声的干扰,从而导致传输差错。
- 噪声分类
- 随机噪声:热噪声,传输介质引起的噪声等,具有随机性。
- 随机噪声引起的传输差错称为随机差错或独立差错,具有独立性,稀疏性和非相关性等特点。
- 冲击噪声:雷击,电机启停等,具有很强的突发性,容易造成一段时间的传输差错。
- 冲击噪声引起的差错称为突发差错,通常是连续或成片的信息差错,差错之间具有相关性,差错通常集中发生在某段时间。突发错误发生的第一位错误与最后一位错误之间的长度称为突发长度。
- 随机噪声:热噪声,传输介质引起的噪声等,具有随机性。
一,差错控制的基本方式
1,检错重发
- 是一种典型的差错控制方式。
- 发送端对待发送数据进行差错编码,编码后的数据通过信道传输,接收端利用差错编码检测数据是否出错,对于出错的数据,接收端请求发送端重发数据加以纠正,直到接收端接收到正确数据为止。
- 停-等协议,滑动窗口协议使用此方式。
2,前向纠错
- 前向纠错(Forward Error Correction,FEC)是接收端进行差错纠正的一种差错控制方式。
- 前向纠错机制中,发送端首先对数据进行纠错编码,然后发送包含纠错编码信息的帧,接收端收到帧后利用纠错编码进行差错检测,对于发送错误的帧直接进行纠错。
- 前向纠错比较适用于单工链路或对实时性要求高的应用。
3,反馈校验
- 反馈校验的接收端将收到的数据原封不动发回发送端,发送端通过比对接收端反馈的数据与发送的数据可以确认接收端是否正确无误接收了已发送的数据。如果发送端发现数据不同则重发。
- 优点:简单,无须差错编码。
- 缺点:需要相同传输能力的反向信道,传输效率低,实时性差。
4,检错丢弃
- 不同网络应用对可靠性的要求不同,某些应用(如实时多媒体播报应用)可以采用一种简单的差错控制策略,不纠正出错的数据,而是直接丢弃错误数据。
- 适用于容许一定比例的差错存在,只适用于实时性要求较高的系统。
二,差错编码的基本原理
- 香农信道编码定理指出:对于一个给定的有干扰信道,只要发送端以低于信道容量 C C C的数据速率 R R R发送信息,则一定存在一种编码方式,使得编码错误概率 P P P随着码长 n n n的增加而按指数下降至任意小的值。
- 差错编码的基本原理就是在待传输(或待保护)数据信息的基础上,附加一定的冗余信息,该冗余信息建立起数据信息的某种关联关系,将数据信息以及附加的冗余信息一同发送到接收端,接收端可以检测冗余信息表征的数据信息的关联关系是否存在,如果存在则没有错误,否则就有错误。
三,差错编码的检错与纠错能力
- 不同差错编码的检错或纠错能力是不同的。
- 差错编码的检错或纠错能力与编码集的汉明距离有关。
- 两个等长码字之间,对应位不同的位数,称为两个码字的汉明距离,记为 d c d_c dc;如码字01100101与码字10011101之间的汉明距离 d c = 5 d_c=5 dc=5。
- 一个编码集的汉明距离为该编码集中任意两个码字之间汉明距离的最小值,记为 d s d_s ds ;如编码集{10000111,10010110,10100101,10110100}的汉明距离为 d s = 2 d_s=2 ds=2。
- 差错编码的所有有效码字的集合称为该差错编码的编码集。
- 差错编码的检错或纠错能力跟该差错编码的编码集的汉明距离有关。
- 对于检错编码,如果编码集的汉明距离 d s = r + 1 d_s=r+1 ds=r+1,则该差错编码可以检测 r r r位的差错。
- 对于纠错编码,如果编码集的汉明距离 d s = 2 r + 1 d_s=2r+1 ds=2r+1,则该差错编码可以纠正 r r r位的差错。
四,典型的差错编码
- 按位异或(XOR)运算操作,该操作等价于模2算术操作,用符号” ⨁ \bigoplus ⨁“表示,即参与运算的两个位值,如果两个位值相同,则结果为0,否则为1。
1,奇偶校验码
- 奇偶校验包括奇校验码和偶校验码。奇偶校验码利用1位冗余信息实现差错检测,可以表示为 ( n , n − 1 ) (n,n-1) (n,n−1)。在奇校验码编码过程中,1位冗余位的取值为“0”或“1”,使得编码后的码字中“1”的个数为奇数,满足 a n − 1 ⨁ a n − 2 ⨁ . . . ⨁ a 1 ⨁ a 0 = 1 a_{n-1}\bigoplus a_{n-2}\bigoplus ...\bigoplus a_1\bigoplus a_0=1 an−1⨁an−2⨁...⨁a1⨁a0=1。式中, a 0 a_0 a0为冗余位; a 1 . . . a n − 1 a_1...a_{n-1} a1...an−1为数据位。
- 对于采用奇偶校验的码字,如果在传输过程中有奇数位(包括数据位和冗余位)发生错误,那么奇偶校验码可以检测出错误的发生,但是如果有偶数位发生错误,则无法被检测出来,因此,奇偶校验码可以实现50%的检错率。
- 优点:编码简单,编码效率高,是开销最小的检错编码;缺点:检错率不高。
- 奇偶校验码常应用于低速串行通信链路上。通常编码格式是7位数据位,1位校验位,1~2位停止位,或者8位数据加上1个校验位,可以传输任意的8位数据或者ASCII字符。
2,汉明码
- 汉明码是典型的线性分组码,可以实现单个比特差错纠正,当信息位足够长时,它的编码效率很高。在数据通信以及数据存储系统中得到广泛应用。
- 若一个信息位为 k = n − 1 k=n-1 k=n−1位的比特流 a n − 1 a n − 2 . . . a 1 a_{n-1}a_{n-2}...a_1 an−1an−2...a1,加上偶校验位 a 0 a_0 a0,构成一个 n n n位的码字 a n − 1 a n − 2 . . . a 1 a 0 a_{n-1}a_{n-2}...a_1a_0 an−1an−2...a1a0。在接收方校验时,可按关系式 S = a n − 1 ⨁ a n − 2 ⨁ . . . a 1 ⨁ a 0 S=a_{n-1}\bigoplus a_{n-2} \bigoplus...a_1 \bigoplus a_0 S=an−1⨁an−2⨁...a1⨁a0来计算,若S=0,则无错;若S=1,则有错。上式可称为监督关系式,S称为校正因子,其取值只有两种(0或1),代表无错和有错两种,而不能指出差错的位置。
3,循环冗余码
- 循环冗余检测(Cyclic Redundancy Check,CRC)编码,简称循环冗余码,或CRC码。CRC码是一类重要的线性分组码,也称为多项式编码(Polynomial Code)。
- 使用CRC编码时,发送方和接收方必须预先商定一个生成多项式 G ( x ) G(x) G(x)。生成多项式的最高位和最低位系数必须是1。假设一帧数据有 m m m位,对应多项式 M ( x ) M(x) M(x),为了计算它的CRC编码,该帧必须比生成多项式长。基本思想是在帧的尾部附加一个校验和,使得附加校验和之后的帧所对应的多项式能够被 G ( x ) G(x) G(x)除尽。当接收方收到了带校验和的帧之后,用 G ( x ) G(x) G(x)去除它,如果余数不为0,则表明传输过程中有错误,否则无错。
第三节 多路访问控制协议
- 数据链路层使用的信道主要有以下两种类型:
- 点对点信道。
- 使用一对一的通信方式,信道被通信双方独享。
- 广播信道。
- 使用一对多的广播通信方式,广播信道上连接的结点很多,信道被所有结点共享,必须使用多路访问控制(Multiple Access Control,MAC)协议来协调结点的数据发送。
- 点对点信道。
- MAC协议主要可以分为三种
- 信道划分MAC协议
- 随机访问MAC协议
- 受控接入MAC协议
一,信道划分MAC协议
- MAC协议的根本任务是解决信道的共享问题。多路复用技术是实现物理信道共享的经典技术,基本思想是将信道资源划分后,分配给不同的结点,各结点通信时只使用其分配到的资源,从而实现了信道共享,并避免了多结点通信时的相互干扰。这种采用多路复用技术实现信道共享的MAC协议,称为信道划分MAC协议。
- 多路复用是在物理线路的传输能力远远超过单一信道所需的传输能力时,可以将多条信道复合在一条物理线路上的技术,在通信网络中,被广泛使用。
- 多路复用主要包括以下
- 频分多路复用(Frequency Division Multiplexing,FDM)
- 时分多路复用(Time Division Multiplexing,TDM)
- 波分多路复用(Wave Division Multiplexing,WDM)
- 码分多路复用(Code Division Multiplexing,CDM)
- 采用多路复用的MAC协议分别称为
- FDMA
- TDMA
- WDMA
- CDMA
1,频分多路复用
- 简称频分复用,是频域划分制,即在频域内将信道带宽划分为多个子信道,并利用载波调制技术,将原始信号调制到对应某个子信道的载波信号上,使得同时传输的多路信号在整个物理信道带宽允许的范围内频谱不重叠,从而共用一个信道。
- FDM为每路信号分配一个子信道,因此,信道带宽以及每个子信道的带宽决定了FDM的容量,即同时可以传输多少路信号。
- 为了防止多路信号之间的相互干扰,使用隔离频带来隔离每个子信道,在接收端,利用带通滤波器对信号进行分离,复原。
- 优缺点:
- 优点分路方便,是目前模拟通信中常采用的一种复用方式,特别是在有线和微波通信系统中应用广泛。
- 缺点各路信号之间的相互干扰,即串扰。主要原因是滤波器特性不够理想和信道中的非线性特性造成的已调信号频谱的展宽。FDM系统所需设备随输入路数增加而增多,不易小型化,并且FDM也不提供差错控制技术,不便于性能监测。
2,时分多路复用
- 简称时分复用,是一种时域划分,即将通信信道的传输信号在时域内划分为多个等长的时隙,每路信号占用不同的时隙,在时域上互不重叠,使多路信号合用单一的通信信道,从而实现信道共享。
- TDM系统的接收端,根据各路信号在通信信道上所占用的时隙分离并还原信号。
- 时分复用可以分为同步时分多路复用(Synchronism Time-Division Multiplexing,STDM)和异步时分多路复用(Asynchronism Time-Division Multiplexing,ATDM)
- 同步时分多路复用就是按照固定的顺序把时隙分配给各路信号。发送端以n个时隙为一个周期,分别将n路信号的采样构成一个时分复用帧,在接收端只需要采用严格同步的时隙分割方式以及完全相同的接收顺序,就可以将多路信号分离,还原。
- STDM(同步时分多路复用)采用固定的时隙轮流分配机制,当某路信号没有数据发送时,对应的时隙就处于空闲状态,可能会造成信道资源的浪费,解决方案采用异步时分多路复用。
- 提高设备利用效率,为有大量数据要发送的用户分配较多的时隙,数据量小的用户分配相对较少的时隙,没有数据的用户就不再分配时隙。这种时分多路复用方法叫做异步时分多路复用。也称为统计时分多路复用(Statistic Time-Division Multiplexing,STDM)。
- 在异步时分多路复用系统中,由于时隙与用户之间没有固定的对应关系,所以必须在每个时隙上加上用户的标识,以标记该时隙传输的是哪个用户的数据。
- 由于ATDM中用户的数据并不是按照固定的时间间隔发送的,所以称为“异步”。
- ATDM可以提高信道利用率,主要应用于高速远程通信,现代计算机网络的广域传输大多采用这种复用方式,ATDM技术复杂性比较高,存在需要传输用户标识等的额外数据传输开销等。如果每个想使用信道的用户都有数据要传输,但是由于异步时分多路复用不保证每个用户都能得到固定的时隙,就有可能导致由于多个用户访问信道带来的信道共享冲突问题。
3,波分多路复用
-
简称波分复用,广泛应用于光纤通信,其实质是一种频分多路复用,只是由于在光纤通信中,光载波频率很高,通常用光的波长来代替频率来讨论,所以称为波分多路复用。
-
波分多路复用是指在一根光纤中,传输多路不同波长的光信号,由于波长不同,所以各路光信号互不干扰,最后再用波长解复用器将各路波长的光载波分解出来。
-
光纤通信中的波分多路复用技术还包括密集波分复用(Dense Wavelength Division Multiplexing,DWDM)技术,DWDM的波分划分更密集,复用度更高,信道利用率更高,通信容量更大。DWDM是现代光纤通信网络的重要基础,可以有效支持IP,ATM等承载的电子邮件,视频,多媒体,数据和语音等数据通过统一的光纤层进行高速传输。
4,码分多路复用
- 简称码分复用,通过利用更长的相互正交的码组分别编码各路原始信息的每个码元(比如1位),使得编码后的信号在同一信道中混合传输,接收端利用码组的正交特性分离各路信号,从而实现信道共享。
- CDM(码分多路复用)的实质是基于扩频技术,即将需要传输的,具有一定信号带宽的信息用一个带宽远大于信号带宽的码序列进行调制,使原信号的带宽得到扩展,经载波调制后再发送出去,接收端则利用不同码序列之间的相互正交的特性,分离特定信号。
二,随机访问MAC协议
- 随机访问MAC协议就是所有用户都可以根据自己的意愿随机地向信道上发送信息,如果一个用户在发送信息期间没有其他用户发送信息,则该用户信息发送成功,如果两个或两个以上的用户都在共享的信道上发送信息,则产生冲突或碰撞(collision),导致用户信息发送失败,每个用户随机退让一段时间后,再次尝试,直至成功。
- 特点:站点可随时发送数据,争用信道,容易发生冲突,需要消解冲突的机制,但能够灵活适应站点数目及其通信量的变化。
- 常用的随机访问协议
- ALOHA协议
- 载波监听多路访问协议
- 带冲突检测的载波监听多路访问协议
1,ALOHA协议
- ALOHA系统的通信站点随机接入共享信道,利用相同载波频率,通过分组无线电系统广播数据帧,任何两个或两个以上的站点,以相同的频率同时广播帧,都将使信号遭到破坏,导致数据传输失败。ALOHA协议就是在该系统中,用于解决无线共享信道的共享接入,是一种典型的随机多路访问控制协议。
-
总线信道是对共享信道的抽象,各通信站点的通信,基于ALOHA协议随机竞争接入信道。
-
ALOHA协议分类
-
纯ALOHA
- 原理:任何一个站点有数据要发送时就可以直接发送至信道。发送站在发出数据后需要对信道侦听一段时间。通常这个时间为电波传到最远端的站再返回本站所需的时间。如果在这段侦听时间里收到接收站发来的应答信息,说明发送成功。否则说明数据帧遭到破坏(或者冲突),则等待一个随机时间后再进行重发,如果再次冲突,继续等待一个随机时间,直到重发成功为止。
- 时隙ALOHA
- 基本思想:把信道时间分成离散的时隙(Slot),每个时隙为发送一帧所需的发送时间,每个通信站只能在每个时隙开始时刻发送帧,如果在一个时隙内发送帧出现突变,下一个时隙以概率 P P P重发该帧,以概率 ( 1 − P ) (1-P) (1−P)不发该帧(等待下一个时隙),直到帧发送成功。显然, P P P不能为1,否则协议会死锁。时隙ALOHA协议需要所有通信站在时间上同步。
2,载波监听多路访问协议
- ALOHA协议的一个根本缺点:发送之前无论信道是否空闲都进行发送,会大大增加冲突的可能性。在发送帧之前,若能判断一下信道是否空闲,如果空闲则发送帧,否则推迟发送,这样,冲突的可能性便会减少。基于此思想,提出了载波监听多路访问协议(Carrier Sense Multiple Accsee,CSMA)。CSMA的特点是通过硬件装置,即载波监听装置,使通信站在发送数据之前,监听信道上其他站点是否在发送数据,如果在发送,则暂时不发送,从而减少发生冲突的可能性,提高了系统的吞吐量。
- 根据监听策略的不同,CSMA可以分为3类
- 非坚持CSMA
- 原理:若通信站有数据发送,先侦听信道;若发现信道空闲,则立即发送数据;若发现信道忙,则等待一个随机时间,然后重新开始侦听信道,尝试发送数据;若发送数据时产生冲突,则等待一个随机时间,然后重新开始侦听信道,尝试发送数据。
- 优缺点:
- 优点:减少冲突发生概率
- 缺点:导致该通信站发送延迟增大
- 1-坚持CSMA
- 原理:若通信站有数据发送,先侦听信道;若发现信道空闲,则立即发送数据;若发现信道忙,则继续侦听信道直至发现信道空闲,然后立即发送数据。
- 优缺点:
- 优点:减少信道的空闲时间
- 缺点:增加了发生冲突的概率
- P-坚持CSMA
- 原理:若通信站有数据发送,先侦听信道;若发现信道空闲,则以概率 P P P在最近时隙开始时刻发送数据,以概率 Q = 1 − P Q=1-P Q=1−P延迟至下一个时隙发送。若下一个时隙仍空闲,重复此过程,直至数据发出或时隙被其他通信站占用;若信道忙,则等待下一个时隙,重新开始发送过程;若发送数据时发生冲突,则等待一个随机时间,然后重新开始发送过程。
- 非坚持CSMA
3,带冲突检测的载波监听多路访问协议
-
CSMA即使在发送前进行监听,也会在发送数据时产生冲突。当两个帧发生冲突时,不仅会导致两个数据帧被破坏,也会使得信道无法被其他站所使用,因此,在冲突发生时,继续传输数据帧会造成信道的很大浪费。最好的解决方案就是一旦发现有冲突发生,所有通信站都立即停止继续发送数据。这就需要通信站在发送数据的同时,还要监听信道,这就是CSMA/CD协议,CD表示冲突检测(Collision Detection)。
-
原理:通信站使用CSMA协议进行数据发送;在发送期间如果检测到碰撞,立即终止发送,并发出一个冲突强化信号,使所有通信站都知道冲突的发生;发出冲突强化信号后,等待一个随机时间,再重复上述过程。CSMA/CD的工作状态可以分为传输周期,竞争周期和空闲周期。
-
信道有3种状态
- 传输状态:一个通信站使用信道,其他站禁止使用。
- 竞争状态:所有通信站都有权尝试对信道的使用权。
- 空闲状态:没有通信站使用信道。
-
CSMA/CD仍然会存在冲突,主要是因为信号传播时延的原因。
-
CSMA/CD协议是通过检测信道中信号强度来判断是否发生冲突的,因此CSMA/CD协议适用于有线信道,不适用于无线信道。
三,受控接入MAC协议
- 用户不能随意接入信道而必须服从一定的控制,分为集中式控制和分散式控制。
1,集中式控制
- 集中式方案中,系统中有一个主机负责调度其他通信站接入信道,从而避免冲突。又分为轮叫轮询和传递轮询。
- 轮叫轮询
- 原理:设共有 N N N个通信站连接共享线路。主机按顺序从站1开始逐个轮询,站1如有数据即可发给主机,站1如无数据,则发送控制帧给主机,表示无数据可发;然后主机轮询站2,在询问完站N后,又重复询问站1。“轮叫轮询”即表示主机轮流查询各站,询问有无数据要发送。当然主机也可以主动将数据发给各站。由于在主机向各站发送数据时有主动权,且其数据帧均带有各站的地址,每个站只能接收主机发送给自己的数据,所以不会出现混乱现象。
- 缺点:轮询帧在共享线路上不停地循环往返,形成了较大的开销,增加了帧发送的等待时延。解决方案:传递轮询
- 传递轮询
- 原理:主机先向站 N N N发出轮询帧,站 N N N在发送数据后或在告诉主机没有数据发送时,即将其相邻站(站 N − 1 N-1 N−1)的地址附上。从站1到站 N − 1 N-1 N−1都各有两条输入线,一条用来接收主机发来的数据,另一条则用来接收允许该站发送数据的控制信息。
- 轮叫轮询
- 集中式方案优缺点
- 优点:可以确保每个通信站最终都能获得对信道的使用权。
- 缺点:一旦主机出现问题,整个网络就陷入瘫痪。
2,分散式控制
- 典型的分散式控制方法是令牌技术。令牌(Token)是一种特殊的帧,代表了通信站使用信道的许可,在信道空闲时一直在信道上传输,一个通信站如果想发送数据就必须先要获得令牌,然后在一定时间内发送数据,在发送完数据后重新产生令牌并发送到信道上,以便其他通信站使用信道。
- 令牌环的操作过程
- 网络空闲时,只有一个令牌在环路上绕行。令牌中包含一位“令牌/数据帧”标志位,,标志位为“0”表示该令牌为可用的空令牌,标志位为“1”表示有站点正占用令牌在发送数据帧。
- 当一个站点要发送数据时,必须等待并获得一个令牌,将令牌的标志位置为“1”,随后便可发送数据。
- 环路中的每个站点边转发数据,边检查数据帧中的目的地址,若为本站点的地址,便读取其中所携带的数据。
- 数据帧环绕一周返回时,发送站将其从环路上撤销,即“自生自灭”。同时根据返回的有关信息确定所传数据有无出错。若有错则重发存于缓冲区中的待确认帧,否则释放缓冲区中的待确认帧。
- 发送站点完成数据发送后,重新产生一个令牌传至下一个站点,以使其他站点获得发送数据帧的许可权。
- 令牌丢失和数据帧无法撤销,是环网上最严重的两种错误,可以通过在环路上指定一个站点作为主动令牌管理站,以此来解决这些问题。主动令牌管理站通过一种超时机制来检测令牌丢失情况,该超时值比最长帧完全遍历环路所需的时间还要长一些。如果在该时段内没有检测到令牌,便认为令牌已经丢失,管理站将清除环路上的数据碎片,并发出一个令牌。为了检测到一个持续循环的数据帧,管理站在经过的任何一个数据帧上置其监控位为“1”,如果管理站检测到一个经过的数据帧的监控位已经置为“1”,便知道有某个站未能清除自己发出的数据帧,管理站将清除环路的残余数据,并发出一个令牌。
第四节 局域网
-
局域网(LAN)是局部区域网络,特点是覆盖面积较小,网络传输速率高,传输误码率低。局域网拓扑类型主要包括星形网络,总线型网络,环形网络等。
-
为了使数据链路层能更好适应多种局域网标准,IEEE 802将数据链路层拆分为两个子层
- 逻辑链路控制(LLC)子层
- 面向网络层,隐藏IEEE 802系列协议之间的差异,即不管采用何种协议的局域网对LLC子层来说都是透明的。
- 介质访问控制MAC子层
- 与介质访问控制有关的内容都放在MAC子层。
- 逻辑链路控制(LLC)子层
-
由于TCP/IP体系结构的网络,经常使用的局域网是以太网,因此IEEE 802委员会制定的逻辑链路控制子层LLC的作用已经不大了,很多厂商生产的网络适配器上就仅装有MAC协议而没有LLC协议。
一,数据链路层寻址与ARP
- 数据链路层的帧,需要携带发送帧结点的数据链路层地址,以及接收帧结点的数据链路层地址,标识帧的发送方与接收方。
1,MAC地址
- MAC地址存在于网络适配器中,或称为物理地址,局域网地址等,用来标识局域网中的结点或网络接口。
- 链路层交换机(2层交换机)的接口没有相关联的链路层地址,因为链路层交换机的任务,是在主机之间或主机与路由器之间“透明”地实现链路层帧的选择性转发,也就是说没有任何一个帧的目的是发送给交换机的某个端口。事实上,交换机的每个端口都工作在混杂模式下,任何一个帧都会被端口接收,至于如何转发这个帧,则由交换机查找交换表后进行决策处理。
- MAC地址长度为6字节,共有 2 48 2^{48} 248个可能的MAC地址,6字节的MAC地址通常采用十六进制表示法,即每个字节表示为一个十六进制数,然后用"-"或“:”将十六进制数连接起来。
- MAC地址的最初分配方案是每块网卡固化(在ROM中)一个固定不变的MAC地址,但是目前很多网卡支持用软件修改其MAC地址,但是修改后的MAC必须保证在局域网中的唯一性。
- 如何确保MAC地址唯一性
- MAC地址分配由IEEE统一管理,IEEE分配MAC地址的方式是:为厂商分配一个前24位固定的MAC地址块,厂商为其生产的每个适配器分配后24位。
- IEEE还规定地址字段的第一个字节的倒数第二位为G/L位,表示Global/Local,当G/L位为1时,表示本地管理,即用户可以自行分配MAC地址;当G/L位为0时,表示全球管理,保证了MAC地址的全球唯一性,但是,以太网几乎不理会G/L位。
- 有时适配器可以主动发送一个特殊的广播帧,让局域网上所有其他的适配器,都来接收并处理该广播帧。广播帧的目的MAC地址字段为特殊的MAC广播地址。在使用6字节MAC地址的局域网中,MAC广播地址是48位全部为1的地址,即FF-FF-FF-FF-FF-FF。所以,如果适配器接收到的帧的目的MAC地址与自己的MAC地址匹配,或者目的MAC地址为FF-FF-FF-FF-FF-FF(广播地址),则接收并处理该帧,否则丢弃该帧。
2,地址解析协议
-
地址解析协议(Address Resolution Protocol,ARP)用于根据本网内目的主机或默认网关的IP地址获取其MAC地址。
-
原理:在每台主机中设置专用内存区域,称为ARP高速缓存(也称ARP表),存储该主机所在局域网中其他主机和路由器(即默认网关)的IP地址与MAC地址的映射关系,并且这个映射表要经常更新。ARP通过广播ARP查询报文,来询问某目的IP地址对应的MAC地址,即知道本网内某主机的IP地址,可以查询得到其MAC地址。
-
ARP注意事项
- ARP查询分组是通过一个广播帧发送的,而ARP响应分组是通过一个标准的单播帧发送的。
- ARP是即插即用的,即一个ARP表是自动建立的,它不需要系统管理员来配置。
-
一个ARP分组封装在链路层帧中,因而在体系结构上位于链路层之上。然而,一个ARP分组具有包含链路层地址的字段,因而可认为是链路层协议,但它也包含网络层地址,也可以认为是网络层协议。
-
DNS与ARP区别
- DNS将主机域名解析为对应的IP地址;ARP将IP地址解析为对应的MAC地址。
- DNS可以解析Internet内任何位置的主机域名;ARP只能在同一个子网上的主机和路由器接口解析IP地址。
- DNS是一个分布式数据库,DNS的解析需要在层次结构的DNS服务器之间进行查询;ARP通过在局域网内广播ARP查询,维护ARP表,获取同一个子网内主机或路由器接口的IP地址与MAC地址映射关系。
二,以太网(Ethernet)
-
以太网成功原因
- 第一个广泛部署的高速局域网。
- 比令牌环网,FDDI和ATM技术要求低,造价成本小。
- 以太网硬件价格便宜,网络造价成本低。
-
冲突域
-
在一个局域网内,如果任意两个结点同时向物理介质中发送信号(数据),这两个信号一定会在物理介质中相互叠加或干扰,从而导致数据发送失败,那么,这两个结点位于同一个冲突域。
-
CSMA/CD协议的“边发边听,不发不听”的特征,检测的就是在同一冲突域范围内,有没有其他结点也在使用物理介质发送数据。
-
同一个冲突域内的任意两个结点的连接,或者是由物理链路直接连接,或者通过中继器(repeater)或者集线器(hub)等物理层设备互连,不会存在诸如交换机等第二层设备,也不会存在诸如路由器等第三层设备。
-
-
广播域
- 任一结点如果发送链路层广播帧(即目的MAC地址为FF-FF-FF-FF-FF-FF)的话,接收该广播帧的所有结点与发送结点同属于一个广播域。通常,路由器等第三层设备不转发链路层广播帧,因此,一个广播域内不会存在第三层设备,可能存在第二层设备,如交换机。
1,以太网帧结构
-
以太网采用CSMA/CD协议,利用曼彻斯特编码发送,使用截断二进制指数后退算法来确定碰撞后重传的时机。
- 目的地址,源地址:均为48位物理地址MAC地址。
- 类型:用于标识上层协议。使得以太网可以复用多种网络层协议。
- 数据:用于封装上层协议的分组,如IP数据报,发送方适配器在一个以太网帧中封装一个IP数据报,并把该帧传递到物理层。接收方适配器从物理层收到该帧,提取出IP数据报,并把该IP数据报传递给网络层的IP处理。
- CRC:CRC校验采用循环冗余校验,目的是使得接收方适配器检测帧中是否出现差错。
-
以太网向网络层提供的是无连接不可靠服务。
- 当适配器A要向适配器B发送一个数据报时,适配器A在一个以太网帧中封装该数据报,并且把该帧发送到局域网中,没有先与适配器B握手,因此提供的是无连接服务。
- 接收方适配器只简单丢弃检测出无效MAC帧,而不会利用确认重传等措施进行差错控制,所以以太网提供的是不可靠服务。
- 虽然以太网不提供可靠服务,但是由于局域网数据传输距离有限,通常误码率并不高,无效帧出现的概率并不高,偶尔的差错也可以由上层协议(如TCP)加以纠正。
2,以太网技术
1,10Base-T
- 用于替代同轴电缆以太网。
- 采用非屏蔽双绞线(UTP)作为传输介质,数据传输速率为10Mbit/s。
- 支持结构化布线方式和集线器设备。
- 以太网中的站点可以通过不超过100m的非屏蔽双绞线连接到一个集线器上,多个集线器可以通过级联方式连接到其他集线器上。
- 具有组网容易,具有良好的故障隔离功能。
- 工作站,集线器与双绞线之间的物理接口采用标准RJ-45接口,非屏蔽双绞线的最低标准是三类UTP,特征阻抗为100Ω。
2,快速以太网(100Base-T)
- 保留了传统以太网的帧结构和CSMA/CD介质访问控制方式,但数据传输速率提高到100Mbit/s。
- IEEE 802.3u,即快速以太网(100Base-T)标准。
- 100Base-T标准定义了3种物理层规范以支持不同的物理介质:
- 100Base-TX,采用两对5类UTP。
- 100Base-T4,采用四对3,4或5类UTP。
- 100Base-FX,采用光缆。
3,千兆位以太网(Gigabit Ethernet)
- 千兆位以太网支持CSMA/CD,以太网帧,全双工,流量控制以及IEEE 802.3标准中所定义的管理对象。
- 千兆位以太网标准定义了多个物理层规范以支持不同的物理介质。
- 1000Base-SX和1000Base-LX采用光纤作为传输介质。
- 1000Base-T使用5类UTP,最长距离100m,用户可在原来100Base-T基础上,平滑升级到1000Base-T。
- 1000Base-CX采用150Ω平衡屏蔽双绞线(STP),最大传输距离25m,使用9芯D型连接器连接电缆,适用于交换机之间的连接,尤其适用于主干交换机与主服务器之间的短距离连接。
4,万兆位以太网(10 Gigabit Ethernet)
- IEEE 802.3ae(10 Gigabit Ethernet),即万兆位以太网标准。
- 万兆位以太网进一步扩展了以太网的数据传输速率和传输距离,使得以太网技术突破局域网的限制,开始应用于城域网和广域网领域。
三,交换机
1,以太网交换机转发和过滤
- 交换机的基本工作原理是当一帧到达时,交换机首先需要决策将该帧丢弃还是转发,如果是转发,还必须决策应该将帧转发到哪个(或那些)端口去。交换机的决策依据是,以帧的目的MAC地址作为主键查询其内部的交换表,如果交换表有帧的目的MAC地址对应的交换表项,且对应的端口与接收到该帧的端口相同,则丢弃该帧,否则向表项中的端口转发帧;如果交换表中没有帧的目的MAC地址对应的交换表项,则向除接收到该帧的端口外的所有其他端口转发该帧(即泛洪)。
- 初始化时(如刚加上电),交换机的交换表是空的,交换机并不知道主机与交换机的端口是怎样的连接关系,当收到一个帧时,也无法根据帧的目的MAC地址以及交换表决策如何转发该帧,所以只能通过泛洪。交换机的交换表是在网络的运行过程中,通过自学习算法自动地逐渐建立起来的。
- 以太网交换机的基本工作方式是存储—转发,因此交换机可以具有多种速率的端口。
2,以太网交换机的优点
-
消除冲突
- 交换机分割了冲突域,使用交换机的局域网和使用集线器的局域网不同,不会因为产生冲突而浪费带宽。交换机具有缓存机制,并且在某一时间点只会传输一个帧或不传输。交换机的最大聚合带宽是所有接口速率之和。
-
支持异质链路
- 使用交换机的局域网中,不同的链路可以使用不同的速率运行并且能够在不同的媒介上运行。
-
网络管理
- 如:交换机可以检测到一个异常工作的适配器,并能够在内部切断异常适配器,实现异常点的隔离。
- 交换机也可以收集带宽使用的统计数据,碰撞率和流量类型,并提供给网络管理员以便对网络进行调试,管理与规划等。
四,虚拟局域网
- 数据链路层交换机互连的网络属于一个广播域,当使用太多的交换机互连大量的主机时,就构建了一个大的广播域。如果网络广播域太大,广播域内任一主机发送广播帧,广播域内的所有其他主机都会接收该帧,并且如果交换机的互连存在环路,则广播帧就有可能被大量复制,从而发生广播风暴,大量消耗网络带宽,严重影响网络的正常运行。
解决方案
- 虚拟局域网(Virtual Local Area Network,VLAN)技术,VLAN是一种基于交换机的逻辑分割广播域的局域网应用形式。
- 采用VLAN的方式可以不受物理位置的限制,以软件的方式划分和管理局域网中的工作组,可以限制接收广播信息的主机数,从而使局域网不会因为传播过多的广播信息而引起性能的恶化,即“抑制广播风暴”
- VLAN的划分
- 基于交换机端口划分
- 基于MAC地址划分
- 基于上层协议类型或地址划分
第五节 点对点链路协议
- 对于点对点链路,由于不存在介质共享问题,所有这类链路不需要MAC协议。
- 典型的点对点链路协议:PPP和HDLC协议。
一,PPP
-
全世界使用最多的点对点协议(Point to Point Protocol,PPP)。
-
PPP支持错误检测,支持多种上层协议(即支持复用),允许在连接时刻协商IP地址,允许身份认证等。
-
PPP提供的服务。
- 成帧:确定一帧的开始和结束,帧格式支持错误检测。
- 链路控制协议(Link Control Protocol,LCP):用于启动线路,检测线路,协商参数及关闭线路。
- 网络控制协议(Network Control Protocol,NCP):用于协商网络层选项,并且协商方法与使用的网络层协议独立。
-
PPP的一个典型应用场景是家庭用户拨号上网。
-
为了支持透明数据传输,PPP采用字节填充转义。
-
实际中,PPP的设计要困难得多,有部分功能不要求其实现
- 差错控制
- 流量控制
- 按序交付
HDLC协议
- 高级数据链路控制(High-level Data Link Control,HDLC)协议可以应用于点对点链路和点对多点链路。
- HDLC有3种类型的帧:信息帧,管理帧和无序号帧。HDLC协议使用了一个滑动窗口。
- HDLC协议是面向位的协议,为确保数据的透明传输,HDLC使用位填充。