HCIA-Access V2.5_2_3_网络通信基础_以太网概述

news2024/12/14 14:30:10

什么是以太网

 以太网是由IEEE定义的局域网技术,也是目前应用最普遍的技术,早期的令牌环网,FDDI等局域网技术都被它取代了,以太网主要分为两类,共享型以太网和交换型以太网。共享式以太网主要采用总线型的拓扑结构,如图,提供10M转发速率,HUB设备就是采用这种总线型的架构,在快速以太网出来之后,为了减少冲突,提高转发速率,开始采用交换机进行组网,拓扑也变成了星型架构,如右图,所以10M以后的以太网标准都是采用新型的拓扑架构。接下来分别看一下两种以太网的工作原理。

共享工以太网

也是是Hub设备的工作原理, 对于Hub设备来说,它从任何端口收到的数据都会泛洪出去,如图,主机不管它发送的是一个单播帧还是广播帧,它都会除原端口以外的所有端口进行广播,发送给主机2,主机3,主机4,那么这个就是Hub的一个工作原理,Hub设备是一种总线型的架构,也就是说相当于内部只有一个出口,它的内部如图,就中间只有一根总线一个出口,一旦两个端口同时发包,由于只有一根线,这个时候就会产生冲突,所以为了避免冲突,提出了CSMA/CD的概念,

共享式以太网工作原理-CSMA/CD

它的工作原理就是在发包之前先会对链路进行侦听, 看是否空闲,如果是空闲的才会发送数据,这样的话,就可以避免冲突,但是这个时候也有一个问题,假设两个用户都检测到链路空闲时发包,那么该检测机制会时刻去监测,边发送边监测,只发发生冲突立刻停止发送,而且等等一个随机的时延,只有等随机时延过了之后,再继续检测链路空闲情况再发包。

交换式以太网

交换式以太网主要利用交换机进行组网,图中说的网桥,其实是差不多的概念,交换机就是一个多端口的网桥,对于交换机而言,它所有的端口是可以在同一时刻发送数据的,不会有任何干扰,那么它的工作机制可以用两句话来说明,基于源MAC地址进行学习,基于目的MAC地址进行转发,那么这个是什么样的一个概念,首先看一个MAC地址表,MAC地址表记录的是什么内容,主要记录的就是MAC地址和端口的对应关系,如图,MAC A 把在的端口是端口1,MAC B把在的端口也是在端口1,MAC C 和MAC D 它是在端口2下,这个就是MAC地址表。

交换机主要通过学习源MAC地址建立这样的一个MAC地址表项,再发包的时候就会通过查表,向对应的端口进行转发。交换机MAC地址学习的一个过程。

交换机以太网-基于源地址学习

如图主机A和主机B, 通过共享型的网络连接到交换机的端口1,而主机C和主机D通过共享型的网络连接到端口2。假设主机A想要跟主机D进行通信,但是一开始的话,主机A是不知道主机D的MAC地址的,主机A会发起一个ARP广播去询问主机D的MAC地址,它发包的时候我们可以看一下它的源MAC地址,主机A发包的时候,源MAC就是MAC A,目的MAC就是一个全F的广播帧,当这样的一个报文到达交换机之后,它就会MAC A的地址记录下来,同是也会把它所在的端口给记录下来,那么这个过程就叫做基于源MAC地址进行学习。

交换式以太网-基于目的地址转发

只要目的MAC地址,在地址表中,就可以直接按照MAC表进行转发,如图交换机收到一个MAC为D的报文就会去查MAC地址表,看一下MAC地址有没有在我的MAC地址表中,结果发现MAC确实在我的表项里面,而且它对应的用户的端口是端口2,所以交换机直接把这个报文转发到端口2下面去。

共享式以太网VS交换式以太网

首先是拓扑结构,共享式以太网,它的拓扑结构可以是总线型,也可以是星型,而交换式以太网综的拓扑结构是星型的工作模式,共享型的以太网,它是半双工模式,交换式的以太网是全双工模式,全双又工模式的话就意味着所有端口它其实是可以双向进行通信的,可以在同一时刻发送数据,另外工作在共享式以太网的设备,一般就是集线器和中继器,工作在交换式以太网的设备是网桥,那么Hub和中继器是工作在物理层的,网桥还有交换机是工作在数据链路层,那么涉及到技术,就是在共享型以太网中,为了避免冲突,提出了CSMA/CD的一个概念,那么这个就是共享式以太网和交换式以太网的区别。

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

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

相关文章

Maven学习(Maven项目模块化。模块间“继承“机制。父(工程),子项目(模块)间聚合)

目录 一、Maven项目模块化? (1)基本介绍。 (2)汽车模块化生产再聚合组装。 (3)Maven项目模块化图解。 1、maven_parent。 2、maven_pojo。 3、maven_dao。 4、maven_service。 5、maven_web。 6…

Leecode刷题C语言之K次乘法运算后的最终数组①

执行结果:通过 执行用时和内存消耗如下: 代码如下: int* getFinalState(int* nums, int numsSize, int k, int multiplier, int* returnSize) {int *ret (int *)malloc(sizeof(int) * numsSize);memcpy(ret, nums, sizeof(int) * numsSize);while (k…

Source Insight 4.0的安装

一、安装与破解 1、下载Source Insight 4.0安装包 https://pan.baidu.com/s/1t0u1RM19am0lyzhlNTqK9Q?pwdnvmk 2、下载程序破解补丁包 https://pan.baidu.com/s/1irvH-Kfwjf4zCCtWJByqJQ 其中包含文件si4.pediy.lic 和 sourceinsight4.exe。 3、安装下载的Source Insight …

UNIX数据恢复—UNIX系统常见故障问题和数据恢复方案

UNIX系统常见故障表现: 1、存储结构出错; 2、数据删除; 3、文件系统格式化; 4、其他原因数据丢失。 UNIX系统常见故障解决方案: 1、检测UNIX系统故障涉及的设备是否存在硬件故障,如果存在硬件故障&#xf…

重生之我在异世界学编程之C语言:深入文件操作篇(上)

大家好,这里是小编的博客频道 小编的博客:就爱学编程 很高兴在CSDN这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!! 函数递归与迭代 引言正文一、为什么要用文件二、文…

内网是如何访问到互联网的(华为源NAT)

私网地址如何能够访问到公网的? 在上一篇中,我们用任意一个内网的终端都能访问到百度的服务器,但是这是我们在互联网设备上面做了回程路由才实现的,在实际中,之前也说过运营商是不会写任何路由过来的,那对于…

VSCode 报错:rust-analyzer requires glibc >= 2.28 in latest build

报错信息 /home/jake/.vscode-server-insiders/extensions/matklad.rust-analyzer-0.3.953/server/rust-analyzer: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.29 not found (required by /home/jake/.vscode-server-insiders/extensions/matklad.rust-analyzer-0.3.9…

软考:工作后再考的性价比分析

引言 在当今的就业市场中,软考(软件设计师、系统分析师等资格考试)是否值得在校学生花费时间和精力去准备?本文将从多个角度深入分析软考在不同阶段的性价比,帮助大家做出明智的选择。 一、软考的价值与局限性 1.1 …

Hadoop一课一得

Hadoop作为大数据时代的奠基技术之一,自问世以来就深刻改变了海量数据存储与处理的方式。本文将带您深入了解Hadoop,从其起源、核心架构、关键组件,到典型应用场景,并结合代码示例和图示,帮助您更好地掌握Hadoop的实战…

HTML综合

一.HTML的初始结构 <!DOCTYPE html> <html lang"en"><head><!-- 设置文本字符 --><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><!-- 设置网页…

c#笔记2024

Ctrl r e自动添加get和set CompositeCurve3d 复合曲线 List<Entity> entS listline.Cast<Entity>().ToList();//list类型强转 前面拼上\u0003&#xff0c;就可以实现&#xff0c;不管有没有命令都能打断当前命令的效果 取消其他命令&#xff1a;Z.doc.SendStri…

debian12学习笔记

前置条件 基于debian12官网的qcow2格式文件进行操作 安装ssh 登录虚拟机后安装ssh服务端 apt install openssh-server配置国内源 新增/etc/apt/sources.list.d/tsinghua.list 使用清华大学的源 https://www.cnblogs.com/shanhubei/p/18104430 deb https://mirrors.tuna.t…

supervision - 好用的计算机视觉 AI 工具库

Supervision库是一款出色的Python计算机视觉低代码工具&#xff0c;其设计初衷在于为用户提供一个便捷且高效的接口&#xff0c;用以处理数据集以及直观地展示检测结果。简化了对象检测、分类、标注、跟踪等计算机视觉的开发流程。开发者仅需加载数据集和模型&#xff0c;就能轻…

QT图形/视图架构详解(一)

场景、视图与图形项 图形/视图架构主要由 3 个部分组成&#xff0c;即场景、视图和图形项&#xff0c;三者的关系如图所示&#xff1a; 场景、视图和图形项的关系 场景&#xff08;QGraphicsScene 类&#xff09; 场景不是界面组件&#xff0c;它是不可见的。场景是一个抽象的…

RANS(Reynolds-Averaged Navier-Stokes) 湍流模型类型

RANS&#xff08;Reynolds-Averaged Navier-Stokes&#xff09; 湍流模型有多种不同的类型&#xff0c;除了标准的 kkk-ω 湍流模型&#xff0c;还有其他一些常用的湍流模型。RANS 模型的核心思想是对 Navier-Stokes 方程进行 雷诺平均&#xff0c;通过将流动场的瞬时变量分解为…

ORACLE逗号分隔的字符串字段,关联表查询

使用场景如下&#xff1a; oracle12 以前的写法&#xff1a; selectt.pro_ids,wm_concat(t1.name) pro_names from info t,product t1 where instr(,||t.pro_ids|| ,,,|| t1.id|| ,) > 0 group by pro_ids oracle12 以后的写法&#xff1a; selectt.pro_ids,listagg(DIS…

使用 GD32F470ZGT6,手写 I2C 的实现

我的代码&#xff1a;https://gitee.com/a1422749310/gd32_-official_-code I2C 具体代码位置&#xff1a;https://gitee.com/a1422749310/gd32_-official_-code/blob/master/Hardware/i2c/i2c.c 黑马 - I2C原理 官方 - IIC 协议介绍 个人学习过程中的理解&#xff0c;有错误&…

【Unity踩坑】Unity生成iOS的XCode项目时提示错误:xcrun: error: SDK “iphoneos“ cannot be located

问题描述&#xff1a; Unity生成iOS的Xcode项目时&#xff0c;出现错误&#xff1a;xcrun: error: SDK “iphoneos” cannot be located 解决方法&#xff1a; 运行Xcode, 打开设置-Locations&#xff0c;将Command Line Tools里下拉项再选择一下。&#xff08;不管之前有没有…

用前端html如何实现2024烟花效果

用HTML、CSS和JavaScript编写的网页&#xff0c;主要用于展示“2024新年快乐&#xff01;”的文字形式烟花效果。下面是对代码主要部分的分析&#xff1a; HTML结构 包含三个<canvas>元素&#xff0c;用于绘制动画。引入百度统计的脚本。 CSS样式 设置body的背景为黑…

React的状态管理库-Redux

核心思想&#xff1a;单一数据源、状态是只读的、以及使用纯函数更新状态。 组成部分 Store&#xff08;存储&#xff09; 应用的唯一状态容器&#xff0c;存储整个应用的状态树,使用 createStore() 创建。 getState()&#xff1a;获取当前状态。dispatch(action)&#xff…