计算机网络

计算机网络(三)数据链路层

2021-09-16  本文已影响0人  AdRainty

3.1 数据链路层的功能

3.1.1 数据链路层基本概念

结点:主机、路由器

链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路。

数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。

帧:链路层的协议数据单元,封装网络层数据报。

数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报。

图片.png

3.1.2 数据链路层的功能

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

3.1.3 帧定界、帧同步与透明传输

3.1.3.1 封装成帧

封装成帧就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。首部和尾部包含许多的控制信息,他们的一个重要作用:帧定界(确定帧的界限)。

帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止。

组帧的四种方法:

  1. 字符计数法:帧首部使用一个计数字段(第一个字节,八位)来标明帧内字符数。
图片.png
  1. 字符(节)填充法:当传送的帧是由文本文件组成时(文本文件的字符都是从键盘上输入的,都是ASCII码)。不管从键盘上输入什么字符都可以放在帧里传过去,即透明传输。当传送的帧是由非ASCII码的文本文件组成时(二进制代码的程序或图像等)。就要采用字符填充方法实现透明传输。
图片.png
  1. 零比特填充法:在发送端,扫描整个信息字段,只要连续5个1,就立即填入1个0。在接收端收到一个帧时,先找到标志字段确定边界,再用硬件对比特流进行扫描。发现连续5个1时,就把后面的0删除。其保证了透明传输:在传送的比特流中可以传送任意比特组合,而不会引起对帧边界的判断错误。

  2. 违规编码法:可以用“高-高”,“低-低”来定界帧的起始和终止。由于字节计数法中Count字段的脆弱性(其值若有差错将导致灾难性后果)及字符填充实现上的复杂性和不兼容性,目前较普遍使用的帧同步法是比特填充和违规编码法。

图片.png

3.1.3.2 透明传输

透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西。

当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。

3.2 差错控制

概括来说,传输中的差错都是由于噪声引起的。

数据链路层编码和物理层的数据编码与调制不同。物理层编码针对的是单个比特,解决传输过程中比特的同步等问题,如曼彻斯特编码。而数据链路层的编码针对的是一组比特,它通过冗余码的技术实现一组二进制比特串在传输过程是否出现了差错。

冗余编码:在数据发送之前,先按某种关系附加上一定的冗余位,构成一个符合某一规则的码字后再发送。当要发送的有效数据变化时,相应的冗余位也随之变化,使码字遵从不变的规则。接收端根据收到码字是否仍符合原规则,从而判断是否出错。

差错控制具体编码见计组2.1

3.3 流量控制与可靠传输机制

较高的发送速度和较低的接收能力的不匹配,会造成传输出错,因此流量控制也是数据链路层的一项重要工作。数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的。

滑动窗口有以下重要特性:

若采用n个比特对帧编号,那么发送窗口的尺寸WT应满足:1≤W_T≤2^n-1。因为发送窗口尺寸过大,就会使得接收方无法区别新帧和旧帧。

3.3.1 停止-等待流量控制

每发送完一个帧就停止发送,等待对方的确认,在收到确认后再发送下一个帧。

图片.png

除了比特出差错,底层信道还会出现丢包[1]问题

“停止-等待”就是每发送完一个分组就停止发送,等待对方确认,在收到确认后再发送下一个分组。其操作简单,但信道利用率较低
信道利用率U=\frac{T_D}{T_D+RTT+T_A}
信道利用率是指发送方在一个发送周期内,有效地发送数据所需要的时间占整个发送周期的比率。即
U=(L/C)/T

例题:一个信道的数据传输率为4kb/s,单向传播时延为30ms,如果使停止-等待协议的信道最大利用率达到80%,要求的数据帧长度至少为( )。

80\% = \frac{L/4}{L/4+2x30ms}

L=960bit

3.3.2 后退N帧协议(GBN)

GBN发送方:

GBN接收方:

图片.png

因连续发送数据帧而提高了信道利用率,重传时必须把原来已经正确传送的数据帧重传,是传送效率降低。

1.数据链路层采用了后退N帧(GBN)协议,发送方已经发送了编号为0~7的帧。当计时器超时时,若发送方只收到0、2、3号帧的确认,则发送方需要重发的帧数是( )。

重新发送4、5、6、7帧,即重发的帧数为4

2.主机甲与主机乙之间使用后退N帧协议(GBN)传输数据,甲的发送窗口尺寸为1000,数据帧长为1000字节,信道带宽为100Mb/s,乙每收到一个数据帧立即利用一个短帧(忽略其传输延迟)进行确认,若甲、乙之间的单向传播时延是50ms,则甲可以达到的最大平均数据传输率约为( )。

若甲全发但没有接收到确认帧,则发送全部需要\frac{1000*1000*8b}{100*10^6b/s}=80ms

甲发送第一个帧收确认帧的时间2*50ms+\frac{1000*8b}{100*10^6b/s}=100.08ms

\frac{1000*1000*8}{100.08ms}=80Mb/s

3.3.3 选择重传协议(SR)

设置单个确认,同时加大接收窗口,设置接收缓存,缓存乱序到达的帧。

图片.png

SR发送方:

SR接收方:

发送窗口最好等于接收窗口。(大了会溢出,小了没意义),即
W_{Tmax}=W_{Rmax}=2^{(n−1)}

数据链路层采用了选择重传(SR)协议,发送方已经发送了编号为0~3的帧。现已收到1号帧的确认,而0、2号帧依次超时,则发送方需要重传的帧数是( )。

重新发送0、2号帧

3.4 介质访问控制

传输数据使用的两种链路

3.4.1 信道划分介质访问控制

信道划分介质访问控制将使用介质的每个设备与来自同一通信信道上的其他设备的通信隔离开来,把时域和频域资源合理地分配给网络上的设备。

当传输介质的带宽超过传输单个信号所需的带宽时,人们就通过在一条介质上同时携带多个传输信号的方法来提高传输系统的利用率,这就是所谓的多路复用,也是实现信道划分介质访问控制的途径。多路复用技术把多个信号组合在一条物理信道上进行传输,使多个计算机或终端设备共享信道资源,提高了信道的利用率。信道划分的实质就是通过分时、分频、分码等方法把原来的一条广播信道,逻辑上分为几条用于两个结点之间通信的互不干扰的子信道,实际上就是把广播信道转变为点对点信道。

3.4.1.1 频分多路复用FDM

频分多路复用是一种将多路基带信号调制到不同频率载波上,再叠加形成一个复合信号的多路复用技术。在物理信道的可用带宽超过单个原始信号所需带宽的情况下,可将该物理信道的总带宽分割成若千与传输单个信号带宽相同(或略宽)的子信道,每个子信道传输一种信号,这就是频分多路复用。

每个子信道分配的带宽可不相同,但它们的总和必须不超过信道的总带宽。在实际应用中,为了防止子信道之间的千扰,相邻信道之间需要加入“保护频带”。频分多路复用的优点在于充分利用了传输介质的带宽,系统效率较高;由于技术比较成熟,实现也较容易。

图片.png

3.4.1.2 时分多路复用TDM

时分多路复用是将一条物理信道按时间分成若干时间片,轮流地分配给多个信号使用。每个时间片由复用的一个信号占用,而不像FDM那样,同一时间同时发送多路信号。这样,利用每个信号在时间上的交叉,就可以在一条物理信道上传输多个信号。

就某个时刻来看,时分多路复用信道上传送的仅是某一对设备之间的信号:就某段时间而言,传送的是按时间分割的多路复用信号。但由于计算机数据的突发性,一个用户对已经分配到的子信道的利用率一般不高。统计时分多路复用(STDM,又称异步时分多路复用)是TDM 的一种改进,它采用STDM帧,STDM帧并不固定分配时隙,面按需动态地分配时隙,当终端有数据要传送时,才会分配到时间片,因此可以提高线路的利用率。例如,线路传输速率为8000b/s,4个用户的平均速率都为2000b/s,当采用TDM方式时,每个用户的最高速率为2000b/s.而在STDM方式下,每个用户的最高速率可达8000b/s.

图片.png

3.4.1.3 波分多路复用WDM

波分多路复用即光的频分多路复用,它在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来。由于光波处于频谱的高频段,有很高的带宽,因而可以实现多路的波分复用

图片.png

3.4.1.4 码分多路复用CDM

码分多路复用是采用不同的编码来区分各路原始信号的一种复用方式。与FDM和 TDM不同,它既共享信道的频率,又共享时间。下面举一个直观的例子来理解码分复用。

实际上,更常用的名词是码分多址(Code Division Multiple Access.CDMA),1个比特分为多个码片/芯片( chip),每一个站点被指定一个唯一的m位的芯片序列,发送1时发送芯片序列(通常把o写成-1) 。发送1时站点发送芯片序列,发送o时发送芯片序列反码。

图片.png

3.4.2 随机访问介质访问控制

3.4.2.1 ALOHA协议

纯ALOHA协议思想:不监听信道,不按时间槽发送,随机重发。想发就发

图片.png

如果发生冲突,接收方在就会检测出差错,然后不予确认,发送方在一定时间内收不到就判断发生冲突。超时后等一随机时间再重传。

时隙ALOHA协议的思想:把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信道,若发生冲突,则必须等到下一个时间片开始时刻再发送。

图片.png

3.4.2.2 CSMA协议

载波监听多路访问协议CSMA(carrier sense multiple access)协议思想:发送帧之前,监听信道。

3.4.2.2.1 1-坚持CSMA

坚持指的是对于监听信道忙之后的坚持。

1-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。

优点:只要媒体空闲,站点就马上发送,避免了媒体利用率的损失。

缺点:假如有两个或两个以上的站点有数据要发送,冲突就不可避免。

3.4.2.2.2 非坚持CSMA

非坚持指的是对于监听信道忙之后就不继续监听。

非坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。

优点:采用随机的重发延迟时间可以减少冲突发生的可能性。

缺点:可能存在大家都在延迟等待过程中,使得媒体仍可能处于空闲状态,媒体使用率降低。

3.4.2.2.3 p-坚持CSMA

p-坚持指的是对于监听信道空闲的处理。

p-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。

优点:既能像非坚持算法那样减少冲突,又能像1-坚持算法那样减少媒体空闲时间的这种方案。

缺点:发生冲突后还是要坚持把数据帧发送完,造成了浪费。

3.4.2.3 CSMA/CD协议

载波监听多点接入/碰撞检测CSMA/CD(carrier sense multiple access with collision detection)

CSMA/CD的工作流程:

  1. 适配器从网络层获得一个分组,封装成以太网帧,放入适配器的缓存,准备发送。
  2. 如果适配器侦听到信道空闲,那么它开始发送该帧。如果适配器侦听到信道忙,那么它持续侦听直至信道上没有信号能迓,然后开始发送该帧。
  3. 在发送过程中,适配器持续检测信道。若--直未检测到碰撞,则顺利地把这个帧发送完毕。若检测到碰撞,则中止数据的发送,并发送一个拥塞信号,以让所有用户都知道。
  4. 在中止发送后,适配器就执行指数退避算法,等待一段随机时间后返回到步骤2。
图片.png

由图可知,至多在发送帧后经过时间2\tau就能知道所发送的帧有没有发生碰撞。因此把以太网端到端往返时间为2\tau称为争周期(也称冲突窗口或碰撞窗口)。

截断二进制指数规避算法:

  1. 确定基本退避(推迟)时间为争用期2𝜏。
  2. 定义参数k,它等于重传次数,但k不超过10,即k=min[重传次数,10]。当重传次数不超过10时,k等于重传次数;当重传次数大于10时,k就不再增大而一直等于10。
  3. 从离散的整数集合[0, 1,\cdots, 2^k-1]中随机取出一个数r,重传所需要退避的时间就是r倍的基本退避时间,即2r𝜏
  4. 当重传达16次仍不能成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错。

第一次重传,k=1,r从{0,1}选;
重传推迟时间为0或2𝜏,在这两个时间中随机选一个;
若再次碰撞,则在第二次重传时,k=2,r从{0,1,2,3}选;
重传推迟时间为0或2𝜏或4𝜏或6𝜏,在这四个时间中随机选一个;
若再次碰撞,则第三次重传时,k=3,r从{0,1,2,3,4,5,6,7}选……

若连续多次发生冲突,就表明可能有较多的站参与争用信道。使用此算法可使重传需要推迟的平均时间随重传次数的增大而增大,因而减小发生碰撞的概率,有利于整个系统的稳定。

最小帧长问题:帧的传输时延至少要两倍于信号在总线中的传播时延。
\frac{帧长(bit)}{数据传输速率} \ge2\tau

最小帧长=总线传播时延*数据传输速率 *2=2\tau * 数据传输速率

3.4.2.4 CSMA/CA协议

载波监听多点接入/碰撞避免CSMA/CA(carrier sense multiple access with collision avoidance)其工作原理如下

  1. 发送数据前,先检测信道是否空闲。
  2. 空闲则发出RTS(request to send),RTS包括发射端的地址、接收端的地址、下一份数据将持续发送的时间等信息;信道忙则等待。
  3. 接收端收到RTS后,将响应CTS(clear to send)。
  4. 发送端收到CTS后,开始发送数据帧(同时预约信道:发送方告知其他站点自己要传多久数据)。
  5. 接收端收到数据帧后,将用CRC来检验数据是否正确,正确则响应ACK帧。
  6. 发送方收到ACK就可以进行下一个数据帧的发送,若没有则一直重传至规定重发次数为止(采用二进制指数退避算法来确定随机的推迟时间)。

CSMA/CD与CSMA/CA的异同点:

相同点:CSMA/CD与CSMA/CA机制都从属于CSMA的思路,其核心是先听再说。换言之,两个在接入信道之前都须要进行监听。当发现信道空闲后,才能进行接入。

不同点:

3.4.3 轮询访问介质访问控制

轮询协议:主结点轮流“邀请”从属结点发送数据。

令牌:一个特殊格式的MAC控制帧,不含任何信息。控制信道的使用,确保同一时刻只有一个结点独占信道。每个结点都可以在一定的时间内(令牌持有时间)获得发送数据的权利,并不是无限制地持有令牌。应用于令牌环网(物理星型拓扑,逻辑环形拓扑)。采用令牌传送方式的网络常用于负载较重、通信量较大的网络中。

图片.png

轮询访问MAC协议/轮流协议/轮转访问MAC协议:基于多路复用技术划分资源。

随机访问MAC协议: 用户根据意愿随机发送信息,发送信息时可独占信道带宽。会发生冲突

信道划分介质访问控制(MAC Multiple Access Control )协议:既要不产生冲突,又要发送时占全部带宽。

3.5 局域网

3.5.1 局域网基本概念和体系结构

局域网(Local Area Network):简称LAN,是指在某一区域内由多台计算机互联成的计算机组,使用广播信道。其特点有

决定局域网的主要要素为:网络拓扑,传输介质与介质访问控制方法。

局域网的分类

IEEE 802标准所描述的局域网参考模型只对应OSI参考模型的数据链路层与物理层,它将数据链路层划分为逻辑链路层LLC子层和介质访问控制MAC子层。

图片.png

3.5.2 以太网

以太网(Ethernet)指的是由Xerox公司创建并由Xerox、Intel和DEC公司联合开发的基带总线局域网规范,是当今现有局域网采用的最通用的通信协议标准。以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术。以太网只实现无差错接收,不实现可靠传输。

以太网两个标准:

以太网提供无连接、不可靠的服务

3.5.2.1 10BASE-T以太网

10BASE-T是传送基带信号的双绞线以太网,T表示采用双绞线,现10BASE-T 采用的是无屏蔽双绞线(UTP),传输速率是10Mb/s。

3.5.2.2 适配器与MAC地址

计算机与外界有局域网的连接是通过通信适配器的。

在局域网中,硬件地址又称为物理地址,或MAC地址。MAC地址:每个适配器有一个全球唯一的48位二进制地址,前24位代表厂家(由IEEE规定),后24位厂家自己指定。常用6个十六进制数表示,如02-60-8c-e4-b1-21。

最常用的MAC帧是以太网V2的格式。

图片.png

3.5.2.3 高速以太网

  1. 100BASE-T以太网:在双绞线上传送100Mb/s基带信号的星型拓扑以太网,仍使用IEEE802.3的CSMA/CD协议。支持全双工和半双工,可在全双工方式下工作而无冲突
  2. 吉比特以太网:在光纤或双绞线上传送1Gb/s信号。支持全双工和半双工,可在全双工方式下工作而无冲突。
  3. 10吉比特:10吉比特以太网在光纤上传送10Gb/s信号。只支持全双工,无争用问题。

3.5.3 IEEE 802.11

IEEE 802.11是无线局域网通用的标准,它是由IEEE所定义的无线网络通信的标准。

3.5.3.1 802.11的MAC帧头格式

图片.png 图片.png

3.5.3.2 无线局域网的分类

  1. 有固定基础设施无线局域网
图片.png
  1. 无固定基础设施无线局域网的自组织网络
图片.png

3.6 广域网

3.6.1 广域网的基本概念

广域网(WAN,Wide Area Network),通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个城市或国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。

广域网的通信子网主要使用分组交换技术。广域网的通信子网可以利用公用分组交换网、卫星通信网和无线分组交换网,它将分布在不同地区的局域网或计算机系统互连起来,达到资源共享的目的。如因特网(Internet)是世界范围内最大的广域网。

图片.png

3.6.2 PPP协议

点对点协议PPP(Point-to-Point Protocol)是目前使用最广泛的数据链路层协议,用户使用拨号电话接入因特网时一般都使用PPP协议。只支持全双工链路。

图片.png

PPP协议应满足的要求

PPP协议的三个组成部分

  1. 一个将IP数据报封装到串行链路(同步串行/异步串行)的方法。
  2. 链路控制协议LCP:建立并维护数据链路连接。身份验证
  3. 网络控制协议NCP:PPP可支持多种网络层协议,每个不同的网络层协议都要一个相应的NCP来配置,为网络层协议建立和配置逻辑连接。
图片.png

3.7 数据链路层设备

以太网交换机

图片.png

冲突域:在同一个冲突域中的每一个节点都能收到所有被发送的帧。简单的说就是同一时间内只能有一台设备发送信息的范围。

广播域:网络中能接收任一设备发出的广播帧的所有设备的集合。简单的说如果站点发出一个广播信号,所有能接收收到这个信号的设备范围称为一个广播域。

以太网交换机的两种交换方式:

直通式交换机:查完目的地址(6B)就立刻转发。延迟小,可靠性低,无法支持具有不同速率的端口的交换。

存储转发式交换机:将帧放入高速缓存,并检查否正确,正确则转发,错误则丢弃。延迟大,可靠性高,可以支持具有不同速率的端口的交换。


  1. 丢包:物理线路故障、设备故障、病毒攻击、路由信息

上一篇 下一篇

猜你喜欢

热点阅读