解剖、细说集线器

如果你在大街上做一个随机调查,问路人网络是什么。我相信只要你不是在美国的硅谷。那么,会有99%的人回答你说:"网络?就是一个有很多垃圾邮件的,很多没意思新闻的,很多不健康内容的,很多……,很多小MM的地方。"呵,很显然,人们都不会去关心网络是由什么组成的,是什么承载上述信息的。

   作为一个网迷,做为一个网络发烧友,我们为什么不揭开网络的面纱看看网络内部的究竟呢?好的,我们就集线器说起吧。

   基本概念

   在我们经常接触到的网络中,一般以网络中最简单的小型局域网居多,它们的构成简单。其组成一般由计算机、网卡、网线、集线器组成。在这种小型网络中,集线器的功劳是最大的,所有网络中的计算机都是通过它来实现信息传递的。

   什么是集线器呢?现在的以太网拓扑主要以非屏蔽双绞作为传输介质,每一网段的最大距离为100米。超过100米,就需要利用中继器来扩展网络的拓扑距离。这是因为信号在经过长距离的传输后,会产生信号衰减现象,中继器的功能就是将经过衰减而变得不完整的信号经过整理后,重新产生出完整的信号再继续传送。中继器,就是普通集线器的前身。集线器就是一种多端口的中继器。以(图1)中的集线器为例,集线器一般有一个BNC接头、一个AUI接头和4、8、16不等数量的RJ45接口。老外管普通集线器叫做HUB,其E文原意中有"中心"的含义,看来集线器的确很重要。我们也来个顺水推舟叫它HUB吧。

   HUB的外部结构

   我们以(图1)为例,看看它们到底是什么样子的。

   上图中所示的就是TP-Link的一种普通10BASE-T的共享集线器。它有一个BNC口、一个AUI口(图2)和16个RJ45接口。

   BNC口(图3):是一种标准细缆接口。它可以连接10BASE-2网络标准中的50Ω同轴电缆。由于我们现在常见的以太网络大多为10BASE-T或100BASE-T。因此,我们的BNC头已经基本被淘汰。但如果想用它来做为级联的话,其速率也还有一定的优势。

  AUI口(图3):是收发器接口。它用来连接与粗缆连在一起的信号收发器。那是一种10BASE-5网络标准,同10BASE-2一样,它也已经是过去式了。

   电源接口(图4):这个接口笔者不说大家也会知道的了。是的,没有它集线器怎么工作?在我们的这台集线器的电源接口旁还为我们标出了其电压、频率及最大承载电流的参数,可谓细心。

   电源开关(图4):就是开关。真的是没有什么可以解释的了。如果您真的不知道它是干什么用的,就去问问幼儿园的小朋友,他们一定会告诉你的。

   RJ45接口(图5):它可是我们现在最常用的东东了。我们网络中与计算机网卡连接的双绞线会无一例外的插到这个接口上来。RJ45是10BASE-T网络标准中接口形式,现在被广泛使用。其内部有8个线槽,线槽含义遵循EIA/TIA568国际标准,在10BASE-T网络中1、2线为发送线,3、6线为接收线。在图中标出的"UTP"是指非屏蔽双绞线。

   级联口(图6):级联口的作用有点特殊,我们就多说几句。级联口专门做HUB之间的级联用的。在一个网络中,我们可能会拥有几十台机器。以我们的这台16口HUB为例,如果我们的10BASE-T网络中有30台机器时,我们的16口无论如何也不会够用的。

   怎么办呢?

   对了!多弄几台HUB不就成了!?

   在我们有了3台16口的HUB后,我们的RJ45口就有了4X16共64个,可怎么把这些机器都接到一个网络中来呢?

   用级联口!

   图中的级联口旁有一个级联口开关,它的作用是将1口按需分配。也就是说,在不需要级联的网络中我们使级联按钮处于关闭状态,这样,1口就与其他15个口一样,可以直接连接标准双绞线。在我们需要级联HUB的时候,我们就将其置于打开状态。此时,1口的收发端被对调,这样我们就可以用一条标准的双绞线将两台HUB连接起来一起工作了。

   有的朋友会问:"要是我的HUB没有级联口怎么办?"

   好办,那我们就人为地调换双绞线的收发端线位就成了。

   OK,一切搞定!

   我们的30台机器真的连接成了一个网络。

   (注:在10BASE-T的网络结构中HUB的级联不可以超过四级)

   指示灯部分(图7):为了更好地管理和监督网络,HUB的生产商们为我们设计了一些很实用的工作状态指示灯,下面我们解释一下几个常用的指示灯的含义:

   BNC/AUI:显示由于BNC/AUI连接所造成的错误。在一般的10BASE-T集线器上,大都会保留一个BNC和AUI接口,用于连接同轴电缆。但是在100BASE-T的集线器不提供它们。此灯在正常情况下是不亮的。如果此灯亮起,表示连接的同轴电缆出现了问题,如BNC接头坏了、终端电阻松动、短路等。

   Power:电源灯。在HUB有电源接入及开关在打开状态时灯亮,此时表明HUB已经通电工作。

   COL:这个灯,有好多朋友都问过我它的作用,从字面无法看出其含义。其实,它是Collision的字头,它显示网络上传输碰撞的情况。由于以太网是使用CSMA/CD方法来传输数据的,因此当工作站数量愈多时,就越可能发生信号碰撞。在正常情况下,此灯不亮。如果此时网络中发生了碰撞,它将呈闪烁状态。闪烁频率越高,说明碰撞越严重。

   Link/Rx:指连接和工作状态灯,它对应于HUB的RJ45接口,与其个数相同。当RJ45口中有正确的信号接入时灯亮,在其有信号读写时呈闪烁状态。此时,说明有信息交换发生。

   HUB的内部结构

   在我们看过了HUB的外部结构后,我们似乎对它有了一定的了解。下面我们把它打开来看看它的里面是怎样的吧。

   图8中所示的,就是HUB的主板。上面集成了很多我们没有见过的芯片,幸好本人是电力工程专业出身,对电子技术也曾学过那么好……几本书。我们就来看看几个主要的部分。

   电源部分(图9):HUB的电源就是一个交流变直流的过程。它是一个典型的整流电路,我们可以在图中看到箭头标出的保险管和主变压器。保险管是保护电源一次侧时用的,它会在遭到大电流(超过其熔断值)袭击时自动熔断,以保护其内侧的器件。主变压器就是一个变压设备,其原理无法在此说清。图中那些圆的东西是一些电解电容,从其个头大小可以看出其电压和电容值的多少。还有一些三端稳压和整流二极管。呵呵,大家一定看烦了吧?不说了!

   晶体振荡器(图10):大家知道,我们的网络是都是由数字电路组成的,在数字电子里,所有的信号都是由0和1组成的0和1其实就是逻辑电路里的高电位和低电位。

   0和1是怎么产生的呢?

   是脉冲!

   脉冲信号是怎么产生的呢?

   对了,就是它!我们在图中看到的晶体振荡器,是它产生一定频率的脉冲信号来实现我们的网络信息传输的。图中所示的是一个20MHz的振荡器。

   上图中时钟芯片左侧的那个方型的大芯片就是HUB的主控制芯片,是它来管理和实现HUB的工作的。

   它如何工作的?

   呵呵,我也不比你知道的多。

   HUB的工作原理

   我们罗嗦了这么多了,可还不知道HUB是网络中是怎么工作的呢。咱们就说说它的工作原理吧。

   正如其名字,HUB就是网络的中心。用网络术语来说,它是基于星形网络拓扑的接线点。集线器的基本功能是信息分发,它把在一个端口接收到的信号向所有端口分发出去。有些集线器在分发信号之前将弱信号重新生成,有些集线器整理信号的时序,以提供所有端口间的同步数据通信。

   在我们常见的局域网中,集线器大致分为共享式集线器和交换式集线器。

   共享式集线器不能提高网络性能,也不能检测信号错误。它们只是简单地从一个端口接收数据并通过所有端口分发,这是集线器可以做的最简单的事情。它是星形拓扑以太网的入门级设备,本文中的集线器就属此类。此集线器的总带宽为10M/s,如果我们共连接了4台工作站,当这4台工作站同时上网时,每台工作站的平无带宽将仅为10/4即2.5M/s。

   交换式集线器(Switch HUB)与共享式集线器不同,它具有信号过滤的功能。它只将信号传送给某一已知地址的端口而不像共享式集线器那样将信号传送给网络上的所有端口。

   除此之外,交换式集线器上的每一个端口都是拥有专用带宽的,它可以让多个端口之间同时进行对话,而不会互相影响。交换式集线器可以以直通传送、存储转发和改进型直通传送来传送数据,其工作效率大大高于共享式集线器。

   以上,我们以一台共享式的入门级的集线器为例分析说明了集线器的结构和简单工作原理。由于,本人也一直处于网络知识的学习中,因此文中内容难免轻薄。希望见到此文的行家里手多多批评指正。

文章录入:csh    责任编辑:csh

(0)

相关推荐

  • 解剖、细说集线器

    如果你在大街上做一个随机调查,问路人网络是什么.我相信只要你不是在美国的硅谷.那么,会有99%的人回答你说:"网络?就是一个有很多垃圾邮件的,很多没意思新闻的,很多不健康内容的,很多--,很多小MM的地方."呵,很显然,人们都不会去关心网络是由什么组成的,是什么承载上述信息的. 作为一个网迷,做为一个网络发烧友,我们为什么不揭开网络的面纱看看网络内部的究竟呢?好的,我们就集线器说起吧. 基本概念 在我们经常接触到的网络中,一般以网络中最简单的小型局域网居多,它们的构成简单.其组成一般由

  • MongoDB入门教程之细说MongoDB数据库的增删查改操作

    看过上一篇,相信大家都会知道如何开启mongodb了,这篇就细说下其中的增删查改,首先当我们用上一篇同样的方式打开mongodb,突然 傻眼了,擦,竟然开启不了,仔细观察"划线区域"的信息,发现db文件夹下有一个类似的"lock file"阻止了mongodb的开启,接下来我们要做的就 是干掉它,之后,开启成功,关于mongodb的管理方式将在后续文章分享.  一: Insert操作 上一篇也说过,文档是采用"K-V"格式存储的,如果大家对JSO

  • 《解剖PetShop》之一:PetShop的系统架构设计

    前言:PetShop是一个范例,微软用它来展示.Net企业系统开发的能力.业界有许多.Net与J2EE之争,许多数据是从微软的PetShop和Sun的PetStore而来.这种争论不可避免带有浓厚的商业色彩,对于我们开发人员而言,没有必要过多关注.然而PetShop随着版本的不断更新,至现在基于.Net 2.0的PetShop4.0为止,整个设计逐渐变得成熟而优雅,却又很多可以借鉴之处.PetShop是一个小型的项目,系统架构与代码都比较简单,却也凸现了许多颇有价值的设计与开发理念.本系列试图对

  • 细说javascript函数从函数的构成开始

    javascript函数是一个比较奇怪的东西,接触一段时间你就会犯迷糊,弄不明白它到底是什么了.你是否会因为有的javascript函数没有名字而莫名其妙,是否会因为javascript函数的参数没有类型而抓狂,是否为javascript函数以表达式的形态存在而彻底崩溃.正是因为有了这些烦恼才让javascript函数值得我们寻味,我想从函数的构成来细说函数,这听起来像是一句废话,讲任何东西当然是从构成去谈,但是由于javascript函数你确实捉摸不了它的形态,因此这里我是从一个标准函数的构成

  • 详细分析交换机、路由器、集线器的区别和联系

    最近看到很多人在询问交换机.集线器.路由器是什么,功能如何,有何区别,笔者就这些问题简单的做些解答. 首先说HUB,也就是集线器.它的作用可以简单的理解为将一些机器连接起来组成一个局域网.而交换机(又名交换式集线器)作用与集线器大体相同.但是两者在性能上有区别:集线器采用的式共享带宽的工作方式,而交换机是独享带宽.这样在机器很多或数据量很大时,两者将会有比较明显的.而路由器与以上两者有明显区别,它的作用在于连接不同的网段并且找到网络中数据传输最合适的路径 ,可以说一般情况下个人用户需求不大.路由

  • 通过集线器连接的对等网

    1.关于集线器 南山(1)定义:集线器(HUB)是对网络进行集中管理的最小单元,像树的主干一样,它是各分枝的汇集点,对接收到的信号进行再生放大,以扩大网络的传输距离. 南山(2)分类:一般常见的集线器有8口.16口及24口三种. 2.连接双绞线 南山(1)将RJ45头(水晶头)有卡子的一头朝地,平平的那面朝上:头朝外,开口对着你自己,则8个孔从左到右编号依次为:1.2.3.4.5.6.7.8. 南山(2)对于普通的10兆(10M)网络,把双绞线的一头外皮剥开,在四股中任意取两股出来,则共有四根线

  • 细说webpack源码之compile流程-rules参数处理技巧(1)

    上篇文章给大家介绍了细说webpack源码之compile流程-rules参数处理技巧(2), 细说webpack源码之compile流程-入口函数run 大家可以点击查看. Tips:写到这里,需要对当初的规则进行修改.在必要的地方,会在webpack.config.js中设置特殊的参数来跑源码,例如本例会使用module:{rules:[...]}来测试,基本上测试参数均取自于vue脚手架(太复杂的删掉). 下面两节的主要流程图如下: 在进入compile方法后,迎面而来的就是这么一行代码:

  • 细说webpack源码之compile流程-rules参数处理技巧(2)

    上篇文章给大家介绍了细说webpack源码之compile流程-rules参数处理技巧(1),    细说webpack源码之compile流程-入口函数run 大家可以点击查看. 第一步处理rule为字符串,直接返回一个包装类,很简单看注释就好了. test 然后处理test.include.exclude,如下: if (rule.test || rule.include || rule.exclude) { // 标记使用参数 checkResourceSource("test + inc

  • 细说C#中的枚举:转换、标志和属性

    枚举是 C# 中最有意思的一部分,大部分开发人员只了解其中的一小部分,甚至网上绝大多数的教程也只讲解了枚举的一部分.那么,我将通过这篇文章向大家具体讲解一下枚举的知识.我将从大家都了解的部分开始讲解,然后再讲解大家所不知道的或者了解很少的部分. 零.基础知识 枚举是由开发人员声明的一种 值类型 ,它在编译时就声明了一种 具名常量值 .使用枚举可以使我们的代码简单易读,我们先来看一下两个代码段: // 代码段 1 void Method(int country) { switch (country

  • 细说NumPy数组的四种乘法的使用

    当孔乙己说回字有四样写法的时候,相信各位都是这样的表情吧? 但是,如果孔乙己说NumPy数组有四种乘法的时候,各位大约就是这样的表情了吧? 实际上,NumPy数组乘法远不止四种.为了在写作和阅读时保持清晰的逻辑和清醒的头脑,本文仅对四种最常见的数组乘法给出详细说明,并用一道数学题来演示向量点乘和叉乘的用法. 1. 星乘(*) 先声明一下:星乘这个说法,是我自己创造的,因为我实在不知道数组的这种乘法有没有其他高大上的名字,只好用运算符来表示了.所谓数组星乘,就是数组的对应元素相乘,这也是初学Num

随机推荐