以太网交换机工作原理学习笔记

2024-09-08 11:04

本文主要是介绍以太网交换机工作原理学习笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在网络中传输数据时需要遵循一些标准,以太网协议定义了数据帧在以太网上的传输标准,了解以太网协议是充分理解数据链路层通信的基础。以太网交换机是实现数据链路层通信的主要设备,了解以太网交换机的工作原理也是十分必要的。

1、以太网协议介绍

1.1以太网协议

以太网是当今现有局域网(Local Area Network, LAN)采用的最通用的通信协议标准,该标准定义了在局域网中采用的电缆类型和信号处理方法。

以太网是建立在CSMA/CD (Carrier Sense Multiple Access/Collision Detection,载波监听多路访问/冲突检测)机制上的广播型网络

1.2冲突域

冲突域是指连接在同一共享介质上的所有节点的集合,冲突域内所有节点竞争同一带宽,一个节点发出的报文(无论是单播、组播、广播),其余节点都可以收到。

在传统的以太网中,同一介质上的多个节点共享链路带宽,争用链路的使用权,这样就会发生冲突。

同一介质上的节点越多,冲突发生的概率越大。

交换机不同的接口发送和接收数据独立,各接口属于不同的冲突域,因此有效地隔离了网络中物理层冲突域,使得通过它互连的主机(或网络)之间不必再担心流量大小对于数据发送冲突的影响。

1.3广播域

广播报文所能到达的整个访问范围称为二层广播域,简称广播域,同一广播域内的主机都能收到广播报文。

在传统的以太网中,同一介质上的多个节点共享链路,一台设备发出的广播报文,所有设备均会收到。

交换机对广播报文会向所有的接口都转发,所以交换机的所有接口连接的节点属于一个广播域。

1.4以太网帧格式

以太网技术所使用的帧称为以太网帧 (Ethernet Frame),或简称以太帧。

以太帧的格式有两个标准:Ethernet_II格式和IEEE 802.3格式。

2、以太网交换机原理简介

2.1园区网典型架构

2.2以太网二层交换机

以太网二层交换机转发数据的端口都是以太网口,并且只能够针对数据的二层头部 (以太网数据帧头) 中的MAC地址进行寻址并转发数据。

2.3交换机的工作原理

2.4MAC地址表

每台交换机中都有一个MAC地址表,存放了MAC地址与交换机端口编号之间的映射关系。

2.5交换机的3种数据帧处理行为

交换机对于从传输介质进入某一端口的帧的处理行为一共有3种:

2.5.1泛洪

2.5.2转发

2.5.3丢弃

2.6交换机的MAC地址学习

(1)初始情况,交换机的MAC 地址表是空的。

(2)主机1发送数据帧给主机2。交换机GE0/0/1口接收到数据帧后,在MAC地址表中查询该帧的目的MAC地址,发现没有对应表项,则收到的数据帧是“未知单播帧”。

(3)交换机在MAC地址表中没有查到对应表项,则交换机对该单播帧执行泛洪操作。同时,交换机学习该数据帧的源MAC地址,并创建对应的MAC地址表项,与接收口GE0/0/1关联。

(4)交换机其他端口连接的主机,也会收到该数据帧,但是会丢弃。 主机2收到并处理该数据帧,向主机 1回复,将数据帧发往交换机。

(5)交换机在MAC地址表中查到了对应表项,则交换机对该单播帧执行转发操作,将数据帧从GE0/0/1口转发出去。同时,交换机学习该数据帧的源MAC地址,并创建对应的MAC地址表项,与接收口GE0/0/2关联。

2.7交换机常见问题思考与关键知识

2.7.1常见问题

(1)交换机接口down后,相应MAC地址表项如何变化?

对应接口学习到的MAC地址会在MAC地址表现中消失;

如在SW2上对G0/0/1口进行shutdown;

Shutdown之前:

Shutdown之后:

(2)同一个Vlan中,PC 从交换机A端口迁移到B端口,交换机MAC地址表项如何变化?

在SW2的角度来看,原本是从G0/0/3接口学习到PC2的MAC,当PC接到SW2的G0/0/4号接口时,不会立刻发生改变,除非MAC地址表学习到PC2的MAC地址时间老化,PC2对外进行通信,那么SW2学习到PC2的MAC接口就会发生改变,变为G0/0/4。

(3)MAC地址表的老化时间是多少?为什么需要老化时间?

对于华为的设备默认是300秒。(查看命令display mac-address aging-time)

修改MAC地址老化时间命令:mac-address aging-time XXX

一般不建议进行修改。

为什么需要老化时间?

原因是使设备能够高效的进行工作运行。如果不老化,内存空间越来越小,设备性能就会降低。

(4)如何设置“黑洞”MAC?

通过命令mac-address blackhole 5489-98EA-0A02 vlan X进行设置。

PC1就无法进入到SW2去访问PC3

(5)交换机的一个接口可以学习多个MAC地址吗?

可以的,例如SW2的G0/0/3口,既可以学习到PC1的MAC,又可以学习到PC2的MAC。

(6)交换机的MAC地址表项可以无限增加吗?

不可以,设备的内存空间有限。

display mac-address summary 当前设备可以存放32768条。

(7)交换机和集线器有什么区别?

交换机:采用存储转发原理工作,具有自动过滤和学习功能。当交换机接收到数据包时,会先将其存储在内部缓存中,然后检查数据包的MAC地址,并根据地址表将数据包转发到正确的端口。这种机制可以有效减少网络冲突,提高数据传输效率。

集线器:则采用广播原理工作。当集线器接收到数据包时,会将其广播到所有连接的端口上,无论目标设备是否在该端口上。这种机制容易导致网络冲突和性能下降,特别是在设备数量较多的情况下。

(8)交换机有NAT功能吗?

大部分是没有的,传统的交换机不具备NAT功能,但多层交换机或集成服务路由器等复合型网络设备可以支持NAT功能。不能说完全没有。

(9)所有交换机的端口都可以切换成路由口吗?

不是所有交换机的端口都可以切换成路由口。不排除一些高级交换机可以切换成路由口。

2.7.2关键知识

(1)交换机基于目标mac 转发数据。

(2)交换机的MAC地址表项需要报文触发才可以构建。

(3)交换机的MAC地址表是交换机转发数据“地图”。

(4)交换机MAC地址表中存放:mac地址和端口映射

(5)泛洪:① 未知单播泛洪  ② 广播泛洪

(6)交换机根据接收报文的源mac地址来构建自己的MAC地址表项

3、同网段数据通信全过程

场景描述:

▫ 任务:主机1想要访问主机2

▫ 主机:初始化状态

▫ 交换机:刚上电,初始化状态

当主机1去访问主机2,在建立ICMP通信之前,首先从主机1发送ARP请求,去广播请求学习,192.168.1.2的MAC在哪,当它找到192.168.1.2的位置后,通过IP地址学习MAC,接着单播返回给192.168.1.1,解析192.168.1.2的MAC是0050-5600-0002,报文信息完善之后,ICMP就建立了。

在主机1的E0/0/1接口进行抓包:

同网段数据通信的全过程相对简单,主要发生在同一局域网(LAN)内,不涉及路由器的路由决策。以下是该过程的简要描述:

(1)源主机阶段

封装数据包:源主机(如PC1)将要发送的数据封装成IP数据包,数据包中包含源IP地址、目标IP地址以及具体的数据内容。由于是同网段通信,源主机和目标主机的IP地址将位于相同的子网内。

ARP请求:源主机检查其ARP缓存,以查看是否已知目标主机(如PC2)的MAC地址。如果不知道,源主机会向本地网络发送一个ARP(地址解析协议)请求广播,询问目标IP地址对应的MAC地址。

接收ARP响应:网络中的设备(包括目标主机)会监听ARP请求。如果目标主机接收到请求,并且IP地址匹配,它会向源主机发送一个ARP响应,其中包含其MAC地址。

封装数据帧:一旦源主机获得目标主机的MAC地址,它就将IP数据包封装成以太网数据帧。数据帧的源MAC地址是源主机的MAC地址,目标MAC地址是目标主机的MAC地址。

(2)交换机转发阶段

接收数据帧:交换机接收到源主机发送的数据帧后,会读取数据帧的目标MAC地址。

查找MAC地址表:交换机在其MAC地址表中查找与目标MAC地址相匹配的条目。由于这是同网段通信,交换机通常会在其MAC地址表中找到对应的条目,该条目指定了数据帧应该被转发到的端口。

转发数据帧:交换机将数据帧转发到与目标MAC地址相关联的端口。由于目标主机和源主机位于同一网段,因此数据帧通常会直接到达目标主机,而无需经过其他网络设备。

(3)目标主机接收阶段

接收数据帧:目标主机通过其网络接口接收到数据帧。

解封装:目标主机解封装数据帧,以提取IP数据包。

处理数据:目标主机根据IP数据包中的目标IP地址确认数据包是发给自己的,然后进一步处理数据包中的数据。

整个过程主要涉及到ARP协议用于解析MAC地址,以及交换机根据MAC地址表进行数据帧的转发。由于源主机和目标主机位于同一网段,因此不需要路由器的参与,数据帧可以直接在局域网内传输。

4、跨网段数据通信全过程

场景描述:

▫ 任务:主机1想要访问主机2

▫ 主机:初始化状态

▫ 交换机:刚上电,初始化状态

(1)源主机阶段

封装数据包:源主机(如PC1)将要发送的数据封装成数据包,数据包中包含源IP地址、目标IP地址以及具体的数据内容。

判断网段:源主机通过比较本地IP地址、子网掩码和目标IP地址,判断目标主机(如PC2)是否在同一网段内。如果不在同一网段,则需要进行跨网段通信。

发送数据:源主机将数据包封装成数据帧,其中目的MAC地址设置为网关(通常是路由器的一个接口)的MAC地址,然后通过物理介质(如以太网)发送给交换机。

(2)交换机转发阶段

接收与转发:交换机接收到数据帧后,根据目的MAC地址查找MAC地址表,确定数据帧的转发端口。由于目的MAC地址是网关的MAC地址,交换机将数据帧转发给网关(路由器)。

(3)路由器转发阶段

解封装与解析:路由器接收到数据帧后,首先解封装得到IP数据包。然后,路由器解析IP数据包中的目标IP地址,查找路由表以确定下一跳地址。

重新封装与转发:路由器根据路由表中的下一跳地址,通过ARP协议获取下一跳设备的MAC地址。然后,路由器将IP数据包重新封装成新的数据帧,其中源MAC地址是路由器自身的MAC地址,目标MAC地址是下一跳设备的MAC地址。之后,路由器将新封装的数据帧发送给下一跳设备。

(4)多次转发(可能)

如果目标主机与源主机之间相隔多个网段,数据包可能需要经过多个路由器的转发。在每个路由器上,都会重复上述的解封装、解析、重新封装和转发的过程,直到数据包到达目标网段的网关。

(5)目标网段网关转发阶段

解封装与识别:目标网段的网关(可能也是路由器)接收到数据包后,解封装得到IP数据包,并识别出目标IP地址属于本网段内的某台主机(如PC2)。

ARP请求(可选):如果网关没有目标主机(PC2)的MAC地址,可能会发送ARP请求到本网段内,以获取目标主机的MAC地址。

封装与发送:网关获取到目标主机的MAC地址后,将IP数据包封装成数据帧,其中目的MAC地址为目标主机的MAC地址,然后通过物理介质发送给目标主机。

(6)目标主机接收阶段

接收与处理:目标主机接收到数据帧后,解封装得到IP数据包。然后,目标主机根据IP数据包中的目标IP地址判断是否是自己的数据包。如果是,则进一步处理数据包中的数据;如果不是,则可能将数据包丢弃或转发给同一网段内的其他主机。

通过以上步骤,跨网段数据通信得以实现,使得不同网段内的设备能够相互通信。

这篇关于以太网交换机工作原理学习笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1147930

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

hdu4407(容斥原理)

题意:给一串数字1,2,......n,两个操作:1、修改第k个数字,2、查询区间[l,r]中与n互质的数之和。 解题思路:咱一看,像线段树,但是如果用线段树做,那么每个区间一定要记录所有的素因子,这样会超内存。然后我就做不来了。后来看了题解,原来是用容斥原理来做的。还记得这道题目吗?求区间[1,r]中与p互质的数的个数,如果不会的话就先去做那题吧。现在这题是求区间[l,r]中与n互质的数的和

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识