计算机网络—数据链路层

计算机网络—数据链路层_第1张图片

一、数据链路层的基本概念

数据链路层最基本的服务是将源自计算机网络层的数据可靠的传输到相邻节点的目标计算机的网络层(通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报)。

  • 结点:主机、路由器。
  • 链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有限链路和无线链路。
  • 数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。
  • 帧:链路层的协议数据单元,封装网络层数据报。

二、数据链路层的功能概述

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

  1. 为网络层提供服务,分为无确认无连接服务、有确认无连接 服务、有确认面向连接服务。
  2. 链路管理,即连接的建立、维持、释放(用于面向连接的服务)。
  3. 组帧。
  4. 流量控制。
  5. 差错控制(帧错/位错)。

三、组装成帧

组装成帧就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
首部和尾部包含许多的控制信息,他们的一个重要作用是:帧定界(确定帧的界限)。
帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止。
计算机网络—数据链路层_第2张图片
组帧的四种方法:

  1. 字符计数法
  2. 字符(节)填充法
  3. 零比特填充法
  4. 违规编码法

四、透明传输

透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就 “看不见” 有什么妨碍数据传输的东西。
当所传输数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使接收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输时透明的。

1.字符计数法

帧首部使用一个计数字段(第一个字节,八位)来表明帧内字符数。
计算机网络—数据链路层_第3张图片

2.字符填充法

计算机网络—数据链路层_第4张图片

3.零比特填充法

计算机网络—数据链路层_第5张图片

4.违规编码法

计算机网络—数据链路层_第6张图片

五、数据链路层的差错控制

在这里插入图片描述

六、流量控制与可靠传输机制

1.流量控制

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

数据链路层的流量控制和传输层的流量控制的区别:

  • 数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的。
  • 数据链路层流量控制手段:接收方收不下就不回复确认;传输层流量控制手段:接收方给发送端发送一个窗口公告。
流量控制的方法:

计算机网络—数据链路层_第7张图片
计算机网络—数据链路层_第8张图片
计算机网络—数据链路层_第9张图片

2.可靠传输

发送端发什么,接收端就接收什么。

七、停止等待协议

1.为什么要有停止等待协议?

  1. 除了比特出差错,底层信道还会出现丢包问题。丢包:物理线路故障、设备故障、病毒攻击、路由信息错误等原因,会导致数据包的丢失。
  2. 为了实现流量控制。

2.停止等待协议的应用情况

无差错情况和有差错情况。

3.停止等待协议—无差错情况

计算机网络—数据链路层_第10张图片

4.停止等待协议—有差错情况

  1. 数据帧丢失或监测到帧出错
    计算机网络—数据链路层_第11张图片

  2. ACK丢失
    计算机网络—数据链路层_第12张图片

  3. ACK迟到
    计算机网络—数据链路层_第13张图片

5.停止等待协议性能分析

计算机网络—数据链路层_第14张图片

信道利用率

计算机网络—数据链路层_第15张图片

八、后退N帧协议(GBN)

1.后退N帧协议的滑动窗口

计算机网络—数据链路层_第16张图片

2.GBN发送方必须响应的三件事

计算机网络—数据链路层_第17张图片

3.GBN接收方要做的事

计算机网络—数据链路层_第18张图片

4.滑动窗口长度

在这里插入图片描述

5.GBN协议重点:

  1. 累计确认。
  2. 接收方只按顺序接收帧,不按序无情丢弃。
  3. 确认序列号最大的、按序到达的帧。
  4. 发送窗口最大为2^n-1,接收窗口大小为1。

6.GPN协议的性能分析

计算机网络—数据链路层_第19张图片

7.GBN协议的弊端

在这里插入图片描述

九、选择重传协议(SR)

1.选择重传协议的滑动窗口

计算机网络—数据链路层_第20张图片

2.SR发送方必须响应的三件事

计算机网络—数据链路层_第21张图片
计算机网络—数据链路层_第22张图片
计算机网络—数据链路层_第23张图片
在这里插入图片描述

3.SR接收方要做的事

计算机网络—数据链路层_第24张图片
在这里插入图片描述

4.滑动窗口的长度

在这里插入图片描述

5.SR协议重点

  1. 对数据帧逐一确认,收一个确认一个。
  2. 只重传出错的帧。
  3. 接收方有缓存。
  4. 最大发送窗口 = 最大接收窗口 = 2^(n-1),n为用n为bit编帧的序号(帧的序号的二进制位数)。

十、信道划分介质访问控制

1.传输数据使用的两种链路

  • 点对点链路
    两个相邻结点通过一个链路相连,没有第三者。
    应用:PPP协议,常用于广域网。
  • 广播式链路
    所有主机共享通信介质。
    应用:早期的总线以太网、无线局域网,常用于局域网。
    典型拓扑结构:总线型、星型(逻辑总线型)。

2.介质访问控制

介质访问控制的内容:采取一定的措施,使得两结点之间的通信不会发生相互干扰的情况。
计算机网络—数据链路层_第25张图片

3.信道划分介质访问控制(信道复用技术)

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

信道复用技术

把多个信号组合在一条物理信道上进行传输,使得多个计算机或终端设备共享信道资源,提高信道利用率。
把一条广播信道逻辑上分成几条用于两个结点之间通信的互不干扰的子信道,实际上就是把广播信道转变为点对点信道
计算机网络—数据链路层_第26张图片

频分多路复用(FDM)

用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。频分复用的所有用户在同样的时间占用不同的带宽(频率带宽,单位为Hz)资源。
计算机网络—数据链路层_第27张图片
优点

  • 充分利用传输介质带宽,系统效率较高。
  • 由于技术比较成熟,实现也比较容易。

时分多路复用(TDM)

将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙,所有用户轮流占用信道。
计算机网络—数据链路层_第28张图片

改进的时分复用—统计时分复用(STDM)

计算机网络—数据链路层_第29张图片

波分多路复用(WDM)

波分多路复用就是光的频分多路复用,在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,所以各路光信号互不干扰,最后再利用波长分解复用器将各路波长分解出来。
计算机网络—数据链路层_第30张图片

码分多路复用(CDM)

码分多址(CDMA)是码分复用的一种方式。
多址处理的是动态分配信道给用户。这在用户仅仅短暂性地占用信道的应用中是必须的,而所有的移动通信系统基本上都是属于这种情况。相反,在信道永久性地分配给用户的应用中,多址是不需要的(对于无线广播或电视广播站就是这样)。

  • 码分复用的每一个用户可以在同样的时间使用同样的频带进行通信。
  • 由于各用户使用经过特殊挑选的不同码型,因此各用户之间不会造成干扰。

在CDMA中,每一个比特时间再划分为m个短的间隔,称为码片
使用CDMA的每一个站被指派一个唯一的 m bit 码片序列。

  • 一个站如果要发送比特1,则发送它自己的 m bit 码片序列。
  • 一个站如果要发送比特0,则发送它自己的 m bit 码片序列的二进制反码。
    计算机网络—数据链路层_第31张图片

码片的挑选规则如下:

  1. 分配给每个站的码片序列必须各不相同,实际常采用伪随机码序列。
  2. 分配给每个站的码片序列必须相互正交(规格化内积为0)。
    在这里插入图片描述在这里插入图片描述

十一、ALOHA协议

1.纯ALOHA协议

**思想:(想发就发)**不监听信道,不按时间槽发送,随机重发。
计算机网络—数据链路层_第32张图片

冲突如何检测?

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

冲突如何解决?

超时后等一随机时间再重传。

2、时隙ALOHA协议

**思想:(控制想发就发的随意性)**把时间分成若干个相同的时间片,所有用户在时间片开始的时刻同步接入网络信道,若发生冲突,则必须等到下一个时间片开始时刻再发送。
计算机网络—数据链路层_第33张图片

3、对比

  1. 纯ALOHA协议比时隙ALOHA协议吞吐量更低,效率更低。
  2. 纯ALOHA协议想发就发,时隙A LOHA协议只有在时间片段开始时才能发。

十二、CSMA协议

CS: 监听,每一个站在发送数据之前要监测一下总线上是否有其它计算机在发送数据。
MA: 多点接入,表示许多计算机以多点接入的方式连接在一根总线上。(总线网络)
协议思想: 发送帧之前监听信道再发送。
计算机网络—数据链路层_第34张图片

1. 1-坚持CSMA

坚持指的是对于监听到信道之后的继续监听。
思想: 如果一个主机要发送消息,那么他先监听信道。如果信道空闲则直接传输,不必等待;如果信道忙则一直监听,直到空闲马上传输。如果有冲突(一段时间内问收到肯定回复),则等待一个随机长的时间再监听,重复上述过程。
优点: 只要媒体空闲,站点就马上发送,避免了媒体利用率的损失。
缺点: 假如有两个或两个以上的站点有数据要发送,冲突就不可避免。

2.非坚持CSMA

非坚持指的是对于监听到信道之后就不继续监听。
思想: 如果一个主机要发送消息,那么他先监听信道。如果信道空闲则直接传输,不必等待;如果信道忙则等待一个随机的时间之后再进行监听。
优点: 采用随机的重发延迟时间可以减少冲突发生的可能性。
缺点: 可能存在大家都在延迟等待过程中,使得媒体仍可能处于空闲状态,媒体使用率降低。

3.P-坚持CSMA

P-坚持指的是对于监听信道空闲的处理。
思想: 如果一个主机要发送消息,那么他先监听信道。如果信道空闲则以 p 概率直接传输,概率 1-p 等待带下一个时间片(时间槽)再传输;如果信道忙则等待一个随机的时间之后再进行监听。
优点: 既能像非坚持算法那样减少冲突,又能像1-坚持算法那样减少媒体的空闲时间。
缺点: 发生冲突后还是要坚持把数据帧发送完,造成了浪费。

4.三种SCSMA的对比

计算机网络—数据链路层_第35张图片

十三、CSMA/CD协议

计算机网络—数据链路层_第36张图片

CD: 碰撞检测(冲突检测),边发送边监听,适配器边发送数据边监测信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。(半双工网络)
计算机网络—数据链路层_第37张图片

1.如何确定碰撞后的重传时机?

截断二进制指数规避算法

计算机网络—数据链路层_第38张图片

2.最小帧长问题

帧的传输时延至少要两倍于信号在总线中的传播时延。
计算机网络—数据链路层_第39张图片
以太网规定最短帧长为64B,凡是长度小于64B的都是由于冲突而异常终止的无效帧。

十四、CSMA/CA协议

使用于无线局域网中,与CSMA/CD使用场景不同。

1.工作原理

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

CSMA/CD与CSMA/CA

计算机网络—数据链路层_第40张图片

十五、轮询访问介质访问控制

既要不产生冲突,又要发送时占全部带宽。

1.轮询协议

主结点轮流邀请从属结点发送数据。

存在的问题:

  1. 轮询开销
  2. 等待延迟
  3. 单点故障

2.令牌传递协议

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

  1. 令牌开销
  2. 等待延迟
  3. 单点故障

十六、无线局域网

1.有固定基础设施无线局域网

计算机网络—数据链路层_第41张图片

2.无固定基础上设施无线局域网的自组织网络

计算机网络—数据链路层_第42张图片

十七、以太网

以太网是基带总线局域网规范,是当今现有局域网采用的最通用的通信协议标准。以太网使用CSMA/CD(载波监听多路 访问及冲突检测)技术。
以太网在局域网各种技术中占统治性地位的原因:

  1. 造价低廉。
  2. 是应用最广泛的局域网技术。
  3. 比令牌环网、ATM网便宜,简单。
  4. 满足网络速率要求:10Mb/s~10Gb/s。

以太网的两个标准(满足一个就是以太网):

  • DIX Ethernet V2:第一个局域网产品(以太网)规约。
  • IEEE 802。3:IEEE 802委员会802.3工作组指定的第一个IEEE的以太网标准。(帧格式有一丢丢改动)

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

无连接:发送方和接收方之间发送数据之前不用事先建立连接。
不可靠:不对发送方的数据帧编号,接收方向发送方进行确认,差错帧直接丢弃,差错纠正由高层负责。
以太网只实现无差错接收,不实现可靠传输。

2.以太网传输介质与拓扑结构的发展

传输介质:
计算机网络—数据链路层_第43张图片
拓扑结构:
计算机网络—数据链路层_第44张图片
使用集线器的以太网在逻辑上仍是一个总线网,各站共享逻辑上的总线,使用的还是CSMA/CD协议。
改进后以太网拓扑:逻辑上总线型,物理上星型。

3. 10BASE-T以太网

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

计算机网络—数据链路层_第45张图片

4.适配器与MAC地址

计算机与外界有局域网的连接是通过通信适配器的。
计算机网络—数据链路层_第46张图片
在局域网中,硬件地址又称为物理地址,或MAC地址(全球唯一)。(实际上是标识符)
MAC地址:每个适配器有一个全球唯一的48位二进制地址,前24位代表厂家(由IEEE规定),后24位厂家自己指定。常用12个十六进制数表示。

5.以太网的MAC帧

计算机网络—数据链路层_第47张图片

6.高速以太网

计算机网络—数据链路层_第48张图片

十八、PPP协议和HDLC协议

1.广域网

计算机网络—数据链路层_第49张图片

2.PPP协议

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

PPP协议应满足的要求

计算机网络—数据链路层_第50张图片

PPP协议无需满足的要求

计算机网络—数据链路层_第51张图片

PPP协议的三个组成部分

计算机网络—数据链路层_第52张图片

PPP协议的状态图

计算机网络—数据链路层_第53张图片

PPP协议的帧格式

计算机网络—数据链路层_第54张图片

3.HDLC协议

只支持全双工链路。
高级数据链路控制(HDLC),是一个在同步网上传输数据、面向比特的数据链路层协议。
数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现。
所有帧采用CRC检验,对信息帧进行顺序编号,可防止漏收或重份,传输可靠性高。

HDLC的站

计算机网络—数据链路层_第55张图片

HDLC的帧格式

计算机网络—数据链路层_第56张图片

4.PPP协议和HDLC协议的异同

相同点:

在这里插入图片描述

不同点:

计算机网络—数据链路层_第57张图片

十九、数据链路层设备

数据链路层扩展以太网

1.网桥

网桥根据MAC帧的目的地址对帧进行转发和过滤。当网桥收到一个帧时,并不向所有接口转发此帧,而是先检查此帧的目的MAC地址,然后再确定该帧转发到哪一个接口,或者是把它丢弃(即过滤)。
计算机网络—数据链路层_第58张图片
优点:

  1. 过滤通信量,增大吞吐量。
  2. 扩大了物理范围。
  3. 提高了可靠性。
  4. 可互联不同物理层、不同MAC子层和不同速率的以太网。

网桥的分类——透明网桥

透明网桥:“透明”指以太网上的站点并不知道所发送的帧经过哪几个网桥,是一种即插即用设备——自学习算法。
计算机网络—数据链路层_第59张图片

网桥分类——源路由网桥

源路由网桥:在发送帧时,把详细的最佳路由信息(路由最少/时间最短)放在帧的首部中。
方法:源站以广播方式向欲通信的目的地发送一个发现帧。

2.多接口网桥——以太网交换机

计算机网络—数据链路层_第60张图片

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

在这里插入图片描述
在这里插入图片描述

冲突域和广播域

计算机网络—数据链路层_第61张图片
计算机网络—数据链路层_第62张图片

你可能感兴趣的:(网络,网络协议,计算机网络)