Appearance
令牌传递协议
考情分析
令牌传递协议是低频考点,偶尔在选择题中出现,常考的方向是令牌传递的基本工作流程、确定性 vs 竞争性的区别、与 CSMA/CD 的对比。不涉及复杂计算。
考频:★☆☆
基本概念
令牌传递(Token Passing)是一种确定性的介质访问控制方法,用于解决共享信道的争用问题。
核心思想:网络中有一个特殊的控制帧叫做令牌(token)。令牌在各站点之间按固定顺序依次传递。只有持有令牌的站点才有权发送数据,其余站点只能等待。
与 CSMA/CD 的根本区别:CSMA/CD 是竞争性协议,各站点"先听后发、边发边听",可能发生冲突;令牌传递是确定性协议,通过令牌的传递顺序严格控制发送权,不会发生冲突。
令牌环网(Token Ring)
令牌传递最典型的实现是令牌环网,各站点通过点对点链路连接成一个物理环路(或逻辑环路)。
令牌沿着环路单方向传递(比如顺时针)。
工作流程
整个过程分四步:
第 1 步:空闲令牌传递
没有站点需要发送数据时,空闲令牌在环路上持续循环。每个站点收到令牌后,如果没有数据要发,就直接把令牌传给下一个站点。
第 2 步:捕获令牌并发送数据
某站点(比如 A)有数据要发送时,等到空闲令牌到达,将令牌从"空闲"改为"忙",然后紧跟令牌之后发送数据帧。数据帧沿环路传输,经过的每个站点检查目的地址——如果不是发给自己的就继续转发,如果是发给自己的就复制一份并继续转发。
第 3 步:数据帧回到发送方
数据帧绕环一圈回到发送方 A。A 检查帧中的确认标志,确认接收方是否成功收到数据,然后将该帧从环路上移除。
第 4 步:释放令牌
A 发送完毕后,重新生成一个空闲令牌放回环路,下一个需要发送的站点就可以捕获令牌。
令牌传递的特点
| 特性 | 说明 |
|---|---|
| 访问方式 | 确定性,无冲突 |
| 公平性 | 每个站点都有机会获得令牌,不会"饿死" |
| 负载适应 | 轻负载时效率低(令牌空转浪费时间),重负载时效率高(无冲突,信道利用率接近 100%) |
| 延迟特性 | 最大等待时间有上界(令牌转一圈的时间),适合实时性要求高的场景 |
与 CSMA/CD 的对比
| 对比项 | 令牌传递 | CSMA/CD |
|---|---|---|
| 访问控制方式 | 确定性(令牌控制) | 竞争性(先听后发) |
| 是否有冲突 | 无冲突 | 有冲突 |
| 轻负载性能 | 较差(令牌空转有延迟) | 较好(信道空闲直接发) |
| 重负载性能 | 较好(无冲突,利用率高) | 较差(冲突频繁,效率下降) |
| 实时性保证 | 有(等待时间有上界) | 无(冲突导致延迟不确定) |
| 实现复杂度 | 高(令牌管理、故障恢复) | 低 |
易错点
1. 令牌传递不会发生冲突,但不代表没有开销
令牌在环路上空转本身就消耗时间。在网络负载很轻时,大部分时间令牌在空转,信道利用率反而不如 CSMA/CD。
2. 数据帧要绕环一圈才能被移除
发送方发出的数据帧经过接收方后并不停止,而是继续绕环回到发送方,由发送方负责移除。这既是确认机制(发送方可以检查帧是否被成功接收),也是环路完整性的保证。
3. 令牌丢失需要恢复机制
如果持有令牌的站点突然故障,令牌可能丢失,整个网络就无法通信。因此令牌环网需要专门的令牌监控站来检测令牌丢失并重新生成令牌。
高频考点清单
- 令牌传递是确定性访问控制,无冲突
- 只有持有令牌的站点才能发送数据
- 轻负载效率低(令牌空转),重负载效率高(无冲突)
- 与 CSMA/CD 的核心区别:确定性 vs 竞争性
- 数据帧绕环一圈后由发送方移除
- 令牌丢失需要监控和恢复机制