轮询访问:令牌传递协议
介质访问控制的第三类答案:不抢,轮流来。 令牌环在今天几乎见不到了,但它在考卷上一直都在,因为它是随机访问最好的对照组——同样动态分配信道,它永远不冲突。
本页有两道错题,都出在令牌的”持有”和”回收”两个细节上。
机制
轮询与令牌
在轮询访问中,用户不能随机地发送信息,而要通过一个集中控制的监控站,以循环方式轮询每个节点,再决定信道的分配。典型的轮询访问控制协议是**令牌传递协议**。
在令牌传递协议中,一个令牌(Token)沿着环形总线在各站之间依次传递。令牌是一个特殊的控制帧,它本身并不包含信息,仅控制信道的使用,确保同一时刻只有一个站独占信道。当环上的一个站希望发送帧时,必须等待令牌。站点只有取得令牌后才能发送帧,因此令牌环网络不会发生冲突(因为令牌只有一个)。站点发送完一帧后,应释放令牌,以便让其他站使用。因为令牌在网环上是按顺序依次传递的,所以对所有联网计算机而言,访问权是公平的。
令牌与数据的传递过程
flowchart LR T["① 网络空闲<br/>环中只有令牌循环"] --> G["② 有数据的站取得令牌<br/>修改标志位、附加数据<br/>令牌变成数据帧"] G --> P["③ 数据帧沿环传输<br/>各站边转发边查目的地址<br/>目的站复制该帧"] P --> R["④ 回到源站<br/>源站不再转发(回收)<br/>检验返回的帧,出错则重传"] R --> N["⑤ 源站重新产生令牌<br/>交给下一站"] N --> T classDef k fill:#dbeafe,stroke:#2563eb class R,N k
- 当网络空闲时,环路中只有令牌帧在循环传递。
- 当令牌传递到有数据要发送的站点时,该站点就修改令牌中的一个标志位,并在令牌中附加自己需要传输的数据,将令牌变成一个数据帧,然后将这个数据帧发送出去。
- 数据帧沿着环路传输,接收到的站点一边转发数据,一边查看帧的目的地址。若目的地址和自己的地址相同,则接收站就复制该数据帧,以便进一步处理。
- 数据帧沿着环路传输,直到到达该帧的源站点,源站点收到自己发出去的帧后便不再转发。同时,通过检验返回的帧来查看数据传输过程中是否出错,若出错,则重传。
- 源站点传送完数据后,重新产生一个令牌,并传递给下一站点,交出信道控制权。
注意第 3 步:目的站只是”复制”帧,并不把它从环上摘下来,帧继续往前走,一直回到源站。回收帧的是源站,这就是第 4 步的意义——源站由此还能顺便核对这个帧在环上走了一圈后是否出错。
适用场景
令牌传递协议非常适合负载很高的广播信道,即多个节点在同一时刻发送数据的概率很大的信道。若这种信道采用随机介质访问控制,则发生冲突的概率很大;而令牌环在负载重时反而最能发挥优势,每个站都能按序得到发送机会,信道利用率高。反过来,负载轻时,一个站即使只有一点数据要发,也得等令牌转过来,这时随机访问更有效率。
令牌传递协议既不共享时间,又不共享空间;它实际上是在随机访问介质访问控制的基础上,限定了有权发送数据的节点只能有一个。
教材在这一节末尾给出了整个 3.5 的收束:即使是广播信道,也可通过介质访问控制机制使广播信道变为逻辑上的点对点信道,所以说数据链路层研究的是”点到点”之间的通信。 信道划分、随机访问、轮询访问三类方法,本质上都是在做这件事。
边界
令牌环不能”一直持有令牌直到发完”。 每个节点都有令牌持有时间的上限,只能在一定时间内获得发送权限;而没有数据要发送的节点收到令牌后要立刻传递下去,不能持有。
错题复盘:节点只能在令牌持有时间内发送;没有数据的节点收到令牌必须立即传递
王道 3.5.4 第 27 题:下列关于令牌环网络的说法中,错误的是(Ⅰ. 信道的利用率比较公平 Ⅱ. 重负载下信道利用率高 Ⅲ. 节点可以一直持有令牌,直至所要发送的数据传输完毕 Ⅳ. 节点只能持有令牌一段固定的时间,对于没有数据要发送的节点也是如此)(A. Ⅰ、Ⅱ和Ⅲ B. Ⅲ C. Ⅲ和Ⅳ D. Ⅳ)。答案 C。
令牌环网络使用令牌在各个节点之间传递来分配信道的使用权,每个节点都可在一定的时间内(令牌持有时间)获得发送数据的权限,而并非无限制地持有令牌,Ⅲ 错。在令牌传递过程中,没有数据要发送的节点收到令牌后将立刻传递下去,而不能持有,Ⅳ 错在”对于没有数据要发送的节点也是如此”。Ⅰ、Ⅱ 都是令牌环的特点。
Ⅲ、Ⅳ 是两个方向相反的错误:一个把持有时间说成了无限,一个把”有上限”说成了”人人都要持有满”。
帧由源站回收,不由目的站回收。
错题复盘:源站收到自己发出的数据帧后不再转发,并重新产生令牌
王道 3.5.4 第 29 题:在令牌环网络中,当一个站点收到自己发出去的数据帧后,它将(A. 不再转发该帧,并重新产生一个令牌 B. 不再转发该帧,并等待下一个令牌 C. 继续转发该帧,并重新产生一个令牌 D. 继续转发该帧,并等待下一个令牌)。答案 A。
站点收到自己发出去的数据帧后,不再转发该帧,而重新产生一个令牌,然后将该令牌发送给下一个站点。这样可以回收数据帧,避免环路上的冗余,并释放传输权限。
B 的错误在于”等待下一个令牌”:令牌此刻正在这个站手里(它是被改造成数据帧发出去的),环上没有别的令牌可等——它不重新产生令牌,环上就永远没有令牌了。
令牌环”不存在冲突”,所以”存在冲突的可能”是错的。 令牌环网络的拓扑结构为环状,有一个令牌不停地在环中流动,只有获得了令牌的节点才能发送数据,因此不存在冲突;网络中同一时刻只有一个节点的数据在传输,所有节点连接到同一个信道上,共享网络带宽;数据从一个节点传到另一个节点的时间可以根据节点数、传输速率和帧长计算出来(王道 3.5.5 第 26 题)。
最坏情况下的等待时间是可计算的。 令牌总是沿着逻辑环单向逐站传送,一个节点总能在确定的时间内获得令牌;所有站点都有数据要发送时,一个站点最坏要等所有站点传送令牌和发送帧的时间总和(第 30 题)。这是轮询访问相对随机访问的另一个优点:时延有上界。
跨科对照:多个请求者争一个资源。 令牌环与计组第 6 章的总线仲裁、第 5 章的中断判优都属于”事前预约、不会冲突”一侧,只有以太网 CSMA/CD 在”允许冲突、事后补救”一侧。这层共性在 计组第 6 章总览里已经整理过。
口径差异:令牌环在今天
教材口径:令牌传递协议作为轮询访问的典型协议,与 CSMA/CD 并列讲解;令牌环逻辑上是环形、物理上是星形(3.6.1)。
工程口径:IEEE 802.5 令牌环和 FDDI 已基本退出实际应用,以太网在局域网市场取得了垄断地位。考试仍考它的工作原理和与随机访问的对比。
对照速查
| 随机访问(CSMA/CD) | 轮询访问(令牌传递) | |
|---|---|---|
| 信道分配 | 动态 | 动态 |
| 冲突 | 会 | 不会 |
| 适合的负载 | 轻负载 | 重负载 |
| 最坏等待时间 | 无上界 | 有上界,可计算 |
| 访问权 | 争用 | 按序轮流,公平 |
| 说法 | 对错 |
|---|---|
| 令牌本身携带数据 | ❌(只控制信道使用;发送时才把令牌改造成数据帧) |
| 目的站收到数据帧后将其从环上移除 | ❌(目的站只复制,源站回收) |
| 网络空闲时环中既无令牌帧也无数据帧 | ❌(只有令牌帧在循环) |
| 与 CSMA/CD 相比,令牌环更适合负载重的环境 | ✅ |
| 令牌传递协议既不共享时间,也不共享空间 | ✅ |
考点
- 轮询访问 = 集中控制、循环轮询;典型协议是令牌传递
- 令牌只有一个 → 不会冲突;按序传递 → 访问权公平
- 发送:修改标志位、附加数据,令牌变数据帧;目的站复制,源站回收并重新产生令牌
- 令牌持有时间有上限;无数据的站立即传递令牌
- 适合重负载;最坏等待时间 = 所有站传令牌和发帧的时间总和
- 数据链路层研究的是”点到点”之间的通信
链接
- 🏠 返回总览:计算机网络第 3 章:数据链路层总览
- ⬅️ 上一节:3.5.2 随机访问:CSMA/CA
- ➡️ 下一节:3.6.1 局域网的基本概念和体系结构
- 📖 名词库:第 3 章名词库