什么是集线器

2023-11-10

集线器,英文名又称Hub,在OSI模型中属于数据链路层。价格便宜是它最大的优势,但由于集线器属于共享型设备,导致了在繁重的网络中,效率变得十分低下,所以我们在中、大型的网络中看不到集线器的身影。如今的集线器普遍采用全双工模式,市场上常见的集线器传输速率普遍都为100Mbps。接下来我们了解一下集线器的几个概念:
共享型
集线器最大的特点就是采用共享型模式,就是指在有一个端口在向另一个端口发送数据时,其他端口就处于“等待”状态。为什么会“等待”呢?举个例子来说,其实在单位时间内A向B发送数据包时,A是发送给B、C、D三个端口的(该现象即紧接下文介绍的IP广播),但是只有B接收,其他的端口在第一单位时间判断不是自己需要的数据后将不会再去接收A发送来的数据。直到A再次发送IP广播,在A再次发送IP广播之前的单位时间内,C,D是闲置的,或者CD之间可以传输数据。我们可以理解为集线器内部只有一条通道(即公共通道),然后在公共通道下方就连接着所有端口。
IP广播
所谓IP广播(也称:群发),是指集线器在发送数据给下层设备时,不分原数据来自何处,将所得数据发给每一个端口,如果其中有端口需要来源的数据,就会处于接收状态,而不需要的端口就处于拒绝状态。举个例子来说:在网内时,当客户端A发送数据包给客户端B时,集线器便将来自A的数据包群发给每一个端口,此时B就处于接收状态,其它端口则处于拒绝状态;在网外也如此,当客户端A发送域名“www.163.com”时,通过集线器,然后经过DNS域名解析把IP地址(202.108.36.172)发回给集线器。此时,集线器便群发给所有接入的端口,需要此地址的机器便处于接收状态(客户端A处于接收状态),不需要则处于拒绝状态。
单位时间
这应该是最简单的一个名词了,也可以理解为Hub的工作频率,比如工作频率为33MHz的Hub,那么在单位时间内Hub能做什么事呢?上面在解释共享型的时候已经举了个例子,但是有一点在这需要解释的是,比如我们有的时候会看到A在向B发送数据的“同时”,C也在向D传送数据,这看起来似乎有点矛盾,也确实是这样,那为什么会看起来2者同时在进行呢?因为A在第一个单位时间内发送数据给B的时候,由于广播的原因,B、C、D在第一个单位时间内会同时接受广播,但是C,D会从第2个单位时间开始拒绝接收A发来的数据,因为C和D已经判断出这些数据不是他们需要的数据。而且在第2个单位时间的时候C也发送一个数据广播,A,B,D都接受,但是只有D会接收这些数据。这些操作只用2到3个单位时间,但是我们却很难察觉到,感觉上就是在同时“进行”一样。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么是集线器 的相关文章

  • C++ 维护子类对象的混合集合

    如果我在这里错过了一个相当基本的概念 我很抱歉 但我正在尝试弄清楚如何维护多个类类型的集合 所有类类型都派生自同一个父类 并且在检索它们时仍然可以访问它们的特定于子类的方法从集合中 作为上下文 我有一个基类 BaseClass 和许多类 例
  • 如何从 C# 中的 dataTable.Select( ) 查询中删除单引号?

    所以我有一个经销商名称列表 我正在我的数据表中搜索它们 问题是 一些傻瓜必须被命名为 Young s 这会导致错误 drs dtDealers Select DealerName dealerName 所以我尝试替换字符串 尽管它对我不起作
  • 使用 C# 登录《我的世界》

    我正在尝试为自己和一些朋友创建一个简单的自定义 Minecraft 启动器 我不需要启动 Minecraft 的代码 只需要登录的实际代码行 例如 据我所知 您过去可以使用 string netResponse httpGET https
  • 查找进程的完整路径

    我已经编写了 C 控制台应用程序 当我启动应用程序时 不使用cmd 我可以看到它列在任务管理器的进程列表中 现在我需要编写另一个应用程序 在其中我需要查找以前的应用程序是否正在运行 我知道应用程序名称和路径 所以我已将管理对象搜索器查询写入
  • 为什么在 WebApi 上下文中在 using 块中使用 HttpClient 是错误的?

    那么 问题是为什么在 using 块中使用 HttpClient 是错误的 但在 WebApi 上下文中呢 我一直在读这篇文章不要阻止异步代码 https blog stephencleary com 2012 07 dont block
  • 当一组凭据下的计划任务启动的进程在另一组凭据下运行另一个程序时,Windows 是否有限制

    所以我有一个简单的例子 其中我有应用程序 A 它对用户 X 本地管理员 有一些硬编码的凭据 然后它使用硬编码的绝对路径启动带有这些凭据的应用程序 B A 和 B 以及 dotnet 控制台应用程序 但是它们不与控制台交互 只是将信息写入文件
  • Python 属性和 Swig

    我正在尝试使用 swig 为一些 C 代码创建 python 绑定 我似乎遇到了一个问题 试图从我拥有的一些访问器函数创建 python 属性 方法如下 class Player public void entity Entity enti
  • 使用 LINQ to SQL 时避免连接超时的最佳实践

    我需要知道在 net 应用程序中使用 LINQ to SQL 时避免连接超时的最佳实践 特别是在返回时IQueryable
  • 将 Long 转换为 DateTime 从 C# 日期到 Java 日期

    我一直尝试用Java读取二进制文件 而二进制文件是用C 编写的 其中一些数据包含日期时间数据 当 DateTime 数据写入文件 以二进制形式 时 它使用DateTime ToBinary on C 为了读取 DateTime 数据 它将首
  • IQueryable 单元或集成测试

    我有一个 Web api 并且公开了一个端点 如下所示 api 假期 name name 这是 Web api 的控制器 get 方法 public IQueryable
  • C++ 中的双精度型数字

    尽管内部表示有 17 位 但 IEE754 64 位 浮点应该正确表示 15 位有效数字 有没有办法强制第 16 位和第 17 位为零 Ref http msdn microsoft com en us library system dou
  • 等待 IAsyncResult 函数直至完成

    我需要创建等待 IAsyncResult 方法完成的机制 我怎样才能做到这一点 IAsyncResult result contactGroupServices BeginDeleteContact contactToRemove Uri
  • 使 Guid 属性成为线程安全的

    我的一个类有一个 Guid 类型的属性 该属性可以由多个线程同时读写 我的印象是对 Guid 的读取和写入不是原子的 因此我应该锁定它们 我选择这样做 public Guid TestKey get lock testKeyLock ret
  • String.Empty 与 "" [重复]

    这个问题在这里已经有答案了 可能的重复 String Empty 和 有什么区别 https stackoverflow com questions 151472 what is the difference between string
  • 将数组作为参数传递

    如果我们修改作为方法内参数传递的数组的内容 则修改是在参数的副本而不是原始参数上完成的 因此结果不可见 当我们调用具有引用类型参数的方法时 会发生什么过程 这是我想问的代码示例 using System namespace Value Re
  • 可访问性不一致:参数类型的可访问性低于方法

    我试图在两个表单之间传递一个对象 基本上是对当前登录用户的引用 目前 我在登录表单中有一些类似的内容 private ACTInterface oActInterface public void button1 Click object s
  • 堆栈是向上增长还是向下增长?

    我在 C 中有这段代码 int q 10 int s 5 int a 3 printf Address of a d n int a printf Address of a 1 d n int a 1 printf Address of a
  • 为boost python编译的.so找不到模块

    我正在尝试将 C 代码包装到 python 中 只需一个类即可导出两个函数 我编译为map so 当我尝试时import map得到像噪音一样的错误 Traceback most recent call last File
  • 灵气序列解析问题

    我在使用 Spirit Qi 2 4 编写解析器时遇到一些问题 我有一系列键值对以以下格式解析
  • 是否可以在不连接数据库的情况下检索 MetadataWorkspace?

    我正在编写一个需要遍历实体框架的测试库MetadataWorkspace对于给定的DbContext类型 但是 由于这是一个测试库 我宁愿不连接到数据库 它引入了测试环境中可能无法使用的依赖项 当我尝试获取参考时MetadataWorksp

随机推荐

  • 剑指offer 学习笔记 连续子数组的最大和

    面试题42 连续子数组的最大和 输入一个整型数组 数组里有正数也有负数 数组中的一个或连续多个整数组成一个子数组 求子数组中数字的和的最大值 要求时间复杂度为O n 直观解法是枚举数组中所有子数组并求出它们的和 一个长度为n的数组 总共有n
  • idea 创建项目之后,不识别application.yml文件

    今天烦躁的是 创建了一个服务 项目的各个包都已经识别到了 源码包 配置包 然而 创建的application yml的文件没有识别为spring的小树叶加小齿轮的图标 而是一个YML的图标 意识到idea没有正常的工作 于是各种查原因 最后
  • Vue 2 - 常见面试题汇总大全

    文章目录 一 基础知识 1 vue 的生命周期 1 1 钩子函数 1 2 钩子函数的使用方法 1 3 父子组件生命周期构造函数执行顺序 2 v show 与 v if v for 2 1 v show 与 v if 的区别 2 2 v if
  • 一元函数中的导数、微分和不定积分的关系

    在同济大学高等数学教材里 关于微分和不定积分有如下介绍 老猿在这里思考了很久 到底是微分与积分运算互逆 还是求导数与积分运算互逆 导数与微分是什么关系 查阅了各种资料 莫衷一是 有说导数是积分逆运算的 也有说微分是积分逆运算的 还有说微分和
  • 导出文件 java.util.zip.ZipException: invalid stored block lengths

    提取压缩文件会引发错误 无效的存储块长度 解决方法是 添加maven resources plugin插件 指定文件类型不编码
  • Spring Boot 统一设置Json数据返回风格(Java驼峰命名转下划线)

    编写重写了WebMvcConfigurerAdapter的配置类 Configuration EnableWebMvc public class WebMvcConfig extends WebMvcConfigurerAdapter 统一
  • vuejs入门项目-产品售卖平台

    项目已经上传github 项目github地址 1 项目介绍 本项目主要是利用vuejs实现一个产品售卖的平台 vuejs的重要思想之一就是组件化 在本项目中也将不同的小模块进行组件化 这样可以重复利用一些模块 复用代码 减少代码的冗余 利
  • Android端RSA加密,服务端无法解密的一个坑

    关于加密填充方式 Android端RSA加密过的数据 服务器端死活解密不了 原来android系统的RSA实现是 RSA None NoPadding 而标准JDK实现是 RSA None PKCS1Padding 这造成了在android
  • FIX协议介绍与QuickFIX使用入门(上)

    定义 FIX协议是由国际FIX协会组织提供的一个开放式协议 目的是推动国际贸易电子化的进程 在各类参与者之间 包括投资经理 经纪人 买方 卖方建立起实时的电子化通讯协议 FIX协议的目标是把各类证券金融业务需求流程格式化 使之成为一个个可用
  • 50道web前端工程师面试题及答案解析,你学会了吗

    简介 本文包含了50个实用的前端面试题及答案解析 涵盖了HTML CSS JavaScript DOM Ajax MVC 模块化 ES6 SPA Webpack Babel Virtual DOM 响应式设计 移动优先设计 响应式图片 CS
  • 常用的传输媒体有哪些,各有什么特点

    常见的传输媒体有以下几种 1 双绞线 双绞线分屏蔽双绞线和无屏蔽双绞线 由两根相互绝缘的导线组成 可以传输模拟信号 也可以传输数字信号 有效带宽达250kHz 通常距离一般为几道十几公里 导线越粗其通信距离越远 在数字传输时 若传输速率为每
  • eterm系统服务器地址,Eterm管理系统

    Eterm管理系统提供用户管理 PID管理 分组管理 角色管理 指令管理等功能 可以帮助用户管理自己的设备 适合企业使用 企业可以在软件添加多种设备到软件管理 可以分组管理不同的网络设备 可以为管理员设置账户 可以在软件编辑控制设备的指令
  • C语言代码静态检查学习笔记(结尾有惊喜)

    静态检查 静态分析的概念 定义 程序静态分析是指在不运行代码的方式下 通过各种分析工具对程序代码进行扫描并做出评估的过程 特点 不实际执行程序 只是通过对代码的静态扫描对程序进行分析 执行速度快 效率高 静态分析技术 类型检查 风格检查 风
  • QT QChart使用基本常识

    效果图 准备工作 ui添加QGraphicsView 提升为QChartView 命名graphicsView 接口和变量声明 QChart chart QXYSeries series1 QXYSeries series2 QXYSeri
  • 分层测试:什么是分层测试?(详解)

    1 什么是分层测试 分层测试是通过对质量问题分类 分层来保证整体系统质量的测试体系 模块内通过接口测试保证模块质量 多模块之间通过集成测试保证通信路径和模块间交互质量 整体系统通过端到端用例对核心业务场景进行验证 用户体验通过手工测试确保无
  • pyecharts 安装报错 ModuleNotFoundError: No module named ‘pyecharts_snapshot‘

    1 出错原因 因为用下面语句安装pyecharts时 默认会安装最新版本的pyecharts python解释器版本更新的速度慢很多 现在的python解释器默认的是与0 1 9 4版本的pyecharts配合 你安装最新的 python解
  • MyBatis笔记(2):CRUD操作及配置解析/狂神说

    目录 0 写在前面 1 Select 1 1 需求 根据id查询用户 1 2 课堂练习 根据 密码 和 名字 查询用户 2 insert 3 Update 4 delete 5 模糊查询like语句该怎么写 6 配置解析 6 1 envir
  • django报错 No module named 'MySQLdb'

    环境 anaconda3 python3 7 django2 2 mysql5 7 在运行python manage py makemigrations appxxx时报错 No module named MySQLdb 网上有方案说改源码
  • Java压缩包制作遗留问题解决

    本文衔接上篇JDK压缩包制作环境配置 在环境配置好后 在DOS命令窗口会发现Java依旧无法运行 提示安装没成功 报错 Error occurred during initialization of VM java lang NoClass
  • 什么是集线器

    集线器 英文名又称Hub 在OSI模型中属于数据链路层 价格便宜是它最大的优势 但由于集线器属于共享型设备 导致了在繁重的网络中 效率变得十分低下 所以我们在中 大型的网络中看不到集线器的身影 如今的集线器普遍采用全双工模式 市场上常见的集