华为hcia——Datacom实验指南——以太网帧和IPV4数据包格式(一)

实验开始

第一步配置环境

第二步配置客户端

如图所示,我们把客户端的ip配置成192.168.1.10,网关设为192.168.1.1

第三步配置交换机1

system-view
sysname LSW1
vlan batch 10
interface ethernet0/0/1
port link-type access
port default vlan 10
quit
interface ethernet0/0/2
port link-type trunk
port trunk allow-pass vlan 10
quit

第四步配置交换机2

system-view
sysname LSW2
vlan batch 10
interface ethernet0/0/1
port link-type trunk
port trunk allow-pass vlan 10
quit
interface ethernet0/0/2
port link-type access
port default vlan 10
quit

第五步配置路由器

system-view
sysname AR1
interface gigabitethernet0/0/0
ip address 192.168.1.1 24
quit
interface gigabitethernet0/0/1
ip address 192.168.2.1 24
quit

第六步配置服务器

这里我们配置的ip地址是192.168.2.10,网关是192.168.2.1

第七步查看连通性

用客户端ping服务器来查看连通性

配置完成。

书上配置为什么ping测试不成功

可以看到我们的配置和书本上的配置只有一个区别,那就是LSW2的2号端口书本上用的配置是

port link-type hybrid
port hybrid untagged vlan 10

书本的配置意思是,通过2号端口出去的数据如果带了vlan 10标签的话就去掉。但是对应ping命令来说需要有回应报文的,所以不合适。

我们可以分析一下为什么不合适

首先我们需要明白的一点,对应华为设备来说,默认的是vlan 1

从发送报文和接受报文两个流程来分析

发出去的报文

这个报文发过去没有问题

报文从客户端出发,发出去一个不带vlan的报文给LSW1的1号端口,这个端口是access类型,收到一个不带vlan的报文,首先给它打上vlan 10的标签,然后从LSW1的2号端口出去,2号端口是trunk类型,当它看见发送的端口是带vlan 10的直接保留vlan 10发送给LSW2的1号端口,这个端口是trunk类型,发现是携带vlan 10的报文,直接带着vlan 10接受从LSW2的2号端口发出去,这个端口是hybrid类型,所以它在转发出去的时候发现是vlan 10标签,在untagged的列表中,所以去掉标签发送给了AR1的0号端口,AR1这个路由器是不能处理vlan的所以直接从1号端口发送出去给到服务器。

接受的报文(有问题)

这里就有问题了

报文从服务器出发,发出一个不带vlan的报文给路由器AR1的1号端口,从AR1的0号端口出来发送给LSW2的2号端口,这个端口是hybrid类型,配置只有untagged,默认的PVID是1,所以给报文带上vlan1从LSW2的1号端口发出,1号端口是trunk类型对于默认的vlan 1,在没有经过特殊配置话都是可以通过的,所以带着vlan 1发给LSW1的2号端口,这个端口是trunk类型,收到vlan 1报文后,转发不出去了!!!

原因

因为我们给LSW1的1号端口配置的是access类型,它只能接受和自己一样的vlan或者不带vlan,现在报文数据是默认的vlan 1所以发不出去,就到不了客户端。

解决办法

所以为了解决这个问题,我把LSW2的2号端口改成access类型,允许vlan 10通过

这样从路由器发给LSW2的2号端口的数据就带上vlan 10,到了LSW1的1号端口,发现也是vlan 10就把标签去掉发送给了客户端。

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

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

相关文章

解锁 Ryu API:从 Python 接口到 REST 设计全解析

Ryu 4.34 版本的 API 功能分类、核心接口说明及示例代码,结合其 Python 应用开发接口和 REST API 的设计特点进行综合解析: 一、Python 应用开发 API Ryu 的核心能力通过 Python 类库实现,开发者需继承 RyuApp 类并注册事件处理函数。 1. 应…

如何在需求分析阶段考虑未来扩展性

在需求分析阶段考虑未来扩展性的关键在于 前瞻规划、灵活架构、标准设计。其中,前瞻规划尤为重要,因为通过全面分析业务发展趋势与技术演进,能够在初期设计阶段预留足够扩展空间,降低后期改造成本,为企业长期发展奠定坚…

Docker搭建Redis哨兵模式【一主两从三哨兵】

Docker搭建Redis哨兵模式 系统: CentOS 7 Dockder 版本: VMware虚拟机 网络适配器 网络连接 桥接模式:直接连接物理网络查看IP命令 ip addr一、哨兵模式概述 1. 官方文档与关联博客 官方文档:https://redis.io/docs/latest/operate/oss_and_stack/management/sentinel关联博…

关于统计建模大赛的选题

文章目录 0.大赛主题1.量化分析和风险管理2.金融市场预测与统计建模3.投资与机器学习相关4.大数据和医疗5.智能制造相关的6.教育行业 0.大赛主题 统计创新应用数据引领未来:这个主题其实很宽泛,没有什么明确的这个要求,所以只要是和我们的统…

Docker 学习笔记:从入门到部署,实战演练全流程!

📌 开篇:为什么要学 Docker? 还在为环境不一致、部署麻烦、依赖冲突头疼吗?Docker 让一切变得简单!作为现代开发和运维的神器,Docker 让我们可以用 一句命令 解决 “在我电脑上能跑” 的问题。今天&#x…

ThinkPhp 5 安装阿里云内容安全(绿化)

composer require alibabacloud/green-20220302 首先要把php5(不支持php7)的执行文件设置到PATH环境变量 此外还要先执行composer update php5.5和php5.6的区别 5.5认为 <? 开头的也是php文件&#xff0c;包括 <?php 5.6认为 <? 开头的不是php文件&#xff0c;只…

使用NVM工具管理Node版本

Date: 2025.03.10 14:53:55 author: lijianzhan NVM&#xff08;Node Version Manager&#xff09;用于在同一个系统上管理多个 Node.js 版本,NVM 允许你安装、使用和切换不同的 Node.js 版本。这对于前端工作人员来说可以更方便的管理和维护不同nodejs版本的项目。 &#xff0…

Vue主流的状态保存框架对比

一、Vuex 4&#xff08;官方传统方案&#xff09; 优点&#xff1a; 官方背书&#xff1a;Vue 官方长期维护&#xff0c;成熟稳定。结构化清晰&#xff1a;通过 state/mutations/actions/getters 强制约定代码结构&#xff0c;适合大型团队协作。插件生态&#xff1a;支持中间…

AIGC视频生成模型:慕尼黑大学、NVIDIA等的Video LDMs模型

大家好&#xff0c;这里是好评笔记&#xff0c;公主号&#xff1a;Goodnote&#xff0c;专栏文章私信限时Free。本文详细介绍慕尼黑大学携手 NVIDIA 等共同推出视频生成模型 Video LDMs。NVIDIA 在 AI 领域的卓越成就家喻户晓&#xff0c;而慕尼黑大学同样不容小觑&#xff0c;…

NVIDIA k8s-device-plugin源码分析与安装部署

在《kubernetes Device Plugin原理与源码分析》一文中&#xff0c;我们从源码层面了解了kubelet侧关于device plugin逻辑的实现逻辑&#xff0c;本文以nvidia管理GPU的开源github项目k8s-device-plugin为例&#xff0c;来看看设备插件侧的实现示例。 一、Kubernetes Device Pl…

C++ 数据结构详解及学习规划

C++数据结构详解及学习规划 一、C++常用数据结构详解与示例 以下是C++中核心数据结构的分类及具体实现示例: 1. 线性数据结构 a. 数组(Array) • 定义:存储固定大小、同类型元素的连续内存结构。 • 特点:快速随机访问(O(1)),但插入/删除效率低(O(n))。 • 应用场…

如何使用Postman,通过Mock的方式测试我们的API

这篇文章将教会大家如何利用 postman&#xff0c;通过 Mock 的方式测试我们的 API。 什么是 Mock Mock 是一项特殊的测试技巧&#xff0c;可以在没有依赖项的情况下进行单元测试。通常情况下&#xff0c;Mock 与其他方法的主要区别就是&#xff0c;用于取代代码依赖项的模拟对…

如何检查电脑的硬盘健康状况?

检查硬盘健康状况可以使用多种工具和方法。以下是一些常用的工具和步骤&#xff1a; Windows系统&#xff1a; 使用Windows内置工具&#xff1a; 磁盘检查&#xff1a;可以通过命令提示符&#xff08;cmd&#xff09;使用chkdsk命令来检查硬盘错误。例如&#xff0c;输入chkd…

JavaWeb中提供的对cookie的操作

JavaWeb中提供的对cookie的操作 简介服务端创建Cookie对象&#xff0c;然后将Cookie添加到HTTP响应结果中读取请求端浏览器的Cookie设置/读取Cookie在客户端的有效期URL编码/解码 简介 Servlet API为Servlet访问Cookie提供了简单易用的接口。javax.servlet.http.Cookie类用来表…

Android中AIDL和HIDL的区别

在Android中&#xff0c;AIDL&#xff08;Android Interface Definition Language&#xff09; 和 HIDL&#xff08;HAL Interface Definition Language&#xff09; 是两种用于定义跨进程通信接口的语言。AIDL 是 Android 系统最早支持的 IPC&#xff08;进程间通信&#xff0…

学习计划:第四阶段(第十周)

目录 第四阶段&#xff1a;特殊方法与高级特性 第 10 周&#xff1a;综合复习与实践 周一 周二 周三 周四 周五 总结 一、项目设计与实现 二、问题与解决 三、学习成果 四、后续展望 第四阶段&#xff1a;特殊方法与高级特性 第 10 周&#xff1a;综合复习与实践 …

ROS2学习笔记2

前言 本篇文章属于ROS2humble的学习笔记&#xff0c;来源于B站鱼香ROSup主。下面是这位up主的视频链接。本文为个人学习笔记&#xff0c;只能做参考&#xff0c;细节方面建议观看视频&#xff0c;肯定受益匪浅。 《ROS 2机器人开发从入门到实践》课程介绍_哔哩哔哩_bilibili …

vue3中接收props的两种写法

在 Vue 3 中&#xff0c;接收 props 有两种主要的写法&#xff0c;分别是运行时声明和基于类型的声明。下面为你详细介绍这两种写法。 1. 运行时声明 运行时声明是 Vue 2 中就已经存在的方式&#xff0c;在 Vue 3 中依然可以使用。这种方式通过在组件中使用 defineProps 宏来…

用android studio模拟器,模拟安卓手机访问网页,使用Chrome 开发者工具查看控制台信息

web 网页项目在安卓手机打开时出现问题&#xff0c;想要查看控制台调试信息。记录一下使用android studio 模拟器访问的方式。 步骤如下&#xff1a; 1.安装android studio&#xff0c;新增虚拟设备&#xff08;VDM- virtual device manager) 点击Virtual Device Manager后会…

《打造视频同步字幕播放网页:从0到1的技术指南》

《打造视频同步字幕播放网页&#xff1a;从0到1的技术指南》 为什么要制作视频同步字幕播放网页 在数字化信息飞速传播的当下&#xff0c;视频已然成为内容输出与获取的核心载体&#xff0c;其在教育、娱乐、宣传推广等诸多领域发挥着举足轻重的作用 。制作一个视频同步字幕播…