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

以太网链路详情

文章目录

  • 1、交换机
    • 1、常见的概念
      • 1、冲突域
      • 2、广播域
      • 3、以太网卡
        • 1、以太网卡帧
      • 4、mac地址
        • 1、mac地址表示
        • 2、mac地址分类
        • 3、mac地址转换为二进制
    • 2、交换机的工作原理
      • 1、mac地址表
      • 2、交换机三种数据帧处理行为
      • 3、为什么会泛洪
      • 4、转发
      • 5、丢弃
    • 3、mac表怎么获得
    • 4、同网段数据通信全过程
      • 1、数据封装过程
      • 2、泛洪数据帧
      • 3、学习mac地址和主机回复
      • 4、总结
    • 5、不同网段数据通信过程

1、交换机

1、常见的概念

1、冲突域

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

  • 交换机上面的接口都是互相连接的,因此每一个接口相当于一个冲突域,不同的接口发送和数据独立,各个接口属于不同的冲突域,互联的主机不需要担心流量对数据发送冲突的影响了

  • 就是以前是一个主机发送数据,其他的主机不能发送数据,只能接收,但是交换机的话,每个接口都是互相连接的,因此可以不同主机可以同时发送数据,和接收数据

img

  • 一个节点发送的是广播的话,就会泛洪,如果接收的是单播的话,就只会发送给一个节点,因此交换机组成的局域网是广播域,但是隔离了冲突域

2、广播域

  • 就是广播报文会访问所有的主机,同一个广播域内的主机都能收到广播报文

  • 有一个主机发送了广播的话,交换机会发送给所有的接口都会转发,但是路由器的话,不会进行泛洪,不会转换广播,起到了一个隔离广播的作用

3、以太网卡

  • 路由器和PC的连接在一起的话,可以配置ip地址的,路由器接口上配置一个ip,然后pc上面也配置了一个ip地址,如果在同一个网段的话,就可以实现互访,所以的话,PC网卡和路由器网卡本质上没有区别,基于数据包来进行处理

  • 交换机上面的接口如果配置不了ip的话,就是一个二层设备,只具备二层的功能,以帧为单位进行数据转发,没有对包进行分析的能力,是一个传统的二层设备

1、以太网卡帧

img

  • 在以太网中,数据通信是基本单位是以太帧,有2个标准

  • 一个是Ethernet_ll格式和另外一个是IEEE802.3格式

  • 客户端发送的是Ethernet_ll数据的帧格式,维护网络正常工作协议的是IEE 802.3帧格式

  • Ethernet_ll类型,是0800上层就是ipv4的协议,是0806的话,上层就是arp协议的

  • IEEE802.3类型LLC

4、mac地址

  • 网络中唯一标识一个网卡,唯一的名字

  • mac地址6个字节,48bit,16进制

  • 为什么有了mac地址,在接入设备的时候还是需要配置ip地址,因为路由器是通过ip地址来进行寻址的,交换机是根据在mac地址在链路上面进行通信

  • 不要ip地址,在链路上面通过mac地址进行实现通信,在链路上面只有mac地址可以通信

  • 因此的话,ip地址和mac地址结合使用,非常的强大,在链路上面根据mac地址,在不同的网段上面,路由表根据ip地址进行转发

  • ip地址是唯一标识网络中一个节点,可以通过ip地址进行不同网段的数据访问,可以改变的,在同一个网段上面是唯一的

  • ip地址和mac地址,mac地址在同一个链路上面通信,ip地址可以跨链路访问

1、mac地址表示
  • mac地址采用十六进制表示

  • ox表示这个数据是16进制的

  • 00 1E 10 DD DD 02 6个字节

  • 转换成二进制的话, 0000 0000 0001 1110 一个数字转换成4bite来进行表示

2、mac地址分类
  • 单播地址,第8个bite等于0的就是单播,前面是24位,就是oui就是厂商代码

  • 组播地址,第8个bite等于1的话就是组播,发送给一堆接口

  • 广播地址,bite全是1的位广播

  • 6C就是单播地址,A是10,B是11,C是12,所以的话,这个就是一个单播

  • 交换机根据目标MAC地址的第8个比特位查找

3、mac地址转换为二进制

# 一个十六进制的数等于4个二进制的数
步骤 1:把 6 转成二进制
十六进制 6 对应十进制 6。
将十进制 6 转换为二进制:
6 ÷ 2 = 3,余数 0
3 ÷ 2 = 1,余数 1
1 ÷ 2 = 0,余数 1
从下到上排列余数:110
补齐 4 位:0110
步骤 2:把 C 转成二进制
十六进制 C 对应十进制 12(A=10, B=11, C=12)。
将十进制 12 转换为二进制:
12 ÷ 2 = 6,余数 0
6 ÷ 2 = 3,余数 0
3 ÷ 2 = 1,余数 1
1 ÷ 2 = 0,余数 1
从下到上排列余数:1100

2、交换机的工作原理

img

  • 主机1发送数据到PC2上面,交换机学习帧的地址MAC地址,然后在MAC地址表中查询该帧的目的mac地址,并将这个帧从对应的端口转发出去,arp协议

  • 二层转发只用看mac地址即可,不需要看IP地址

1、mac地址表

  • 每个交换机都会有一个mac地址表,存放了mac地址与交换机端口编号之间的映射关系

  • 通过这个接口就能达到主机上面

2、交换机三种数据帧处理行为

  • 泛洪,就是一个接口收到数据帧后,就泛洪到所有的主机

  • 转发,就是从一个特定的接口转发到某个接口

  • 丢弃,一个接口接收的数据,直接丢弃,不进行转发

3、为什么会泛洪

  • 交换机如果接收的是单播帧,交换机查询mac地址表,查询不到,就被称为未知单播帧,交换机对该单播帧执行泛洪的操作

  • 如果接收的是广播帧,不需要查询mac地址,直接进行泛洪

  • 组播,也是泛洪

4、转发

  • 查找到了这个目标mac地址和对应的接口,然后从这个接口进行转发即可

5、丢弃

  • 交换机收到了一个帧的话,如果这个出接口和目标接口都是自己的,交换机就会丢弃

3、mac表怎么获得

img

  • 初始情况下,交换机的mac地址表是空的

  • PC发送一个数据帧,然后交换机查询源mac地址学习,找到了这个对应端口

  • 根据目标mac地址是个单播,查询不到,然后就会泛洪操作,然后主机二会回复一个单播帧,然后交换机继续学习,这个源mac地址和对应的端口,这样交换机就学习到了,并且记录到了mac地址表中

  • 然后PC发送数据后,就会实现转发的操作

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

img

1、数据封装过程

img

  • 但是以太网帧的结构里面有源mac,和目标mac地址,但是刚开始不知道目标mac地址,所以的话,需要先发送一个arp请求,获取到目标mac地址

2、泛洪数据帧

img

  • 先发送一个arp广播,交换机直接进行泛洪

3、学习mac地址和主机回复

img

  • 主机二就收到了arp请求,回一个arp应答,里面包含了主机2的mac地址,和主机1的目标mac地址,然后交换机就学习到了这个mac地址和对应的接口

  • 然后主机1就获得了目标的mac地址,然后进行帧的封装,不断的进行数据的转发,然后交换机通过查询mac地址表,然后进行转发即可

4、总结

  • 这个就是同网段通信的过程

img

# 发送一个ping 包,会发送一个arp请求,然后交换机就学习
# 查询交换机
<Huawei>display mac-address
MAC address table of slot 0:
-------------------------------------------------------------------------------
MAC Address    VLAN/       PEVLAN CEVLAN Port            Type      LSP/LSR-ID  VSI/SI                                              MAC-Tunnel  
-------------------------------------------------------------------------------
5489-9850-0d09 1           -      -      GE0/0/1         dynamic   0/-         
5489-9880-0d83 1           -      -      GE0/0/2         dynamic   0/-         
-------------------------------------------------------------------------------
Total matching items on slot 0 displayed = 2 # 主机上面也会有mac地址记录
PC>arp -a Internet Address    Physical Address    Type
1.1.1.2             54-89-98-80-0D-83   dynamic
  • 交换机的接口,每个接口的目标mac地址都是相同的,接口不是用来通信的,用来交换机之间的通信

  • arp是一个广播的报文,发送到交换机上面,会泛洪,所有主机都会接收

  • 刚开始都是初始的状态,然后PC1发送一个数据到PC2上面,因为只知道PC2的目标ip,不知道目的mac地址,因此的话,先发送一个arp请求,然后发送过去,交换机就学习PC1的mac地址,并且记录端口信息,PC2收到后,发送一个ARP回答,里面记录的2个mac地址和Ip,然后交换机学习PC2的mac地址,记录端口的关系,这样的话,交换机就学习到了

  • 下次发数据的时候,直接进行转发

  • mac地址表,有个老化时间,默认是300秒,因此的话,每次发送的数据,交换机都要学习mac地址

  • mac地址表为什么会老化

    • mac地址使用的内存空间,如果错误表项,空闲的表项,不老化,导致mac表会占用空间

    • 交换机的mac表有一定的容量限制,不清空无效的表项,导致了MAC地址表容量满了,无法学习最新的MAC地址信息

5、不同网段数据通信过程

img

# pc1和pc2是同一个网段的,与pc3是不同的网段
  • 不同网段的话,就需要去寻找网关,所以的话,就会寻找网关的mac地址,然后网关就会回一个自己的mac地址,需要路由器,网关配置在了路由器,

  • 就是网关路由器从交换机接收到后数据后,进行解封装然后查询到里面的目标ip地址不是自己的然后继续封装,转发

  • 知道转发到了PC3主机上面即可,然后有mac地址,进行arp回答即可

相关文章:

以太网链路详情

文章目录 1、交换机1、常见的概念1、冲突域2、广播域3、以太网卡1、以太网卡帧 4、mac地址1、mac地址表示2、mac地址分类3、mac地址转换为二进制 2、交换机的工作原理1、mac地址表2、交换机三种数据帧处理行为3、为什么会泛洪4、转发5、丢弃 3、mac表怎么获得4、同网段数据通信…...

vue3 setup语法,子组件点击一个元素打印了这个元素的下标id,怎么传递给父组件,让父组件去使用

问&#xff1a; vue3 setup语法&#xff0c;子组件点击一个元素打印了这个元素的下标id&#xff0c;怎么传递给父组件&#xff0c;让父组件去使用 回答&#xff1a; 在 Vue 3 中&#xff0c;你可以使用 setup 语法糖和组合式 API 来实现子组件向父组件传递数据。具体来说&am…...

《Keras3 minist 手写数字AI模型训练22秒精度达到:0.97》

《Keras3 minist 手写数字AI模型训练22秒精度达到&#xff1a;0.97》 一、修改源码加上如下两条代码二、源码修改如下三、Keras3 minist 训练22秒结束&#xff0c;训练过程截图四、Keras3 minist 源码截图 一、修改源码加上如下两条代码 import os os.environ["KERAS_BAC…...

【.net core】【sqlsugar】大数据写入配置(需要版本5.0.45)

官网连接 https://www.donet5.com/home/Doc?typeId2404 泛型方法 /// <summary> /// 大数据写入&#xff08;泛型方法&#xff09; /// </summary> /// <param name"entitys"></param> /// <returns></returns> ///代码中_d…...

ansible运维实战

通过学习ansible自动化运维&#xff0c;初步对ansible有了一定的了解&#xff0c;此次分享两个案例&#xff0c;希望对大家有所帮助 案例一&#xff1a;自动化安装nginx 本次案例目的是ansible自动化安装nginx并配置 首先创建如图所示目录 在主机上安装好nginx&#xff0c;如…...

DDOS分布式拒绝服务攻击

DDOS分布式拒绝服务攻击 简单来说 传统的DOS就是一台或者多台服务对一个受害目标&#xff08;服务器&#xff0c;路由&#xff0c;ip&#xff0c;国家&#xff09;进行攻击&#xff0c;当范围过大时就是DDOS。目的就是通过大规模的网络流量使得正常流量不能访问受害目标&…...

如何使用 Python 实现 UDP 通信?

1. UDP通信基础 UDP&#xff08;用户数据报协议&#xff09;是一种无连接的传输层协议&#xff0c;它提供了一种不可靠的数据传输服务&#xff0c;但具有较低的延迟和较小的开销。在Python中&#xff0c;可以使用socket模块来实现UDP通信。 2. 实现UDP服务端 import socketd…...

MTK 配置文件梳理

文章目录 MTK 日常配置总结屏幕默认横竖屏显示ro.build.characteristics 属性修改修改点一&#xff1a;build\core\product_config.mk修改点二&#xff1a;build\make\core\main.mk修改是否成功&#xff0c;adb 验证 配置部分系统app handheld_product.mk配置系统属性、第三方应…...

论文笔记:Treat Visual Tokens as Text? But Your MLLM Only Needs Fewer Efforts to See

2024 10月的arxiv 1 主要idea 针对多模态大模型&#xff08;如LLaVA&#xff09;&#xff0c;提出了一系列高效的剪枝策略 在显著降低计算开销&#xff08;多达 88%&#xff09;的同时&#xff0c;保持了模型在多模态任务中的性能表现 2 目前的问题 与文本 token 相比&…...

软考高级架构 —— 10.6 大型网站系统架构演化实例 + 软件架构维护

10.6 大型网站系统架构演化实例 大型网站的技术挑战主要来自于庞大的用户&#xff0c;高并发的访问和海量的数据&#xff0c;主要解决这类问题。 1. 单体架构 特点: 所有资源&#xff08;应用程序、数据库、文件&#xff09;集中在一台服务器上。适用场景: 小型网站&am…...

2024美赛数学建模C题:网球比赛中的动量,用马尔可夫链求解!详细分析

文末获取历年美赛数学建模论文&#xff0c;交流思路模型 接下来讲解马尔可夫链在2024年C题中的运用 1. 马尔科夫链的基本原理 马尔科夫链是描述随机过程的一种数学模型&#xff0c;其核心特征是无记忆性。 简单来说&#xff0c;系统在某一时刻的状态只取决于当前状态&#x…...

23种设计模式之状态模式

目录 1. 简介2. 代码2.1 State &#xff08;定义抽象状态接口&#xff09;2.2 StartState &#xff08;实现具体状态类&#xff09;2.3 EndState &#xff08;实现具体状态类&#xff09;2.4 Context &#xff08;定义上下文类&#xff09;2.5 Test &#xff08;测试类&#xf…...

Elasticsearch Serverless 中的数据流自动分片

作者&#xff1a;来自 Elastic Andrei Dan 在 Elastic Cloud Serverless 中&#xff0c;我们根据索引负载自动为数据流配置最佳分片数量&#xff0c;从而使用户无需摆弄分片。 传统上&#xff0c;用户会更改数据流的分片配置&#xff0c;以处理各种工作负载并充分利用可用资源。…...

YOLOv10改进,YOLOv10添加U-Netv2分割网络中SDI信息融合模块+GSConv卷积,助力小目标

理论介绍 完成本篇需要参考以下两篇文章,并已添加到YOLOv10代码中 YOLOv10改进,YOLOv10添加U-Netv2分割网络中SDI信息融合模块,助力小目标检测YOLOv10改进,YOLOv10添加GSConv卷积+Slim-neck,助力小目标检测,二次创新C2f结构下文都是手把手教程,跟着操作即可添加成功 目…...

xshell连接虚拟机,更换网络模式:NAT->桥接模式

NAT模式&#xff1a;虚拟机通过宿主机的网络访问外网。优点在于不需要手动配置IP地址和子网掩码&#xff0c;只要宿主机能够访问网络&#xff0c;虚拟机也能够访问。对外部网络而言&#xff0c;它看到的是宿主机的IP地址&#xff0c;而不是虚拟机的IP。但是&#xff0c;宿主机可…...

sql的where条件中使用case when

场景&#xff1a; 1、使用oracle数据库&#xff0c;数据类型为number&#xff0c;需要正无穷值。 2、数据表中有两个金额值&#xff0c;最大值和最小值&#xff0c; 如10~20&#xff0c; 30 ~40&#xff0c;40以上&#xff0c;数据库中这样设计 id name min max 1 j 10 20 2 …...

MacOS 上以源码形式安装 MySQL 5.7

以下是在 macOS 上从源码安装 MySQL 5.7 的步骤&#xff1a; 前置条件 安装 Homebrew&#xff1a;如果你还没有安装 Homebrew&#xff0c;可以在终端中运行以下命令进行安装&#xff1a; /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install…...

MySQL 事务隔离级别详解

一、事务的基本概念 &#xff08;一&#xff09;什么是事务 事务是一个逻辑工作单元&#xff0c;由一组数据库操作组成。这些操作要么全部成功执行&#xff0c;要么全部回滚&#xff0c;以确保数据库的一致性。事务具有以下四个特性&#xff0c;通常被称为 ACID 特性&#xff…...

C语言——高精度问题

1、高精度计算的本质&#xff1a;竖式计算&#xff1b; 2、适用解决超出long long int 范围的大整数计算 #include<stdio.h> #include<string.h> #define N 100 char str1[N4]{0},str2[N4]{0}; int arr1[N4]{0},arr2[N4]{0}; int ans[N5]{0};//将字符串转化成整型…...

aippt:AI 智能生成 PPT 的开源项目

aippt&#xff1a;AI 智能生成 PPT 的开源项目 在现代办公和学习中&#xff0c;PPT&#xff08;PowerPoint Presentation&#xff09;是一种非常重要的展示工具。然而&#xff0c;制作一份高质量的PPT往往需要花费大量的时间和精力。为了解决这一问题&#xff0c;aippt项目应运…...

【Qt之·类QSettings·参数保存】

系列文章目录 文章目录 前言一、概述1.1 QSetting是什么1.2 为什么学习QSetting是重要的 二、不同存储位置的优缺点三、 QSetting的高级用法四、实例演示总结 前言 在当今的应用程序开发中&#xff0c;设置管理是一个至关重要的方面。应用程序的设置包括用户偏好、配置选项和其…...

location重定向和nginx代理

文章目录 1 location重定向1.1 概述1.2 rewrite跳转1.3 用例1.4 实验1.4.1 基于域名的跳转1.4.2 基于ip的跳转1.4.3 基于后缀名的跳转 2 nginx的代理2.1 nginx内置变量2.2 正向代理2.2.1 固定正向代理2.2.2 自动代理 2.3 反向代理2.3.1 负载均衡的算法2.3.2 负载均衡的特点2.3.…...

iptables详解

华子目录 什么是防火墙分类netfilter&#xff08;数据包过滤&#xff09;定义netfilter分析内容 防火墙无法完成的任务netfilter策略管理工具netfilter的5类hook函数防火墙规则策略匹配原则iptablesiptables流量处理动作iptables表5种规则表 安装iptablesiptables策略文件 ipta…...

Edge SCDN深度解析,边缘安全加速的创新实践

边缘安全加速&#xff08;Edge Secure Content Delivery Network&#xff0c;SCDN&#xff09;是酷盾安全推出的边缘集分布式 DDoS 防护、CC 防护、WAF 防护、BOT 行为分析为一体的安全加速解决方案。通过边缘缓存技术&#xff0c;智能调度使用户就近获取所需内容&#xff0c;为…...

solidworks常见问题已解决

solidworks常见问题已解决 问题1&#xff1a;step总是提示默认模板无效。问题2&#xff1a;异型孔向导”时出现了“找不到标准数据库。问题3&#xff1a;找不到CalloutForm.txt文件&#xff0c;标注将由几何体定义。问题5&#xff1a;工程图显示文件损坏不能保存。问题6&#x…...

vCenter开启HA报错

昨天给客户开启vCenter开启HA功能报错,报错的内容比较多 博通官方给出解决办法 https://knowledge.broadcom.com/external/article/318929/error-vsphere-ha-agent-cannot-be-correct.html 常规的解决办法 1.关闭集群HA,再次开启HA 2.主机进入维护模式&#xff0c;再次加入…...

在 Ubuntu 中 make 是否是系统自带的?怎么样查看Linux系统中是否有make?

make 命令 并不是所有 Ubuntu 系统都默认安装的&#xff0c;但它通常是开发工具链的一部分&#xff0c;许多开发者会在安装系统后配置它。make 是一个非常重要的构建工具&#xff0c;用于自动化编译和构建过程&#xff0c;特别是在编译软件或内核时。 make 的来源 make 是一个…...

js:我要在template中v-for循环遍历这个centrerTopdata,我希望自循环前面三个就可以了怎么写

问&#xff1a; 我按在要在template中v-for循环遍历这个centrerTopdata&#xff0c;我希望自循环前面三个就可以了怎么写&#xff1f; 回答&#xff1a; 问&#xff1a; <div v-for"(item, index) in centrerTopdata.slice(0, 3)" :key"index"> d…...

前端使用 Cursor 的最佳助手 - PromptCoder

前端使用 Cursor 的最佳助手 - PromptCoder 你是否正在使用 Cursor 进行前端开发&#xff0c;却苦于繁琐的代码生成和原型图的还原&#xff1f;你是否渴望一个更高效、更智能的工具来提升你的开发效率&#xff1f;那么&#xff0c;你一定不能错过 PromptCoder&#xff01; Pr…...

深入了解 Spring IOC,AOP 两大核心思想

文章目录 一、Spring 基础 - 控制反转&#xff08;IOC&#xff09;1.1. 引入1.2. 如何理解 IOCSpring Bean 是什么&#xff1f;IoC 是什么&#xff1f;IoC 能做什么&#xff1f;IoC 和 DI 是什么关系&#xff1f; 1.3. IoC 配置的三种方式xml 配置Java 配置注解配置 1.4. 依赖注…...

做翻译 网站/百度网站网址是多少

KD302 成本中心 CTR xxx/xxxx, 成本要素 4210000: 不能划分 (2013-03-05 11:11:17) 转载▼ 标签&#xff1a; it 分类&#xff1a; SAP 都什么年代了&#xff0c;版本都ehp6了还有这个BUG啊。。。 成本中心 CTR xxx/xxxx, 成本要素 4210000: 不能划分 消息号 KD302 诊断 …...

建立网站准备工作/郑州手机网站建设

看到个好文章&#xff0c;翻译一遍分享一下。 此为https://go101.org/article/channel-closing.html的翻译&#xff0c;侵删。 文章目录怎么优雅地关闭通道通道的关闭原则简单粗暴的方案礼貌的方案优雅的方案更多场景&#xff1f;结论怎么优雅地关闭通道 许多天前&#xff0c;…...

番禺俊才网/seo自学教程推荐

【问题描述】 已知cosx的近似计算公式如下&#xff1a; cosx 1 - x2/2! x4/4! - x6/6! … (-1)nx2n/(2n)! 其中x为弧度&#xff0c;n为大于等于0的整数。编写程序根据用户输入的x和n的值&#xff0c;利用上述近似计算公式计算cosx的近似值&#xff0c;要求输出结果小数点…...

用dz做网站怎么设置数据库/贴吧引流推广

代理模式 和 装饰器十分类似, 以如下图解释说明区别。 装饰者在之前介绍装饰模式的时候就说明了它是在被装饰者的功能基础上&#xff0c;附加新的功能&#xff0c;而且被装饰者的接口必定会被调用的情况下才选用装饰模式来解决问题&#xff1b; 而代理者是先判断是否需要执行被…...

商业网站导航怎么做/如何进行网站推广

蓝桥杯 分巧克力 python 题目标题 儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。 小明一共有N块巧克力&#xff0c;其中第i块是Hi x Wi的方格组成的长方形。 为了公平起见&#xff0c;小明需要从这 N 块巧克力中切出K块巧克力分给小朋友们。切…...

旅游网站系统建设方案/线上营销课程

其实很早就知道 Request.QueryString["参数"]来得到URL中传递的参数&#xff0c;或者说是得到Get请求方式得到的数据&#xff1b;而Request.Form得到Form表单的提交的数据(这种理解是错误的)&#xff0c;今天在使用Jquery的Ajax&#xff0c;当使用Post方式时候&#…...