0%

计算机网络-数据链路层

bing

计算机网络视频
计算机网络-基础知识
计算机网络-应用层
计算机网络-传输层
计算机网络-网络层
计算机网络-数据链路层

数据链路层解决两个相邻结点(主机或路由器)的数据通信服务,数据单位是数据帧

链路层服务

封装成帧

将网络层传递下来的 IP 数据报(分组)加上首部和尾部,封装成数据帧。

加入首部和尾部的原因之一是保证帧同步。物理层的数据传输单位是比特流,为了清楚多少比特能构成一个数据帧,可以用首尾标识,首部即为数据帧的开始,尾部即为数据帧的结束,以此来得到一个完整的数据帧。

由于数据帧使用首部和尾部进行定界,如果帧的数据部分包含和首部或尾部相同的内容,会导致帧的首部或尾部被误判。为了解决这个问题,如果数据部分和首部或尾部相同,在数据部分的前边插入转义字符。在接收端进行处理后可以还原出原始数据。

链路接入

在数据链路层中,主机和路由器称为结点,连接相邻结点的通信信道称为链路。如果链路被很多结点共享,需要解决链路接入问题,保证数据的正确传输。

流量控制

协调相邻结点的发送速率和接收速率

差错检验

使用循环冗余检验 CRC ,不保证百分百检验出错误。

通信机制

  • 全双工通信:可以双向同时传输
  • 半双工通信:可以双向交替传输

链路分类

  • 点对点链路
  • 广播链路:链路可以共享

MAC 地址

MAC 地址也称局域网地址, MAC 地址用于在网络中唯一标识一个网卡。一个网络设备可以有多个网卡,每个网卡都拥有 MAC 地址。

MAC

对于 Internet 网路使用共享广播链路,如果两个结点同时进行传输,势必造成冲突。为了解决这种问题,需要引入一种协议,保证同时传输不会出问题,多路访问控制协议 MAC 就是为了解决这个问题。

MAC 分类

  • 信道划分 MAC 协议:多路复用技术
  • 随机访问 MAC 协议:信道不划分,允许存在冲突;如果发生冲突采用冲突恢复机制
  • 轮转 MAC 协议

随机访问 MAC 协议

当结点要发送分组时,利用信道全部带宽发送数据,并且允许冲突。

CSMA 协议

发送帧之前监听信道,信道空闲发送完整帧,信道忙推迟发送,但是可能仍然存在冲突。

pic

CSMA 协议在数据帧发送之前监听信道,在数据传输过程中不会检测。当 $t_0$ 时刻,B 发现信道空闲开始发送数据。由于数据传播需要时间,在 $t_1$ 时刻还未到达 D,所以 D 监听信道空闲也会发送信号,此时会发生数据冲突。

CSMA/CD 协议

CSMA/CD 协议边发送数据边检测冲突,如果发现冲突可以及时停止发送数据以减少链路资源的浪费。CSMA/CD 协议的冲突检测可以总结为“边发边听,不发不听”

pic

为了保证 CSMA/CD 协议能够检测出冲突,需要保证如下公式:

pic

轮转 MAC 协议

  • 信道划分 MAC 协议
    • 当网络负载重时,共享信道效率高
    • 当网路负载轻时,共享信道效率低
  • 随机访问 MAC 协议
    • 当网络负载重时,共享信道效率低
    • 当网路负载轻时,共享信道效率高

轮转访问协议综合前两者的优点!

  • 轮询:类似于多路 IO 复用
  • 令牌传递

PPP

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

局域网

局域网是一种典型的广播信道,目前以太网占据着有线局域网的市场。可以按照网络拓扑结构对局域网进行分类:

pic

以太网是一种星型拓扑结构局域网。现在以太网使用交换机进行连接,交换机是一种链路层设备,它不会发生碰撞,能根据 MAC 地址进行存储转发。交换机具有自学习能力,学习的是交换表的内容,交换表中存储着 MAC 地址到接口的映射。

如图,交换机有 4 个接口,主机 A 向主机 B 发送数据帧时,交换机把主机 A 到接口 1 的映射写入交换表中。为了发送数据帧到 B,先查交换表,此时没有主机 B 的表项,那么主机 A 就发送广播帧,主机 C 和主机 D 会丢弃该帧,主机 B 回应该帧向主机 A 发送数据包时,交换机查找交换表得到主机 A 映射的接口为 1,就发送数据帧到接口 1,同时交换机添加主机 B 到接口 2 的映射

pic