交换网络基础

学习目标

掌握交换机的基本工作原理

掌握交换机的基本配置

交换机的基本工作原理

交换机是局域网(LAN)中实现数据高效转发的核心设备,工作在 数据链路层(OSI 模型第二层),其基本工作原理可概括为 “学习、记忆、转发、过滤”,具体流程如下:

一、交换机的核心功能与组成

  1. 硬件基础
    • 端口:连接终端设备(如电脑、服务器),每个端口对应一个独立的物理接口。
    • 交换矩阵:内部高速数据通道,负责在端口之间转发数据帧。
    • MAC 地址表:存储 “MAC 地址 - 端口” 映射关系的表格,用于快速查找数据转发路径。

二、工作原理详解

1. MAC 地址学习(Address Learning)
  • 当交换机从某个端口收到一个数据帧时,首先提取帧中的 源 MAC 地址 和 入端口号,并将这对信息写入 MAC 地址表(若表中无该 MAC 地址)。
  • 示例:电脑 A(MAC-A)连接到交换机的端口 E0/1,当 A 发送数据时,交换机记录 “MAC-A → E0/1”。
2. 转发决策(Forwarding Decision)
  • 交换机解析数据帧的 目的 MAC 地址,查询 MAC 地址表:
    • 若存在匹配项:直接将数据帧从对应的端口单播转发(仅发送到目标端口),避免广播到其他端口,提高效率。
    • 若不存在匹配项:将数据帧从 除入端口外的所有端口广播(泛洪),直到找到目标设备或目标设备响应后学习其 MAC 地址。
3. 广播与组播处理
  • 当数据帧为 广播帧(目的 MAC 为全 F:FF-FF-FF-FF-FF-FF) 或 组播帧 时,交换机无法通过 MAC 地址表匹配,会将其泛洪到所有端口(除入端口)。
  • 广播帧用于设备发现(如 ARP 请求),但过量广播可能导致网络拥堵(广播风暴),需通过 VLAN 等技术限制。
4. 消除冲突域(Collision Domain)
  • 交换机的每个端口属于 独立的冲突域(集线器所有端口共享一个冲突域),支持 全双工通信(同时发送和接收数据),避免端口间数据碰撞,提升带宽利用率。
5. MAC 地址表老化(Aging)
  • 为避免表项过时,交换机对 MAC 地址表中的条目设置 老化时间(默认通常为 300 秒)。若某个 MAC 地址在老化时间内未被再次学习,对应表项会被删除,确保表项实时更新。

三、交换机与集线器的区别

特性交换机(二层)集线器(一层)
工作层次数据链路层物理层
转发依据MAC 地址广播所有端口
冲突域每个端口独立所有端口共享一个
带宽利用率高(全双工,按需转发)低(半双工,广播导致冲突)

四、总结

交换机通过 学习终端设备的 MAC 地址,建立 “MAC - 端口” 映射表,根据目的 MAC 地址 精准转发数据帧,避免广播冗余,实现局域网内高效的数据交换。其核心优势是 分割冲突域、支持全双工、基于 MAC 地址的智能转发,是构建高速局域网的基础设备。

交换机的基本配置

1. 进入系统视图

<Huawei> system-view

2. 配置设备名称

[Huawei] sysname SwitchA

3. 配置接口

3.1 进入接口视图

[SwitchA] interface GigabitEthernet 0/0/1

3.2 配置接口描述

[SwitchA-GigabitEthernet0/0/1] description Connect_to_PC

3.3 开启接口

[SwitchA-GigabitEthernet0/0/1] undo shutdown

3.4 返回系统视图

[SwitchA-GigabitEthernet0/0/1] quit

4. 配置VLAN

4.1 创建VLAN

[SwitchA] vlan batch 10 20

4.2 命名VLAN

[SwitchA-vlan10] name Sales
[SwitchA-vlan20] name Marketing
[SwitchA-vlan20] quit

4.3 将接口加入VLAN

[SwitchA] interface Ethernet0/0/2
[SwitchA-Ethernet0/0/2] port link-type access
[SwitchA-Ethernet0/0/2] port default vlan 10
[SwitchA-Ethernet0/0/2] quit

5. 配置Trunk接口

[SwitchA] interface GigabitEthernet 0/0/24
[SwitchA-GigabitEthernet0/0/24] port link-type trunk
[SwitchA-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 20
[SwitchA-GigabitEthernet0/0/24] quit

6. 配置链路聚合(Eth-Trunk)

6.1 创建Eth-Trunk接口

[SwitchA] interface Eth-Trunk 1

6.2 配置模式

[SwitchA-Eth-Trunk1] mode lacp-static

6.3 将物理接口加入Eth-Trunk

[SwitchA-Eth-Trunk1] trunkport GigabitEthernet 0/0/10 to 0/0/11
[SwitchA-Eth-Trunk1] quit

7. 配置交换机管理IP

[SwitchA] interface Vlanif 10
[SwitchA-Vlanif10] ip address 192.168.10.1 255.255.255.0
[SwitchA-Vlanif10] quit

8. 保存配置

[SwitchA] save    

总结

当一台主机从交换机的一个端口移动到另一个端口时,交换机的MAC地址表会发生什么变化?

交换机通过 动态学习源 MAC 地址的入端口,自动更新 MAC 地址表:新端口映射立即生效,旧端口映射在老化时间后删除。这一过程无需人工干预,但依赖主机在新端口的主动通信来触发更新,确保网络连通性在短暂调整后恢复正常。

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

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

相关文章

科学研究:怎么做

科研&#xff08;科学研究&#xff09;​​ 是指通过系统化的方法&#xff0c;探索自然、社会或人文领域的未知问题&#xff0c;以发现新知识、验证理论或解决实际问题的活动。它的核心是​​基于证据的探索与创新​​&#xff0c;旨在推动人类认知和技术的进步。 科研的核心要…

算法题(128):费解的开关

审题&#xff1a; 本题需要我们将多组测试用例中拉灯数小于等于6的最小拉灯数输出&#xff0c;若拉灯数最小值仍大于6&#xff0c;则输出-1 思路&#xff1a; 方法一&#xff1a;二进制枚举 首先我们先分析一下基本特性&#xff1a; 1.所有的灯不可能重复拉&#xff1a;若拉的数…

MFC文件-屏幕录像

下载本文件 本文件将获取屏幕图像数据的所有代码整合到两个文件中&#xff08;ScreenRecorder.h和ScreenRecorder.cpp&#xff09;&#xff0c;使获取屏幕图像数据变得简单。输出IYUV视频流。还可以获取系统播放的声音&#xff0c;输出PCM音频流。由于使用了MFC类&#xff0c;本…

0801ajax_mock-网络ajax请求1-react-仿低代码平台项目

0 vite配置proxy代理 vite.config.ts代码如下图所示&#xff1a; import { defineConfig } from "vite"; import react from "vitejs/plugin-react";// https://vite.dev/config/ export default defineConfig({plugins: [react()],server: {proxy: {&qu…

JVM笔记【一】java和Tomcat类加载机制

JVM笔记一java和Tomcat类加载机制 java和Tomcat类加载机制 Java类加载 * loadClass加载步骤类加载机制类加载器初始化过程双亲委派机制全盘负责委托机制类关系图自定义类加载器打破双亲委派机制 Tomcat类加载器 * 为了解决以上问题&#xff0c;tomcat是如何实现类加载机制的…

IP编址(来自YESLAB新网工的笔记)

上层协议类型 概念&#xff1a;通常指的是位于网络层&#xff08;如 IP 层&#xff09;以上的协议类型&#xff0c;这些协议在数据传输时需要由网络层&#xff08;或更低层&#xff09;协议承载。以 IP 协议为例&#xff0c;IP 报文头部中的 协议字段&#xff08;Protocol Fie…

SpringBoot学习(过滤器Filter。拦截器Interceptor。全局异常捕获处理器GlobalExceptionHandler)(详细使用教程)

目录 一、过滤器Filter。 1.1定义与规范。 1.2工作原理与范围。 1.3使用场景。 1.4 SpringBoot实现过滤器。&#xff08;Filter配置2种方式&#xff09; <1>注解配置(WebFilter、Order、ServletComponentScan)。 创建过滤器类。 启用 Servlet 组件扫描。 <2>配置类…

c++题目_P1443 马的遍历

P1443 马的遍历 # P1443 马的遍历 ## 题目描述 有一个 $n \times m$ 的棋盘&#xff0c;在某个点 $(x, y)$ 上有一个马&#xff0c;要求你计算出马到达棋盘上任意一个点最少要走几步。 ## 输入格式 输入只有一行四个整数&#xff0c;分别为 $n, m, x, y$。 ## 输出格式 …

清华《数据挖掘算法与应用》K-means聚类算法

使用k均值聚类算法对表4.1中的数据进行聚类。代码参考P281。 创建一个名为 testSet.txt 的文本文件&#xff0c;将以下内容复制粘贴进去保存即可&#xff1a; 0 0 1 2 3 1 8 8 9 10 10 7 表4.1 # -*- coding: utf-8 -*- """ Created on Thu Apr 17 16:59:58 …

HarmonyOS-ArkUI V2工具类:AppStorageV2:应用全局UI状态存储

AppStorageV2是一个能够跨界面存储数据,管理数据的类。开发者可以使用AppStorageV2来存储全局UI状态变量数据。它提供的是应用级的全局共享能力,开发者可以通过connect绑定同一个key,进行跨ability数据共享。 概述 AppStorageV2是一个单例,创建时间是应用UI启动时。其目的…

打靶日记 zico2: 1

一、探测靶机IP&#xff08;进行信息收集&#xff09; 主机发现 arp-scan -lnmap -sS -sV -T5 -p- 192.168.10.20 -A二、进行目录枚举 发现dbadmin目录下有个test_db.php 进入后发现是一个登录界面&#xff0c;尝试弱口令&#xff0c;结果是admin&#xff0c;一试就出 得到加…

使用Java基于Geotools的SLD文件编程式创建与磁盘生成实战

前言 在地理信息系统&#xff08;GIS&#xff09;领域&#xff0c;地图的可视化呈现至关重要&#xff0c;而样式定义语言&#xff08;SLD&#xff09;文件为地图元素的样式配置提供了强大的支持。SLD 能够精确地定义地图图层中各类要素&#xff08;如点、线、面、文本等&#x…

kubernetes》》k8s》》Service

Kubernetes 中的 Service 是用于暴露应用服务的核心抽象&#xff0c;为 Pod 提供稳定的访问入口、负载均衡和服务发现机制。Service在Kubernetes中代表了一组Pod的逻辑集合&#xff0c;通过创建一个Service&#xff0c;可以为一组具有相同功能的容器应用提供一个统一的入口地址…

【HDFS】EC重构过程中的校验功能:DecodingValidator

一、动机 DecodingValidator是在HDFS-15759中引入的一个用于校验EC数据重构正确性的组件。 先说下引入DecodingValidator的动机,据很多已知的ISSUE(如HDFS-14768, HDFS-15186, HDFS-15240,这些目前都已经fix了)反馈, EC在重构的时候可能会有各种各样的问题,导致数据错误…

现代c++获取linux系统架构

现代c获取linux系统架构 前言一、使用命令获取系统架构二、使用c代码获取系统架构三、验证四、总结 前言 本文介绍一种使用c获取linux系统架构的方法。 一、使用命令获取系统架构 linux系统中可以使用arch或者uname -m命令来获取当前系统架构&#xff0c;如下图所示 archuna…

didFinishLaunching 与「主线程首次 idle」, 哪个是更优的启动结束时间点 ?

结论先行 在这两个候选时间点里—— application:didFinishLaunchingWithOptions: 执行结束主线程第一次进入 idle&#xff08;RunLoop kCFRunLoopBeforeWaiting&#xff09; 若你只能二选一&#xff0c;以「主线程首次 idle」作为 启动结束 更合理。它比 didFinishLaunchin…

Vue3 + TypeScript中defineEmits 类型定义解析

TypeScript 中 Vue 3 的 defineEmits 函数的类型定义&#xff0c;用于声明组件可以触发的事件。以下是分步解释&#xff1a; 1. 泛型定义 ts <"closeDialog" | "getApplySampleAndItemX"> 作用&#xff1a;定义允许的事件名称集合&#xff0c;即组…

树莓派超全系列教程文档--(34)树莓派配置GPIO

配置GPIO GPIO控制gpio 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 GPIO控制 gpio 通过 gpio 指令&#xff0c;可以在启动时将 GPIO 引脚设置为特定模式和值&#xff0c;而以前需要自定义 dt-blob.bin 文件。每一行都对一组引脚应用相同的设…

AladdinEdu(H卡GPU算力平台)使用教程: 1)注册与开通流程 2)插件使用流程

一、注册与开通流程 首先进入AladdinEdu官网&#xff1a;AladdinEdu-同学们用得起的H卡算力平台-高效做AI就上Aladdin 完成注册&#xff0c;并进行学生认证&#xff1a;学生认证账户&#xff0c;认证期间享受教育优惠价。 登录官网进入控制台 二、插件使用流程 VScode中…

精益数据分析(6/126):深入理解精益分析的核心要点

精益数据分析&#xff08;6/126&#xff09;&#xff1a;深入理解精益分析的核心要点 在创业和数据驱动的时代浪潮中&#xff0c;我们都在不断探索如何更好地利用数据推动业务发展。我希望通过和大家分享对《精益数据分析》的学习心得&#xff0c;一起在这个充满挑战和机遇的领…