6.1 链路层

1.链路层简介

2.链路层服务

3.链路层节点的连接方式

4.为什么有的链路提供可靠的数据服务, 有的不能


1.链路层简介

数据链路层(一个子网)负责将数据报从"一个节点通过链路将发送到相邻的物理节点"; 当今主流的交换式网络中, 一个目标

明确的帧根本不会被"无关"的节点收到

1).古老的共享式网络(使用集线器的网络)

a.工作方式

集线器是一个物理层设备, 它不懂MAC地址; 它收到一个帧后, 会简单地复制到所有其他端口; 这就像在一个房间里, 一个人

说话, 所有人都能听到

b.节点行为

每个节点的网卡都会收到这个帧, 网卡检查目标MAC地址; 如果匹配自己, 就收下, 如果不匹配自己, 就直接丢弃

c.结果: 只有真正的目标节点会处理这个帧, 其他节点都丢弃它; 虽然效率低下且不安全, 但网络是通的

2).现代交换网络(使用交换机的网络)

在当今的网络中,交换机取代了集线器; 交换机是一个"链路层(二层)设备", 它非常智能; 

交换机的核心能力: "它有一张MAC地址表, 记录了每个端口连接着哪个MAC地址的设备"

a.帧的出发

- 电脑A准备好帧, 目标MAC地址是电脑C的MAC, 源MAC地址是自己的

- 帧通过网线进入交换机的[端口1]

b.交换机的智能决策("关键步骤")

- 交换机在[端口1]收到帧, 它学习到: "源MAC地址(电脑A的MAC)来自[端口1]", 并更新它的MAC地址表

- 交换机查看帧的目标MAC地址(电脑C的MAC)

- 它去查询自己的MAC地址表: "电脑C的MAC地址在哪个端口"

- 如果它找到了, 比如记录显示电脑C在[端口3], 那么交换机会只将这个帧从[端口3]转发出去; 端口2、端口4等其他所有端

口都完全收不到这个帧

- 如果它没找到, 比如电脑C刚开机, 还没发送过数据, 交换机会采取"泛洪"策略, 即把这个帧从除了来源端口(端口1)之外

的所有端口广播出去

c.帧的到达

-"找到记录"的最佳情况下, 这个帧精准地从交换机的[端口3]送出, 直接到达电脑C

- 电脑C的网卡检查MAC地址: "哦, 这是我的地址!", 于是收下该帧

- 电脑B、电脑D等其他所有设备, 根本不知道这次通信的发生, 因为它们所在的端口2, 4...根本没有收到这个帧

2.链路层服务

1).成帧

a.是什么

将网络层传下来的数据包(IP数据报)的前后加上帧头和帧尾, 打包成一个完整的"帧"

b.为什么

帧头和帧尾包含了重要的控制信息, 比如:

- 帧开始/结束标志: 告诉接收方一个帧从哪里开始, 到哪里结束

-/目的MAC地址: 在局域网内标识发送和接收设备的物理地址

- 类型/长度字段: 标识帧内封装的是哪种上层协议的数据(如IP协议还是ARP协议)
2).链路接入(介质访问控制)

a.是什么

当多个设备共享同一个通信信道(比如同一条总线或同一个无线频率), 规定谁、在什么时候可以发送数据

b.为什么

如果没有规则, 大家同时发送数据就会产生"碰撞"(冲突), 导致所有数据都无法识别
3).可靠交付

a.是什么

确保数据帧能够无差错、不丢失、按顺序地到达接收方

b.为什么

物理层是不可靠的, 可能在传输过程中产生比特差错; 链路层通过确认和重传机制来弥补这个缺陷

c.: 在出错率较低的有线介质(如现代以太网), 为了追求高效率, 通常不提供可靠交付服务, 而是将这个任务交给上层

的传输层(如TCP协议)去完成; 但在出错率高的无线链路中, 链路层通常会提供可靠交付服务
4).差错检测

a.是什么

检测数据在传输过程中是否发生了比特错误(0变成1, 1变成0)

b.为什么

物理信道会受到各种干扰, 出错是不可避免的; 差错检测能发现出错的帧并将其丢弃

c.常用技术

- 奇偶校验: 简单但不完全可靠

- 循环冗余检验(CRC): 这是目前应用最广泛、检错能力极强的技术; 帧尾的帧检验序列就是通过CRC计算得出的
5).差错纠正

a.是什么

不仅能发现错误, 还能自动纠正一定数量的比特错误

b.为什么

在某些实时性要求高或重传代价大的场景(如深空通信)下使用
6).流量控制

a.是什么

协调发送方和接收方的数据发送与接收速度, 防止快的发送方淹没慢的接收方

b.为什么

接收方的缓冲区是有限的, 如果发送方发送太快, 接收方来不及处理, 就会导致数据帧被丢弃
7).半双工与全双工

a.半双工: 通信双方都可以发送和接收, 但不能同时进行(像对讲机), 链路层需要协调这种交替通信

b.全双工: 通信双方可以同时发送和接收(像电话), 链路层可以同时管理两个方向上的数据流

3.链路层节点的连接方式

1).点到点的连接方式

a.定义

两个网络节点之间通过一条专用的通信链路直接相连

b.形象比喻

就像你家和你的邻居家之间, 有一条专属的、不与他人共享的私人小路; 这条路上只有你们两家的车能走

c.特点

- 独占性: 整个链路的通信能力都被这两个节点独占

- 性能稳定: 没有其他节点竞争, 能可预测且稳定

2).多点连接

a.定义

超过两个的网络节点共享同一条通信链路

b.形象比喻

就像一条公共主干道, 路上有很多车辆(数据), 它们都来自或去往这条道路沿线的不同人家(节点); 每辆车必须有明确的地

址, 才能知道在哪家门口停下

c.特点

- 共享性: 所有节点共享链路的带宽

- 需要地址标识: 数据在共享链路上传播, 每个节点必须检查数据的目标地址, 如果是发给自己的才接收

- 可能存在冲突: 当多个节点同时发送数据时, 会发生"碰撞"

4.为什么有的链路提供可靠的数据服务, 有的不能

a.不可靠服务: 就像普通快递, 快递员把包裹送到你家门口, 按个门铃就走了; 他不确认你是否收到, 也不管包裹内容对不

对; 这种方式速度快、成本低

b.可靠服务: 就像贵重物品快递, 每到一个中转站都要签字确认, 送到你手上时必须你本人签收, 并当场开箱验货; 这种方

式速度慢、成本高, 但非常可靠
1).不可靠的链路层(常见于有线网络)

a.场景

光纤、高质量双绞线(如以太网网线)

b.原因

这些物理介质本身误码率极低, 出错的概率非常小; 如果在几乎不出错的链路上, 还坚持在每一段都进行繁琐的确认和重传,

会带来巨大的性能开销和延迟, 得不偿失

b.设计哲学:"信任底层,出错由上层负责", 链路层只负责尽力传输, 如果偶尔出了错, 就由更上层的比如传输层的TCP协

议来负责发现和重传; 这样整体效率最高

c.例子: 以太网的MAC层就是典型的不可靠服务, 它只负责差错检测(发现错误帧就丢弃)但不负责重传
2).可靠的链路层(常见于无线网络)

a.场景

无线Wi-Fi、蓝牙、卫星链路、早期质量差的电话线

b.原因

这些介质非常容易受到干扰、遮挡、多径效应的影响, 导致信号衰减和比特错误, 误码率很高; 如果在这种不可靠的链路上还

采用"尽力而为"的方式, 那么大量出错的帧会被丢弃, 最终都需要由TCP等上层协议来重传; 而TCP的重传是针对整个端到端

的数据段, 效率很低

c.设计哲学: "就地解决, 不让烂摊子留给上层", 在错误发生的地方(链路层)立刻进行重传

d.例子: Wi-Fi(802.11协议)在它的链路层就有确认帧和重传机制, 发送方发送一帧后, 必须在规定时间内收到接收方的ACK

确认帧, 否则就立刻重传
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值