文章目录

  • 网络分层模型
  • HUB的概念
  • 集线器
  • 交换机
  • 路由器
  • 光猫
  • 总结

网络分层模型

说到各种网络设备的区别,首先应该重新复习下OSI开放系统互联参考模型七层协议,它描述了主机之间发送网络数据的封包/解包流程,当然实际的实践中,通常我们参考TCP/IP五层模型分析即可。

应用层通常是我们使用的应用程序,以特定的应用层协议来封装数据,例如想要使用HTTP协议进行网络传输,那么发送端需要封装请求头/请求体这些按照HTTP协议规定的格式数据,这样接收端才能根据协议理解其中的内容

当数据自应用层来到传输层,对应传输层的协议是TCP协议,TCP协议头部包含了源/目的端口。
端口即是一台主机中的进程对应的“大门”,也就是说,数据来到了你的电脑,只有根据端口号,才能知道数据是对应你的哪个应用程序的,这样,有了端口信息,就可以实现源和目的主机端口对端口之间的通信。

传输层下边是网络层,网络层IP协议头部标识了源/目的IP地址,IP地址是网络世界里边的唯一位置标识,例如,快递上写明浙江省杭州市余杭区文一西路88号-阿里巴巴西溪园区4号楼,就可以准确无误的让快递公司知道包裹的目的地,“浙江省杭州市余杭区文一西路88号” 可以类比IP,而“阿里巴巴西溪园区4号楼” 可以类比端口。

有了源/目的 IP和端口就可以实现网络通信,而数据链路层会在数据包中添加MAC报头,MAC报头包含了源/目的网卡MAC地址,MAC地址是网卡厂商在生产网卡时保证的全球唯一的网卡唯一标识,类似于你的身份证。

可能这里会有疑问,有了IP地址,不就能确定源/目的主机了嘛,为什么还需要MAC地址呢?首先,IP地址是一个逻辑地址,可以是动态的,而MAC地址是一“出生”就固定下来的,类似你可以随意搬家,你的地址会变,但是你的身份证号不会随之改变。按照这种比喻,你应该想到,寄快递除了要写明地址门牌号,还要写接收人才行。

其实更深层次的原因有如下几种

  1. IP地址有限,不能无限申请,不能为每个网卡都分配一个IP地址
  2. MAC地址全球固定而且唯一的,有了MAC地址就能准确的找到你的计算机
  3. 如果IP层抢了第二层的饭碗,你就不得不考虑第二层的很多东西了,这就让IP层的实现变得十分困难。

数据链路层说完了就到了物理层,物理层是网络数据传输的物理介质,例如网线或者光纤,这里只简要概括一下。

好了熟悉了分层协议,我们可以看到每一个层级都负责一类逻辑抽象,有了良好的抽象,就可以屏蔽下层的细节而专注于上层实现,例如我们写一个HTTP请求,从来都不考虑数据包是经过哪些网络节点分发出去的。

说了这么多,其实是为了说明各种网络设备做铺垫,接下来进入主题。

HUB的概念


集线器英文名称又叫hub,即中心的意思。hub这个单词,作为从事程序开发的工作者一定不会陌生,像全球最大的同性交友网站GitHub,镜像仓库DockerHub等,都有着某某中心的概念,那么集线器自然也包含中心的意思。

集线器

假设,你和弟弟想要联机打CS,在不借助网络的情况下,仅仅依靠物理设备连接,可以实现吗,答案是可以,借助一根网线将两台电脑相连,就可以实现联机(这里省略游戏里边需要创建房间等步骤)。

后来家里又来了两个朋友,这个时候,如果你们都带着电脑想要联机,仅仅依赖网线已经实现不了需求了,因为一个电脑就一个网络端口。

而这个时候,你们需要一个集线器,将每个人的电脑,通过网线连接到集线器,这样就形成了以集线器为中心(Hub)的拓扑关系。

集线器工作在物理层,它会将收到的数据包无脑转发到其他端口上,然后各个端口对应的网络设备根据目的MAC地址判断是否是发送给自己的,如果不是则抛弃。

知道了它的工作方式,可以发现它这种广播的发送方式很耗费网络资源,很没有效率,既然只有一个固定目的MAC地址对应的网络设备会接收数据包,那可不可以有目的的进行分发呢?

刚刚说到,集线器工作在物理层,而根据MAC地址分发需要工作在数据链路层,而交换机,就是工作在数据链路层上的网络设备。

交换机

交换机,根据内部的路由表可以将数据包转发到指定的端口上。大致的工作过程如下:接收到数据包,解析到目标MAC地址,由于路由表上还没有数据,所以,会进行一次广播,目标主机接受到数据包后会给出应答,于是路由表上有了两条记录,存储源和目的主机的MAC地址和端口之间的对应关系。

但是交换机的端口也是有限的,如果有上百台机器需要连接呢,其实通过交换机再连接一个交换机,可以实现拓展,这是交换机工作方式抽象实现带来的方便,可以类比JAVA的递归方法,生活中可以类比插排接插排。

但是还有问题,假设两个交换机通过网线进行连接,那么它们的路由表除了需要记录自己端口上的对应关系,还需要把另一个交换机上的端口对应MAC地址与连接出口关系记录下来,所以通过交换机+交换机的方式,不能一劳永逸的解决。

根本原因是MAC地址数量庞大,缺少分类机制,所以如果依赖MAC地址分发,势必需要记录映射关系,那么还能通过怎样的方式找到目标设备呢?

现实中,我们参考快递的分发方式,那就是解析地址信息,确定包裹目的地的精确位置。而对应网络中就是IP地址。

路由器

路由器,工作在网络层,根据IP地址分发到对应的端口。IP地址和MAC地址不同的地方,就是IP有子网概念,也就是同一个网段内的主机,可以连接在一个网口上。

路由器还有一个特点就是它的每个网口都具有MAC地址,我们通过上边了解到,数据一定会到达一个目的MAC地址,而路由器网口本身是可以作为一个目的地址的,所以它不但具有分发功能,也可以通过判断是不是自己的数据包来进行选择性接收。

通常交换机所处的网络连接规模不会很大,几千台的规模,而路由器工作在互联网,所以对于路由表中获取不到的映射关系的数据包不会广播而是直接丢弃。

光猫

不管是交换机还是路由器,前面都是提到网口输入的是电信号。但现在流行的是光纤传输,传输的是光信号。

而光猫(modem),是一种调制解调器,其实就是用于光电信号转换的设备。

接收数据时,可以将光纤里的光信号转化为电信号,发给路由器,路由器内部再转成数字信号,并在此基础上做各种处理。

相反,也会把路由器传来的电信号转为光信号,发到光纤,并进入互联网。

总结

两台电脑可以通过一根网线直接连接,进行通信。

机器一多,可以把网线都接到集线器(物理层)上,但是集线器会不管三七二十一进行广播。

不想广播,可以用(二层)交换机(数据链路层),又叫多端口网桥,它比较聪明,会自我学习生产MAC地址表,知道消息发到哪,那就不需要广播啦

互联网电脑这么多,交换机MAC地址表总不能全放下吧。改用路由器(网络层),也叫三层交换机,通过网段的方式定位要把消息转发到哪,就不需要像交换机那样苦哈哈一条条记录MAC地址啦。

路由器和光猫之间是好搭档,光猫负责把光纤里的光信号转换成电信号给路由器。

现在一般情况下,家里已经不用集线器和交换机了,大部分路由器也支持交换机的功能。所以可以看到,家里的台式机电脑一般就连到一个路由器,再连个光猫就够能快乐上网了。

参考
如果让你来设计网络
硬核图解!30张图带你搞懂!路由器,集线器,交换机,网桥,光猫有啥区别?

什么是集线器、交换机、路由器、光猫?它们之间的本质区别是什么?相关推荐

  1. 光端机、光纤收发器与光猫三者之间的区别介绍

    现如今,在当下的网络通信项目中,光端机.光纤收发器.光猫这几款产品可以说是应用非常广泛,也是备受安防人的推崇,那么,对于这三者之间的区别你是否清楚呢?接下来就由飞畅科技的小编来为大家详细介绍下光端机. ...

  2. 集线器 交换机 路由器 modem 区别

    介绍 平时用到网络的时候,不管是生活还是工作,都会或多或少听过或用过这些设备,那么本次索性整理出来,供后续参考使用 1.集线器 如上图: 1.集线器主要目的是让其中内部所有的网络设备连通,它有一个具有 ...

  3. 网络-1集线器/交换机/路由器

    什么是集线器 首先我要介绍一下集线器,集线器是属于局域网的设备,比如一个公司的内网,集线器处于OSI模型中的下数第一层,物理层,集线器由于是半双工的(我自己理解的半双工的概念:电脑A给电脑B发送信号的 ...

  4. 集线器 交换机 路由器关系

    号称网络硬件三剑客的集线器(Hub).交换机(Switch)与路由器(Router)一直都是网络界的活跃分子,但让很多初入网络之门的菜鸟恼火的是,它们三者不仅外观相似,而且经常呆在一起,要想分清谁是谁 ...

  5. 网络硬件三剑客集线器交换机路由器

    号称网络硬件三剑客的集线器(Hub).交换机(Switch)与路由器(Router)一直都是网络界的活跃分子,但让很多初入网络之门的菜鸟恼火的是,它们三者不仅外观相似,而且经常呆在一起,要想分清谁是谁 ...

  6. 网卡 集线器 交换机 路由器 调制解调器的作用

    网卡工作在osi的第二层也就是数据链路层数据链路层有个非常明确的协议就是物理地址协议网卡保存有明确的地址因此可以确认其属于数据链路层 集线器它就是起一个信号中继放大的作用,与古老的中继器一样,都是工作 ...

  7. 网络传输--集线器,交换机,路由器(局域网/广域网传输)

    1.IP地址和MAC地址 IP地址 在IP协议中, 用来标识网络中不同主机的地址,作用在网络层; IP协议有两个版本, IPv4和IPv6. 我们整个的课程, 凡是提到IP协议, 没有特殊说明的, 默 ...

  8. OSI的七层模型,网线,网卡,集线器,交换机,路由器分别工作在七层模型中的哪一层?

    OSI七层网络模型由下至上为1至7层,分别为物理层(Physical layer),数据链路层(Data link layer),网络层(Network layer),传输层(Transport la ...

  9. 集线器 交换机 路由器

    集线器将信号采用广播的方式发送出去,接收方根据mac地址判断是否接受这个包. 交换机的工作原理: 信号到达交换机的网线接口,由PHY(MAU)接受,传递给MAC模块,MAC模块将信号转换为数字信号,并 ...

最新文章

  1. reactjs jsx语法规则
  2. SimpleDateFormat线程不安全及解决方案
  3. 每天一算:Two Sum II
  4. Python数据分析(二): Numpy技巧 (3/4)
  5. 浅析SqlServer简单参数化模式下对sql语句自动参数化处理以及执行计划重用
  6. python爬取网易付费音乐包_爬取网易云音乐“三部曲”(三):轻松下载网易音乐歌曲!...
  7. python用的编程软件是什么,python编程软件用哪个好
  8. 外贸营销网站系统开发功能案例制作
  9. 2022.5.6 java标识符
  10. 刷网课被告非法控制计算机信息系统罪,您好,请问一下网上代刷网课叫非法控制计算...
  11. Python 与金融科技6|上证50的收盘价汇总
  12. html简单淘宝搜索框怎么做,天猫前端系列教材 (八)- 公共页面 - 简单搜索栏...
  13. Linux学习笔记(一):Linux常用命令
  14. springCloud sentinel 流量卫兵
  15. android studio try again,完美解决Android Studio在gradle上的各种问题
  16. Spring Cloud底层原理以及项目实战分析
  17. AntDB数据库与DSG强强联手,助力通信行业核心系统国产化
  18. Simulink三相异步电机仿真
  19. python 协程库_python --- 协程编程(第三方库gevent的使用)
  20. 预防艾滋病知识宣传栏

热门文章

  1. 爬虫用fiddler抓取网易新闻客户端手机app内容
  2. 码云推荐 | 那些优秀的网络爬虫工具介绍
  3. CocosCreator 方块消除教程
  4. HDU 6411 带劲的and和
  5. 多波束测深系统工作原理及组成,多波束在无人船上的应用
  6. 电脑Tab键有什么功能?分享Tab键的6个妙用
  7. vue + cesium加载krigingjs插件库生成等值线图
  8. 请求转发(request对象)和重定向(response)的区别及何时使用请求转发和重定向
  9. Ansible常用配置及命令
  10. MT8732 / MT8735处理器特点/芯片组型号资料介绍