集线器(hub),交换机以及路由器异同;冲突域和广播域详解

article/2025/10/31 0:46:52

目录

  • 冲突域和广播域
  • 联网中继设备
    • 集线器(hub)
    • 交换机(switch)
    • 路由器(route)
    • 三者的异同
      • 1)工作层次不同
      • 2)数据转发依据对象不同
      • 3)分割冲突域,广播域
      • 4)防火墙功能
  • 参考文献

冲突域和广播域

在介绍这三个设备的异同之前,我们首先需要了解冲突域和广播域的概念:

  • 什么是冲突?
    图一
    图一

    我们把上图的以太网想象为走廊,各个主机想象为每个人的卧室。有一天,小宇想去找凯皇玩儿,同时大碧哥想去找阿呆玩儿,但是走廊(以太网通道)一次只能容纳一个人。于是小宇谦让的让大碧哥先去,等到大碧哥进入了阿呆的房间,小宇再出发去找凯皇。 通道只能过一个人,小宇和大碧哥在通道里不期而遇这就是冲突
  • 冲突域:
    连接在同一导线上的所有工作站的集合,或者说是同一物理网段上所有节点的集合或以太网上竞争同一带宽的节点集合。这个域代表了冲突在其中发生并传播的区域。在OSI模型中,冲突域被看作是第一层的概念,连接同一冲突域的设备有Hub,Reperter或者其他进行简单复制信号的设备。也就是说,用Hub(集线器)或者Repeater(中继器)连接的所有节点可以被认为是在同一个冲突域内,它不会划分冲突域。而第二层设备(网桥,交换机)第三层设备(路由器)都可以划分冲突域的,当然也可以连接不同的冲突域。简单的说,可以将Repeater等看成是一根电缆,而将网桥等看成是一束电缆。
  • 什么是广播?
    网络中的广播就好像我们大商场里的广播一样,你一开口,全商场的人都听到了。比图上图中阿呆想跟大碧哥聊天,通话以广播的形式发送,那么他们的聊天内容局域网上所有人都看得到。
  • 广播域:接收同样广播消息的节点的集合。如:在该集合中的任何一个节点传输一个广播帧,则所有其他能收到这个帧的节点都被认为是该广播帧的一部分。由于许多设备都极易产生广播,所以如果不维护,就会消耗大量的带宽,降低网络的效率。由于广播域被认为是OSI中的第二层概念,所以象Hub,交换机等第一,第二层设备连接的节点被认为都是在同一个广播域。而路由器,第三层交换机则可以划分广播域,即可以连接不同的广播域。

联网中继设备

将网络互相连接起来要使用一些中间设备(或中间系统),OSI的术语称之为中继(relay)系统。根据中继系统所在的层次,可以有以下五种中继系统:
1.物理层(即常说的第一层、层L1)中继系统,即转发器(repeater)或集线器(hub)。
2.数据链路层(即第二层,层L2),即交换机(switch)或网桥(bridge)。
3.网络层(第三层,层L3)中继系统,即路由器(router)。
4.网桥和路由器的混合物桥路器(brouter)兼有网桥和路由器的功能。
5.在网络层以上的中继系统,即网关(gateway)。

集线器(hub)

  • 为什么要使用集线器?
    HUB是一个多端口的转发器,当以HUB为中心设备时,网络中某条线路产生了故障,并不影响其它线路的工作。所以HUB在局域网中得到了广泛的应用。大多数的时候它用在星型与树型网络拓扑结构中,如下图所示。我们使用集线器为我们创造了多种多样的网络拓扑结构
    这里写图片描述
    图二
  • 定义:集线器(Hub)是指将多条以太网双绞线或光纤集合连接在同一段物理介质下的设备。集线器是运作在OSI模型中的物理层。它可以视作多端口的中继器,若它侦测到碰撞,它会提交阻塞信号。
  • 特点:
    集线器最大的特点就是采用共享型模式,就是指在有一个端口在向另一个端口发送数据时,其他端口就处于“等待”状态。为什么会“等待”呢?举个例子来说,其实在单位时间内A向B发送数据包时,A是发送给B、C、D三个端口的(该现象即紧接下文介绍的IP广播),但是只有B接收,其他的端口在第一单位时间判断不是自己需要的数据后将不会再去接收A发送来的数据。直到A再次发送IP广播,在A再次发送IP广播之前的单位时间内,C,D是闲置的,或者CD之间可以传输数据。如图1,我们可以理解为集线器内部只有一条通道(即公共通道),然后在公共通道下方就连接着所有端口。

交换机(switch)

  • 为什么要使用交换机:
    我们使用hub连接局域网的时候,如果局域网内的主机高达上千台,那么会变得冲突域就会很大,很容易造成网络的堵塞。所以就有人设想能不能找个设备来阻断这个大的冲突域,将其划分为各个小的冲突域。这样就能优化网络性能了。
  • 定义:交换机(Switch)是一种基于MAC(网卡的硬件地址)识别,能完成封装转发数据包功能的网络设备。交换机可以“学习”MAC地址,并把其存放在内部地址表中,通过在数据帧的始发者和目标接收者之间建立临时的交换路径,使数据帧直接由源地址到达目的地址。交换机分为:二层交换机,三层交换机或是更高层的交换机。三层交换机同样可以有路由的功能,而且比低端路由器的转发速率更快。它的主要特点是:一次路由,多次转发。
  • 特点:
    这里写图片描述
    图三

    我们把上图左边的网段成为网段A(包含阿呆和大碧哥),右边的网段成为网段B(包含凯皇和小宇)。
    • 网段A的主机阿呆想要给大碧哥发消息,交换机不会转发这个MAC帧,因为他识别到了这是网段A内部之间的通信。同理,网段B凯皇发给小宇也是一样的。也就是说,我们利用交换机将一个冲突域划分为两个冲突域,并且这两个冲突域共享自己的总信道带宽。
    • 如果主机阿呆发送了一个目标是所有主机的广播类型数据包时,交换机要转发这样的数据包。交换机两侧的两个网段总线上的所有主机都要接收该广播数据包。因此,网段A和网段B仍属于同一个广播域。
      简单来说,也就是使用交换机切割了冲突域,没有切割广播域。

路由器(route)

  • 定义:工作在OSI第三层(网络层)上、并且有连接不同类型网络的能力并能够选择数据传送路径的网络设备。
  • 功能:路由器工作在网络层,可以识别网络层的地址-IP地址,有能力过滤第3层的广播消息。实际上,除非做特殊配置,否则路由器从不转发广播类型的数据包。因此,路由器的每个端口所连接的网络都独自构成一个广播域。
    这里写图片描述
    图四
  • 特点:图四中是用路由器连接了网段一和网段二,路由器的每个端口所连接的网络都独自构成一个广播域。所以我们可以知道路由器切分了冲突域和广播域。

三者的异同

1)工作层次不同

  • 路由器工作在网络层(第三层)
  • 交换机一般工作在数据链路层(第二层)
  • 集线器一般工作在物理层(第一层)

2)数据转发依据对象不同

  • 交换机是利用物理地址或者说MAC地址来确定转发数据的目的地址。MAC地址通常是硬件自带的,由网卡生产商来分配的,而且已经固化到了网卡中去,一般来说是不可更改的。
  • 路由器则是利用不同网络的IP地址来确定数据转发的地址。IP地址是在软件中实现的,描述的是设备所在的网络,有时这些第三层的地址也称为协议地址或者网络地址。

3)分割冲突域,广播域

  • 集线器既不能分割冲突域也不能分割广播域,它就像一根接口比较多的网线一样。
  • 交换机只能分割冲突域不能分割广播域。交换机连接的网段仍属于同一个广播域,广播数据包会在交换机连接的所有网段上传播,在某些情况会导致通信拥堵和安全漏洞。
  • 路由器既分割了冲突域又分割了广播域。连接到路由器上的网段会被分配成不同的广播域,广播数据不会穿过路由器。

4)防火墙功能

路由器利用自己强大的功能可以实现流量控制和上网功能控制而交换机和集线器没有防火墙这么强大的功能。

参考文献

1.via 百度
2. via 网络设备与冲突域和广播域

by 小小呆,转载请注明出处


http://chatgpt.dhexx.cn/article/OxH031Ci.shtml

相关文章

hub设备_「网络安全」网络设备篇(9)——集线器Hub

什么是集线器? 集线器(HUB)是计算机网络中连接多个计算机或其他设备的连接设备,是对网络进行集中管理的最小单元。 英文Hub就是中心的意思,像树的主干一样,它是各分支的汇集点。HUB是一个共享设备,主要提供信号放大和中转的功能,它把一个端口接收的所有信号向所有端口分发…

集线器、交换机和路由器(图解)

一、物理层:使用 MAC 解决设备的身份证问题 1、通信的原始时代 很久很久之前,你不与任何其他电脑相连接,孤苦伶仃。 直到有一天,你希望与另一台电脑 B 建立通信,于是你们各开了一个网口,用一根网线连接了…

AXI之deadlock分析

AXI协议相对之前的APB和AHB来说,总线性能得到了极大的提升,主要得益于outstanding这一新特性的加入,有了outstanding的支持,master可以不用等待上一笔transaction结束,就直接连续发送多笔请求,使得发送的transaction可以流水起来。但outstanding的使用也引入了一些别的传…

重复插入相同数据导致deadlock问题:Deadlock found when trying to get lock; try restarting transaction

场景: 业务逻辑:第三方登录情况下,获取到用户的实名信息。之后判断该用户在用户表中是否存在,如果不存在或非实名,那么将其实名;如果已经实名,那么不做处理,直接登录。ORM使用的是s…

fatal error: all goroutines are asleep - deadlock

如题,近两天遇到此类错误,发现goroutine以及channel的基础仍需巩固。由该错误牵引出go相关并发操作的问题,下面做一些简单的tips操作和记录。 func hello() {fmt.Println("Hello Goroutine!") } func main() {go hello() // 启动另…

死锁问题(Deadlock)

4.8 死锁问题(Deadlock) 各进程在使用系统资源时,应注意系统产生死锁问题。下面先介绍什么是死锁。 4.8.1 死锁的概念  1. 死锁的定义 所谓死锁,是指各并发进程彼此互相等待对方所拥有的资源,且这些并发进程在得到对方的资源之前不会释…

SQL Server DeadLock 分析

1. 设置 XEvents 会话以收集死锁 1.1 扩展事件-会话-右键新建会话向导 1.2 设置会话名称 1.3 选择要捕获的事件 database_xml_deadlock_report 1.4 捕获全局字段 1.5 指定会话存储 1.6 结束 1.7 确保启动会话 2. 制造死锁 2.1 准备数据表及数据 2.1.1 准备数据库 TestBu…

MYSQL报错:MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting tr

mysql报错:MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction 报错情况:并发量大的情况对表的修改发生死锁 原因:查看了该更新语句的sql,没有设置主键,而mysq…

Deadlock的一些总结(死锁分析及处理)

1.1.1 摘要 在系统设计过程中,系统的稳定性、响应速度和读写速度至关重要,就像12306.cn那样,当然我们可以通过提高系统并发能力来提高系统性能总体性能,但在并发作用下也会出现一些问题,例如死锁。 今天的博文将着重介…

Deadlock found when trying to get lock; try restarting transaction 【MySQL死锁问题解决】

视频地址: https://www.bilibili.com/video/bv1zY411N7tB 最近在调试接口的时候遇到了MySQL死锁问题,我自己测试的时候一切都好好的,但在并发下,就死锁了 其实死锁问题,并没有一个类似“万金油”的解决办法&#xff0…

【死锁~】

死锁 死锁 死锁 1.死锁是什么? 当线程想要获取锁,但是获取失败,此时,线程进入阻塞状态,等待锁释放之后,线程获取锁。如果锁一直没有被释放,线程就一直处于阻塞状态。 2.死锁的条件 1.互斥作用:一个线程获…

Mysql报Deadlock found when trying to get lock; try restarting transaction问题解决

Mysql报Deadlock found when trying to get lock; try restarting transaction问题解决!! 文章目录 问题发生场景Mysql锁类型分析死锁原理问题排查过程问题原因解决方法经验教训查看mysql死锁日志 问题发生场景 今天记录一下最近项目中遇到的一个问题,前几天在部署项目后,在线…

死锁(Deadlock)

什么是死锁 死锁是指两个或两个以上的线程在执行过程中,因争夺资源而造成的一种互相等待的现象。若无外力作用,它们都将无法推进下去。 产生死锁的四个必要条件得烂熟于心 互斥条件:进程要求对所分配的资源进行排他性控制,即在一段…

知识归纳:死锁

一. 死锁定义 死锁(Deadlock)是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。 举例:毕业生找工作,公司表示只需要有工作经验才可以来;要想有工作经验,就需要…

mmall数据库学习笔记

mmall数据库学习笔记 文章目录 mmall数据库学习笔记唯一索引产品表购物车表支付信息表订单表订单明细表收货地址表外键 唯一索引 在用户表中,设置了用户名作为唯一索引,理由如下:用户名是不允许重复的,那么当不是分布式开发的时候…

MMALL ADMIN 后台管理总结

后台管理项目前期准备 1,vue-cli2 项目框架 2,下载axios插件 cnpm install axios,安装Element.ui , vue-cli2中使用scss 注意版本 cnpm install sass-loader7.1.0 --save-dev (8.0.0) v…

mmall项目安装相关包文件

2019独角兽企业重金招聘Python工程师标准>>> 本步骤之前请先:建立相关文件夹(或者从git上clone项目下来),进入分支作业目录下运行个忠包文件的安装。注意:npm是所有安装的第一步 基础安装: 1.np…

mmall电商项目学习笔记之 idea,maven工程整合ssm框架

项目目录结构 1.pom文件导入jar包 1.1 <properties><!--设置编码格式--><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><!--sprin…

Demo_mmall v2.0 (四) Tomcat集群演进及使用Redis进行session重构实现单点登录

小谈mmall架构演进 上回书和上上回书说到redis的用法还有在代码里怎么操作Redis数据库&#xff0c;学完了得用啊。怎么用啊&#xff1f;这得从项目架构说起了。 mmall是一个简单的用SSM搭建起来的基本只能本地玩耍的电商DEMO&#xff0c;最简单的架构版本V1.0是这样婶的&#…

自学实践前后端项目4 MMall商城 2

一。搭建静态页面 1)UserController里面实现登录操作 Autowired private UserService userService;PostMapping("/login") public String login(String loginName, String password, HttpSession session){QueryWrapper wrapper new QueryWrapper();wrapper.eq(&q…