先决条件——令牌环帧格式、令牌环效率
令牌环协议是用于局域网 (LAN) 的通信协议。在令牌环协议中,网络拓扑用于定义站点发送的顺序。这些站在单个环中相互连接。它使用一个特殊的三字节帧,称为“令牌”,在环中传播。
- 使用的拓扑:环
- 访问控制:令牌解析
- 数据流:单向
- 数据速率: 4Mbps、6Mbps
- 鸣谢:小猪支持鸣谢
- 编码:差分曼彻斯特编码
在本文中,我们将讨论令牌环的一些问题。有四种类型的问题:源问题、目标问题、令牌问题和监视器问题。这些解释如下。
1、来源问题:可以分为两种:
- (i) 孤儿包问题:
万一,如果一个站关闭,那么源发送的数据将在环中长时间保持循环。为了解决这个问题,在环中引入了一个称为监控站的特殊站。数据包中有一个监控位,每当监控器遇到该包时,它会将监控位更改为1 ,最初为0 ,之后如果监控器遇到监控位为1的数据包,它将丢弃它们。
这就是我们删除孤立数据包的方式。
- (ii) 杂散包问题:
数据以发件人无法识别的方式损坏。因此它将在环中无限循环。为了解决这个问题,Monitor每次都会计算 CRC ,当 CRC 发生变化时,Monitor 会删除它。
2. 目的地问题:一般来说三种是三种目的地问题:
- (i) 如果目的地繁忙:
如果目的地繁忙或其所有缓冲区都已满,那么在这种情况下,发送方将一次又一次地重新传输数据。这是对 CPU 和时间的浪费。 - (ii) 如果目的地停机:
如果目的地关闭,发送方也将一次又一次地重新传输数据,假设目的地是忙碌的。 - (iii) 如果数据中有错误:
如果数据损坏,Destination 将不会接受它。它会丢弃数据包。
为了在目标级别解决这些问题,在帧中添加了三个比特,以让发送方知道目标是否已关闭或数据中是否存在错误。
这三位是A (可用)、 C (复制)和E (错误)。
最初所有位都是0 。如果数据被目的地复制或接受,A & C 位将变为 1。
如果发送方可用并且由于数据中的某些错误或所有缓冲区已满而未复制数据,则位 A 将变为 1,C 将保持为 0。 检测数据包或目标中是否存在错误忙,我们使用错误位。如果数据中存在任何错误,错误位将变为 1,否则它将保持为 0。表示目标处于忙碌状态。
A (Available) | C (Copied) | E (Error) | |
---|---|---|---|
Initial | 0 | 0 | 0 |
Busy | 1 | 0 | 0 |
Error | 1 | 0 | 1 |
Copied | 1 | 1 | 0 |
在确认这些位后,发送方将有效地工作。
3. 代币问题:代币可能存在三种类型的问题。
- (i) 捕获令牌问题:
一个站持有令牌并发送大量数据,而没有给其他人机会。它会导致垄断。
为了避免这个问题,我们有最大的令牌持有时间。一个站可以在那个时间限制内持有令牌最大值。因此,不会有垄断。 - (ii) 如果 Token 丢失:
取得令牌后可能会发生帽子,站已关闭。在这种情况下,令牌将丢失。
针对此类情况,Monitor 有责任生成新的 Token。监视器将等待最大令牌返回时间,如果未收到令牌,则它将生成一个新令牌。 - (iii) 如果令牌损坏:
Monitor 会假设这是 Ring 中的一个干扰,所以它会删除它。在最长令牌返回时间之后,它将生成一个新令牌。
注意: Token 非常小(3 Bytes),CRC 是 4 Bytes,所以为了防止 Token 我们不能使用 CRC。它将增加令牌的大小。
4. 监控问题:有两种类型的问题。
- (i) 监视器不工作:
如果 Monitor 出现故障,则整个通信都会中断。为了克服这个问题,监视器向环上的所有系统提供心跳信息。
这个心跳包叫做AMP(Alive Monitor Packet)。
如果监视器出现故障,轮询就会完成,任何一个系统都将像监视器一样工作。 - (ii) 显示器故障:
如果监视器被黑客入侵,则称为监视器故障。这个问题的唯一解决方案是人工干预,即我们必须手动将其恢复到正常状态。