数据链路层

1 信道分类

  • 点对点信道:一对一通信方式;
  • 广播信道:一对多通信方式。

2 三个基本问题

2.1 封装成帧

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


数据链路层_第1张图片
ea5f3efe-d5e6-499b-b278-9e898af61257.jpg

2.2 透明传输

  • 透明表示一个实际存在的事物看起来好像不存在一样。
  • 帧使用首部和尾部进行定界,如果帧的数据部分含有和首部尾部相同的内容,那么帧的开始和结束位置就会被错误的判定。需要在数据部分出现首部尾部相同的内容前面插入转义字符,如果出现转义字符,那么就在转义字符前面再加个转义字符,在接收端进行处理之后可以还原出原始数据。这个过程透明传输的内容是转义字符,用户察觉不到转义字符的存在。
数据链路层_第2张图片
c5022dd3-be22-4250-b9f6-38ae984a04d7.jpg

2.3 差错检测

目前数据链路层广泛使用了循环冗余检验(CRC)来检查比特差错。

3 局域网

  • 局域网是典型的一种广播信道,主要特点是网络为一个单位所拥有,且地理范围和站点数目均有限。
  • 可以按照网络拓扑对局域网进行分类:
数据链路层_第3张图片
a6026bb4-3daf-439f-b1ec-a5a24e19d2fb.jpg

4 PPP 协议

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


数据链路层_第4张图片
ddcf2327-8d84-425d-8535-121a94bcb88d.jpg

在 PPP 的帧中:

  • F 字段为帧的定界符
  • A 和 C 字段暂时没有意义
  • FCS 字段是使用 CRC 的检验序列
  • 信息部分的长度不超过 1500
数据链路层_第5张图片
69f16984-a66f-4288-82e4-79b4aa43e835.jpg

5 CSMA/CD 协议

用于广播信道中。在广播信道上,同一时间只能允许一台计算机发送数据。

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

  • 多点接入 :说明这是总线型网络,许多计算机以多点的方式连接到总线上。
  • 载波监听 :每个站都必须不停地监听信道。在发送前,如果监听到信道正在使用,就必须等待。
  • 碰撞检测 :在发送中,如果监听到信道已有其它站正在发送数据,就表示发生了碰撞。虽然每一个站在发送数据之前都已经监听到信道为空闲,但是由于电磁波的传播时延的存在,还是有可能会发生碰撞。
数据链路层_第6张图片
5aa82b89-f266-44da-887d-18f31f01d8ef.png

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

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

6 扩展局域网

6.1 在物理层进行扩展

  • 使用集线器进行扩展。
  • 集线器的主要功能是对接收到的信号进行放大,以扩大网络的传输距离。
  • 集线器不能根据 MAC 地址进行转发,而是以广播的方式发送数据帧。
  • 集线器是一种共享式的传输设备,意味着同一时刻只能传输一组数据帧。
数据链路层_第7张图片
823cdab7-3779-4e3a-a951-dc2d154e0ee6.jpg

6.2 在链路层进行扩展

最开始使用的是网桥,它收到一个帧时,根据帧的 MAC 地址,查找网桥中的地址表,确定帧转发的接口。

网桥不是共享式设备,因此性能比集线器这种共享式设备更高。

交换机的问世很快就淘汰了网桥,它实质上是一个多接口网桥,而网桥是两接口。交换机的每个接口都能直接与一个主机或者另一个交换机相连,并且一般都工作在全双工方式。

交换机具有自学习能力,学习的是交换表的内容。交换表中存储着 MAC 地址到接口的映射。下图中,交换机有 4 个接口,主机 A 向主机 B 发送数据帧时,交换机把主机 A 到接口 1 的映射写入交换表中。为了发送数据帧到 B,先查交换表,此时没有主机 B 的表项,那么主机 A 就发送广播帧,主机 C 和主机 D 会丢弃该帧。主机 B 收下之后,查找交换表得到主机 A 映射的接口为 1,就发送数据帧到接口 1,同时交换机添加主机 B 到接口 3 的映射。

数据链路层_第8张图片
c9cfcd20-c901-435f-9a07-3e46830c359f.jpg

6.3 虚拟局域网
虚拟局域网可以建立与物理位置无关的逻辑组,只有在同一个虚拟局域网中的成员才会收到链路层广播信息,例如下图中 (A1, A2, A3, A4) 属于一个虚拟局域网,A1 发送的广播会被 A2、A3、A4 收到,而其它站点收不到。

数据链路层_第9张图片
a74b70ac-323a-4b31-b4d5-90569b8a944b.png

7 MAC 层

MAC 地址是 6 字节(48 位)的地址,用于唯一标识网络适配器(网卡),一台主机拥有多少个适配器就有多少个 MAC 地址,例如笔记本电脑普遍存在无线网络适配器和有线网络适配器。

数据链路层_第10张图片
50d38e84-238f-4081-8876-14ef6d7938b5.jpg

在 MAC 帧中:

类型 :标记上层使用的协议;
数据 :长度在 46-1500 之间,如果太小则需要填充;
FCS :帧检验序列,使用的是 CRC 检验方法;
前同步码 :只是为了计算 FCS 临时加入的,计算结束之后会丢弃。

你可能感兴趣的:(数据链路层)