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

一、网络设备的演变

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何在iPhone设备中查看崩溃日志

​ 目录 如何在iPhone设备中查看崩溃日志 摘要 引言 导致iPhone设备崩溃的主要原因是什么? 使用克魔助手查看iPhone设备中的崩溃日志 奔溃日志分析 总结 摘要 本文介绍了如何在iPhone设备中查看崩溃日志,以便调查崩溃的原因。我们将展示三种不同的…

QQ邮件发送(PHP的Laravel)

1. 开启 QQ 邮箱的 SMTP 支持 2.里面会一个类似于密码之类(复制一下) 3.然后再 .env文件里面配置一下 MAIL_DRIVERsmtp —— 使用支持 ESMTP 的 SMTP 服务器发送邮件; MAIL_HOSTsmtp.qq.com —— QQ 邮箱的 SMTP 服务器地址,必…

欢迎提交pr共同改进项目, pr的含义?

"提交PR"在软件开发和编程领域是一个常用术语,特别是在使用版本控制系统如Git时。这里的“PR”指的是“Pull Request”,它是一种通知项目维护人员您已经完成了一些代码改动并希望将这些改动合并到主项目中的方式。简单来说,当您对一…

《3D数学基础-图形和游戏开发》阅读笔记 | 3D数学基础 (学习中)

文章目录 3D数学基础矢量/向量概述 - 什么是向量单位矢量:只关注方向不关注大小 数学运算矢量的加法与减法减法的几何意义计算一个点到另一个点的位移矢量的点积与叉积 矩阵矩阵的几何意义 3D数学基础 矢量/向量 在笔记中 变量使用小写字母表示,a由于…

内存管理机制

内存管理机制与内存映射相关。 一、C与C 之所以将C与C放在一起是因为C是C的超集; 但是C是面向过程语言,C是面向对象的语言; C与C都可以使用malloc、calloc、realloc来申请内存空间; 其中void* malloc(size_t size)是在内存的动态…

【 C语言 】| C程序百例 - 绘制余弦曲线

【 C语言 】| C程序百例 - 绘制余弦曲线 时间:2023年12月29日12:56:29 文章目录 【 C语言 】| C程序百例 - 绘制余弦曲线1.要求2.问题分析与算法设计3.程序3-1.源码3-2.makefile 4.运行 1.要求 在屏幕上用"*"显示0~360的余弦曲线cos(x)曲线。 2.问题分析与…

【python】—— 列表和元组详解

Python是一种强大的编程语言,它提供了许多内置的数据结构,用于存储和处理数据。其中,列表和元组是两种常用的数据类型。这篇文章将介绍这两种数据结构的定义、用途、用法以及它们的异同点。 目录 (一)理解列表和元组 …

Neuro Contamination - Cyberpunk Gaming Music Futuristic Glitchy Sci-fi

无论是展示赛博朋克未来的电影场景,还是介绍高科技武器,你的音乐选择都至关重要。这首曲子的灵感来自科幻小说,旨在让你的观众想象未来的感觉。 潜在用例:科幻游戏、赛博朋克游戏、电影预告片、动作场景和产品广告。 非常适合充…

Simple Facebook Sign-In

简单的Facebook登录为Android、iOS、Windows、Mac、通用Windows平台(UWP)和Unity制作的WebGL应用程序提供了基于OAuth 2.0的Facebook登录。 优点: ● 跨平台游戏和应用程序的跨平台用户身份验证 ● 无插件,无第三方库,无依赖● 对建筑规模没有影响 ● 客户端-服务器应…

[Flutter]WindowsOS中相关配置

Flutter项目在Windows平台上如何配置 目录 Flutter项目在Windows平台上如何配置 写在开头 正文 1、OS准备 2、编译环境准备 ① 下载AndroidStudio ② 下载dart ③ 下载flutter ④ 下载并安装VS ⑤ 在AS中配置dart和flutter 3、配置中遇到的问题 写在结尾 写在开头…

开发辅助三(缓存Redisson分布式锁+分页插件)

缓存 缓存穿透:查询一个不存在的数据,由于缓存不命中,将大量查询数据库,但是数据库也没有此记录。 没有将这次查询的null写入缓存,导致了这个不存在的数据每次请求都要到存储层查询,失去了缓存的意义。 解…

地平面--高速布线

https://baijiahao.baidu.com/s?id1764139038516816855&wfrspider&forpc 概念 回顾传输线,由任意两条有一定长度的导线组成,一条为信号路径,一条为返回路径。基本电路理论告诉我们,信号是由电流传播的,明确的…

.NET国产化改造探索(一)、VMware安装银河麒麟

随着时代的发展以及近年来信创工作和…废话就不多说了,这个系列就是为.NET遇到国产化需求的一个闭坑系列。接下来,看操作。 安装银河麒麟 麒麟系统分银河麒麟和中标麒麟,我选择的是银河麒麟服务器版的,关于如何下载,…

大数据StarRocks(一) StarRocks概述

1 StarRocks介绍 StarRocks是新一代极速全场景MPP(Massively Parallel Processing)数据库,它充分吸收关系型OLAP数据库和分布式存储系统在大数据时代的优秀研究成果,在业界实践的基础上,进一步改进优化、升级架构,并增添了众多全…

即插即用篇 | YOLOv8 Gradio 前端展示页面 | 支持 【分类】【检测】【分割】【关键点】 任务

分类任务效果 分割任务效果 检测任务效果 关键点任务效果 使用方法 Gradio 是一个开源库,旨在为机器学习模型提供快速且易于使用的网页界面。它允许开发者和研究人员轻松地为他们的模型创建交互式的演示,使得无论技术背景如何的人都可以方便地试用和理解这些模型。使用Gradi…

el-radio-button自适应充满盒子的写法

业务场景&#xff1a;当盒子较宽时&#xff0c;希望 el-radio-button 自适应充满盒子。 el-radio-button 自适应充满盒子的写法 <el-form :inline"true" :model"searchForm"><el-form-item style"display: flex; align-items: center;"…

Qt:自定义一个好看的等待提示Ui控件

一、2024 永不卡顿 爱的魔力它转圈圈~ 等待样式控件是我们在做UI时出场率还挺高的控件之一&#xff0c;通常情况下有如下的几种实现方式&#xff1a; 1> 获取一张gif的资源图&#xff0c;然后使用QMovie 在一个QLabel 控件上加载显示gif的waiting等待动态。 2> 自定义绘图…

怎么快速修复mfc140.dll文件?解决mfc140.dll缺失的方法

面对计算机报告的 ​mfc140.dll​ 文件遗失错误&#xff0c;这通常表明系统中缺少一个关键的动态链接库文件&#xff0c;该文件对于运行以 Microsoft Foundation Class (MFC) 库编写的程序十分重要&#xff0c;尤其是那些需要图形界面的应用程序和一些游戏。若没有这个文件&…

【数字图像处理技术与应用】2023-2024上图像处理期中-云南农业大学

一、填空题&#xff08;每空2 分&#xff0c;共 30 分&#xff09; 1、图像就是3D 场景在 二维 平面上的影像&#xff0c;根据其存储方式和表现形式&#xff0c;可以将图像分为 模拟 图像和数字图像两大类&#xff1b; 2、在用计算机对数字图像处理中&#xff0c;常用一个 二…

【userfaultfd 条件竞争】starCTF2019 - hackme

前言 呜呜呜&#xff0c;这题不难&#xff0c;但是差不多一个多月没碰我的女朋友 kernel pwn 了&#xff0c;对我的 root 宝宝也是非常想念&#xff0c;可惜这题没有找到我的 root 宝宝&#xff0c;就偷了她的 flag。 哎有点生疏了&#xff0c;这题没看出来堆溢出&#xff0c…