数据链路层

数据链路层

(一)数据链路层的功能

数据链路层在物理层所提供服务的基础上向网络层提供服务。
其最基本的服务是将源自网络层的数据可靠地传输到相邻节点的目标机网络层。
其主要作用是加强物理层传输原始比特流的功能。
将物理层提供的,有可能出错的物理连接改进为逻辑上无差错的数据链路,从而向网络层表现为一条无差错的链路,提供高质量的服务。

功能一 为网络层提供服务 
    无确认无连接服务(通信质量好的有线传输链路) 有确认无连接服务和有确认面向连接服务(通信质量差的无线传输链路)
功能二 链路管理 
    连接的建立 维持 释放(面向连接的服务)
功能三 组帧
功能四 流量控制
功能五 差错控制(帧错/位错)

数据链路层的传输不能让网络层向下看起来是一条不出差错的链路?

旧版《计算机网络》的数据链路层是基于OSI体系结构,采样面向连接的HDLC协议,提供可靠传输的服务。
新版《计算机网络》的数据链路层基于TCP/IP体系结构,使用最多的协议是PPP协议和CSMA/CD协议(使用拨号入网或以太网入网),这俩种协议不使用序号和确认机制,故不能让网络层向下看起来是一条不出差错的链路。
当接收端通过差错检验发现帧在传输中出了差错,丢弃(PPP或CSMA/CD)或使用重传机制要求发送方重传(HDLC)。
如果需要可靠传输,由高层的TCP协议负责重传,但数据链路层不知道是重传的帧。

链路控制

负责数据链路的建立,维持和释放,主要用于面向连接的服务

帧同步

接收端能够区分收到的二进制比特流中一个帧的开始位置和结束位置

差错控制

用于使接收端确认接收端的数据就是由发送端发送的数据

透明传输

不管数据是怎样的比特组合,都能在链路上传输

(二)组帧机制

为什么要组帧?
  比特流传输出错,需要重传所有比特流,而组帧后,只需要重传出差的帧。
  
为什么组帧既要加首部,又要加尾部?报文切割只需要加首部?
  一个帧的开始和结束需要识别,帧是连续的。
  而报文切割成的分组是独立的,只需要加首部,知道目的地址就可以了,接收后组装起来就可以了。

组帧方法

 封装成帧就是在一段数据前后部分添加首部和尾部,构成一个帧。首部和尾部包含许多控制信息(帧定界,确认帧的界限)

在这里插入图片描述

*字符计数法

在这里插入图片描述

 用一个特殊的字符来表示一帧的开始,然后用一个计数字段来表明该帧包含的字节数。
 
 当目的主机接收到该帧时,根据此字段提供的字节数,便可知道该帧的结束位和下一帧的开始位。

 缺点:计数字段提供的字节数包含自身所占的一个字节,如果计数字段在传输中出现差错,接收方就无法判断所传帧的结束位,也无法知道下一帧的开始位,无法实现帧同步,故较少使用。

首尾界符法

有128个不同的ASCII码,但是可以键入的只有95个字符,那么当传送的帧是文本文件(即都是键盘键入的),就可以在剩下的33个控制字符中选定2个字符(SOH/01和EOT/04)作为帧开始符和帧结束符,接收端只需要判断俩个控制字符进行准确地分割成帧。

在这里插入图片描述

缺点:
传输的文本文件中发生传输出错,有可能导致文本文件中出现SOH或EOT。或者如果传输的帧不是文本文件,帧数据部分可能包含控制字段SOH或EOT,就会导致错误地找到帧的边界,把部分帧接收,误认为是一个完整的帧,透明传输问题未解决。(不严谨)

字节填充的首尾界符法

在数据中出现字符SOH或者EOT时,将其转化为"ESC"和"x" 或 "ESC"和"y",出现ESC字符,将其转化为"ESC"和"z"。

这种转换方法能够在接收端将收到的数据正确还原为原来的数据。
实现上的复杂性及不兼容性,较少使用。

在这里插入图片描述

比特填充的首尾标志法/零比特填充法

使用01111110(7E)作为帧的开始和结束标志。

如果帧数据部分出现01111110,只要数据帧检测到5个连续的1,立马在其后面插入0,接收端在做该过程的逆操作,硬件对比特流进行扫描,接收到5个1删除紧跟的0,以恢复原始数据。
   
保证了透明传输:在传送的比特流中可以传送任意比特组合,而不会引起对帧边界的判断错误。

在这里插入图片描述

*物理编码违例法

利用物理介质上编码的违法标志来区分帧的开始与结束。

在这里插入图片描述
在曼彻斯特编码中,码元1编码为高-低电平,码元0编码为低-高电平,而高-高电平和低-低电平的编码方式是无效的,可以分别用来作为帧的开始标志和结束标志。

(三)差错控制

传输中差错大部分由噪声引起的。
全局性噪声:线路本身电气特性产生的随机噪声(热噪声)是信道固有的。
可以通过提高信噪比来减少或避免干扰。(传感器)

局部性噪声:外界特定的短暂原因所造成的冲击噪声,产生差错的主要原因。
可以利用编码技术解决。

差错分为位错(比特位出错)和帧错(丢失,重复,失序)

检错编码

通过一定的编码和解码,能够在接收端解码时检测出传输的错误,但不能纠正错误。

奇偶校验码

在信息码后面加一位校验码,分奇校验和偶校验。

奇校验:添加一位校验码后,使得整个码字里面1的个数是奇数,接收端收到数据后就校验数据里1的个数,检测到奇数个1,则传输没有出错,若检测到偶数个1,则说明传输过程中数据发生了变化,要求重发。

缺点:查错能力有限,检错率极低,不实用。
当数据中有一位数据发生改变时,通过奇偶校验能够检测出来,但不知道是哪一位出错了。
如果数据中间同时有俩位数据发生了改变,此时奇偶校验是检测不到数据出错的。

循环冗余码(CRC)

根据欲发的k位信息生成一个r比特的序列,称为帧校验序列FCS。
求出实际发送的数据帧(k+r),这个帧所对应二进制序列恰好能够被某个预先确定的数(或生产多项式P(X)=X³ +X² +1 ⇒ P=1101)整除,得到余数FCS。
 CRC-16 =X¹⁶ + X¹⁵+X²+1
 CRC-CCITT= X¹⁶ +X¹²+X⁵+1
 CRC-32 = X³²+X²⁶ +X²³+X²²+X¹⁶ +X¹²+X¹¹+X¹⁰+X⁸+X⁷+X⁵+X⁴+X²+X+1

接收器用相同的数(生成多项式)去除传来的帧,如果无余数,则无差错,余数不为0,则传输出错。

在这里插入图片描述

纠错编码

海明码/汉明码

在信息字段中插入若干位数据,用于监督码字里的哪一位数据发生了变化,具有一位纠错能力。
假设信息位有k位,整个码字的长度为K+r位,每一位的数据只有俩种状态(0/1),r位数据就能表示出2^r种状态。如果每种状态代表一个码元发生了错误,有k+r位码元,需要k+r种状态表示,另外需要一种状态表示数据正确情况。
所以 2^r -1 >= k + r 才能检查一位错误。

海明码求解具体步骤
编写海明码:

确定校验码的位数r
  根据数据位数k代入公式(2^r - 1 >= k + r),求最小r值。
确定校验码位置
  校验码 P1 P2 … Pr
  数据位 D1 D2 … Dk
  编码后数据位 M1 M2 … M (k+r)
  校验码Pi 在编码后对应数据位的地址位 2^(i-1),即M1 M2 M4 M8 。
  即M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 M13 M14 M15 …
    P1 P2 D1 P3 D2 D3 D4 P4 D5 D6  D7  D8  D9  D10 D11 …
确定数据的位置
  将数据依次从左到右填入空余的Mi中。
求出校验码的值(例如M3,下标3的二进制为0011,只与e1和e3有关)
 e1 = M1 ⊕ M3 ⊕ M5 ⊕ M7 ⊕ M9 ⊕ M11 ⊕ M13 ⊕ M15
    = P1 ⊕ D1 ⊕ D2 ⊕ D4 ⊕ D5 ⊕ D7  ⊕ D9  ⊕ D11
    
 e2 = M2 ⊕ M3 ⊕ M6 ⊕ M7 ⊕ M10 ⊕ M11 ⊕ M14 ⊕ M15
    = P2 ⊕ D1 ⊕ D3 ⊕ D4 ⊕ D6  ⊕ D7  ⊕ D10 ⊕ D11      
    
 e3 = M4 ⊕ M5 ⊕ M6 ⊕ M7 ⊕ M12 ⊕ M13 ⊕ M14 ⊕ M15
    = P3 ⊕ D2 ⊕ D3 ⊕ D4 ⊕ D8  ⊕ D9 ⊕  D10 ⊕ D11      
    
 e4 = M8 ⊕ M9 ⊕ M10 ⊕ M11 ⊕ M12 ⊕ M13 ⊕ M14 ⊕ M15
    = P4 ⊕ D5 ⊕ D6  ⊕ D7  ⊕  D8 ⊕ D9  ⊕ D10 ⊕ D11        
    
 若海明码没有出错,则e1 e2 e3 e4均为0,则
 P1 = D1 ⊕ D2 ⊕ D4 ⊕ D5 ⊕ D7 ⊕ D9  ⊕ D11
 P2 = D1 ⊕ D3 ⊕ D4 ⊕ D6 ⊕ D7 ⊕ D10 ⊕ D11         
 P3 = D2 ⊕ D3 ⊕ D4 ⊕ D8 ⊕ D9 ⊕ D10 ⊕ D11        
 P4 = D5 ⊕ D6 ⊕ D7 ⊕ D8 ⊕ D9 ⊕ D10 ⊕ D11
 填入Mi得到海明码。

校验海明码

若校验码e4e3e2e1 = 0010 则M2出错,取反即可。

(四)流量控制

控制发送方发送数据的速率,使接收方来得及接收。
基本方法是由接收方控制发送方的数据流。

停止-等待流量控制

流量控制中最简单的形式。

工作原理:发送方发送一帧,然后等待应答信号到达再发送下一帧,接收方每收到一帧,返回一个应答信号,表示可以接收下一帧,若不返回应答信号,发送方必须一直等待。

滑动窗口流量控制

工作原理:在任意时刻,发送方都维持了一组连续的允许发送的帧的序号,称为发送窗口,代表已经被发送但未被确认的帧或可以被发送的帧。 同时,接收方也维持了一组连续的允许接收的帧的序号,称为接收窗口。
发送窗口和接收窗口的序号上下界不一定一致,甚至大小不同。

发送方每收到一个帧的确认,发送窗口就向前滑动一个帧的位置。发送窗口尺寸达到最大尺寸时,发送方会强行关闭网络层,直到有一个空闲缓冲区出来。
在接收方只有收到的数据帧的发送序号落入接收窗口内才允许将该数据帧收下,并将窗口前移一个位置。若接收到的数据帧落在接收窗口之外(即收到的帧号在接收窗口找不到相应的该帧号),一律将其丢弃。

(五)可靠传输机制

可靠传输与无差错接收的区别

在数据链路层若仅仅使用循环冗余码检验差错检验技术,只能做到对帧的无差错接收,即凡是接收端数据链路层接收到的帧均无差错。

因特网所以IP是无连接的,因此传输不可靠,这样容易使人们感到因特网不可靠,那么为什么不把因特网的传输设计成可靠的?

即使传送数据的因特网有一些缺陷(造成比特差错或分组丢失)但具有很多智能的终端仍然有办法实现可靠的数据传输(能够及时发现差错并通知发送方重传刚才出错的数据)。
即使网络可以实现100%的无差错传输,端到端的数据传输仍然有可能出现差错(例如文件通过文件系统存储/读取在主机硬盘出错)

滑动窗口机制

只有在接收窗口向前滑动时(与此同时也发送了确认信号),发送窗口才有可能向前滑动。

可靠传输机制包括停止-等待协议,后退N帧协议和选择重传协议。
从滑动窗口的层次上看,这三种协议只是在发送窗口和接收窗口大小上有所差别
停止-等待协议 发送窗口大小 = 1  接收窗口大小 = 1
后退N帧协议   发送窗口大小 > 1 接收窗口大小 = 1
选择重传协议  发送窗口大小 > 1 接收窗口大小 > 1

为什么不论发送窗口大小,当接收窗口大小=1,保证帧按序接收。?

因为接收窗口为1,所以里面有唯一的帧序号,不管发送窗口一次性可以发送多少字节,接收窗口只选择接收窗口里的帧序号接收,只有等到该帧,接收窗口才往后移到,所以按照该顺序接收的帧一定是有序的。

停止-等待协议

如何实现可靠传输

超时重传:发送方在发送一个数据帧设置一个超时计时器,如果规定时间内没有收到该帧的确认信号,重新发送该数据帧。

未收到确认信号的原因:
  当接收方检测到出错帧时,直接丢弃,不返回确认信号。
  该帧在传输过程中丢失。
  
使用确认和超时重传俩种机制实现可靠传输策略称为自动请求重发(ARQ)

停止-等待协议的基本思想

发送方传输一个帧后,必须等待对方的确认才能发送下一帧,若在规定时间内没有收到确认帧(ACK),则发送方超时并重传原始帧。

停止-等待协议中会出现的差错

帧一般被分为数据帧和确认帧。
第一类错误:
  若数据帧能够被正确接收到,接收方经过差错检验,就会发送一个确认帧。
  若接收方收到一个损坏的数据帧,则直接丢弃不发送确认信号,发送方的计时器超时,发送方会重发该数据帧。
  若接收方未收到数据帧,发送方的计时器超时,发送方重发该数据帧。
  循环重复直到这一数据帧无错误地到达接收方为止。
第二类错误:
  若确认帧被损坏或丢失,发送方无法接受到确认信号,会重发该数据帧,导致接收方重复接收该帧。
  对于接收方而言,需要发送方在每个待发的帧的头部加一个编号,接收方对每个到达的帧的编号进行识别,判断是新帧还是需要抛弃的重复帧。

停止-等待协议的确认帧需要编号吗

由于网络堵塞,原一号帧的确认帧超时,发送方重发一号帧后,接收到原一号帧的确认帧,发送方发送的二号帧过程中发生了丢失,接收方收到重发一号帧后发出确认帧,导致接收方误认为二号帧被接收。

由于目前的数据链路层协议是用在点对点的链路上,而在条件固定的链路上,数据往返时延一般较稳定,选择合适大小的超时重传时间,那么确认帧没有序号的停止-等待协议也是可以工作的。
由于技术的演变,完整的停止-等待协议的确认帧应当有序号。

接收方收到重复帧是否会再发送确认帧?

后退N帧协议(GBN)

支持累积确认接收(只要收到ACKn就可以认为n-1号帧接收方已经收到)
基于滑动窗口流量控制技术。
若采用N bit对帧进行编号,发送窗口尺寸WT必须满足 1 < WT ≤ 2ⁿー1。接收窗口尺寸为1。
若发送窗口尺寸大于2ⁿー1,会造成接收方无法分辨新,旧数据帧的问题。
由于接收窗口尺寸为1,因此接收方只能按序接收数据帧。*

为什么发送窗口尺寸是2ⁿー1

若发送窗口尺寸为2ⁿ。
发送方发送0号帧,接收方发送ACK1(收到0号帧,等待1号帧),但是ACK1丢失了,以此类推,直到发送方发送第2ⁿー1号帧,ACK2ⁿ丢失。此时发送方已经发送2ⁿ个帧,但是未收到任何一个ACK。得到0号帧的计时器超时进行重发,接收方认为是新数据帧,从而出现错误。

若发送窗口尺寸为2ⁿー1。
发送方发送了0~2ⁿー2号帧,若ACK未丢失,则发送2ⁿー1号帧,若ACK丢失,则发送方应该发送0号帧,这时接收方可以判断下一帧若不是2ⁿー1号帧,则为重传帧,因此不会发生错误。

基本原理

发送方发送完一个数据帧后,不等待确认帧,而是连续发送若干个数据帧。
如果收到确认帧,那么继续发送数据帧
如果某个帧出错了,接收方丢弃该帧及其所有后续帧,发送方超时后,需重发未收到确认帧对应的数据帧及其后续的所有帧。
由于减少了等待时间,后退N帧协议使得整个通信的吞吐量得到提高,但是接收方收到错误帧,就不再接收后续帧,造成浪费,由此改进得到选择重传协议。

选择重传协议(SR)

不支持累积确认接收。
基于滑动窗口流量控制技术。
接收窗口尺寸和发送窗口尺寸都大于1,以便能一次性接收多个帧。
若采用Nbit对帧进行编号,为避免接收编号向前移动窗口后,新接收窗口与旧接收窗口重叠,发送窗口的最大尺寸不超过序列号范围的一半(WT≤2ⁿ⁻¹)
大部分情况是发送窗口等于接收窗口等于2ⁿ⁻¹,可以达到最大效率,若大于2ⁿ⁻¹,可能造成新旧窗口重叠。

基本思想

若帧出错,其后续帧先存入接收方的缓冲区中,同时要求发送方重传出错帧,一旦收到重传帧,就和原先存在缓冲区的其余帧一起按照正确的顺序送至主机。
避免了重复传输本来已经正确到达接收方的数据帧,进一步提高了信道利用率,代价是增加缓冲空间。

为什么最大发送窗口尺寸为2ⁿ⁻¹

假设选择重传协议的最大发送窗口是W,一次性发送0~W-1号帧,并且接收方都确认已接收,但是W个ACK在传输过程中全都丢失了,而接收窗口位置已经移到W~2W-1,而发送方发送的是重传帧,从而发生错误。
所以要满足2W-1是在最大序号2ⁿ-1之内,也就是2W-1≤2ⁿ-1,即最大发送窗口尺寸W≤2ⁿ⁻¹。

发送缓存和接收缓存

在这里插入图片描述
发送窗口与接收窗口以及接收窗口与接收缓存有什么区别?

为什么计算机进行通信时发送缓存与接收缓存总是需要的?


在计算机进程之间的通信过程中,广泛使用缓存。缓存就是在计算机的存储器中设置一个临时存放数据的空间。
发送进程将欲发送的数据先写入缓存,然后接收进程在合适的时机读出数据。
缓存可以很好地解决发送速率和接收速率不一致的矛盾,
还可以很方便地进行串并转换,即比特流串行写入并行读出,或并行写入串行读出。

(五)介质访问控制

信道划分介质访问控制/静态划分信道

(静态分配信道方法,代价高,不适合局域网使用)

信道复用技术

当传输介质的带宽超过了传输单个信号所需的带宽时,人们就通过在一条介质上同时携带多个传输信号的方法提高传输系统的利用率,即为多路复用,实现信道划分介质访问控制的途径。

多路复用技术将多个信号组合在一条物理信道上进行传输,使多个计算机或终端设备共享信道资源,从而提高信道的利用率。

用户通过复用技术可以共同使用一个共享信道进行通信,需要付出一定的代价成本(共享信道由于带宽较大而费用较高,加上复用器和分用器成本),复用信道数量较大,则经济上合算的。

在这里插入图片描述

频分复用(FDM)
给每个信号分配唯一的载波频率并通过单一媒体来传输多个独立信号的方法,组合多个信号的硬件为复用器,分离这些信号的硬件为复用器。

将一条信道分割成多条不同频率的信道,使用频分复用时,如果复用数增加,那么信道的带宽(频率带宽)必须增加。

每个子信道分配的带宽可以不相同,为防止子信道之间的干扰,相邻信道之间添加“保护频带”。

在这里插入图片描述

时分复用(TDM)
把多个信号复用到单个硬件传输信道,它允许每个信号在一个很短的时间使用信道,接着再让下一个信号使用。

在这里插入图片描述

在这里插入图片描述

统计时分复用/异步时分复用(STDM)
一种改进的时分复用,能明显地提高信道的利用率,STDM帧不是固定分配时限,而是按需动态分配时隙,可以提高线路利用率。

在这里插入图片描述

波分复用(WDM)
即光的频分多路复用。
借用传统的载波电话的频分复用的概念,就能做到使用一根光纤来同时传输多个频率很近的光载波信号,光纤的传输能力成倍提高,由于光载波的频率很高,习惯上用波长表示所使用的光载波(不用频率)。由于各路光的频率(波长)不同,因此各路光信号互不干扰。最后用分波器将各路波长不一样的光分离出来。

在这里插入图片描述

密集波分复用(DWDM)
波分复用的一种具体表现形式。
DWDM波长间隙很小,不到2nm,甚至小于0.8nm。
可以把几十路甚至一百多路的光载波信号复用到一根光纤中传输。
目前WDM系统几乎全部是DWDM系统。
码分复用/码分多址(CDMA)
一种共享信道和时间的动态复用技术。

每个用户可以在相同的时间使用同样的频带进行通信。各用户使用通过特殊挑选的不同码型,各用户之间不会造成干扰,这种系统发送的信号有很强的抗干扰能力。

在这里插入图片描述

每个站点都维持一个属于该站点的芯片序列,并且是固定的。

假如站点A的芯片序列为00011011,则站点A发送00011011表示发送比特1,而11100100表示比特0,习惯将芯片序列中0写成-1,1写成+1。则A站芯片序列为(-1 -1 -1 +1 +1 -1 +1 +1),称为该站的码片向量。

任意两个不同站的码片向量正交积为0
任意站点的码片向量与该码片向量自身的规格化内积一定为1
任意站点的码片向量和该码片向量的反码向量的规格化内积一定为-1

随机访问介质访问控制/动态媒体接入控制/多点接入

(动态分配信道方法) 

随机接入:

 所有用户都可以根据自己的意愿随机地发送信息,这样就会产生冲突(或碰撞)从而导致所有冲突用户发送数据失败,为了解决随机接入发生的碰撞,CSMA/CD等协议被引入

受控接入

不能随机地发送数据必须服从一定的控制。
如分散控制的令牌环局域网和集中控制的多点线路探寻(轮询)

ALOHA协议

其基本思想较简单。
当网络中的任何一个节点需要发送数据时,可以不进行任何检测就发送数据。
如果在一段时间内没有收到确认,该结点就认为传输过程中发生了冲突。
发生冲突的节点需要等待一段随机时间后再发送数据,直到发送成功为止。

CSMA协议/载波侦听多路访问协议

在ALOHA协议的基础上改进而来的一种多路访问控制协议。
在CSMA中,每个结点发送数据之前都使用载波侦听技术来判定通信信道是否空闲,常用的CSMA有以下三种策略:
(1)1-坚持CSMA:当发送结点监听到信道空闲时,立刻发送数据,否则继续监听。
(2)p-坚持CSMA:当发送结点监听到信道空闲时。以概率p发送数据,以概率(1-p)延迟一段时间并重新监听。
(3)非坚持CSMA:当发送结点一旦监听到信道空闲时,立刻发送数据。否则延迟一段随机的时间再重新监听。

CSMA/CD协议 / 载波侦听多点接入/碰撞检测协议

CSMA/CD工作流程

每个站点在发送数据之前要先检测一下总线上是否有其他计算机在发送数据。
若有,则暂时不发送数据,以免发生冲突。
若没有,则发送数据。计算机在发送数据的同时检测信道上是否有冲突发生。
若有冲突,则采用截断二进制指数类型退避算法来等待一段随机时间后再次重发。
总体来说,可概括为“先听后发,边听边发,冲突停发,随机重发”

CSMA/CA协议

CSMA/CA主要用在无线局域网中,由IEEE 802.11标准定义。在CSMA的基础上增加了冲突避免的功能。
冲突避免要求每个结点在发送数据之前监听信道。如果信道空闲,则发送数据。发送结点在发送完一帧后,必须等待一段时间(帧间间隔 最小9.6μm即96bit时间内保持信道空闲)检查接收方是否发回帧的确认(CSMA/CA协议对正确接收到的数据帧进行确认)若收到确认,则表明无冲突发送。若在规定时间内没有收到确认。表明出现冲突,重发该帧。

轮询访问介质访问控制

(动态分配信道方法)
轮询访问介质访问控制主要用在令牌环局域网中,目前使用很少。
在轮询访问介质访问控制中,用户不能随机地发送信息,而是通过一个集中控制的监控站经过轮询过程后再决定信道的分配。
典型的轮询访问介质访问控制协议就是令牌传递协议。

令牌传递协议

令牌环局域网吧多个设备安排成一个物理或逻辑连接环。
为了确定哪个设备可以发送数据,让一个令牌(特殊格式的帧)沿着环形总线在计算机之间依次传递。
当计算机都不需要发送数据时,令牌就在环形网上“游荡”,而需要发送数据的计算机只有拿到该令牌才能发送数据帧,所以不会发送冲突(令牌只有一个),即受控接入。

(六)局域网LAN

Local Area Network
一个较小范围内的多台计算机或者其他通信设备,通过双绞线,同轴电缆等连接介质互连起来,以达到资源和信息共享的互联网络。

特征

局域网为一个单位所拥有
地点范围和站点数目有限
与以前非光纤的广域网相比,局域网具有较高的数据率,较低的时延和较小的误码率

优点

具有广播功能,能从一个站点可以很方便地访问全网,局域网上的主机可共享连接在局域网上的各种硬件和软件资源。
便于系统的扩展和演变,各设备的位置可以灵活地调整和改变。
提高了系统的可靠性,可用性。

拓扑结构

星形网 环形网 总线型网 树形网

传输介质

双绞线(主流传输介质)
铜缆
光纤

介质访问控制方法

决定局域网的技术特性

介质访问控制方法主要包括 CSMA/CD(总线形网),令牌总线(总线形网)和令牌环(环形网)。
 
IEEE的802标准定义的局域网参考模型只对应于OSI参考模型的数据链路层和物理层,并且将数据链路层拆分为俩个子层(逻辑流量控制(LLC)子层和媒体接入控制(MAC)子层,与接入到传输媒体有关的内容都放在MAC子层,而LLC子层与传输媒体无关。

以太网

工作原理

以太网采用总线拓扑结构,所有计算机都共享一条总线,信息以广播方式发送,为了保证数据通信的方便性和可靠性,以太网使用了CSMA/CD技术对总线进行访问控制,考虑到局域网信道质量好,以太网采用了以下俩项措施使通信更加简便。    
(1)采用无连接的工作方式。
(2)不对发送的数据帧进行编号,也不要求对方发送确认。

因此以太网提供的服务是不可靠的服务,即尽最大努力,差错的纠正由传输层的TCP完成

数据链路层是不提供重传机制,为什么以太网会有重传机制?

以太网的MAC帧

MAC帧组成分析

前导码:在帧的前面插入8B,使接收端与发送端进行时钟同步,这8B又可以分为前同步码(7个字节1010 1010…1010)和帧开始定界符(1个字节 1010 1011)俩部分。(没有帧结束定界符,使用曼彻斯特编码,传输结束趋于稳定)
目的地址和源地址:均使用48bit(6B)的MAC地址(网卡地址)。
类型:占2B,指出数据域中携带的数据应交给哪个协议实体处理。
    若类型字段的值为0x0800,表示上层使用的是IP数据报等。
数据:占46-1500B。由CSMA/CD算法可知,以太网帧的最短帧长为64B,而MAC帧的首部和尾部的长度为18B,所以数据最短64B-18B=46B,最大的1500B为规定的。
填充:填充数据长度范围0~46B(若数据不足46字节,填充到最小帧长)
校验码(FCS):占4B,采用循环冗余码,不仅校验MAC帧的数据部分,还要校验目的地址,源地址和类型字段,但不校验前导码。
IEEE 802.3标准
DIX Ethernet V2标准

在这里插入图片描述

以太网的传输介质

Base指电缆上的信号为基带信号,采用曼彻斯特编码
Base前面的10表示数据传输率为10Mbps
Base后面的5或2表示每一段电缆最长为500m或200m(实际185m)
T表示双绞线,F表示光纤。

在这里插入图片描述

高速以太网

数据传输速率≥100Mbps的以太网。
传统以太网 10Mbps的以太网。
100Base-T以太网/快速以太网
在双绞线上传送100Mbps基带信号的星形拓扑结构以太网,使用CSMA/CD协议。
可以在全双工方式下工作而无冲突发生,此时无需使用CMSA/XD协议,半双工方式下需要使用CSMA/CD协议。
保持最短帧长不变,一个网段最大电缆长度减小到100m,帧间间隔从9.6ms改为0.96ms,以提高数据传输率。
吉比特以太网/千兆以太网
允许在1Gbps下全双工和半双工两种方式工作。
可以在全双工方式下工作,无需使用CMSA/XD协议,半双工方式下需要使用CSMA/CD协议。
*10吉比特以太网
 保留了IEEE 802.3标准规定的以太网帧格式,最小帧长和最大帧长,便于升级。
 不再使用铜线而只使用光纤作为传输介质
 只在全双工方式下工作,不使用CSMA/CD协议。

无线局域网

协议标准

IEEE 802.11a /IEEE 802.11b

组成

有固定基础设施无线局域网
IEEE 802.11标准规定最小构件为基本服务集(BSS)。
一个基本服务集包括一个基站和若干个移动站,所以站在本BSS内可直接通信,但在和本BSS以外的站通信时都必须通过本BSS的基站。因此,BSS中的基站称为接入点(AP)。
一个基本服务集可以是孤立的,也可以通过连接到一个主干分配系统(DS),然后再接入另一个基本服务集,构成扩展的服务集(ESS)。
ESS还可以通过门桥(Portal)设备为无线用户提供非IEEE 802.11无线局域网的接入。
无固定基础设施无线局域网/自主网络
自主网络没有上述基本服务集中的接入点AP,而是由一些处于平等状态的移动站之间的相互通信组成的临时网络,这些移动站都具有路由器的功能。

IEEE 802.11标准中的物理层

IEEE 802.11标准中的物理层有三种实现方法:
跳频扩频(FHSS)
直接序列扩频(DSS)
红外线(IR)

IEEE 802.11标准中的MAC层

IEEE 802.11标准中的MAC层在物理层上面,包括点协调功能子层(PCF 处于上层)和分布协调功能子层(DCF 处于下层)
由于CSMA/CD协议对无线局域网进行冲突检测花费过大并且冲突检测到信道空闲后仍然可能发生冲突,因此在无线局域网的MAC层,使用带有碰撞避免功能的CSMA/CA协议,同时增加确认机制。

令牌环网的基本原理

在Token Ring中,结点通过环接口连接成物理环形,令牌是一种特殊的MAC控制帧,帧中有一位标志令牌(忙/闲)。
令牌总是沿着物理环单向逐站传送,传送顺序与结点在环中排列顺序相同。

在这里插入图片描述
令牌环网中令牌和数据传递过程

当网络空闲时,环路中只有令牌在网络中循环传递。
令牌传递到有数据要发送的结点处,该结点就修改令牌中的一个标志位,然后在令牌中附加自己需要传输的数据,将令牌改为了一个数据帧,源结点将该数据帧发送出去。
数据帧沿着环路传递,接收到的结点一边转发数据,一边查看帧的目的地址。如果目的地址和自己的地址一致,接收结点就复制该数据帧以便进行下一步处理。
数据帧沿着环路传输,直到到达该帧的源结点,源结点接收自己发出去的数据帧便不再转发。同时,该源结点可以通过校验返回的数据帧,查看数据传输过程中是否出错,若有错,则重传该帧。
源结点传送完数据后,重新产生一个令牌,将令牌传递给下一个站点,以交出数据帧的权限。

(七)广域网

由一些结点交换机以及连接这些交换机的链路组成。结点交换机将完成分组存储转发的功能。

在这里插入图片描述

从层次上考虑,局域网使用的协议主要在数据链路层,包含少量物理层的内容,而广域网使用的协议主要在网络层。
广域网的理由选择协议负责搜索分组从某个结点到目的结点的最佳传输路由,以便构造路由表(路由选择)
从路由表再构造出转发分组的转发表,分组是通过转发表进行转发(分组转发)

广域网:通过交换机连接多个局域网,组成更大的局域网,所以广域网是一个网络。
因特网:多个网络之间互连,即因特网由大局域网(广域网)和小局域网共同通过路由器连接。
局域网:可通过因特网与另一个相隔很远的局域网进行通信。

链路控制

点对点协议/PPP协议

组成
(1)一个将IP数据报封装到串行链路的方法。
(2)一个链路控制协议(LCP),用于建立,配置和测试数据链路连接,并在不需要时将其释放。
(3)一套网络控制协议(NCP),其中每个协议支持不同的网络层协议,用于建立和配置不同的网络层协议。
帧格式

在这里插入图片描述

(1)标志字段(F):首部和尾部各占1个字节,规定为0x7E。
(2)地址字段(A):占1个字节,规定为0xFF。
(3)控制字段(C):占1个字节,规定为0x03。
(4)协议字段:占2个字节。
(5)信息字段:占64~1500个字节。
(6)帧校验序列(FCS):占2个字节,即循环冗余码检验中的冗余码。检验区间包括地址字段,控制字段,协议字段和信息字段。

为什么连续俩个PPP帧之间只需要一个标志字段?

工作状态
当用户拨号接入ISP时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。
这时,个人计算机向路由器发送一系列的LCP分组(封装成多个PPP帧)。
这些分组及其响应选择了将要使用的一些PPP参数。
接着进行网络层配置,网络控制协议(NCP)给新接入的个人计算机分配一个临时IP地址。这样个人计算机就成为因特网上的一个主机了。
当用户通信完毕,NCP释放网络层连接,收回原来分配出去的IP地址。
接着LCP释放数据链路层连接,最后释放物理层连接。

PPP是一个面向字节的协议。
PPP不需要 纠缠,流量控制,序号,多点线路,半双工,单工等功能。

高级数据链路控制协议/HDLC协议

基本特点
HDLC协议是ISO制定的面向比特的数据链路控制协议。适用于链路的俩种基本配置。(非平衡配置和平衡配置)

非平衡配置

由一个主站控制整个链路的工作

平衡配置

链路俩端的俩个站都是复合站,每个复合站都可以平等地发起数据传输,而不需要得到对方复合站的允许。
帧格式

在这里插入图片描述

  (1)标志字段(F):占8位 (0111 1110)首尾各有一个0作为帧的边界,为防止在俩个标志字段F之间出现“0111 1110”,HDLC使用比特填充的首尾标志法,当一串比特流未加上控制字段时,扫描整个帧,只要发现有连续5个“1”,立即填入一个“0”。
  (2)地址字段(A):占8位,若使用非平衡方式发送数据,为次站的地址。若使用平衡方式发送数据,为确认站的地址。全“1”为广播方式,全“0”为无效地址。
  (3)控制字段(C):占8位,最复杂的字段,HDLC的许多重要功能都靠控制字段实现,根据其前面俩位的取值,可将HDLC帧划分为:信息帧(I帧),监督帧(S帧)和无编号帧(U帧)。
  (4)信息字段:长度任意,存放来自网络层的协议数据单元。
  (5)帧检验序列(FCS):占16位,即循环冗余码检验中的冗余码,检验区间包括地址字段,控制字段和信息字段。

PPP协议和HDLC协议的帧格式区别

PPP是面向字节,而HDLC协议是面向比特。
PPP使用字节填充,而HDLC使用比特填充。
PPP帧比HDLC帧多2字节的协议字段。
PPP不使用序号和确认机制,只保证无差错接收,而端到端差错检测由高层协议完成。
HDLC协议的信息帧使用了编号和确认机制。

PPP协议和HDLC协议的透明传输机制

(四)数据链路层设备

网桥

在物理层扩展局域网使用的是中继器和集线器

缺点:扩大了冲突域且总的吞吐量未提高。不能互连使用不同以太网的局域网。

在数据链路层扩展局域网使用的是网桥

    网桥工作在数据链路层,其特点是具有过滤帧的功能。
    网桥至少有两个端口,每个端口与一个网段相连。
    网桥每从一个端口接收到一个帧,就先暂存到缓存中。
    若该帧未出现差错,且欲发往的目的站MAC地址属于另一个网段(同一个网段无需转发,直接丢弃),则通过查找转发表,将该帧从对应的端口发出。
    因此,仅在同一个网段中通信的帧,不会被网桥转发到另一个网段中,因而不会加重整个网络的负担。

在这里插入图片描述

优点

过滤通信量
扩大物理范围
提高可靠性
可互连不同物理层,不同MAC子层和不同速率的以太网

缺点

存储转发增加时延
在MAC子层并没有流量控制功能
具有不同MAC子层的网段桥接在一起时 时延更大
网桥只适合用户数不太多(不超过几百个)和通信量不太大的局域网,否则还会因传播过多的广播信息而产生网络拥塞(即广播风暴)

分类

透明网桥

(选择的不是最佳路由)
目前使用最多的网桥。
透明指局域网上的站点并不知道所发送的帧经过哪些网桥,网桥对站点来说是看不见的。
透明网桥是一种即插即用设备,只要接入局域网,不用人工配置转发表,经过自学习,网桥即可工作。

连接在透明网桥上的一台计算机把一个数据帧发送给网络上不存在的一个设备,网桥如何处理?

网桥并不知道网络上是否存在该设备,若转发表中没有该设备的MAC地址,则通过所有其他接口(除进入网桥的接口)进行转发。

帧在网络中不断地转圈,导致资源被浪费
在这里插入图片描述
在这里插入图片描述

为了避免转发的帧在网络中不断地转圈,透明网桥使用了一种生成树算法
生成树使得整个扩展局域网在逻辑上形成树形结构,所以工作起来逻辑上没有环路,但生成树不是最佳路由。
算法不作要求。

源选径网桥

选择的是最佳路由。
路由选择由发送数据帧的源站负责,网桥只根据数据帧中的路由信息对帧进行接收和转发。
为了发现合适的路由,源站先以广播方式向欲通信目的站发送一个发送帧。
发送帧将在整个局域网中沿着所有可能的路由传送,并记录所经过的路由。
当发送帧到达目的地时,就沿原来的路径返回源站。
源站得知这些路由后,再从所有可能的路由中选择最佳路由。

交换机

基本概念

局域网交换机实质上是多端口网桥,工作在数据链路层。
交换机每个端口直接与主机或集线器相连,并且一般以全双工方式工作。
当主机需要通信时,交换机能同时连通许多对的端口,每一对互通的主机能够独占通信媒体,进行无冲突地传输数据,通信完成后断开连接。

交换模式

直通式交换:
  只检查帧的目的地址,使得帧在接收后能马上被转发出去。
  速度快,但缺乏安全性,无法支持具有不同速率的端口的交换。
存储转发式交换
  先将接收到的帧存储在高速缓存中,检查数据是否正确。
  确认无误,查找转发表,将该帧从查询到的端口转发出去。
  如果发现该帧有错误,直接丢弃。
  可靠性高,支持不同速率端口间的转换,但延迟较大。

工作原理

与网桥类似,检测从某端口进入交换机的帧的源MAC地址和目的地址MAC地址
然后与系统内部的动态查找表进行比较,
若数据报的MAC地址不在查找表中,则将该地址加入查找表,并发送给相应的目的端口。

各层设备的广播域,冲突域及总结

适配器/网卡

计算机网络

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值