第四章局域网和城域网(2) 4.4令牌总线访问控制和IEEE802.4标准 4.5令牌环访问控制和IEEE8025标准
第四章 局域网和城域网 (2) ◼ 4.4 令牌总线访问控制和IEEE802.4标准 ◼ 4.5 令牌环访问控制和IEEE 802.5标准
令牌总线和IE8024 802.3协议不能保证对每个站点公平,不 能保证最长等待时间.因此不能应用于工 厂自动化和实时系统中 8024提出了令牌总线网,既有802.3的可 靠性,又有环网能确知最坏情况的特性 ■总线拓扑 令牌:
令牌总线和IEEE 802.4 ◼ 802.3协议不能保证对每个站点公平, 不 能保证最长等待时间. 因此不能应用于工 厂自动化和实时系统中. ◼ 802.4提出了令牌总线网, 既有802.3的可 靠性, 又有环网能确知最坏情况的特性. ◼ 总线拓扑 ◼ 令牌:
令牌总线局域网 ■逻辑环结构: ■逻辑上,令牌总线所有站点组成一个环,每个 站点按次序分配一个逻辑地址 每个站点记录前面站点和后面站点 ■令牌绕逻辑环传送,只有令牌持有者才有权 力发送数据 逻辑环(站点20、40不在环中) 令牌总线配置(图中总线上站点按物理地址排序,标准中并未如此规定)
令牌总线局域网 ◼ 逻辑环结构: ◼ 逻辑上, 令牌总线所有站点组成一个环, 每个 站点按次序分配一个逻辑地址. ◼ 每个站点记录前面站点和后面站点. ◼ 令牌绕逻辑环传送, 只有令牌持有者才有权 力发送数据. 10 20 30 40 50 60 逻辑环(站点20、40不在环中) 令牌总线配置(图中总线上站点按物理地址排序,标准中并未如此规定)
令牌总线控制 ■令牌总线MAC协议十分复杂,关键是令牌 逻辑环的维护 ■环初始化 ■插入环 ■退出环 恢复环
令牌总线控制 ◼ 令牌总线MAC协议十分复杂,关键是令牌 逻辑环的维护: ◼ 环初始化 ◼ 插入环 ◼ 退出环 ◼ 恢复环
环初始化 ■网络没有令牌,开始环初始化过程: 发出一个 CLAIM-TOKEN帧 没有人来竞争产生令牌,建立一个环 有竞争,比较申请令牌帧的数据字段长度来解决冲突: CLAIM-TOKEN帧的长度根据其地址的头两位的值设置为 “响应窗口”(时槽时间)的0/2/4/6倍 ■发完之后如果监听到媒体上还有别的站点来发送,放弃申请 令牌 ■否则按照地址的下一个两位来继续竞争
环初始化 ◼ 网络没有令牌,开始环初始化过程: ◼ 发出一个CLAIM-TOKEN帧 ◼ 没有人来竞争,产生令牌,建立一个环 ◼ 有竞争,比较申请令牌帧的数据字段长度来解决冲突: ◼ CLAIM-TOKEN帧的长度根据其地址的头两位的值设置为 “响应窗口”(时槽时间)的0/2/4/6倍 ◼ 发完之后如果监听到媒体上还有别的站点来发送,放弃申请 令牌 ◼ 否则按照地址的下一个两位来继续竞争…
插入环(1) 令牌持有者询问是否有站点需要加入 周期性发送 SOLIT SUCCESSORI帧,之后等待 一个响应窗口时间来允许新站加入环中,如 果没有新站加入继续其他操作 ■如果有一个站点响应(发送置后继站帧),该 站点被插入环中,并且成为当前令牌持有者 后继站点,并把令牌传递给它 ■多个站点响应,插入环出现冲突:
插入环(1) ◼ 令牌持有者询问是否有站点需要加入 ◼ 周期性发送SOLIT_SUCCESSOR帧,之后等待 一个响应窗口时间来允许新站加入环中, 如 果没有新站加入继续其他操作. ◼ 如果有一个站点响应(发送置后继站帧), 该 站点被插入环中, 并且成为当前令牌持有者 后继站点,并把令牌传递给它. ◼ 多个站点响应,插入环出现冲突:
插入环(2) ■多个站点要求插入环 令牌持有者发出 RESOLVE CONTENTION帧并且等 待4个响应窗口 每个请求者按照自身地址前2位选择等待的响应窗 口数,如在它的响应窗口到来前有站点发送,则放弃 令牌持有者收到有效响应后,该新站成为后继站点, 被插入环 否则根据下一个2位重复 RESOLVE CONTENTION过 程. ■过程持续直到收到一个有效的置后继帧,或者没有 响应,或者直到最后两个比特为止
插入环(2) ◼ 多个站点要求插入环: ◼ 令牌持有者发出RESOLVE_CONTENTION帧并且等 待4个响应窗口. ◼ 每个请求者按照自身地址前2位选择等待的响应窗 口数,如在它的响应窗口到来前有站点发送,则放弃 ◼ 令牌持有者收到有效响应后, 该新站成为后继站点, 被插入环 ◼ 否则根据下一个2位重复RESOLVE_CONTENTION过 程. ◼ 过程持续直到收到一个有效的置后继帧,或者没有 响应,或者直到最后两个比特为止
插入环(3) ■新站的请求不会影响令牌的轮转时间 ■每个站点都会计算令牌循环一周的时间 ■如果通信量太大,不允许新站进环 每次只允许一个站点入环
插入环(3) ◼ 新站的请求不会影响令牌的轮转时间 ◼ 每个站点都会计算令牌循环一周的时间 ◼ 如果通信量太大,不允许新站进环 ◼ 每次只允许一个站点入环
环删除 站点在持有令牌时,能够从环中删除自身 站点向其前方站点发送置后继站帧来更 新后继站点记录,然后把令牌传递给后继 站点
环删除 ◼ 站点在持有令牌时, 能够从环中删除自身. ◼ 站点向其前方站点发送置后继站帧来更 新后继站点记录, 然后把令牌传递给后继 站点
环恢复 站点在一段时间内没有监测到环活动时,发出 CLAIM_ TOKEN帧发起环初始化过程. ■令牌传递过程中的令牌恢复: 用道段时间,看后维点是活 ■仍然失败,则发送 WHO-FOLLOWS帧,以把出错站点从环中移走 上一步骤仍然失败,发送 SOLICT SUCCESSOR2,重建环 ■令牌持有者故障,令牌丢失,环一段时间没有活动时将开 始环初始化过程 ■令牌持有者发现多个令牌则丢弃一个,直到最后只剩 个或者没有,如果碰巧所有令牌都丢失,则开始环初 始化过程
环恢复 ◼ 站点在一段时间内没有监测到环活动时,发出 CLAIM_TOKEN帧发起环初始化过程. ◼ 令牌传递过程中的令牌恢复: ◼ 令牌传递之后监测一段时间,看后继站点是否活跃 ◼ 不活跃,再递交一次 ◼ 仍然失败,则发送WHO-FOLLOWS帧,以把出错站点从环中移走 ◼ 上一步骤仍然失败,发送SOLICT_SUCCESSOR_2,重建环 ◼ 令牌持有者故障,令牌丢失,环一段时间没有活动时将开 始环初始化过程 ◼ 令牌持有者发现多个令牌则丢弃一个,直到最后只剩一 个或者没有,如果碰巧所有令牌都丢失,则开始环初 始化过程