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

HICE-day6

二层交换

交换基础

所谓的二层交换机指的是针对数据的二层头部(以太网帧头)中的MAC地址进行寻址并转发数据的交换设备。二层交换机不具备路由功能,它工作在OSI七层模型的第二层,因此被称为二层交换机。
在这里插入图片描述
上图中,PC1、PC2、PC3、PC4连接在同一台交换机上,连接在同一台交换机上的PC属于同一VLAN,也处于同一个广播域。
广播域:指的是一个数据多能泛洪的范围,例如PC1发送一个广播报文,交换机收到这个报文后,会为除了接受该报文的接口之外的其他所有接口都发送出去,接在同一交换机上的所有PC都会收到这个广播报文。
例如:PC1发送一个数据给PC4时,会发生怎样的情况?

  • PC1报文头部里源IP为自己的IP地址,目的IP为PC4的IP地址。源MAC为自己的MAC地址,目标MAC为PC4的MAC。
  • 这个数据帧被送到交换机上,交换机在做二层交换时依据的是MAC地址表。MAC地址表中包含的表项指示出MAC地址与交换机某个接口的对应关系。在初始情况下,交换机的MAC地址表是空的。当交换机收到PC1发送出来的数据帧时,它首先在MAC地址表中查询该数据帧的目的MAC地址,由于在MAC地址表中并没有该目的MAC的条目,因此交换机会对这个数据帧进行泛洪。
  • 接下里,交换机将该数据帧中的源MAC地址学习到MAC地址表中,与接口GE0/0/1关联。
  • 由于交换机的泛洪行为,导致连接在该交换机上的其他PC都能收到这个数据帧,除了PC4之外的其他PC在收到这个数据帧之后,将bit流还原成帧并查看帧头部的目的MAC,发现该MAC与本机的MAC并不一致,于是丢弃。而PC4在查看目的MAC与自己的MAC想通之后,会进行CRC校验(校验数据的完整性)。校验成功之后解封装,将内层的IP数据给IP协议栈处理。进一步查看IP头部,发现IP头部中的目的IP为自己的IP,于是将IP头部解封装,将内层的数据交给上层协议处理。PC1-PC4数据传输完成。
  • 现在PC4要回送数据到PC1,交换机收到数据后,首先在自己的MAC地址表中查看目的MAC地址(PC1的MAC地址),发现有一个匹配的表项,而且该表项显示这个MAC地址连接在GE0/0/1接口上,于是交换机将这个数据帧从此接口发送出去。同时交换机还会将数据帧的源MAC地址(PC4的MAC地址)记录在自己的MAC地址表中,并与接口GE0’/4/4进行关联。
  • PC1收到数据帧。
    display mac-address 命令可以进行MAC地址表的查询。

VLAN及Trunk

VLAN(Virtual Lan)

通过VLAN技术,可以在交换机上根据接口等信息进行vlan的划分,从而实现设备的隔离。
如图:
在这里插入图片描述
在上图中,用户在交换机上创建了两个VALN,然后将对应的接口添加到指定的VLAN中。可以看出PC1、PC2属于同一LAN、同一广播域内。这些PC只要配置同一个网段的IP地址就可以直接进行互访。而PC3、PC4属于VALN20,为另外一个广播域。不同的VLAN之间,用户是被隔离的(除非借助路由设备,这样的通信称为三层通信)

  • 一个vlan中所有设备都在同一广播域,不同的vlan为不同的广播域。
  • 一个vlan一般使用一个IP子网。
  • vlan中成员多基于交换机的接口分配,此时划分vlan就是将交换机的接口划分到特定的vlan中。
Access接口类型

在交换机上,二层接口类型有:Access、Trunk和hybrid三种。

  • Access类型的接口只能加入一个vlan,该vlan又被称为Access接口的缺省vlan。
  • Access接口只能发送不带标记的数据帧(untagged帧),通常也只接收untagged帧以及打了缺省vlan的标记帧。
  • Access这种类型的接口一般用于连接PC、服务器等终端设备。
    acces接口接收帧:
    (1)如果该帧是untagged帧,则接收帧并打上接口的PVID(也就是该Access接口的default vlan或缺省vlan)。
    (2)如果该帧是tagged帧,则当其vlan-id与接口PVID相同时,接收该帧,否则丢弃。
    access接口发送帧:
    在发送帧时,剥离其tag,发出的帧是原始以太网帧,也就是untagged帧。
Trunk接口类型

Trunk接口一般用于交换机之间连接的接口。trunk口可以加入多个vlan,可以接收和发送多个vlan的tagged帧。
trunk接口接收帧:
(1)如果收到的帧是untagged帧,则为数据帧打上接口的PVID。如果PVID在接口允许通行(allow-pass)的vlan列表里,则接收该帧,若PVID不在允许通行的vlan列表里,则丢弃。
(2)如果收到的帧是tagged帧,且其vlan-id在接口允许通行的vlan列表里,则接收该帧,否则丢弃。
trunk接口发送帧:
(1)如果该帧与接口PVID相同,且该vlan在允许通行的vlan列表里,则去掉tag,发送数据帧。
(2)如果该帧与接口PVID不同,且该vlan在允许通行的vlan列表里,则保持原有tag发送该帧。如果数据帧的vlan-id不在允许通行的vlan列表里,则禁止从该接口发出。

Hybrid接口类型

hybrid接口接收帧:
(1)如果收到的帧是untagged帧,则为数据帧打上接口的PVID。如果PVID在接口允许通行(allow-pass)的vlan列表里,则接收该帧,若PVID不在允许通行的vlan列表里,则丢弃。
(2)如果收到的帧是tagged帧,且其vlan-id在接口允许通行的vlan列表里,则接收该帧,否则丢弃。
hybrid发送帧:
如果收到的帧是tagged帧,且其vlan-id在接口允许通行的vlan列表里,则接收该帧,否则丢弃。

VLAN相关配置

创建vlan10并进入vlan10视图:
[Quidway] vlan 10
[Quidway-vlan 10]
将指定的接口配置为access类型,并加入特定vlan:
[Quidway] interface gigabitEthernet0/0/1
[Quidway-gigabitEthernet0/0/1] port link-type access
[Quidway-gigabitEthernet0/0/1] port default vlan 10
将特定接口配置为trunk类型,然后配置trunk接口允许通行的vlan:
[Quidway] interface gigabitEthernet0/0/24
[Quidway-gigabitEthernet0/0/24] port link-type trunk
[Quidway-gigabitEthernet0/0/24] port trunk allow-pass vlan 10 20 #将vlan10、20添加到该接口允许通行的vlan列表

相关文章:

HICE-day6

二层交换 交换基础 所谓的二层交换机指的是针对数据的二层头部(以太网帧头)中的MAC地址进行寻址并转发数据的交换设备。二层交换机不具备路由功能,它工作在OSI七层模型的第二层,因此被称为二层交换机。 上图中,PC1、…...

第100+33步 ChatGPT学习:时间序列EMD-ARIMA-LSTM模型

基于Python 3.9版本演示 一、写在前面 上一节,我们学了经验模态分解(Empirical Mode Decomposition,EMD)。 如同结尾所说,“那么,做这些分解有什么作用呢?有大佬基于这些分解出来的序列分别作…...

(C语言)双向链表

目录 链表的分类 双向链表的实现 1)定义链表 2)初始化双向链表 3)申请节点 4)尾插 5)头插 6)打印链表 7)尾删 8)头插 9)查找 10)指定位置删除 11…...

青少年编程与数学 02-004 Go语言Web编程 04课题、接收和处理请求

青少年编程与数学 02-004 Go语言Web编程 04课题、接收和处理请求 课题摘要:一、构建WEB服务器1. 安装Go语言2. 创建项目结构3. 编写代码4. 运行WEB服务器5. 访问WEB服务器 二、接收请求1. 定义处理函数(Handler)2. 将处理函数与路由关联3. 启动服务器4. …...

Unity全局光照详解

之前就学过但是太久没用又忘了,因此用最简洁易懂的语言做个记录。 全局光照分为两个系统,分别是实时光照和混合光照。(点击window/Rendering/Lighing打开此面板) 其中全局光照对于我来说都是新技术了,上一次学…...

计算机网络知识点全梳理(三.TCP知识点总结)

目录 TCP基本概念 为什么需要TCP 什么是TCP 什么是TCP链接 如何唯一确定一个 TCP 连接 TCP三次握手 握手流程 为什么是三次握手,而不是两次、四次 为什么客户端和服务端的初始序列号 ISN 不同 既然 IP 层会分片,为什么 TCP 层还需要 MSS TCP四…...

ELK Stack 安装、配置以及集成到 Java 微服务中的使用

ELK Stack 是由 Elasticsearch、Logstash 和 Kibana 组成的日志管理解决方案。以下是详细的安装、配置步骤以及如何将其集成到 Java 微服务中。 1. 安装 ELK Stack 1.1 安装 Elasticsearch 在 Ubuntu 上安装 Elasticsearch: bash wget -qO - https://artifacts…...

list_

1.对象创建 // // Created by 徐昌真 on 2024/12/12. // #include <iostream> #include <list>using namespace std;void Print(list<int> &my_list) {for ( list<int>::iterator iter my_list.begin(); iter ! my_list.end(); iter ){cout <…...

电机驱动,为什么不需要变速器?

在现代汽车和工业应用中&#xff0c;电机驱动的技术愈发成熟&#xff0c;其核心优势之一是能够省去传统机械变速器的需求。 一、电机驱动的基本原理 电机驱动又被称为电动机驱动&#xff0c;其基本原理是将电能转化为机械能。通过控制电机的输入电压和电流&#xff0c;电机能…...

how to write 述职pptx as a tech manager

As a technical manager, crafting an effective 述职 (performance review) PPT requires you to highlight your leadership, team accomplishments, technical contributions, challenges faced, and future plans. Heres a structured approach to design your PPT: 1. Cov…...

关于QMessageBox的一些使用总结和避坑指南

参考学习 Qt中QMessageBox的用法—看这一篇就够了 Qt&#xff1a;使用QMessageBox弹出标准对话框 QMessageBox模态与非模态及QT中的exec() 如何调整QMessageBox的大小 QSS 自定义QMessageBox python QMessageBox设置标签和按钮居中、中文按钮 使用建议 经过查看多方的资料&…...

C语言预处理详解

1.预定义符号 C语言设置了一些预定义符号&#xff0c;可以直接使用&#xff0c;预定义符号也是在预处理期间处理的 __FILE__ //进⾏编译的源⽂件 __LINE__ //⽂件当前的⾏号 __DATE__ //⽂件被编译的⽇期 __TIME__ //⽂件被编译的时间 __STDC__ //如果编译器遵循ANSI C&#…...

大语言模型画图(流程图、框架图)

第一步&#xff1a;向随意大语言模型&#xff0c;描述内容&#xff0c;推荐豆包 豆包 加上下面Prompt 通过Mermaid语法&#xff0c;描述上面流程图 第二步&#xff1a;将生成Mermaid输入流程图生成网站 中文Mermaid - 流程图、关系图在线画图、生成和编辑器...

2024年API接口发展趋势:智能化、自动化引领潮流

随着信息技术的飞速发展&#xff0c;应用程序编程接口&#xff08;API&#xff09;已成为现代软件开发的核心组成部分。API作为不同系统之间的桥梁&#xff0c;使得数据、功能和服务能够在各种平台和设备之间无缝流动。在2024年&#xff0c;API接口正经历着一系列显著的变革和发…...

数据挖掘与机器学习DMML(part 8)K近邻(KNN)

K Nearest Neighbours KNN Definition KNN 是一种简单的算法&#xff0c;它存储所有可用案例&#xff0c;并根据相似度量对新案例进行分类。 KNN 不同名称&#xff1a; K-Nearest Neighbors • Memory-Based Reasoning基于记忆的推理 • Example-Based Reasoning基于实例的…...

Fortify 24.2.0版本最新版 win/mac/linux

工具介绍&#xff1a; Fortify SCA作为一款业内主流的静态代码扫描工具&#xff0c;被广泛应用于白盒测试中。与其他静态代码扫描工具相比&#xff0c;Fortify SCA的突出优势主要在于更加广泛地支持的语言和开发平台、更全面和权威的安全规则库使扫描更加全面、更加智能化的自定…...

突破时间与空间限制的富媒体百宝箱——智能工具箱:让云上内容生产更easy

“这是你的同款日常吗&#xff1f;老是在赶deadline&#xff0c;苦练PS还未出师&#xff0c;premiere、达芬奇真的好难&#xff0c;学python脑容量确实不够~打工人太难了~~” 来试试智能工具箱吧&#xff01;即来即用&#xff0c;一键实现办公自由。图片工具、视频工具、音频工…...

MacOs使用Wine 安装UaExpert与UaExpert的使用

要在 macOS 上使用 Wine 安装和运行 UaExpert&#xff0c;可以按照以下步骤操作&#xff1a; 安装 Wine 在 macOS 上&#xff0c;你可以通过 Homebrew 来安装 Wine。如果你还没有安装 Homebrew&#xff0c;可以先安装 Homebrew&#xff0c;然后使用它来安装 Wine。 bash /bin…...

【Prompt Engineering】3.文本概括

一、引言 文本信息量大&#xff0c;LLM在文本概括任务上展现出强大能力。本章介绍如何通过编程方式调用API接口实现文本概括功能。 首先&#xff0c;我们需要引入 zhipuAI 包&#xff0c;加载 API 密钥&#xff0c;定义 getCompletion 函数。 from zhipuai import ZhipuAIke…...

力扣-图论-14【算法学习day.64】

前言 ###我做这类文章一个重要的目的还是给正在学习的大家提供方向和记录学习过程&#xff08;例如想要掌握基础用法&#xff0c;该刷哪些题&#xff1f;&#xff09;我的解析也不会做的非常详细&#xff0c;只会提供思路和一些关键点&#xff0c;力扣上的大佬们的题解质量是非…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中&#xff0c;结构体可以嵌套使用&#xff0c;形成更复杂的数据结构。例如&#xff0c;可以通过嵌套结构体描述多层级数据关系&#xff1a; struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

解锁数据库简洁之道:FastAPI与SQLModel实战指南

在构建现代Web应用程序时&#xff0c;与数据库的交互无疑是核心环节。虽然传统的数据库操作方式&#xff08;如直接编写SQL语句与psycopg2交互&#xff09;赋予了我们精细的控制权&#xff0c;但在面对日益复杂的业务逻辑和快速迭代的需求时&#xff0c;这种方式的开发效率和可…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据&#xff0c;减少数据库查询操作。 缓存逻辑分析&#xff1a; ①每个分类下的菜品保持一份缓存数据…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...