计算机网络-以太网交换基础

news2024/11/19 18:23:51

一、网络设备的演变

最初的网络在两台设备间使用传输介质如网线等进行连接就可以进行通信。但是随着数据的传输需求,多个设备需要进行数据通信时就需要另外的设备进行网络互联,并且随着网络传输的需求不断更新升级。从一开始的两台设备互联到企业部门内部共享再到企业内部局域网,最后实现Internet国际互联。

1、Hub集线器

Hub设备是一种网络连接设备,用于将多个计算机或其他设备连接在一起。它提供了一个中心集线器,以便将所有连接的设备集中在一起并统一管理。Hub设备的功能包括扩大网络的传输距离、将多个节点集中在一起以及提供信号放大和中转的功能。通过使用Hub设备,用户可以将多个计算机或其他设备连接在一起,形成一个网络,以便共享资源、实现信息交换和协同工作。Hub是一个物理层设备,它工作在OSI模型中的第一层,即物理层

2、网桥设备

网桥的作用是连接不同网段,提高带宽和分割冲突域。它可以用来将一个大的局域网分割为多个小的网段,或将两个以上的局域网互联为一个逻辑局域网,使局域网上的所有用户都可访问服务器。

网桥的工作原理是基于数据链路层进行帧的转发。它根据MAC地址分区块,可隔离碰撞。当网桥接收到一个帧时,它会根据帧的目的MAC地址进行查找和转发。如果目的MAC地址与网桥的某个端口匹配,则将帧转发到相应的端口;否则将帧广播到所有端口

3、二层交换机

二层交换机是指工作在OSI模型的第2层(数据链路层)的交换机,它可以识别数据帧中的MAC地址信息,并根据MAC地址进行转发。二层交换机采用硬件转发技术,可以在高速传输线路上实现线速交换,具有很高的数据吞吐能力。二层交换机(一般不能配置多于2个ip,console无):都属于一个广播域,每个接口独立冲突域。交换机端口数量较丰富,常见有8口、16口、24口、48口规格,性能也较hub和网桥大大提升。

交换机主要通过MAC地址表和ARP表进行转发工作,支持划分VLAN进行隔离广播域。

4、路由器 路由器是一种网络设备,工作在网络层,负责在网络间进行数据转发。它是连接不同网络的关键设备,能够在网络层将发送方传输的数据包根据路由表中的信息,正确地转发到接收方所在的网段。

路由器的主要功能包括路由寻址、路由选择、数据传输和差错控制等。具体来说,它可以根据当前网络的状态和环境因素来选择最佳路径,通过寻径的方式确定数据转发的最佳路径。路由器的每个接口都是单独广播域和冲突域,可以单独配置IP地址。

路由器通过路由表和转发表进行转发。

5、三层交换机L3-SW

三层交换机就是具有部分路由器功能的交换机,工作在OSI网络标准模型的第三层:网络层。三层交换机的最重要目的是加快大型局域网内部的数据交换,所具有的路由功能也是为这目的服务的,能够做到一次路由,多次转发。对于数据包转发等规律性的过程由硬件高速实现,而像路由信息更新、路由表维护、路由计算、路由确定等功能,由软件实现。简单来说就是支持部分路由功能加上二层交换机多端口的优点,一般用于中小企业核心设备。

简单讲就是从两台设备间连接到多设备的互联,以及带宽速率的不断升级,最终实现国际互联。

二、以太网协议与工作原理

2.1 冲突域

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

冲突域
冲突域

2.2 广播域

广播报文所能到达的整个访问范围称为二层广播域,简称广播域,同一广播域内的主机都能收到广播报文。全1MAC地址FF-FF-FF-FF-FF-FF为广播地址,所有节点都会处理目的地址为广播地址的数据帧,该数据帧所能到达的整个访问范围称为二层广播域,简称广播域。

广播域
广播域

2.3 CSMA/CD

交换机设备工作在二层以太网,需要遵循一定的协议进行传输。以太网是建立在CSMA/CD (Carrier Sense Multiple Access/Collision Detection,载波监听多路访问/冲突检测)机制上的广播型网络。

CSMA/CD是一种媒体访问控制方法,用于解决网络中多个节点同时发送数据时可能发生的冲突。CSMA/CD全称为Carrier Sense Multiple Access with Collision Detection,其中CS表示载波侦听,MA表示多址访问,CD表示冲突检测。

在CSMA/CD协议中,所有节点在发送数据前都会先侦听信道是否空闲。如果信道空闲,节点会发送数据;如果信道忙碌,节点则会等待一段时间后再次侦听。当两个或更多的节点同时发送数据时,会导致信号发生碰撞。当发生碰撞时,节点会检测到冲突并停止发送数据。

2.4 以太网数据帧

以太网属于数据链路层,传输数据帧。以太网技术所使用的帧称为以太网帧 (Ethernet Frame),或简称以太帧。以太帧的格式有两个标准:Ethernet_II格式和IEEE 802.3格式。

以太网数据帧 Ethernet II 的type字段标识上层协议 ARP(0x0806) IPV4(0x0800)

主要通过源MAC和目的MAC进行识别别传输。

2.5 MAC地址

MAC (Medium Access Control)地址在网络中唯一标识一个网卡,每个网卡都需要并拥有有唯一的一个MAC地址。正常情况下一块网卡的MAC地址是具有全球唯一性的。

MAC地址格式:MAC地址由48比特(6个字节)长,12位的16进制数字组成。

MAC地址格式
MAC地址格式

MAC地址构成及分类:

MAC
MAC

单播帧在知道具体源目MAC地址时直接转发。 单播帧

广播帧用于在不知道具体MAC地址时交换机泛洪发送。 广播帧

用于组播泛洪。 组播帧

三、交换机工作原理

现在大部分都是已经使用交换机进行网络互联,Hub和网桥已经比较少了,因此主要学习交换机的工作与使用即可。

3.1 交换机工作原理:

  • 在第一次通信时,发送端发送数据帧,携带源IP、源MAC、目的IP,目的MAC,然后交换机内部维护一个MAC地址表,将源MAC和入接口进行记录。
  • 查询自身MAC地址表,是否有匹配目的MAC地址的表项,有则转发到对应端口,没有则进行泛洪,除了入接口外的所有接口进行泛洪转发。
  • 目的主机接收到泛洪广播帧,回复交换机自身MAC,交换机将源MAC也记录到MAC地址表中。
  • 将发送端数据帧通过该端口转发,自此两端MAC地址与接口映射关系都存在MAC地址表中,直接从对应端口进行单播帧转发即可。
数据帧转发
数据帧转发
MAC地址表
MAC地址表

3.2 交换机报文处理方式

交换机会通过传输介质进入其端口的每一个帧都进行转发操作,交换机的基本作用就是用来转发数据帧。

交换机对帧的处理行为一共有三种:泛洪(Flooding),转发(Forwarding),丢弃(Discarding)。

  • 泛洪:交换机把从某一端口进来的帧通过所有其它的端口转发出去(注意,“所有其它的端口”是指除了这个帧进入交换机的那个端口以外的所有端口)。
  • 转发:交换机把从某一端口进来的帧通过另一个端口转发出去(注意,“另一个端口”不能是这个帧进入交换机的那个端口)。
  • 丢弃:交换机把从某一端口进来的帧直接丢弃。
交换机报文处理方式
交换机报文处理方式

如果交换机接收到单播帧,查找mac地址表但是mac地址表没有表项就进行泛洪。

如果交换机接收到广播帧直接进行泛洪。

因为交换机学习源mac地址,不可能学习到广播mac地址表项,交换机mac地址表记录是单播的。

如果手动数据帧接收端口和回复端口是相同则丢弃数据帧。默认华为交换机mac老化时间300秒。

3.3 同网段数据通信过程:

  1. 主机发送数据帧,包含源IP和MAC以及目的IP
  2. 把自己IP地址和将要访问IP地址进行逻辑与运算!判断我们是否属于相同网段?如果网络号一致,说明处于相同网段,直接转发,不需要经过网关;如果网络号不同,说明不是相同网段,不能直接转发,需要经过网关;
  3. 交换机接收到,mac表没有对应记录,从接收端口以外端口泛洪,同时记录源mac和端口
  4. 目的主机接收到数据帧,发送源和目的IP、MAC,交换机查找mac表项通过指定端口转发,同时记录回复报文的源mac和接口
  5. 下一次双方直接单播数据帧通信,交换机依据表项转发。

修改mac表老化时间:

# 查询老化时间
dis mac-address aging-time
# 修改
mac-address aging-time 300

总结:

网络设备从Hub集线器到交换机的发展是不断提高速率和传输效率的过程。现在大部分使用交换机进行终端接入,使用路由器进行路由寻址。交换机工作在数据链路层,通过数据帧进行数据传输,通过维护MAC地址表进行数据转发,有三种处理方式:转发、泛洪、丢弃。有三种数据帧类型:单播帧、广播帧、组播帧。简单了解了交换机工作原理,根据MAC地址表进行转发、泛洪或者丢弃动作。

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1351624.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【OpenCV】在MacOS上源码编译OpenCV

在MacOS上源码编译OpenCV 1. 下载项目源码2. 创建CMake编译文件3. 编译安装4. 案例测试5. 总结 前言 在做视觉任务时,我们经常会用到开源视觉库OpenCV,OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件…

Spring技术内幕笔记之IOC的实现

IOC容器的实现 依赖反转: 依赖对象的获得被反转了,于是依赖反转更名为:依赖注入。许多应用都是由两个或者多个类通过彼此的合作来实现业务逻辑的,这使得每个对象都需要与其合作的对象的引用,如果这个获取过程需要自身…

Java学习苦旅(十六)——List

本篇博客将详细讲解Java中的List。 文章目录 预备知识——初识泛型泛型的引入泛型小结 预备知识——包装类基本数据类型和包装类直接对应关系装包与拆包 ArrayList简介ArrayList使用ArrayList的构造ArrayList常见操作ArrayList遍历 结尾 预备知识——初识泛型 泛型的引入 我…

WebStorm 创建一个Vue项目(1)

一、下载并安装WebStorm 步骤一 步骤二 选择激活方式 激活码: I2A0QUY8VU-eyJsaWNlbnNlSWQiOiJJMkEwUVVZOFZVIiwibGljZW5zZWVOYW1lIjoiVU5JVkVSU0lEQURFIEVTVEFEVUFMIERFIENBTVBJTkFTIiwiYXNzaWduZWVOYW1lIjoiVGFvYmFv77yaSkVU5YWo5a625qG25rAIOa0uW3peS9nOWup…

json解析本地数据,使用JSONObject和JsonUtility两种方法。

json解析丨网址、数据、其他信息 文章目录 json解析丨网址、数据、其他信息介绍一、文中使用了两种方法作为配置二、第一种准备2.代码块 二、第二种总结 介绍 本文可直接解析本地json信息的功能示例,使用JSONObject和JsonUtility两种方法。 一、文中使用了两种方法…

R语言——R函数、选项参数、数学统计函数(六)

目录 一、R函数 二、选项参数 三、数学统计函数 四、参考 一、R函数 1.lm() lm()是R语言中经常用到的函数&#xff0c;用来拟合回归模型。它是拟合线性模型最基本的函数 lm()格式如下&#xff1a; fit<-lm(formula,data) 其中&#xff0c;formula指要拟合的模型形式…

【QT 自研上位机 与 ESP32下位机联调>>>串口控制GPIO-基础样例-联合文章】

【QT 自研上位机 与 ESP32下位机联调&#xff1e;&#xff1e;&#xff1e;串口控制GPIO-基础样例-联合文章】 1、概述2、实验环境3、 自我总结4、 实验过程1、验证上位机QT程序1、下载样例代码2、修改qt程序3、运行测试验证 2、验证下位机ESP32程序1、下载样例代码2、更改ESP3…

Ubuntu18 安装chatglm2-6b

记了下Ubuntu18 上安装chatglm2-6遇到的问题。 环境&#xff1a;Ubuntu18.04 V100(显卡) nvcc 11.6 显卡驱动cudacudnnaniconda chatglm6b 的安装 网上有很多&#xff0c; 不记录 了。 chatglm2-6b 我从别的地方拷贝的&#xff0c; 模型也包含了。 遇到的问题&#xf…

【MMC子系统】三、MMC子系统框架

我的圈子&#xff1a; 高级工程师聚集地 我是董哥&#xff0c;高级嵌入式软件开发工程师&#xff0c;从事嵌入式Linux驱动开发和系统开发&#xff0c;曾就职于世界500强企业&#xff01; 创作理念&#xff1a;专注分享高质量嵌入式文章&#xff0c;让大家读有所得&#xff01; …

【SpringBoot开发】之商城项目案例(购物车相关操作)

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是君易--鑨&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的博客专栏《SpringBoot开发之商城项目系列》。&#x1f3af…

GZ075 云计算应用赛题第4套

2023年全国职业院校技能大赛&#xff08;高职组&#xff09; “云计算应用”赛项赛卷4 某企业根据自身业务需求&#xff0c;实施数字化转型&#xff0c;规划和建设数字化平台&#xff0c;平台聚焦“DevOps开发运维一体化”和“数据驱动产品开发”&#xff0c;拟采用开源OpenSt…

Pytorch上采样

文章目录 Upsample特殊上采样 Upsample 所谓上采样&#xff0c;实则是一个插值过程。所以上采样对象在初始化时&#xff0c;需要指定一个插值类型&#xff0c;Upsample是torch.nn中最基础的上采样类&#xff0c;初始化参数如下 Upsample(sizeNone, scale_factorNone, modenea…

计算机组成原理 主存和CPU连接与主存提速方案

文章目录 主存与CPU的连接译码器线选法译码片选法总结 位拓展字拓展字位同时拓展 主存提速方案存储周期双端口RAM多模块存储器单体多字存储器多模块多体并行存储器存储器高位交叉编址低位交叉编址 主存与CPU的连接 #mermaid-svg-3wv6WzRP2BvKEHQZ {font-family:"trebuchet…

GZ075 云计算应用赛题第1套

2023年全国职业院校技能大赛(高职组) “云计算应用”赛项赛卷1 某企业根据自身业务需求,实施数字化转型,规划和建设数字化平台,平台聚焦“DevOps开发运维一体化”和“数据驱动产品开发”,拟采用开源OpenStack搭建企业内部私有云平台,开源Kubernetes搭建云原生服务平台,…

HTML5 和 CSS3 新特性(常用)

HTML5 的新特性 HTML5 的新增特性主要是针对于以前的不足&#xff0c;增加了一些新的标签、新的表单和新的表单属性等。 这些新特性都有兼容性问题&#xff0c;基本是 IE9 以上版本的浏览器才支持&#xff0c;如果不考虑兼容性问题&#xff0c;可以大量使用这 些新特性。 HTML…

Linux CPU 数据 Metrics 指标解读

过去从未仔细了解过使用 top 和 htop 等命令时显式的CPU信息&#xff0c;本文我们详解解读和标注一下各个数据项的含义&#xff0c;同时和 Ganglia 显式的数据做一个映射。开始前介绍一个小知识&#xff0c;很多查看CPU的命令行工具都是 cat /proc/stat 里的数据&#xff0c;所…

Element-ui自定义input框非空校验

1、vue自定义非空指令&#xff1a; main.js中自定义非空指令 当input框或下拉框中数据更新时&#xff0c;触发校验 Vue.directive(isEmpty,{update:function(el,binding,vnode){if(vnode.componentInstance.value""){el.classList.add("is-required");}e…

使用echarts的bmap配置项绘制区域轮廓遮罩

示例图 代码 <template><div id"map" style"width: 100%; height: 100vh"></div> </template><script> import * as echarts from "echarts"; import "echarts/extension/bmap/bmap"; export default…

软件测试/测试开发丨Pytest结合数据驱动

安装yaml pip install pyyaml pytest结合数据驱动yaml 工程目录结构 数据准备 读取excel文件 openpyxl库的安装 openpyxl库的操作 pytest结合csv实现数据驱动 csv文件介绍 pytest结合json实现数据驱动 最后感谢每一个认真阅读我文章的人&#xff0c;礼尚往来总是要有的&…

Halcon底帽运算bottom_hat

Halcon底帽运算 底帽运算的原理是用原始的二值图像减去闭运算的图像。闭运算的目的是对某些局部区域进行“填补”&#xff0c;如填空洞、使分离的边缘相连接等。而底帽运算正是用来提取这些用于填补的区域的。图&#xff08;a&#xff09;为从二值图像中提取出的亮的区域&…