数据传输示意图

image.png

数据链路层基本概念

链路&数据链路

链路:链路是一条点到点的物理线路段,中间没有任何交换节点。
数据链路:除了物理线路外,还有控制协议来控制数据的传输。

数据链路层传输的是帧

帧头14字节(源/目标Mac地址 ) + 去除帧头帧尾1500字节 + 帧尾4字节(CRC校验)

image.png

数据链路层解决地三个问题

封装成帧

image.png

透明传输

传输数据中包含与帧的头部或尾部标志相同的编码时,我们通过字节填充的方式转义以实现透明传输的问题。

image.png

差错检测

数据链路层只负责无差错接受,没错的帧接收传递;有错的帧直接丢掉,不做其他处理image.png
检错方式

  • 循环冗余检验CRC

数据链路层协议

PPP协议 - 点到点传输

使用点到点的数据链路层(多用于广域网)

全世界使用最多的点到点的数据链路层协议-PPP协议 image.png

image.png

LCP可用于身份验证,计费功能

image.png

CSMA/CD - 载波监听多点接入、碰撞检测协议

使用广播信道的数据链路层(多用于局域网)

以太网:当今主导地位的局域网组网技术。使用CSMA/CD协议的局域网都可以认为是以太网

使用广播信道的数据链路层使用-带有冲突检测的载波监听多路访问协议CSMA/CD

image.png

碰撞检测等待随机时间重新发送image.png

退避时间算法image.png

数据链路层的两个子层

数据链路层的两个子层

  • 逻辑链路控制层LLCimage.png
  • 媒体接入控制层MAC

媒体接入控制层MAC

由于逻辑链路控制层LLC已经被取消了,所以以太网的数据链路层主要是MAC层

MAC地址

  • 即物理地址,48位2进制组成,每个设备的MAC地址全球唯一。
  • 每个厂家的前24MAC地址位一致,即相同厂家的MAC地址的高24位是相同的。
  • 计算机的MAC地址被写在网卡的芯片里无法更改
  • 但我们可以使用虚拟机的虚拟MAC地址,来达到更改MAC地址的效果

MAC帧

image.png

  1. 将来自网络层的IP数据报加上,FCS(用于检错)
  2. 加上类型,源地址与目的地址:此处地址位MAC地址。
  3. 帧封装完毕,加入前同步码和帧开始定界符(此处不属于帧的内容)

网桥与冲突域

  • 冲突域:由于集线器所连接的局域网内只允许两台计算机同时通信,构成一个冲突域。
  • 集线器:用集线器连接的两个冲突域,会形成更大的冲突域。
  • 网桥:用网桥连接的冲突域可实现冲突域的分离,当网桥连接的两个冲突域各自在内部通信时,网桥会阻止源计算机像另一个冲突域传输,以实现冲突域的分离。
  • 交换机:计算机发展的过程中,网桥的可接口越来越多,逐渐发展为交换机,网桥即是交换机的前身,现在我们直接使用交换机连接计算机,就没有了冲突。而且交换机的接口有存储功能,就可以实现多个计算机同时和计算机A通信的时候,在A接口处排队出理。