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

计网第三章(数据链路层)(五)

目录

一、以太网交换机自学习和转发帧的过程

1.两层交换机和三层交换机

2.以太网交换机的基本原理

3.具体实现过程


一、以太网交换机自学习和转发帧的过程

1.两层交换机和三层交换机

大家可能注意到平常做题时有叫两层交换机,或者三层交换机的。

两层交换机就是第四节(计网第三章(数据链路层)(四)_永无魇足的博客-CSDN博客)所讲的交换机,即工作在数据链路层(包括物理层)的交换机。

实际上,也有包含网络层部分功能的交换机,叫做三层交换机

2.以太网交换机的基本原理

以太网交换机收到帧后,在帧交换表中查找帧的目的MAC地址所对应的接口号,然后通过该接口转发帧。

以太网交换机是一种即插即用设备,刚上电启动时,内部的帧交换表是空的。随着网络主机之间的通信,以太网交换机通过自学习算法自动逐渐建立起帧交换表。

以太网交换机的帧交换表主要记录对应目的地址的MAC地址和对应的接口。

这里要注意:第四节所说的ARP高速缓存表是主机的,而交换机的是帧交换表。两者不一样,不能搞混。

ARP高速缓存表的类型有两种,即静态和动态。交换机的帧交换表也同样有静态和动态两种,可以由管理员手动配置或者通过自学习完成。

3.具体实现过程

如图:

假设各主机知道网络上其他主机的MAC地址(无需进行ARP)。各主机的MAC地址用字母代替。 

 

 现在,主机A想给主机D发送帧

A的帧从交换机1的接口1进入,交换机1会先进行登记,将主机A的MAC地址和所在接口记录到帧转换表中(这个过程就是以太网交换机的自学习过程)。随后在帧转换表中查找主机D的记录,发现没有后,向除源接口外的所有接口发送(即盲目转发,称为泛洪)。

帧从交换机1的接口4转发给交换机2的接口3,随后交换机2继续和前述一样的操作,登记(注意对于交换机2来说,主机A对应的是它的接口3)然后查找主机D的记录,发现没有(因为现在交换机2还没学习到D的记录),随后也进行泛洪。

除了主机D之外,其余的主机在检查该帧的目的地址后知道不是发送给自己的,将其丢弃。

而主机D知道这是给自己的帧,随即接受。

 

 注意:这不是ARP协议,所以也不会有主机D收到后,又给主机A一个响应报文这种操作。

因为A已经在帧交换表中有记录了,所以下一次发送帧,只要主机A是目的主机,就不会有泛洪这种情况出现。

假设现在主机F给主机A发送帧。同样地,交换机2先进行登记,随后在帧交换表里面查找,找到A的记录,随即从接口3转发出去;交换机1收到后,登记F的记录,随后在帧交换表里面查找,找到A的记录,随即从接口1转发出去,最终传给主机A。

 如果现在主机C想给主机B发送帧呢?

其实和主机A给主机D发送帧的过程是一样的,但是博主想要强调的是虽然B和C在同一个交换机连着,但是因为帧转换表里没有C的记录,所以仍然会泛洪,所以交换机2也会收到该帧。希望大家能注意到里面的小细节。

还有需要注意的是:帧交换表中的记录并不是永久性的,有效时间过后就会自动删除。原因是因为MAC地址和交换机的接口对应的关系不是永久的,比如某个交换机的某个接口所连接的主机换成另外一个等等。

最后就是交换机的一个特点,这点实际已经在第四节有提到过,就是如果发送接口和源接口一样的话,交换机就会丢弃该帧。

如图:假设主机G要向主机A发送帧,帧通过总线传送给主机A和交换机1,交换机1进行登记,并在帧交换表中进行查找,发现发送该帧的接口也是接口1,随机对其进行丢弃。

 注意:实际上主机A接收到该帧了,因为是在总线上进行传输的,所以不要以为主机A没有接收到该帧。

 

 

相关文章:

计网第三章(数据链路层)(五)

目录 一、以太网交换机自学习和转发帧的过程 1.两层交换机和三层交换机 2.以太网交换机的基本原理 3.具体实现过程 一、以太网交换机自学习和转发帧的过程 1.两层交换机和三层交换机 大家可能注意到平常做题时有叫两层交换机,或者三层交换机的。 两层交换机就…...

嵌入式系统中常见内存的划分方法

看到有小伙伴在讨论关于单片机内存的话题,今天就结合STM32给大家描述一下常见的划分区域。 在一个STM32程序代码中,从内存高地址到内存低地址,依次分布着栈区、堆区、全局区(静态区)、常量区、代码区,其中全…...

深入理解与实现:常见搜索算法的Java示例

深入理解与实现:常见搜索算法的Java示例 搜索算法在计算机科学中扮演着重要角色,用于在数据集中查找特定元素或解决问题。在本篇博客中,我们将深入探讨图算法的一个重要分支:图的搜索算法。具体而言,我们将介绍图的深…...

PHP自己的框架实现操作成功失败跳转(完善篇四)

1、实现效果,操作成功后失败成功自动跳转 2、创建操作成功失败跳转方法CrlBase.php /**成功后跳转*跳转地址$url* 跳转显示信息$msg* 等待时间$wait* 是否自动跳转$jump*/protected function ok($urlNULL,$msg操作成功,$wait3,$jump1){$code1;include KJ_CORE./tp…...

【汇编语言】CS、IP寄存器

文章目录 修改CS、IP的指令转移指令jmp问题分析 修改CS、IP的指令 理论:CPU执行何处的指令,取决于CS:IP应用:程序员可以通过改变CS、IP中的内容,进行控制CPU即将要执行的目标指令;问题:如何改变CS、IP中的…...

Nvidia Jetson 编解码开发(3)解决H265解码报错“PPS id out of range”

1.问题描述 基于之前的开发程序 Nvidia Jetson 编解码开发(2)Jetpack 4.x版本Multimedia API 硬件编码开发--集成encode模块_free-xx的博客-CSDN博客 通过Jetson Xavier NX 硬编码的H265发出后, 上位机断点播放发出来的H265码流, 会报“PPS id out of range” 错误 …...

Angular中如何获取URL参数?

Angular中的ActivatedRoute中保存着路由信息,可用来提取URL中的路由参数。 constructor(private route: ActivatedRoute){}ngOnInit(): void {this.getUser();}getUser(): void {const id this.route.snapshot.paramMap.get(id);} }route.snapshot是一个路由信息的…...

uniapp编写微信小程序和H5遇到的坑总结

uniapp编写微信小程序和H5遇到的坑总结 1、阻止事件冒泡2、二维码生成3、H5跨域配置4、H5时,地址栏上添加版本号5、H5时,tabBar遮挡部分内容6、uniapp使用webview通信6.1、uniapp编写的小程序嵌入h5之间的通信6.1.1、小程序向h5发送消息6.1.2、h5向小程序…...

课程表-广度优先和图

你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 bi 。 例如&am…...

机器学习|决策树:数学原理及代码解析

机器学习|决策树:数学原理及代码解析 决策树是一种常用的监督学习算法,适用于解决分类和回归问题。在本文中,我们将深入探讨决策树的数学原理,并提供 Python 示例代码帮助读者更好地理解和实现该算法。 决策树数学原…...

1.0的星火2.0必将燎原——图文声影PPT全测试

一、前言 大家好,勇哥又来分享AI模型了,前几天讯飞发布的星火大模型2.0迅速的进入了我们圈子里,为了有更多更好的模型分享给大家,分享星火大模型2.0是必须做的,我做一个传递着,希望大家也星火相传啊。 我…...

[MySQL]主从服务器布置

配置主服务器 配置文件 /etc/my.cnf 在[mysqld]下进行配置 log_binON //启动二进制日志 log-bin mysql-bin //启用二进制日志,用于记录主服务器的更新操作 server-id 1 // 用来表示mysql服务id,保证集成环境中的唯一性 , 范围 [1,2^32) read-only0 // 1表示只…...

图像处理算法大全(基于libyuv或IPP)----NV12转成I420,RGB24,ARGB集合

《周星星教你学ffmpeg》技巧 libyuv源码: static void NV12ToI420(BYTE* pNV12_Y, BYTE* pNV12_UV, BYTE* pYV12, int width, int height) { libyuv::NV12ToI420(pNV12_Y, width, pNV12_UV, width, pYV12, width, pYV12 height*width, width / 2, pYV12 hei…...

机器人操作系统:ROS2 仿真入门

塞巴斯蒂安 一、说明 在机器人项目中,仿真是一个具有多种用途的重要方面。首先,您可以测试希望机器人执行的行为代码。其次,您可以使用仿真来测试不同类型的硬件,例如距离传感器、相机或 3D 点云传感器,看看哪种效果最…...

面试题:线程池的底层工作原理

线程池的几个重要的参数: 1、corePoolSize:线程池的核心线程数(也是默认线程数) 2、maximumPoolSize:最大线程数 3、keepAliveTime:允许的线程最大空闲时间(单位/秒) 线程池内部是…...

Excel/PowerPoint条形图改变顺序

条形图是从下往上排的,很多时候不是我们想要的效果 解决方案 选择坐标轴,双击,按下图顺序点击 效果...

【操作系统】虚拟内存相关分段分页页面置换算法

虚拟内存是什么? 【进程地址空间虚拟地址空间C/C程序地址空间就是那个4G的空间】 虚拟内存是操作系统内核为了对进程地址空间进行管理,而设计的一个逻辑意义上的内存空间概念。在程序运行过程中,虚拟内存中需要被访问的部分会被映射到物理内…...

Unrecognized Hadoop major version number: 3.0.0-cdh6.3.2

一.环境描述 spark提交job到yarn报错,业务代码比较简单,通过接口调用获取数据,将数据通过sparksql将数据写入hive中,尝试各种替换hadoop版本,最后拿下 1.hadoop环境 2.项目 pom.xml spark-submit \ --name GridCorr…...

机器学习分类,损失函数中为什么要用Log,机器学习的应用

目录 损失函数中为什么要用Log 为什么对数可以将乘法转化为加法? 机器学习(Machine Learning) 机器学习的分类 监督学习 无监督学习 强化学习 机器学习的应用 应用举例:猫狗分类 1. 现实问题抽象为数学问题 2. 数据准备…...

PySpark安装及WordCount实现(基于Ubuntu)

先盘点一下要安装哪些东西: VMwareubuntu 14.04(64位)Java环境(JDK 1.8)Hadoop 2.7.1Spark 2.4.0(Local模式)Pycharm (一)Ubuntu VMware 和 ubuntu 14.04(…...

SpringBoot 模板模式实现优惠券逻辑

一、计算逻辑的类结构图 在这张图里,顶层接口 RuleTemplate 定义了 calculate 方法,抽象模板类 AbstractRuleTemplate 将通用的模板计算逻辑在 calculate 方法中实现,同时它还定义了一个抽象方法 calculateNewPrice 作为子类的扩展点。各个具…...

并查集 rank 的优化(Java 实例代码)

目录 并查集 rank 的优化 Java 实例代码 UnionFind3.java 文件代码: 并查集 rank 的优化 上一小节介绍了并查集基于 size 的优化,但是某些场景下,也会存在某些问题,如下图所示,操作 union(4,2)。 根据上一小节&…...

TDA4超级玩家浮出水面,行泊一体功能、成本刷到极致

2023年以来,智能驾驶市场进入L2普及、高阶ADAS功能(NOA)大规模量产的新周期,降本增效,打造极致性价比、提升用户体验等,成为了竞争的焦点。 其中,替换更具性价比的硬件平台、传感器复用、系统优…...

3分钟了解Android中稳定性测试

一、什么是Monkey Monkey在英文里的含义是猴子,在测试行业的学名叫“猴子测试”,指的是没有测试经验的人甚至是根本不懂计算机的人(就像一只猴子),不需要知道程序的任何用户交互方面的知识,给他一个程序&a…...

LVS-DR+keepalived实现高可用负载群集

VRRP 通信原理: VRRP就是虚拟路由冗余协议,它的出现就是为了解决静态路由的单点故障。 VRRP是通过一种竞选的一种协议机制,来将路由交给某台VRRP路由。 VRRP用IP多播的方式(多播地址224.0.0.18)来实现高可用的通信&…...

阿里云国际版注册教程

什么是阿里云国际版? 阿里云国际版是阿里云专为海外客户供给的服务器及核算资源,涵盖了云主机、弹性裸金属服务器、容器服务、数据库及安全和监控等一系列云核算解决方案。 与其他云核算服务供给商不同,阿里云国际版在安全性、稳定性、性能方…...

基于百度文心大模型创作的实践与谈论

文心概念 百度文心大模型源于产业、服务于产业,是产业级知识增强大模型。百度通过大模型与国产深度学习框架融合发展,打造了自主创新的AI底座,大幅降低了AI开发和应用的门槛,满足真实场景中的应用需求,真正发挥大模型…...

Java基础知识题(五)

系列文章目录 Java基础知识题(一) Java基础知识题(二) Java基础知识题(三) Java基础知识题(四) Java基础知识题(五) 文章目录 系列文章目录 前言 一 Java的数据连接——JDBC 1. 简述什么是JDBC?重点 2. JDBC PreparedStatement比Statement有什么优势&…...

攻防世界-fileinclude

原题 解题思路 题目已经告诉了,flag在flag.php中,先查看网页源代码(快捷键CTRLU)。 通过抓包修改,可以把lan变量赋值flag。在cookie处修改。新打开的网页没有cookie,直接添加“Cookie: languagephp://filte…...

流媒体服务器SRS的搭建及QT下RTMP推流客户端的编写

一、前言 目前市面上有很多开源的流媒体服务器解决方案,常见的有SRS、EasyDarwin、ZLMediaKit和Monibuca。这几种的对比如下: (本图来源:https://www.ngui.cc/zz/1781086.html?actiononClick) 二、SRS的介绍 SRS&am…...

淘宝店网站论坛怎么做/seo网络营销招聘

eclipse 设置svnhelp选项,打开Install new Software,然后Addsubclipsehttp://subclipse.tigris.org/update_1.8.x (备注安装时间比较漫长,大约1个小时)http://blog.csdn.net/tfy1332/article/details/9079995导入svn的…...

做网站如何防止被抄袭/长尾关键词排名推广

数据分析可以分为广义的数据分析和狭义的数据分析,广义的数据分析就包括狭义的数据分析和数据挖掘,我们常说的数据分析就是指狭义的数据分析。 数据分析(狭义): (1)定义:简单来说&…...

深圳网站设计公司哪个/计算机培训

目录 一、导论 1 机器学习 寻找一种函数 2 如何寻找这个函数 3 学习路线 3.1 监督学习 3.2 半监督学习(Semi-Supervised learning) 3.3 迁移学习(Transfer learning) 3.3 非监督学习(Unsupervised learning) 3.4 结构化学习(Structe…...

微网站设计与制作/开发网站需要多少钱

这里的cpu个数不是指系统的cpu总个数,也不是指cpu总核心数,而是指cpu的总逻辑处理单元即超线程的个数。IO密集型程序(如数据库数据交互、文件上传下载、网络数据传输等等)设置线程数为2倍的总逻辑处理单元个数。计算密集型程序(如数据转换,递…...

关于做视频网站的一些代码/徐州seo代理计费

斐波那契数列最常见的应用是青蛙跳台阶问题。青蛙跳台阶问题是这样的,总共有九级台阶,青蛙一次可以跳1级台阶,也可以跳两级台阶。请问青蛙总共有几种跳法。这个问题其实可以拆分。假设青蛙第一次跳一级,那么还剩下8级台阶&#xf…...

佛山营销网站建设联系方式/友情链接买卖代理

PHP快速导入大量数据到数据库的方法第一种方法&#xff1a;使用insert into 插入&#xff0c;代码如下&#xff1a;$params array(‘value>50′);set_time_limit(0);echo date(“H:i:s”);for($i0;$i<2000000;$i){$connect_mysql->insert($params);};echo date(“H:i…...