史上最通俗的集线器、交换机、路由器功能原理入门

1、前言

本文旨在简单地说明集线器、交换机与路由器的区别,因而忽略了很多细节,三者实际的发展过程和工作原理并非文中所写的这么简单。如果你看完本文能大概了解到三者的异同,本文的目的就达到了。

2、帝国时代

我相信我们都玩过一款特别火的游戏:帝国时代。小时候想要玩帝国时代,需要到软件城购买盗版光盘安装,大概3块钱一张左右的样子,当时已经觉得很便宜了,谁想到现在有了网络之后是免费。 小A是一个帝国时代大神,他打通了游戏的所有关卡,可以一个人单挑8个疯狂的电脑玩家。渐渐地他觉得无聊了,想要找小伙伴一起PK。 但是两个电脑需要互联才行,如何实现两台设备的互联呢? 小A很聪明,他发明了一个类似于USB口一样的可以传输数据的端口,他将其命名为网口。小A通过一根网线将自己的电脑与小B的网口相连,实现了两台电脑间的互连(如下图)。

3、集线器(Hub)

两个小伙伴很开心,联机玩了起来,这时被路过的小C看见了,小C也要加入进来。 但是我们知道,每台电脑只有一个网口,无法实现三台电脑的相互连接,那要要怎么办呢?

这时候小B出了一个主意:咱们再找一台计算机,给他多设计几个网口,我们每个人都连到这台计算机的网口上,不也实现咱们哥几个之间的互连了吗。 说干就干,于是他们设计出了一款微型计算机,他本身具备多个网口,专门实现多台计算机的互联作用,这个微型计算机就是集线器(HUB)。 顾名思义,集线器起到了一个将网线集结起来的作用,实现最初级的网络互通。 集线器是通过网线直接传送数据的,我们说他工作在物理层(如下图所示)。

4、交换机

有了集线器后,越来越多的小伙伴加入到游戏中,小D、小E等人都慕名而来。 然而集线器有一个问题,由于和每台设备相连,他不能分辨出具体信息是发送给谁的,只能广泛地广播出去。 例如小A本来想问小C:你吃了吗?结果小B,小D和小E等所有连接在集线器上的用户都收到了这一信息。 由于处于同一网络,小A说话时其他人不能发言,否则信息间会产生碰撞,引发错误,对这种情况,我们称为各设备处于同一冲突域内。

这样的设备用户体验极差,于是小伙伴们一起讨论改进措施。 这时聪明的小D发话了:我们给这台设备加入一个指令,让他可以根据网口名称自动寻址传输数据。 比如我把小A的网口命名为macA,将小C的命名为macC,这时如果小A想要将数据传给小C,则设备会根据网口名称macA和macC自动将资料从A的电脑传送到C的电脑中,而不让小B、小D和小E收到。 (补充说明: 这里的macA, macB指的就是MAC地址,相当于一个人的身份证,独一无二。) 也就是说,这台设备解决了冲突的问题,实现了任意两台电脑间的互联,大大地提升了网络间的传输速度,我们把它叫做交换机。 由于交换机是根据网口地址传送信息,比网线直接传送多了一个步骤,我们也说交换机工作在数据链路层(如下图)。

这回小伙伴们高兴了,他们愉快地玩耍起来。

5、路由器

渐渐地,他们在当地有了名气,吸引了越来越多的小伙伴加入到他们的队伍中。有一天,一个外村的小伙突然找上门来,希望能和他们一起互联,实现跨村间的网络对战。 小A说可以呀,于是他们找了一根超长的网线将两个村落的交换机连在了一起。结果发现一件奇怪的事:两个村落间竟然不能相互通信。 怎么回事?原来那边的电脑和他们用的不是一套操作系统,这导致信息间的传送形式的不匹配。在这期间,还有其他村落的人也来找过小A,可是小A发现,每个村子之间用的操作系统都不一样。 这可咋办呐?难道以后只能各自村子玩各自的了吗?为了解决这一问题,各村的小伙伴们坐在一起组织了一场会议,最终得出了一套解决方案:采用同样的信息传送形式(像不像秦始皇统一度量衡?)。 那如何实现呢?小伙伴们规定,不同的村子间先在各自的操作系统上加上一套相同的协议。不同村落通信时,信息经协议加工成统一形式,再经由一个特殊的设备传送出去。这个设备就叫做路由器。 在这套协议中,每个机器都被赋予了一个IP地址,相当于一个门牌号一样。路由器通过IP地址寻址,我们说它工作在计算机的网络层。 这样,经由如此的一系列改装,小A终于带领村民们实现了整个乡镇的通信。随着越来越多的城里人也加入小A的协议,小A带领村民逐步实现了全市、全国乃至全世界的通信。这一套协议便是TCP/IP协议簇,互联网也便这样形成了

然而,即便如今全网络已遍布了全世界,在小A和村里的小伙伴对战帝国时代的时候,也仍然用着交换机。只有和外面更大的世界交流的时候才用到路由器。 其实上图只是为了帮助您更好地理解路由器,一个真实的网络拓扑中,路由器、交换机、集线器是一起分工合作的,正如下图所示:

(如上图所示:Router即路由器、Switch即交换机、Hub即集线器)

原文发布于微信公众号 - IT技术精选文摘(ITHK01)

原文发表时间:2018-06-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据

FPGA、DSP、ARM比较

ARM ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软 件。A...

2689
来自专栏程序员互动联盟

如何学好单片机?

1.首先把常见的基础知识通一遍,第一遍不需要理解的很明白,第二遍或者第三遍的时候开始深耕细作,开始全面的实践学习,这个阶段C语言基础要弄牢固。

942
来自专栏SDNLAB

云数据中心网络虚拟化——大二层技术巡礼之NVo3技术端到端隧道

NVo3(Network Virtualization over Layer 3),是IETF 2014年十月份提出的数据中心虚拟化技术框架。NVo3基于IP/...

3015
来自专栏SDNLAB

SDN实战团分享(九):Next-Gen光交换技术+ODL构建Cloud Data Center

大家晚上好,首先声明一下,今天在这里分享的内容为个人技术关点,不代表公司立场。SDN和Optical这块知识我不是专家给大家起个穿针引线,哪块说的不对还请各位多...

3428
来自专栏视频咖

从QQ音乐开发,探讨如何利用腾讯云SDK在直播中加入视频动画

看着精彩的德甲赛事,突然裁判一声口哨,球赛断掉了,屏幕开始自动播放“吃麦趣鸡盒,看德甲比赛”的视频广告

2221
来自专栏程序人生

为什么SOA如此重要

SOA是Service Oriented Architecture的缩写,希望你知道其大概意思。在上一篇文章「测量」中,我引用了Bezos的一段将Amazon的...

3186
来自专栏牛客网

阿里2019实习内推,五轮技术面+一轮HR面,Java岗面经

在牛客网上获取到很多知识和信息,现在反馈一波,希望能对广大找实习的同学有所帮助。 个人情况:EE方向渣硕,二月末内推了阿里集团某部门Java岗,约三周完成了所有...

3915
来自专栏SDNLAB

云数据中心网络虚拟化——大二层技术巡礼之数据平面的演化

开始讲解数据平面的虚拟化前,我们首先来看一看数据中心网络典型的网络拓扑。左图3层分别为接入、汇聚和核心层,一般来说,接入层负责制定虚拟机的接入策略,汇聚层负责二...

3576
来自专栏SDNLAB

SDN实战团分享(三十):Big Switch的技术颠覆

SDN的出现给了网络界一针强有力的“兴奋剂”,释放了网络界压抑已久的创新的能量。这一波技术思潮催生了大量的SDN创业公司,对各大厂商发起了巨大的冲击,网络领域的...

40710
来自专栏SDNLAB

SDN组网解决方案

SDN作为一种新的网络架构,正被应用到越来越多的网络场景中。而网络的关键在于通信,如何使得SDN网络正常运行,并且能够和传统网络相互通信是SDN组网需要解决的基...

4319

扫码关注云+社区