计算机网络之令牌环

1.令牌环工作原理

令牌环(Token Ring)是一种局域网(LAN)的通信协议,最初由IBM在1984年开发并标准化为IEEE 802.5标准。在令牌环网络中,所有的计算机或工作站被连接成一个逻辑或物理的环形拓扑结构。网络中数据的传输是通过一个特殊的控制信号,即“令牌”来管理的。

令牌环的工作原理如下:

                    

(1)令牌的传递
        网络中有一个特殊的帧叫做“令牌”,它沿着环形网络从一个工作站传到另一个工作站。通常情况下,令牌是一个空闲状态的特殊帧,表示网络上的任何工作站都可以使用网络进行传输。
(2)数据发送
        当一个工作站想要发送数据时,它必须等待令牌的到来。收到令牌的工作站检查其状态,如果令牌处于空闲状态,那么该工作站可以将其状态改为忙,并附加上它要发送的数据。这样,令牌就变成了一个数据帧,包含有源地址、目的地址和实际的数据负载。
(3)数据接收和转发
        数据帧沿着环形网络继续传递,每个工作站接收到这个帧后,都会检查目的地址是否与自己的地址匹配。如果不匹配,工作站会将数据帧原封不动地转发给下一个工作站。如果目的地址与工作站的地址匹配,那么该工作站会复制数据帧的内容,并将其从网络上移除。
(4)令牌恢复
        发送数据的工作站在数据帧完成一圈并返回时,会检查确认信息,确保数据被正确接收。一旦数据帧被接收并验证无误,原始发送工作站会从网络上移除该帧,并重新生成一个空闲状态的令牌,以便其他工作站可以使用。

2.令牌环技术细节

优先级预定和处理机制

令牌环标准:ISO 8802/5和IEEE 802.5。

传输媒体:屏蔽双绞线或者同轴电缆,

传输编码:差分曼彻斯特编码,

传输速率:1Mbps和4Mbps或 4Mbps、20Mbps和40Mbps 。

3.令牌环的MAC帧格式说明

帧开始/结束标志(SD/ED):  

        帧的开始:JK0JK000和结束:JK1JK1IE  

E位(差错标志): 由RPU置位,RPU在转发每个帧的同时,也执行差错校验动作,并利用RPU具有的一位延迟来置位差错标志。

                     

访问控制字段(AC):  

        Pr/Rr:本帧优先级和预定优先级,    

        T:令牌标识,T=0时,令牌帧,  T=1时,信息帧。            

        M:监视位,由环路中的监控器填写,发送结点发送该帧(或令牌)时,M置为0,当该帧经过监控器时,监控器将该位置为1。 如果监控器发现监视位已经被置为1,则认为发送结点出了故障,未能按规定撤出该帧,此时监控器负责撤出该帧,并发出令牌帧。

帧控制字段(FC):格式为“FFzzzzzz”     

        FF:帧的种类,FF=00,MAC控制帧;                    

        FF=10,管理帧。                  

        FF=01,数据帧, 帧状态标志(FS),格式为“ACxxACxx”,     由发送方复位和接收方置位,表示帧的收取状况,    

        A:地址确认位,由接收方置位,表示帧中的宿地址正确;    

        C:信息复制位,由接收方置位,表示此帧已被接收方正确复制。    

        Xx:保留未用。

4.令牌环网的特点

(1)同一时刻,环上只有一个数据帧在传输(一个结点在传输数据);

(2)网上所有结点共享网络带宽;

(3)有最小的传输延迟时间,(令牌传输需要时间);

(4)数据从一个结点传到另一个结点的时间是可计算的,可用于实时控制。      

 标准:IEEE 802.5

5.时间片环(802.7)

基本原理:      

        时间片环的依据:环路的数据传输和转发器的处理延时,整个环路可以被视为等效的循环移位寄存器。  

循环移位寄存器的位数=(电信号传播延迟(5us/km)×  传输媒体长度+转发器延时)×数据传输速率。

                                             

:100个结点组成的环路,结点间距为100米,假设每个转发器的处理延时为2us,网络传输速率为10Mbps(等价于10b/us),则整个环路等价于2500位的循环移位寄存器,

100个转发器总延时:100×2us=200us;  

100段线路传输总延时:100米×100段=10000米(延时50us);

环路等价的循环移位寄存器:(200+50)us×10b/us=2500b

时间片划分(槽):将整个循环移位寄存器视为一列首尾衔接的列车,槽(时间片)对应了列车的车厢,用于传输数据。

数据帧的装拆工作:将数据帧拆卸为适合槽传输的数据块(逻辑小分组)

时间片环同一时刻可能有多个结点发送数据,网上有多个逻辑小分组在传输。 整个环路对应的循环移位寄存器应该是时间片的整数倍。

每个结点都可以插入一定量的移位寄存器,并由环路中的监控器负责整数倍的工作。

6.时间片环数据帧格式

帧开始标志(P):标识帧的开始,同时指出地址的类型。

填充字段(PAD):目的是保证DATA和PAD两字段之和为偶数个字节。

引导比特(S):为“1”,表示逻辑小分组(或者时间片)的开始。

槽满/空标识(F/E):表示当前槽是否已存放数据,满为1,空为0。

监控位(M):监控槽的运行状态,结点发送时,置0,监控器置1,  

宿/源地址(da/sa):收发逻辑小分组的结点地址(255表示广播小分组,0:本地址)。

结点类型(T):结点是否为基本型或增强型。

应答位(R):宿结点填写,表示逻辑小分组的接收情况(01为正确接收,

校验位(P):采用偶校验。        

7.时间片环工作过程

(1)有数据帧待发的结点,分段数据帧,组成逻辑小分组,并等待时间片的到来;

(2)一旦识别到空的时间片( F/E=0),结点将逻辑小分组填入时间片(槽),置时间片满( F/E=1),发送到传输媒体上;

(3)匹配宿地址的接收结点复制逻辑小分组(组装成帧),并且根据小分组的接收情况,置起应答位(R),同时转发时间片; 环中时间片个数固定的,发送结点可以根据时间片计数或者源地址判断发送的逻辑小分组的返回;

(4)发送结点撤消小分组,释放空时间片。并且根据返回的应答信号,确定在获得新的空时间片后是否进行继续发送或者重传;

规定:任一时刻,每个结点  只能有一个逻辑小分组在环中流动

                                                 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/42478.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

排序(2)

我们在排序&#xff08;1&#xff09;中说到选择排序的代码&#xff1a; void SelectSort(int* a,int n) {int begin0,endn-1;int minibegin,maxbegin;for(int ibegin1;i<end;i){if(a[i]>a[max]){maxii;}if(a[i]<a[mini]){minii;}begin;--end;}Swap(&a[beign],&a…

SKF轴承故障频率查询

1&#xff0c;第一步&#xff1a;搜索轴承型号 skf官网 2&#xff0c;第二步&#xff1a;查询故障频率。 第三步&#xff1a;

尚品汇-(十四)

&#xff08;1&#xff09;提交git 商品后台管理到此已经完成&#xff0c;我们可以把项目提交到公共的环境&#xff0c;原来使用svn&#xff0c;现在使用git 首先在本地创建ssh key&#xff1b; 命令&#xff1a;ssh-keygen -t rsa -C "your_emailyouremail.com" I…

完美解决ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)

已解决ERROR 1045 (28000): Access denied for user ‘root‘‘localhost‘ (using password: NO) 下滑查看解决方法 文章目录 报错问题解决思路解决方法交流 报错问题 ERROR 1045 (28000): Access denied for user ‘root‘‘localhost‘ (using password: NO) 解决思路 对…

InfluxDB v2.x中的Flux基本概念

InfluxDB v2.x中的Flux查询语言的核心概念主要包括以下几个方面&#xff1a; 1. 表&#xff08;Tables&#xff09; Flux以表&#xff08;Tables&#xff09;的形式处理数据。每个表包含多行数据&#xff0c;每行数据都是一个record&#xff08;记录&#xff09;&#xff0c;…

落日余晖映晚霞

落日余晖映晚霞&#xff0c;立于海滨&#xff0c;望夕阳余晖洒于波光粼粼之上&#xff0c;金光跳跃&#xff0c;若繁星闪烁&#xff0c;耀人心目。 海风轻拂&#xff0c;心境宁静&#xff0c;凡尘俗务皆于此刹那消散&#xff0c;思绪万干&#xff0c;或忆往昔点滴&#xff0c;或…

刷爆leetcode第十期

题目一 相同的树 给你两棵二叉树的根节点 p 和 q &#xff0c;编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同&#xff0c;并且节点具有相同的值&#xff0c;则认为它们是相同的。 首先我们要来判断下它们的根是否相等 根相等的话是否它们的左子树相等 是否…

在CMD中创建虚拟环境并在VSCode中使用和管理

1. 使用Conda创建虚拟环境 在CMD或Anaconda Prompt中执行以下代码以创建一个新的虚拟环境&#xff1a; conda create -n my_env python 3.8 这样会创建一个名为 my_env 的环境&#xff0c;并在Anaconda环境目录下生成一个相应的文件夹&#xff0c;包含该虚拟环境所需的所有…

GD32实战篇-双向数控BUCK-BOOST-BOOST升压理论基础

本文章基于兆易创新GD32 MCU所提供的2.2.4版本库函数开发 向上代码兼容GD32F450ZGT6中使用 后续项目主要在下面该专栏中发布&#xff1a; https://blog.csdn.net/qq_62316532/category_12608431.html?spm1001.2014.3001.5482 感兴趣的点个关注收藏一下吧! 电机驱动开发可以跳转…

MySQL之备份与恢复(八)

备份与恢复 还原逻辑备份 如果还原的是逻辑备份而不是物理备份&#xff0c;则与使用操作系统简单地复制文件到适当位置的方式不同&#xff0c;需要使用MySQL服务器本身来加载数据到表中。在加载导出文件之前&#xff0c;应该先花一点时间考虑文件有多大&#xff0c;需要多久加…

金蝶云苍穹-插件开发(二)新建、更新、删除数据

加载本页面数据 关于加载数据&#xff0c;还要多补充一个点&#xff0c;如果要加载一个基础资料/单据界面中正在操作的界面&#xff0c;比如要获取刚填写好的字段值&#xff0c;就要获取当前界面的模型层&#xff0c;再获取具体数据。具体操作如下&#xff1a; //获取日任务信…

C++ 函数高级——函数的占位参数

C中函数的形参列表里可以有占位参数&#xff0c;用来做占位&#xff0c;调用函数时必须填补改位置 语法&#xff1a; 返回值类型 函数名&#xff08;数据类型&#xff09;{ } 在现阶段函数的占位参数存在意义不大&#xff0c;但是后面的课程中会用到该技术 示例&#xff1a;…

STM32快速复习(八)SPI通信

文章目录 前言一、SPI是什么&#xff1f;SPI的硬件电路&#xff1f;SPI发送的时序&#xff1f;二、库函数二、库函数示例代码总结 前言 SPI和IIC通信算是我在大学和面试中用的最多&#xff0c;问的最多的通信协议 IIC问到了&#xff0c;一般SPI也一定会问到。 SPI相对于IIC多了…

heml之样式布局技巧博客

在编写关于 HEML&#xff08;HTML CSS JavaScript&#xff09;的样式布局技巧博客时&#xff0c;可以涵盖很多不同的方面 1. 响应式设计 介绍媒体查询&#xff08;Media Queries&#xff09;以及如何根据设备尺寸调整样式。使用百分比宽度、视口单位&#xff08;vw、vh&…

含并行连结的网络

一、Inception块 1、白色部分通过降低通道数来控制模型复杂度&#xff0c;蓝色做特征提取工作&#xff0c;每条路上的通道数可能不同&#xff0c;大概我们会把更重要的那部分特征分配更多的通道数 2、Inception只改变高宽&#xff0c;不改变通道数 3、在不同的情况下需要选择…

pin是什么?管脚

1.平面分割 1)启动Allegro PCB design &#xff0c;打开.brd。深色部分属于一个net&#xff0c;要做一下修改&#xff0c;将上面的pin包含进shape中&#xff0c;i进行a&#xff0c;b两步操作&#xff0c;删除以前存在的Anti Etch下的line&#xff0c;再将其进行补齐 使它保住上…

【帧中继实验-ensp】

实验要求 在R1上开启一个点对点子接口&#xff0c;用于连接 R1–R2&#xff0c;两端IP地址为12.1.1.x 。开启一个多点子接口 &#xff0c;用于连接R1–R3&#xff0c;R4&#xff0c;两段IP地址为134.1.1.x。 具体DLCI分配和映射关系如下&#xff1a; R1 102 R2 201—动态映射…

python获取海康威视所有摄像头的OSD通道名称

读取IP地址的txt文档 根据IP地址获取监控摄像头的OSD通道名称 # codingutf-8 import os import time import requests from requests.auth import HTTPBasicAuth, HTTPDigestAuth import xml.etree.ElementTree as ET #注意&#xff1a;和ip.txt放在一个文件夹&#xff0c;会生…

论文略读:Can Long-Context Language Models Subsume Retrieval, RAG, SQL, and More?

202406 arxiv 1 intro 传统上&#xff0c;复杂的AI任务需要多个专门系统协作完成。 这类系统通常需要独立的模块来进行信息检索、问答和数据库查询等任务大模型时代&#xff0c;尤其是上下文语言模型&#xff08;LCLM&#xff09;时代&#xff0c;上述问题可以“一体化”完成…

【程序大侠传】大表分库分表切换数据库类型导致pagehelper生成sql语法报错

前序 代码剑宗等级分明&#xff0c;其门下弟子等级划分如下&#xff1a; 入门弟子 刚刚拜入代码剑宗&#xff0c;学习基础编程语言和基本剑法&#xff08;语法和基础概念&#xff09;。他们的代码还显得生涩&#xff0c;但已经开始展现出对优雅代码的追求。 江湖小虾 初步掌握…