第三章 数据链路层
3.1 链路层的功能概述
数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路。
其功能:
1、为网络层提供服务。无确认无连接服务,有确认无连接服务,有确认面向连接服务。
2、链路管理,即连接的建立、维持、释放(用于面向连接的服务)
3、组帧
4、流量控制
5、差错控制(帧错/位错)
3.2 组帧
3.2.1 透明传输
透明传输:不管所传数据是什么样的比特组合,都应当能够在链路上传送。
3.2.2 字符计数法
3.2.3 字符填充法
-
当传送的帧是由文本文件组成时(文本文件的字符都是从键盘上输入的,都是ASCII码)。不管从键盘上输入什么字符都可以放在帧里传过去,即透明传输。
-
当传送的帧是由非ASCII码的文本文件组成时(二进制代码的程序或图像等)。就要采用字符填充方法实现透明传输。
3.2.4 零比特填充法
3.2.5 违规编码法
3.3 差错控制
3.3.1 差错来源
-
全局性:由于线路本身电气特性所产生的随机噪声(热噪声),是信道固有的,随机存在的。解决方法:提高信噪比来减少或避免干扰。
-
局部性:外界特定的短暂原因所造成的冲击噪声,是产生差错的主要原因。解决办法:通过利用编码技术来解决。
差错分类
位错:比特位出错
帧错:丢失、重复、失序
3.3.2 数据链路层的差错控制
冗余编码:在数据发送之前,先按某种关系附加上一定的冗余位,构成异构符合某一规则的码字后再发送。当要发送的有效数据变化时,相应的冗余位也随之变化,使码字遵从不变的规则。接收端根据收到码字是否仍符合原规则,从而判断是否出错。
3.3.3 检错编码
奇偶校验码
奇偶校验码特点:只能检查出奇数个比特错误,检错能力为50%。
CRC循环冗余码
3.3.4 纠错编码
海明码:https://blog.csdn.net/u014470361/article/details/79848824
3.4 流量控制与可靠传输机制
3.4.1 流量控制
可靠传输:发送端发啥,接收端收啥。
流量控制:控制发送速率,使接收方有足够的缓冲空间来接收每一个帧。
滑动窗口解决:流量控制(收不下就不给确认,想发也发不了)和可靠传输(发送方自动重传)
3.4.2 停止-等待协议
停止-等待协议:每发送完一个分组就停止发送,等待对方确认,在收到确认后再发送下一个分组。
信道利用率:发送方在一个发送周期内,有效地发送数据所需要的时间占整个发送周期的比率。
信道利用率 = (T内发送L比特数据 / 发送方数据传输率)/ 发送周期
信道吞吐率 = 信道利用率 * 发送方的发送速率
有差错情况:[1]、数据帧丢失或检测到帧出错;[2]ACK丢失;[3]、ACK迟到
3.4.3 后退N帧(GBN)协议
滑动窗口
GBN发送方
-
上层的调用:上层要发送数据时,发送方先检查发送窗口是否已满,如果未满,则产生一个帧并将其发送;如果窗口已满,发送方只需将数据返回给上层,暗示上层窗口已满。
-
2、收到了一个ACK:GBN协议中,对n号帧的确认采用累积确认的方式,标明接收方已经收到n号帧和它之前的全部帧。
-
超时事件:如果出现超时,发送方重传所有已经发送但未被确认的帧。
GBN接收方
-
如果正确收到n号帧,并且按序,那么接收方为n帧发送一个Acknowledge,并将该帧中的数据部分交付给上层。
-
其余情况都丢弃帧,并为最近按序接收的帧重新发送ACK。接收方无需缓存任何失序帧,只需要维护一个信息:expectedseqnum(下一个按序接收的帧的序号)
滑动窗口长度
若采用n个比特对帧编号,那么发送窗口的尺寸Wt应满足:1<= Wt <= 2^n –
1。因为发送窗口尺寸过大,就会使得接收方无法区别新帧和旧帧。
GBN协议:1、累积确认(偶尔捎带确认);2、接收方只按顺序接收帧,不按序无情丢弃;3、确认序列号最大的,按序达到的帧;4、发送窗口最大为2^n-1,接收窗口大小为1。
3.4.4 选择重传(SR)协议
SR协议中的滑动窗口
SR发送方
-
上层的调用:从上层收到数据后,SR发送方检查下一个可用于该帧的序号,如果序号位于发送窗口内,则发送数据帧;否则,将数据缓存或返回给上层之后再传输。
-
收到了一个ACK:如果收到ACK,加入该帧序列在窗口内,则SR发送方将那个被确认的帧标记为已接收。如果该帧序号时窗口的下界(最左边第一个窗口对应的序号),则窗口向前移动到具有最小序号的未确认帧处。如果窗口移动了并且有序号在窗口内的未发送帧,则发送这些帧。
-
超时事件:每个帧都有定时器,一个超时事件发生后只重传一个帧。
SR接收方
窗口内的帧:SR接收方将确认一个正确接收的帧而不管是否按序。失序的帧将被缓存,并返回给发送方一个该帧的确认帧,直到所有帧(即序号更小的帧)皆被收到为止,这时才可以将一批帧按序交付给上层,然后向前移动滑动窗口。
滑动窗口长度
发送窗口最好等于接收窗口。Wtmax = Wrmax = 2^(n-1)
3.5 介质访问控制
3.5.1 传输数据的链路
点对点链路:两个相邻节点通过一个链路相连,没有第三者。常用于广域网,应用:PPP协议。
广播式链路:所有主机共享通信介质。
3.5.2介质访问控制的分类
介质访问控制:采取一定的措施,使得两对节点之间的通信不会发生互相干扰的情况。
3.5.3 信道划分介质访问控制
信道划分介质访问控制:将使用介质的每个设备与来自同一信道上的其他设备的通信隔离,把时域和频域资源合理地分配给网络上的设备。
多路复用技术:把多个信号组合在一条物理信道上进行传输,使得多个计算机或终端设备共享信道资源,提高信道利用率。
频分多路复用FDM
频分复用:用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。频分复用的所有用户在同样的时间占用不同的带宽资源。
时分多路复用TDM
时分复用:将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙,所有用户轮流占用信道。
改进的时分复用——统计时分复用STDM
每一个STDM帧中的时隙数小于连接在集中器上的用户数。各用户有了数据就随时发往集中器的输入缓存,然后集中器按顺序依次扫描输入缓存,把缓存中的输入数据放入STDM帧中,一个STDM帧满了就发出。STDM帧不是固定分配时隙,而是按需动态分配时隙。
波分多路复用WDM
波分多路复用就是光的频分多路复用,在一根光纤中传输多种不同波长(频率)的光信号,由于波长不同,所以各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来。
码分多路复用CDM
码分多址(CDMA)是码分复用的一种方式。
1个比特分为多个码片,每一个站点被指定一个唯一的m位的码片序列。发生1时,站点发送序列;发送0时,发送序列反码。
多个站点同时发送数据时,要求各个站点码片序列互相正交。
各路数据在信道中被线性相加。
合并的数据和源站规格化内积。
3.6 随机访问介质访问控制
3.6.1 ALOHA协议
纯ALOHA协议
时隙ALOHA协议
3.6.2 CSMA协议
载波监听多路访问协议(carrier sense multiple access)
CS:载波侦听/监听,每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据。
MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。
协议思想:发送帧之前,监听信道。
监听结果
1、信道空闲:发送完整帧
2、信道忙:推迟发送
1-坚持CSMA
非坚持CSMA
p-坚持CSMA
3.6.3 CSMA/CD协议
截断二进制指数规避算法
最小帧长
3.6.4 CSMA/CA协议
载波监听多点接入/碰撞避免(carrier sense multiple access with collision
avoidance)
工作原理
CSMA/CD与CSMA/CA的异同
3.7 轮询访问介质访问控制
3.7.1 令牌传递协议
令牌:一个特殊格式的MAC控制帧,不好任何信息。控制信道的使用,确保同一时刻只有一个结点独占信道。
令牌环网无碰撞:每个结点都可以在一定的时间内获得发送数据的权力,并不是无限制地持有令牌。
采用令牌传送方式的网络常用于负载较重、通信量较大的网络中。
3.8 局域网
3.8.1 局域网的基本概念与体系结构
局域网(Local Area
Network,LAN):是指在某一区域内由多台计算机互联的计算机族,使用广播信道。
特点
1、覆盖的地理范围较小,只在一个相对独立的局部范围内联。
2、使用专门铺设的传输介质进行联网,数据传输速率高(10Mb/s~10Gb/s)
3、通信延迟时间短,误码率低,可靠性较高。
4、各站为平等关系,共享传输信道。
5、多采用分布式控制和广播式通信,能进行广播和组播。
主要决定因素:网络拓扑、传输介质与介质访问控制方法
局域网的分类
MAC子层和LLC子层
3.8.2 以太网的工作原理
以太网(Ethernet)指的是由Xerox公司创建并由Xerox、Intel和DEC公司联合开发的基带总线局域网规范,是当今现有局域网采用的最通用的通信协议标准。以太网使用CSMA/CD技术。
以太网两个标准
DIX Ethernet V2:第一个局域网产品规约。
IEEE802.3:IEEE802委员会802.3工作组制定的第一个IEEE的以太网标准。
以太网提供无连接(发送方和接收方之间无“握手过程”)、不可靠(不对发送方的数据帧编号,接收方不向发送方进行确认,差错帧直接丢弃,差错纠正由高层负责)的服务。
MAC地址:每个适配器有一个全球唯一的48位二进制地址,前24位代表厂家,后24位厂家自己指定。常用6个十六进制数表示。
3.8.3 以太网的MAC帧
3.8.4 无线局域网
802.11的MAC帧头格式
无线局域网的分类
1、有固定基础设施无线局域网
2、无固定基础设施无线局域网的自组织网络
3.9 广域网
3.9.1 广域网的基本概念
广域网(WAN,Wide Area
Network),通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里。广域网的通信子网主要使用分组交换技术。广域网的通信子网可以利用公用分组交换网、卫星通信网和无线分组交换网,将分布在不同地区的局域网或计算机系统互连起来,达到资源共享的目的。
3.9.2 PPP协议
点对点协议PPP(Point-to-Point
Protocol)是目前使用最广泛的数据链路层协议,只支持全双工链路。
PPP协议满足的要求
组成
1、一个将IP数据报封装到串行链路(同步串行/异步串行)的方法。
2、链路控制协议LCP:建立并维护数据链路连接。
3、网络控制协议NCP:PPP可支持多种网络层协议,每个不同的网络层协议都要一个相对应的NCP来配置,为网络层协议建立和配置逻辑连接。
PPP协议的状态图
PPP协议的帧格式
3.9.3 HDLC协议
高级数据链路控制(High-Level Data Link
Control,HDLC),是一个在同步网上传输数据、面向比特的数据链路层协议,。采用全双工通信:所有帧采用CRC检验,对信息帧进行顺序编号,可防止漏收或重份,传输可靠性高。
HDLC的站
1、主站的主要功能是发送命令(包括数据信息)帧、接收响应帧,并负责对整个链路的控制系统的初启、流程的控制、差错检测或恢复等。
2、从站的主要功能是接收由主站发来的命令帧,向主站发送响应帧,并配合主站参与差错恢复等链路控制。
3、复合站的主要功能是既能发送,又能接收命令帧和响应帧,并负责整个链路的控制。
三种数据操作方式:[1]、正常响应方式;[2]、异步平衡方式;[3]、异步响应方式
HDLC的帧格式