【计算机网络】11、网桥(bridge)、集线器(hub)、交换机(switch)、路由器(router)、网关(gateway)
文章目录
- 一、网桥(bridge)
- 二、集线器(hub)
- 三、交换机(switch)
- 四、路由器(router)
- 五、网关(gateway)
对于hub,一个包过来后,直接将包转发到其他口。
对于桥,包过来后,会首先检查包的destination address是否在mac address和端口绑定表中,如果在,则根据mac和端口绑定表,将包从相应的端口转发出去,如果不在,则丢弃。同时,他会记录下包的source address以及这个包进来的那个口,然后更新mac address和端口绑定表,目的是为下次判断和转发做准备。我们通常说桥是层2设备的原因是他只使用mac address而不使用ip address来完成转发功能。
对于switch,switch和桥的功能类似,不过,一般情况下,switch具有更多的硬件端口。一般来讲,switch都是不具有软件的,都是ASIC电路。另外,根据switch产品的不同,他可能工作在第二层(使用mac address)或者工作在第三层(使用ip address)
对于router,通过ip address来判断是否转发,从哪个端口出去(ip table),另外router相对于switch的一个最大的优点是,router是具有软件的,这就为很多功能的实现提供了良好的条件,非常便利。
一、网桥(bridge)
简单的说网桥就是个硬件网络协议翻译器,假设你有2台电脑,一台兼容机安装windows,一台是Apple安装OS2,那么两台电脑之间是默认网络协议是不同的,兼容机可能只会说TCP/IP,苹果机只会说Apple talk,就好象两个外国人都不会说对方的语言,怎么办?找个翻译,网桥就是翻译。
在386、486时代网桥可能是一台安装了协议转换程序的电脑,如今交换机也包含这个功能。今天的操作系统之间为了互相交流,支持更多的协议,操作系统自己就可以是网桥,现在网桥这个概念已经淡出了。更多是所谓的桥接、转发、协议二次封装。
网桥也可以说相当一个端口少的二层交换机,再者网桥主要由软件实现,交换机主要由硬件实现!
二、集线器(hub)
某一天,你到 A 就读的学校去找他,那么你的做法是什么呢:
你站到学校中庭,大喊一声“A,我来你找你了!” (广播)
如果这个时候正好有别人也在大喊大叫,你就必须等他喊完了再喊。(排队)
如果你喊的时候不巧碰上另一个人跟你同时喊,那么你和他喊的内容都不能被听见。(冲突)
你喊的时候,是听不见别人说什么的,只有喊完了才开始竖起耳朵听。(半双工工作方式、监听)
果然,对面楼里传来了A的声音“你去死吧!” (响应)
集线器,英文名又称Hub,在OSI模型中属于数据链路层。价格便宜是它最大的优势,但由于集线器属于共享型设备,导致了在繁重的网络中,效率变得十分低下,所以我们在中、大型的网络中看不到集线器的身影。如今的集线器普遍采用全双工模式,市场上常见的集线器传输速率普遍都为100Mbps。集线器有如下特点:
-
共享型
集线器最大的特点就是采用共享型模式,就是指在有一个端口在向另一个端口发送数据时,其他端口就处于“等待”状态。为什么会“等待”呢?举个例子来说,其实在单位时间内A向B发送数据包时,A是发送给B、C、D三个端口的(该现象即紧接下文介绍的IP广播),但是只有B接收,其他的端口在第一单位时间判断不是自己需要的数据后将不会再去接收A发送来的数据。直到A再次发送IP广播,在A再次发送IP广播之前的单位时间内,C、D是闲置的,或者C、D之间可以传输数据。我们可以理解为集线器内部只有一条通道(即公共通道),然后在公共通道下方就连接着所有端口。 -
IP广播
所谓IP广播(也称:群发),是指集线器在发送数据给下层设备时,不分原数据来自何处,将所得数据发给每一个端口,如果其中有端口需要来源的数据,就会处于接收状态,而不需要的端口就处于拒绝状态。
举个例子来说:在网内时,当客户端A发送数据包给客户端B时,集线器便将来自A的数据包群发给每一个端口,此时B就处于接收状态,其它端口则处于拒绝状态;
在网外也如此,当客户端A发送域名“https://www.toutiao.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个单位时间,但是我们却很难察觉到,感觉上就是在同时“进行”一样。
三、交换机(switch)
A 事先通知了你她的手机号码(Mac地址)。
你拨通了 A 的手机。(建立连接)
对 A 说“我来找你了”。(独享信道)
A 说"ok"! (全双工方式)
- 局域网交换机的定义如下:
以太网、快速以太网、FDDI和令牌环网常被称为传统局域网,它们都是共享介质、共享带宽的共享式局域网。为了提高带宽,往往采用路由器进行网络分割,将一个网络分为多个网段,每个网段有不同的子网地址,不同的广播域,以减少网络上的冲突,提高网络带宽。微化网段已不能适应局域网扩展和新的网络应用对高带宽的需求,有人说“传统局域网已走到尽头”。
近几年突起的交换式局域网技术,能够解决共享式局域网所带来的网络效率低、不能提供足够的网络带宽和网络不易扩展等一系列问题。它从根本上改变了共享式局域网的结构,解决了带宽瓶颈问题。目前已有交换以太网、交换令牌环、交换FDDI和ATM等交换局域网,其中交换以太网应用最为广泛。交换局域网已成为当今局域网技术的主流。
交换机提供了桥接能力以及在现存网络上增加带宽的功能。用于L A N上的交换机与网桥相似,因为它们都运作在数据链路层(第2层)的M A C子层上,都检验着所有进入的网络流量的设备地址。与网桥还有一点相似,交换机保持一张有关地址的信息表,并用该信息来决定如何过滤并转发LAN流量。
与网桥不同,交换机采用交换技术来增加数据的输入输出总和和安装介质的带宽。一般交换机转发延迟很小,能经济地将网络分成小的冲突网域,为每个工作站提供更高的带宽。
在计算机网络系统中,交换机是针对共享工作模式的弱点而推出的。集线器是采用共享工作模式的代表,如果把集线器比作一个邮递员,那么这个邮递员是个不认识字的“傻瓜”——要他去送信,他不知道直接根据信件上的地址将信件送给收信人,只会拿着信分发给所有的人,然后让接收的人根据地址信息来判断是不是自己的!而交换机则是一个“聪明”的邮递员——交换机拥有一条高带宽的背部总线和内部交换矩阵。交换机的所有的端口都挂接在这条背部总线上,当控制电路收到数据包以后,处理端口会查找内存中的地址对照表以确定目的MAC(网卡的硬件地址)的NIC(网卡)挂接在哪个端口上,通过内部交换矩阵迅速将数据包传送到目的端口。目的MAC若不存在,交换机才广播到所有的端口,接收端口回应后交换机会“学习”新的地址,并把它添加入内部地址表中。
可见,交换机在收到某个网卡发过来的“信件”时,会根据上面的地址信息,以及自己掌握的“常住居民户口簿”快速将信件送到收信人的手中。万一收信人的地址不在“户口簿”上,交换机才会像集线器一样将信分发给所有的人,然后从中找到收信人。而找到收信人之后,交换机会立刻将这个人的信息登记到“户口簿”上,这样以后再为该客户服务时,就可以迅速将信件送达了。
四、路由器(router)
你事先把你的 A、B、C 这些朋友 所在的XX系XX级XX班XX号座位的信息记录在你的笔记本上(建立路由表)
你找到了 A 的地址(IP地址),并且确定了如何才能找到她的途径 (路由选择) 。
你到门卫问到了XX系所在的楼,又到XX系问到了XX班的教室,又到XX教室问到了XX号座位的位置……经过N次询问(N跳),你终于来到了 A 的面前。
- 路由器工作在第三层上,路由器是第三层网络设备,这样说大家可能都不理解,就先说一下集线器和交换机吧。
- 集线器工作在第一层(即物理层),它没有智能处理能力,对它来说,数据只是电流而已,当一个端口的电流传到集线器中时,它只是简单地将电流传送到其他端口,至于其他端口连接的计算机接收不接收这些数据,它就不管了。
- 交换机工作在第二层(即数据链路层),它要比集线器智能一些,对它来说,网络上的数据就是MAC地址的集合,它能分辨出帧中的源MAC地址和目的MAC地址,因此可以在任意两个端口间建立联系,但是交换机并不懂得IP地址,它只知道MAC地址。
- 路由器工作在第三层(即网络层),它比交换机还要“聪明”一些,它能理解数据中的IP地址,如果它接收到一个数据包,就检查其中的IP地址,如果目标地址是本地网络的就不理会,如果是其他网络的,就将数据包转发出本地网络。
- 路由器能连接不同类型的网络,我们常见的集线器和交换机一般都是用于连接以太网的,但是如果将两种网络类型连接起来,比如以太网与ATM网,集线器和交换机就派不上用场了。路由器能够连接不同类型的局域网和广域网,如以太网、ATM网、FDDI网、令牌环网等。不同类型的网络,其传送的数据单元——帧(Frame)的格式和大小是不同的,就像公路运输是汽车为单位装载货物,而铁路运输是以车皮为单位装载货物一样,从汽车运输改为铁路运输,必须把货物从汽车上放到火车车皮上,网络中的数据也是如此,数据从一种类型的网络传输至另一种类型的网络,必须进行帧格式转换。
路由器就有这种能力,而交换机和集线器就没有。实际上,我们所说的“互联网”,就是由各种路由器连接起来的,因为互联网上存在各种不同类型的网络,集线器和交换机根本不能胜任这个任务,所以必须由路由器来担当这个角色。
- 路由器具有路径选择能力,在互联网中,从一个节点到另一个节点,可能有许多路径,路由器可以选择通畅快捷的近路,会大大提高通信速度,减轻网络系统通信负荷,节约网络系统资源,这是集线器和二层交换机所根本不具备的性能。
五、网关(gateway)
按照不同的分类标准,网关也有很多种。TCP/IP协议里的网关是最常用的,在这里我们通常所讲的“网关”均指TCP/IP协议下的网关。
那么网关到底是什么呢?网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0。在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机(如附图所示)。网络B向网络A转发数据包的过程。
相关文章:

【计算机网络】11、网桥(bridge)、集线器(hub)、交换机(switch)、路由器(router)、网关(gateway)
文章目录 一、网桥(bridge)二、集线器(hub)三、交换机(switch)四、路由器(router)五、网关(gateway) 对于hub,一个包过来后,直接将包转发到其他口。 对于桥&…...
第九篇-自我任务数据准备
格式化自我意识数据用于ChatGLM微调 准备数据源 https://github.com/hiyouga/ChatGLM-Efficient-Tuning cd data self_cognition.json代码self_process.py #!/usr/bin/python # -*- coding: UTF-8 -*- # 读取self_cognition自我认知解析并写入转换新文件import json# 读取se…...

2023.8.1号论文阅读
文章目录 MCPA: Multi-scale Cross Perceptron Attention Network for 2D Medical Image Segmentation摘要本文方法实验结果 SwinMM: Masked Multi-view with SwinTransformers for 3D Medical Image Segmentation摘要本文方法实验结果 MCPA: Multi-scale Cross Perceptron Att…...
webpack优化前端框架性能
webpack优化目的 webpack优化目的1. 提升开发体验提升开发体验使用 SourceMap 2. 提升打包构建速度提升打包构建速度(开发模式)提升打包速度 oneOf提升打包速度 include(包含)/exclude(排除)提升第二次打包…...
Unity UGUI的Outline(描边)组件的介绍及使用
Unity UGUI的Outline(描边)组件的介绍及使用 1. 什么是Outline(描边)组件? Outline(描边)组件是Unity UGUI中的一种特效组件,用于给UI元素添加描边效果。通过设置描边的颜色、宽度和模糊程度,可以使UI元素在视觉上更加突出。 2. Outline(描…...
爆改vue3 setup naiveui可编辑table
使用naiveui官网的可编辑table总是报错,所以手写了一个 思路:table数据数组unitMsgArr对应一个布尔的数组isEditArr ,点击table可编辑的行数据的时候,更改对应的isEdit为true,此时渲染组件EditCom,在EditC…...

功率放大器的种类有哪三种类型
功率放大器是一种能将输入信号转换为更高功率输出的电子设备。在电子工程和音频领域中,功率放大器通常被分为三种类型:A类、B类和AB类。下面安泰电子将详细介绍这三种类型的功率放大器及其特点。 A类功率放大器 A类功率放大器是一种基本的线性功率放大器…...
HDFS 分布式存储 spark storm HBase
HDFS 分布式存储 spark storm HBase 分布式结构 master slave name node client 负责文件的拆分 128MB 3份 data node MapReduce 分布式计算 离线计算 2.X之前 速度比较慢 对比spark 编程思想 Map 分 Reduce 合 hadoop streaming Mrjob Yarn 资源管理 cpu 内存 MapReduc…...
Vue3文字实现左右和上下滚动
可自定义设置以下属性: 滚动文字数组(sliderText),类型:Array<{title: string, link?: string}>,必传,默认[] 滚动区域宽度(width),类型:…...

Docker Sybase修改中文编码
镜像:datagrip/sybase 镜像默认用户名sa,密码myPassword,服务名MYSYBASE 1.进入容器 docker exec -it <container_name> /bin/bash2.加载Sybase环境变量 source /opt/sybase/SYBASE.sh3.查看是否安装了中文字符集 isql -Usa -PmyP…...

【SpringCloud Alibaba】(六)使用 Sentinel 实现服务限流与容错
今天,我们就使用 Sentinel 实现接口的限流,并使用 Feign 整合 Sentinel 实现服务容错的功能,让我们体验下微服务使用了服务容错功能的效果。 因为内容仅仅围绕着 SpringCloud Alibaba技术栈展开,所以,这里我们使用的服…...

mysql的主从复制
1.主从复制的原理 主从复制的原理是通过基于日志的复制方式实现数据的同步。当主服务器上发生数据变更时,会将这些变更写入二进制日志(Binary Log)中。从服务器通过连接到主服务器,请求从主服务器获取二进制日志,并将…...

【Golang 接口自动化03】 解析接口返回XML
目录 解析接口返回数据 定义结构体 解析函数: 测试 优化 资料获取方法 上一篇我们学习了怎么发送各种数据类型的http请求,这一篇我们来介绍怎么来解析接口返回的XML的数据。 解析接口返回数据 定义结构体 假设我们现在有一个接口返回的数据resp如…...

Java+bcprov库实现对称和非对称加密算法
BouncyCastle,即BC,其是一款开源的密码包,包含了大量的密码算法。 本篇主要演示BC库引入,对称加密算法AES、SM4和 非对称加密EC算法的简单实现,以下是实现过程。 一、将BC添加到JRE环境 前提:已安装JRE环…...

国内最大Llama开源社区发布首个预训练中文版Llama2
"7月31日,Llama中文社区率先完成了国内首个真正意义上的中文版Llama2-13B大模型,从模型底层实现了Llama2中文能力的大幅优化和提升。毋庸置疑,中文版Llama2一经发布将开启国内大模型新时代! | 全球最强,但中文短板…...

Qt应用开发(基础篇)——滑块类 QSlider、QScrollBar、QDial
目录 一、前言 二、QAbstractSlider类 1、invertedAppearance 2、invertedControls 3、maximum 4、minimum 5、orientation 6、pageStep 7、singleStep 8、sliderDown 9、tracking 10、sliderPosition 11、value 12、信号 三、QDial类 1、notchSize 2、notchTa…...

【3-D深度学习:肺肿瘤分割】创建和训练 V-Net 神经网络,并从 3D 医学图像中对肺肿瘤进行语义分割研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

MongoDB文档--架构体系
阿丹: 在开始学习先了解以及目标知识的架构体系。就能事半功倍。 架构体系 MongoDB的架构体系由以下几部分组成: 存储结构:MongoDB采用文档型存储结构,一个数据库包含多个集合,一个集合包含多个文档。存储形式&#…...

GEE学习03-Geemap配置与安装,arcgis pro自带命令提示符位置等
跟着吴秋生老师的视频开展的学习,首先购买了云,用来设置全局。 1、尝试使用arcgis pro自带的conda conda env list查看电脑上环境,我自己电脑上有三个环境,使用的arcgis pro python克隆的环境作为的默认的环境 但是这样的前提…...

软件测试面试总结——http协议相关面试题
前言 在PC浏览器的地址栏输入一串URL,然后按Enter键这个页面渲染出来,这个过程中都发生了什么事?这个是很多面试官喜欢问的一个问题 如果测试只是停留在表面上点点点,不知道背后的逻辑,是无法发现隐藏的bug,只能找一…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...

python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
Webpack性能优化:构建速度与体积优化策略
一、构建速度优化 1、升级Webpack和Node.js 优化效果:Webpack 4比Webpack 3构建时间降低60%-98%。原因: V8引擎优化(for of替代forEach、Map/Set替代Object)。默认使用更快的md4哈希算法。AST直接从Loa…...
深入浅出Diffusion模型:从原理到实践的全方位教程
I. 引言:生成式AI的黎明 – Diffusion模型是什么? 近年来,生成式人工智能(Generative AI)领域取得了爆炸性的进展,模型能够根据简单的文本提示创作出逼真的图像、连贯的文本,乃至更多令人惊叹的…...
SpringAI实战:ChatModel智能对话全解
一、引言:Spring AI 与 Chat Model 的核心价值 🚀 在 Java 生态中集成大模型能力,Spring AI 提供了高效的解决方案 🤖。其中 Chat Model 作为核心交互组件,通过标准化接口简化了与大语言模型(LLM࿰…...
基于鸿蒙(HarmonyOS5)的打车小程序
1. 开发环境准备 安装DevEco Studio (鸿蒙官方IDE)配置HarmonyOS SDK申请开发者账号和必要的API密钥 2. 项目结构设计 ├── entry │ ├── src │ │ ├── main │ │ │ ├── ets │ │ │ │ ├── pages │ │ │ │ │ ├── H…...

海云安高敏捷信创白盒SCAP入选《中国网络安全细分领域产品名录》
近日,嘶吼安全产业研究院发布《中国网络安全细分领域产品名录》,海云安高敏捷信创白盒(SCAP)成功入选软件供应链安全领域产品名录。 在数字化转型加速的今天,网络安全已成为企业生存与发展的核心基石,为了解…...