计算机网络 - 数据链路层

文章目录

  • 1 基本概念和功能概述
    • 1.1 基本概念
    • 1.2 功能概述
  • 2 基本问题
    • 2.1 封装成帧与透明传输
    • 2.2 组帧的四种方法
      • 2.1.1 字符计数法
      • 2.1.2 字符填充法
      • 2.1.3 零比特填充法
      • 2.1.4 违规编码法
  • 3 差错控制
    • 3.1 差错
    • 3.2 检错编码
      • 3.2.1 奇偶校验码
      • 3.2.2 循环冗余码CRC
    • 3.3 纠错编码(海明码)
  • 4 流量控制和可靠传输
    • 4.1 概述
    • 4.2 停止等待协议(Stop-and-Wait)
      • 4.2.1 无差错情况
      • 4.2.2 有差错情况
    • 4.3 后退N帧协议(GBN)
      • 4.3.1 滑动窗口
      • 4.3.2 GBN发送方必须响应的三件事
      • 4.3.3 GBN接受方要做的事
    • 4.4 选择重传协议(SR)
      • 4.4.1 滑动窗口
      • 4.4.2 SR发送方必须响应的三件事
      • 4.4.3 SR接受方要做的事
  • 5 介质访问控制技术
    • 5.1 信道分类
      • 5.1.1 广播信道
      • 5.1.2 点对点信道
    • 5.2 介质访问控制简述
    • 5.3 信道划分介质访问控制
        • 5.3.1 频分复用FDM
        • 5.3.2 时分复用TDM
        • 5.3.3 统计时分复用STDM
        • 5.3.4 波分复用WDM
        • 5.3.5 码分复用CDM
    • 5.4 随机访问介质访问控制
      • 5.4.1 ALOHA协议
      • 5.4.2 CSMA协议
      • 5.4.3 CSMA/CD协议
      • 5.4.4 CSMA/CA协议
    • 5.5 轮询访问介质访问控制
      • 5.5.1 轮询协议
      • 5.5.2 令牌传递协议
  • 6 局域网
    • 6.1 网络拓扑
    • 6.2 局域网的传播介质
    • 6.3 局域网介质访问方法
    • 6.4 局域网分类
        • 6.4.1 以太网
        • 6.4.2 无限局域网
  • 7 广域网
    • 7.1 PPP 协议
    • 7.2 HDLC协议(High-Level Data Link Control)
  • 8. 链路层设备
    • 8.1 集线器(Hub)
    • 8.2 网桥(Bridge)
    • 8.3 交换机
    • 8.4 冲突域和广播域
  • 参考

1 基本概念和功能概述

1.1 基本概念

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

1.2 功能概述

计算机网络 - 数据链路层_第2张图片

因为物理层可能会把数据弄丢,所以数据链路层需要进行一些设置来使得物理层可以可靠的传输数据。

计算机网络 - 数据链路层_第3张图片

2 基本问题

2.1 封装成帧与透明传输

将网络层传下来的分组添加首部和尾部,用于标记帧的开始和结束。

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

透明表示一个实际存在的事物看起来好像不存在一样。

2.2 组帧的四种方法

2.1.1 字符计数法

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

缺点:记数字段丢失后,容易造成数据错乱。

2.1.2 字符填充法

加头字段与尾字段分别标记开始与结束,并且头字段与尾字段不同。

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

如何解决帧中出现的与标记字段相同的问题呢?解决方法:添加转义字符

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

2.1.3 零比特填充法

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

2.1.4 违规编码法

例如曼彻斯特编码中不会使用高-高、低-低来表示,所以如果使用高-高、低-低来表示帧起始和终止就不会与数据冲突

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

3 差错控制

3.1 差错

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

检验和纠正差错的编码方法主要有检错编码纠错编码

计算机网络 - 数据链路层_第11张图片

3.2 检错编码

3.2.1 奇偶校验码

缺点:只能校验奇数个错误,不能检验偶数个错误。

3.2.2 循环冗余码CRC

用传输数据除以生成多项式得到冗余码,最终发送的数据=要发送的数据+帧检验序列FCS

举一个例子:要发送的数据是1101 0110 11,采用CRC校验,生成多项式是10011,那么最终发送的数据是?

计算机网络 - 数据链路层_第12张图片

FCS的生成以及接收端CRC检验都是由硬件实现,处理很迅速,因此不会厌恶数据的传输。

3.3 纠错编码(海明码)

海明码可以发现双比特错误,纠正单比特错误

计算机网络 - 数据链路层_第13张图片

海明码纠错详解可参考最通俗易懂的海明码校验纠错讲解一文。

4 流量控制和可靠传输

4.1 概述

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

  • 流量控制的基本方法是由接收方控制发送方发送数据的速率
  • 常见的流量控制方式有两种:停止-等待协议与滑动窗口协议

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

停止-等待协议:发送窗口大小=1,接受窗口大小=1;

后退N帧协议(GBN):发送窗口大小>1,接受窗口大小=1;

选择重传协议(SR):发送窗口大小>1,接受窗口大小>1。

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

4.2 停止等待协议(Stop-and-Wait)

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

4.2.1 无差错情况

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

因为一次就一个,所以用0和1标记ack就行

4.2.2 有差错情况

情况一:数据帧丢失或检测到帧出错

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

情况二:ACK丢失

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

情况三:ACK迟到

计算机网络 - 数据链路层_第21张图片

停止等待协议的特点:

  1. 简单。
  2. 信道利用率低。大部分时间数据都在路上,发送方很长时间闲置,资源浪费。

计算机网络 - 数据链路层_第22张图片

4.3 后退N帧协议(GBN)

因为停止等待协议太浪费时间了,所以尝试采用GBN,发送连续多个数据帧,以增大信道利用率。

4.3.1 滑动窗口

计算机网络 - 数据链路层_第23张图片

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

计算机网络 - 数据链路层_第24张图片

4.3.3 GBN接受方要做的事

计算机网络 - 数据链路层_第25张图片

运行中的GBN:

计算机网络 - 数据链路层_第26张图片

发送窗口不能无限大,与使用的编号的比特数有关。
GBN的优缺点也显而易见,优点是提高了信道利用率,缺点是因为重传机制的原因导致已经收到数据却需要强行丢弃而造成浪费。

计算机网络 - 数据链路层_第27张图片

4.4 选择重传协议(SR)

为了解决GBN的缺点,只重传出错误的帧,这样不用浪费资源把已经收到的帧再重传一次了。

解决办法就是,设置单个确认,同时加大接首窗口,设置接收缓存,缓存乱序到达的帧

4.4.1 滑动窗口

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

计算机网络 - 数据链路层_第28张图片

4.4.3 SR接受方要做的事

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

运行中的SR:

计算机网络 - 数据链路层_第30张图片

发送窗口不能无限大。滑动窗口最好等于接收窗口。(大了会溢出,小了没意义)

计算机网络 - 数据链路层_第31张图片

5 介质访问控制技术

5.1 信道分类

5.1.1 广播信道

一对多通信,一个节点发送的数据能够被广播信道上所有的节点接收到。

所有的节点都在同一个广播信道上发送数据,因此需要有专门的控制方法进行协调,避免发生冲突(冲突也叫碰撞)。

主要有两种控制方法进行协调,一个是使用信道复用技术,一是使用 CSMA/CD 协议。常用于局域网

5.1.2 点对点信道

一对一通信。

因为不会发生碰撞,因此也比较简单,使用 PPP 协议进行控制,常用于广域网

5.2 介质访问控制简述

介质访问控制(medium access control)简称MAC。 是解决共用信道的使用产生竞争时,如何分配信道的使用权问题。

计算机网络 - 数据链路层_第32张图片

5.3 信道划分介质访问控制

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

计算机网络 - 数据链路层_第33张图片

5.3.1 频分复用FDM

频分复用的所有主机在相同的时间占用不同的频率带宽资源。

计算机网络 - 数据链路层_第34张图片

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

5.3.2 时分复用TDM

时分复用的所有主机在不同的时间占用相同的频率带宽资源。

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

频分复用——“并行”;时分复用——“并发”。

使用频分复用和时分复用进行通信,在通信的过程中主机会一直占用一部分信道资源。但是由于计算机数据的突发性质,通信过程没必要一直占用信道资源而不让出给其它用户使用,因此这两种方式对信道的利用率都不高

5.3.3 统计时分复用STDM

是对时分复用的一种改进,不固定每个用户在时分复用帧中的位置,只要有数据就集中起来组成统计时分复用帧然后发送。

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

假设线路传输速率为8000b/s:

  • 采用TDM,则4个用户的平均速率为2000b/s;

  • 采用STDM,则每个用户的最高速率可达8000b/s。

5.3.4 波分复用WDM

光的频分复用。由于光的频率很高,因此习惯上用波长而不是频率来表示所使用的光载波。

计算机网络 - 数据链路层_第37张图片

5.3.5 码分复用CDM

CDM(码分多路复用技术)总结

5.4 随机访问介质访问控制

5.4.1 ALOHA协议

纯ALOHA协议

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

时隙ALOHA协议

计算机网络 - 数据链路层_第39张图片

5.4.2 CSMA协议

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

名称 描述 优点 缺点
1-坚持CSMA 发送信息时监听信道,一空闲下来就立即传输,信道忙也一直监听,如果发送时冲突就等待随机时长之后再监听。 立即发送,利用率高 如果多台设备同时监听,那么会发生冲突。
非坚持CSMA 发送信息时监听信道,如果空闲就立即传输,信道忙就随机等待一段时间后再监听。 冲突发生的几率减少 因为需要等待,所以利用率不高。
p-坚持CSMA 发送信息时监听信道,空闲时以概率p进行传输,概率1-p不传输。信道忙就随机等待一段时间后再监听。 冲突减少的同时效率也比较高 即使发生冲突也要坚持发送数据,资源被浪费。

5.4.3 CSMA/CD协议

CSMA/CD 表示载波监听多点接入 / 碰撞检测。

记端到端的传播时延为 τ,最先发送的站点最多经过 2τ 就可以知道是否发生了碰撞,称 2τ 为 争用期 。只有经过争用期之后还没有检测到碰撞,才能肯定这次发送不会发生碰撞。

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

当发生碰撞时,站点要停止发送,等待一段时间再发送。这个时间采用 截断二进制指数退避算法 来确定。从离散的整数集合 {0, 1, …, (2k-1)} 中随机取出一个数,记作 r,然后取 r 倍的争用期作为重传等待时间。

最小帧长问题

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

5.4.4 CSMA/CA协议

计算机网络 - 数据链路层_第43张图片

计算机网络 - 数据链路层_第44张图片

CSMA/CD协议与CSMA/CA协议区别

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

5.5 轮询访问介质访问控制

计算机网络 - 数据链路层_第46张图片

5.5.1 轮询协议

轮询协议要求节点中有一个被指定为主节点,其余节点是从属节点。

主节点以循环的方式轮询每一个从属节点,“邀请”从属节点发送数据(实际上是向从属节点发送一个报文,告诉从属节点可以发送帧以及可以传输帧的最大数量),只有被主节点“邀请”的从节点可以发送数据,没有被“邀请”的节点不能发送,只能等待被轮询。

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

存在问题:

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

5.5.2 令牌传递协议

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

动态演示:

6 局域网

局域网是一种典型的广播信道,主要特点是网络为一个单位所拥有,且地理范围和站点数目均有限。

主要有以太网、令牌环网、FDDI 和 ATM 等局域网技术,目前以太网占领着有线局域网市场。

决定局域网的主要要素有:网络拓扑、传输介质和介质访问方法。

6.1 网络拓扑

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

6.2 局域网的传播介质

局域网 常用介质
有线局域网 双绞线,同轴电缆,光纤
无线局域网 电磁波

6.3 局域网介质访问方法

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

6.4 局域网分类

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

6.4.1 以太网

以太网早期使用集线器进行连接,集线器是一种物理层设备, 作用于比特而不是帧,当一个比特到达接口时,集线器重新生成这个比特,并将其能量强度放大,从而扩大网络的传输距离,之后再将这个比特发送到其它所有接口。如果集线器同时收到两个不同接口的帧,那么就发生了碰撞。

目前以太网使用交换机替代了集线器,交换机是一种链路层设备,它不会发生碰撞,能根据 MAC 地址进行存储转发。

计算机网络 - 数据链路层_第52张图片以太网帧格式:

  • 类型 :标记上层使用的协议;
  • 数据 :长度在 46-1500 之间,如果太小则需要填充;
  • FCS :帧检验序列,使用的是 CRC 检验方法;

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

6.4.2 无限局域网

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

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

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

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

7 广域网

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

广域网与局域网的区别与联系

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

7.1 PPP 协议

互联网用户通常需要连接到某个 ISP 之后才能接入到互联网,PPP 协议是用户计算机和 ISP 进行通信时所使用的数据链路层协议。

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

PPP协议的三个组成部分:

计算机网络 - 数据链路层_第58张图片

PPP 的帧格式:

  • F 字段为帧的定界符
  • A 和 C 字段暂时没有意义
  • FCS 字段是使用 CRC 的检验序列
  • 信息部分的长度不超过 1500

计算机网络 - 数据链路层_第59张图片

7.2 HDLC协议(High-Level Data Link Control)

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

HDLC的三种站

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

HDC帧格式

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

HDLC与PPP区别

计算机网络 - 数据链路层_第63张图片

8. 链路层设备

8.1 集线器(Hub)

可以扩展以太网,但是集线器会无脑将一个设备的所有消息转发到集线器所连的所有设备,故会将所连接的所有设备变成一个大的冲突域,同时只能有两台设备进行通信,且设备越多,冲突越多。

计算机网络 - 数据链路层_第64张图片

8.2 网桥(Bridge)

计算机网络 - 数据链路层_第65张图片

透明网桥

通过自学习来构建转发表。每一个通过网桥的数据包都会被记录下网桥收到数据时数据对应的地址网桥自己的接口,通过许许多多的数据包的构造的缓存,网桥就可以知道哪个数据包在哪个接口,以后如果要穿数据包就知道要往哪个接口发送数据包。

原路由网桥

在源路由网桥中,路由选择由发送数据帧的源站负责,网桥只根据数据真正的路由信息对帧进行接收和转发。

8.3 交换机

桥接器的主要限制是在任一时刻通常只能执行一个帧的转发操作,于是出现了局域网交换机,又称以太网交换机。

  • 从本质上说,以太网交换机是一个多端口的网桥,它工作在数据链路层。交换机能经济地将网络分成小的冲突域,为每个工作站提供更高的带宽。

计算机网络 - 数据链路层_第66张图片

8.4 冲突域和广播域

计算机网络 - 数据链路层_第67张图片

参考

计算机网络

你可能感兴趣的:(计算机网络,局域网,交换机,以太网,网络)