当前位置: 首页 > news >正文

哈工大计算机网络课程局域网详解之:交换机概念

哈工大计算机网络课程局域网详解之:交换机概念

文章目录

  • 哈工大计算机网络课程局域网详解之:交换机概念
    • 以太网交换机(switch)
    • 交换机:多端口间同时传输
    • 交换机转发表:交换表
    • 交换机:自学习
    • 交换机互联
    • 组织机构(Institutional)网络
    • 交换机 VS 路由器

在介绍完局域网中最具代表性的以太网技术后,接下来我们继续来看一下在局域网中使用非常广泛也是非常重要的网络设备:交换机。

以太网交换机(switch)

本节主要面向以太网来介绍其中使用的交换机。

作为以太网交换机来说,是一个典型的数据链路层设备,可以实现对链路层数据帧的存储-转发。在存储-转发的过程中,交换机是通过检验到达数据帧的目的MAC地址,选择性(selectively)向一个或多个数据链路转发帧。

同时,交换机作为链路层设备,在每个接口中发送/接收数据帧时,实际上都是利用CSMA/CD协议来访问链路,发送数据帧的。

最典型也是使用最广泛的一类交换机叫做透明(transparent)交换机。这里透明的意思是指:

  • 主机感知不到交换机的存在。

因此,这类透明交换机就是一种即插即用的设备。也就是说,作为标准的链路层设备,交换机可以直接接入到网络就可以工作,而不需要复杂的配置和管理。

交换机:多端口间同时传输

交换机在现在的网络中,使用最广泛的场景,比如在以太网中,通过把计算机利用一个点对点链路,直接接入到交换机的一个接口上,从而构成了一个局域网,有时也被称为交换以太网。示例图如下所示:

在这里插入图片描述

这些主机都是通过一个独享的,或非共享的链路直接与交换机相连。作为交换机可以在这些互联的主机之间实现数据帧的存储-转发。同时,正如上面介绍的,交换在每段链路上都是遵循CSMA/CD协议来收发数据帧。由于在上述网络中,每个主机都是点对点与交换机连接的(每段链路一个独立的冲突域),所以不会发送冲突,且可以实现全双工。

交换机可以在这些所有互联的主机之间,实现并行的交换传输。比如A-A‘之间进行通信和B-B‘之间进行通信是可以同时进行的,互不干扰,没有冲突。

交换机转发表:交换表

作为交换机,如何保证数据能够动态的在多个不同的接口之间进行交换传输呢?

比如还是上面的示例图,交换机怎么知道A‘(实际指的是MAC地址)可以通过接口4到达,而B‘可以通过接口5到达?

这里就涉及交换机里一个非常重要的概念:交换表。

每个交换机都会维护一个交换表(switch table),交换表中的每条记录entry,记录了MAC地址与相应接口的转发映射关系(类似路由器中的转发表)。

比如,每个entry的格式:(主机MAC地址,到达主机的接口,时间戳)。这个时间戳的设置是当时间戳设置的时间超时之后,会把该条记录从交换表中清除,再重新学习获取。(看起来很像路由表!)

接下来还有一个疑问,就是上面交换机中的交换表是怎么构建出来的? 我们在网络层中介绍过,路由器中的转发表是利用一些路由协议(e.g. OSPF、BGP),根据算法来计算得到的转发信息。这里的交换表是这样做的吗?

交换机:自学习

实际上,交换表的构造方法跟网络层中路由转发表的构造方法有很大差异。这个差异在于,交换机获取交换表的信息是通过自学习来完成的。

交换机通过自学习,获知到达主机的接口信息。学习的过程大致如下:

  • 当收到帧时,交换机“学习”到发送帧的主机(通过帧的源MAC地址),位于收到该帧的接口所连接的LAN网段。
  • 学到该信息之后,就可以将发送主机的MAC地址/接口信息记录到交换表中。

下面以一个示例来看一下自学习的过程。还是上面的示例图,假设主机A要向目的主机A‘发送数据帧。(A和A‘实际上都是指MAC地址)

在这里插入图片描述

数据帧从主机A发送后,到达交换机,此时交换机就可以根据数据帧的源MAC地址学习到,当MAC地址为A时,其接口对应的是1。也就是说,交换机学习到了将来如何有数据帧需要发送给主机A,则会通过接口1来转发。

同时由于初始时,交换表是空的,不清楚应用通过哪个接口来转发该数据帧。此时会采用一种泛洪的方式,也就是除了接口1之外,其余的接口都会转发一个该帧的副本。 主机接收到后,会比对数据帧中的目的MAC地址,因此只有主机A‘会正确接收该数据帧,其他主机则直接丢弃。

作为交换机,在整个自学习过程中,有时也被称为一个帧过滤/转发过程。

交换机事实上就是利用收到数据帧的目的MAC地址去检索交换表,来决定从哪个接口转发数据帧。在这个过程中,也同时利用帧的源MAC地址来进行自学习。

接下来,我们对上面介绍的过程进行汇总,来描述一个帧转发过程。

当交换机收到帧时:

  1. 记录帧的源MAC地址与输入链路接口。

  2. 利用目的MAC地址检索交换表。

  3. if在交换表中检索到与目的MAC地址匹配的入口(entry)

    then {

    if 目的主机位于收到帧的网段

    then 丢弃帧

    else 将帧转发到该入口指向的接口

    }

    else 泛洪(flood)/* 向除收到该帧的接口之外的所有接口转发 */

交换机互联

作为利用交换机连接的局域网,显然不会只有一台交换机来连接所有的主机。有的时候可能是接口的限制,或是网络距离的需要,需要对网络进行扩展。最典型的扩展方式,就是利用多交换机互联之后,构成一个更大范围的层级结构的局域网。

在这里插入图片描述

这种网络结构在现在的局域网中是非常常见的。那么在上面的层级结构中,主干交换机S1、S2、S3、S4又是如何来构建交换表的呢?

需要再次强调的是,上述A、B、C…这些实际上指代的都是主机的MAC地址。

假设此时A向G发送数据帧,S1怎么知道通过S4转发?S4又怎么知道通过S3转发?

显然这个过程也是要通过自学习来完成的。这个过程实际上与单一交换机情形相同。比如上面的例子中,S1不知道如何转发数据帧时,采用的方式仍然是泛洪。泛洪之后,把数据帧传输到了S4,S4同样不知道如何转发,则仍然继续泛洪。以此类推,最终S3经过泛洪把数据帧的一个副本传输给了G。而在这个过程中,每个交换机都会自学习来学习各自交换表中的转发映射关系。

组织机构(Institutional)网络

交换机在实际局域网中使用非常广泛,比如下图的示例网络,就是一些比较典型的组织机构网络的一个缩影。

在这里插入图片描述

事实上比如像校园网、小型中小企业的网络等,它们的网络构成,大部分都由我们图中所示的网络特点。

比如,通过一个局域网的边缘路由器与外部网络连接(一般是连接到一个ISP网络上)。在网络(组织)内部,利用交换机连接交换机,交换机连接主机这样的方式构成一个组织内部网络。

从这个网络中可以看出,如果说路由器右边连接的网络不再包含网络层(第三层)设备的话,显然这样的网络对应的就是一个IP子网。在这个IP子网中,任何一个交换机在工作过程中,如何收到在这个网络范围内的任何一个主机发送的广播数据帧(目的MAC地址是全1),此时,所有交换机都会把这个广播帧转发到所有的其他接口上去,也就是上面讲过的泛洪。因此,对于这样一个IP子网来说,也被称为一个广播域。

再结合之前介绍过的冲突域的概念:如果交换机的某个接口所连接的网络不再经过另外一个交换机或网络设备的话,这样的网络就是一个冲突域。

上面的示例网络可以看得出来,由于每个交换机的接口最多只连接一个主机,所以每个冲突域都只有一台主机。

交换机 VS 路由器

在现在的网络中,经常会需要用到交换机和路由器等设备,因此,我们对交换机和路由器设备进行一个简单的对比,来加深理解。

交换机 vs 路由器:

  • 两者均为存储-转发设备:
    • 路由器:网络层设备,检测网络层分组首部,处理的是IP数据报。
    • 交换机:链路层设备,检测链路层帧的首部,处理的是链路层数据帧。
  • 二者均使用转发表:
    • 路由器:利用路由算法(路由协议)计算(设置)转发表的转发映射关系,依据IP地址。
    • 交换机:利用自学习、泛洪构建转发表,依据MAC地址。

可以参照下面的示意图来理解。

在这里插入图片描述

进一步的,可以把在网络中,尤其是局域网中,常用的一些网络设备,对其功能和局限性进行一个简单对比:

在这里插入图片描述

相关文章:

哈工大计算机网络课程局域网详解之:交换机概念

哈工大计算机网络课程局域网详解之:交换机概念 文章目录 哈工大计算机网络课程局域网详解之:交换机概念以太网交换机(switch)交换机:多端口间同时传输交换机转发表:交换表交换机:自学习交换机互…...

Jenkins Pipeline的hasProperty函数

函数的作用 用于判断某个参数或者字段是否存在。 用法 例子一 def projectStr "P1,P2,P3" pipeline {agent anyparameters {extendedChoice(defaultValue: "${projectStr}",description: 选择要发布的项目,multiSelectDelimiter: ,,name: SELECT_PROJ…...

芯片制造详解.净洁室的秘密.学习笔记(三)

这是芯片制造系列的第三期跟学up主三圈,这里对其视频内容做了一下整理和归纳,喜欢的可以看原视频。 芯片制造详解03: 洁净室的秘密|为何芯片厂缺人? 芯片制造详解.净洁室的秘密.学习笔记 三 简介一、干净的级别二、芯片…...

可解释的 AI:在transformer中可视化注意力

Visualizing Attention in Transformers | Generative AI (medium.com) 一、说明 在本文中,我们将探讨可视化变压器架构核心区别特征的最流行的工具之一:注意力机制。继续阅读以了解有关BertViz的更多信息,以及如何将此注意力可视化工具整合到…...

k8s Webhook 使用java springboot实现webhook 学习总结

k8s Webhook 使用java springboot实现webhook 学习总结 大纲 基础概念准入控制器(Admission Controllers)ValidatingWebhookConfiguration 与 MutatingWebhookConfiguration准入检查(AdmissionReview)使用Springboot实现k8s-Web…...

JS逆向之猿人学爬虫第20题-wasm

文章目录 题目地址sign参数分析python算法还原往期逆向文章推荐题目地址 https://match.yuanrenxue.cn/match/20第20题被置顶到了第1页,题目难度 写的是中等 算法很简单,就一个标准的md5算法,主要是盐值不确定, 而盐值就在wasm里面,可以说难点就在于wasm分析 sign参数分…...

【双指针优化DP】The 2022 Hangzhou Normal U Summer Trials H

Problem - H - Codeforces 题意: 思路: 首先很明显是DP 因为只有1e6个站点,因此可以以站点作为阶段 注意到K很小,因此可以尝试把这个当作第二维 设dp[i][j]为到达第i个站点,已经花了j元钱的最小步数 然后就想了一…...

[论文笔记] LLM数据集——金融数据集

一、chatglm_金融 ModelScope 魔搭社区 请将modelscope sdk升级到v1.7.2rc0,执行: ​ pip3 install "modelscope1.7.2rc0" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html # 方式1 git clone http://www.modelscope…...

在亚马逊平台,如何有效举报违规行为?

众所周知,在每个行业都有一些违规现象,甚至这些违规现象还会给自己带来利益方面的损失,一旦触犯到自己的利益的话,那自己是需要想办法解决的,想办法规避。 就拿开亚马逊店铺来说,比较容易遇到的就是产品侵…...

深度学习入门教学——神经网络

深度学习就是训练神经网络。 1、神经网络 举个最简单的例子,以下是一个使用线性回归来预测房屋价格的函数。这样一个用于预测房屋价格的函数被称作是一单个神经元。大一点的神经网络,就是将这些单个神经元叠加起来。例如:神经网络根据多个相…...

阿里Java开发手册~OOP 规约

1. 【强制】避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成 本,直接用 类名 来访问即可。 2. 【强制】所有的覆写方法,必须加 Override 注解。 说明: getObject() 与 get 0 bject() 的问题。…...

【Mysql数据库面试01】内连接 左连接 右连接 全连接

【Mysql数据库】内连接 左连接 右连接 全连接 0.准备1.内连接1.1 SQL(不带where)1.2 SQL(带where)1.3总结 2.左连接2.1SQL(不带where)2.2SQL(带where)2.3总结 3.右连接3.1 SQL(不带where&#x…...

事务隔离:为什么你改了我还看不见

前提概要 你肯定不陌生,和数据库打交道的时候,我们总是会用到事务。最经典的例子就 是转账,你要给朋友小王转 100 块钱,而此时你的银行卡只有 100 块钱。 转账过程具体到程序里会有一系列的操作,比如查询余额、做加减法…...

吴恩达ChatGPT《LangChain Chat with Your Data》笔记

文章目录 1. Introduction2. Document Loading2.1 Retrieval Augmented Generation(RAG)2.2 Load PDFs2.3 Load YouTube2.4 Load URLs2.5 Load Notion 3. Document Splitting3.1 Splitter Flow3.2 Character Splitter3.3 Token Splitter3.4 Markdown Spl…...

https和http有什么区别

https和http有什么区别 简要 区别如下: ​ https的端口是443.而http的端口是80,且二者连接方式不同;http传输时明文,而https是用ssl进行加密的,https的安全性更高;https是需要申请证书的,而h…...

振弦采集仪及在线监测系统完整链条的岩土工程隧道安全监测

振弦采集仪及在线监测系统完整链条的岩土工程隧道安全监测 近年来,随着城市化的不断推进和基础设施建设的不断发展,隧道建设也日益成为城市交通发展的必需品。然而,隧道建设中存在着一定的安全隐患,如地质灾害、地下水涌流等&…...

linux基础学习

1.day1 2.day2 1、VIM配置; 2、安装SSH,调用putty接入终端; 3、shell命令; *:匹配任意长度的字符 ?:匹配一个长度的字符 [...]:匹配其中指定的一个字符 [-]:匹配指定…...

android 前端常用布局文件升级总结(二)

问题一: android:name“android.support.v4.content.FileProvider” 报红 问题解决方案: 把xml布局文件里面: android.support.v4.content.FileProvider 更换成 androidx.core.content.FileProvider 问题二: android.support.design.wid…...

Linux复习——基础知识

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​ 1. 有关早期linux系统中 sysvin的init的7个级别描述正确的是( )[选择1项] A. init 1 关机状态 B. init 2 字符界面多用户模式 …...

【数据结构】实验三:链表

实验三链表 一、实验目的与要求 1)熟悉链表的类型定义; 2)熟悉链表的基本操作; 3)灵活应用链表解决具体应用问题。 二、实验内容 1)请设计一个单链表的存储结构,并实现单链表中基本运算算…...

第4集丨webpack 江湖 —— loader的安装和使用

目录 一、loader简介1.1 使用 loader1.1.1 配置文件方式1.1.2 内联方式 1.2 loader 特性1.3 解析 loader1.4 命名规范 二、css loader的安装和使用2.1 安装2.2 配置2.3 测试 三、 less-loader 的安装和使用3.1 安装3.2 配置3.3 测试3.4 附件3.4.1 webpack.config.js3.4.2 index…...

【Lua学习笔记】Lua进阶——协程

文章目录 协程协程的定义和调度StatusRunning 协程 协程是一种并发操作,相比于线程,线程在执行时往往是并行的,并且线程在创建销毁执行时极其消耗资源,并且过长的执行时间会造成主进程阻塞。而协程可以以并发时轮值时间片来执行&…...

亚马逊云科技纽约峰会,充分释放数据价值和生成式AI的潜力

生成式AI将深刻改变每个公司的运营方式,标志着人工智能技术发展的新转折点。亚马逊云科技昨日在纽约峰会上宣布,推出七项生成式AI新功能,进一步降低了生成式AI的使用门槛,让无论是业务用户还是开发者都能从中受益。借助这些新功能…...

什么是 web3?

在百度搜索引擎输入 “Web3”、“大厂”。跳出来基本都是这样的标题. 以及如今的互联网行业 “哀鸿遍野”,不仅内卷,还裁员。然后掀起一阵风,猛吹 Web3 的好,数据回归用户……最后再 “威逼利诱” 一下,Web3 就是 20 年…...

[驱动开发]字符设备驱动应用——点灯

点亮开发板stm32mp157的三盏灯 //头文件 #ifndef __LED_H__ #define __LED_H__//封装GPIO寄存器 typedef struct { volatile unsigned int MODER; // 0x00volatile unsigned int OTYPER; // 0x04volatile unsign…...

前端学习——Vue (Day5)

自定义指令 <template><div><h1>自定义指令</h1><input v-focus ref"inp" type"text" /></div> </template><script> export default {// mounted(){// this.$ref.inp.focus()// }// 2. 局部注册指令di…...

Ceph版本

每个Ceph的版本都有一个英文的名称和一个数字形式的版本编号 第一个 Ceph 版本编号是 0.1&#xff0c;发布于2008 年 1月。之后是0.2,0.3....多年来&#xff0c;版本号方案一直没变。 2015年 4月0.94.1 (Hammer 的第一个修正版) 发布后&#xff0c;为了避免 0.99 (以及 0.100…...

cspm是什么?考了有用吗?

CSPM是项目管理专业人员能力评价等级证书&#xff0c;相当于 PMP 的本土化&#xff0c;CSPM 相关问题大家都很关心&#xff0c;今天就给大家全面解答一下 CSPM到底是何方神圣&#xff1f; 文章主要是解答下面几个常见问题&#xff0c;其他问题可以留言或者私信咨询我哦~ 一、什…...

Java阶段五Day14

Java阶段五Day14 文章目录 Java阶段五Day14分布式事务整合demo案例中架构&#xff0c;代码关系发送半消息本地事务完成检查补偿购物车消费 鲁班周边环境调整前端启动介绍启动前端 直接启动的项目gateway&#xff08;网关&#xff09;login&#xff08;登录注册&#xff09;atta…...

【计算机网络】应用层协议 -- 安全的HTTPS协议

文章目录 1. 认识HTTPS2. 使用HTTPS加密的必要性3. 常见的加密方式3.1 对称加密3.2 非对称加密3.3 非对称加密对称加密 4. 引入CA证书4.1 CA认证4.2 数据签名4.3 非对称机密对称加密证书认证4.4 常见问题 5. 总结 1. 认识HTTPS HTTPS全称为 Hyper Text Tranfer Protocol over …...