华为hcia——Datacom实验指南——三层交换和ARP的工作原理

什么是三层交换

三层交换是指连接在同一台三层交换机上,不同vlan用户,不同网段ip,通过vlanif接口进行数据交换。

什么是ARP协议

通过网络层的ip地址解析成数据链路层的mac地址。

说白了就是通过目标ip地址去问他对应的mac地址是多少。

ARP学习条件

ARP协议只会学习同一个网段下的mac地址,不会跨网段学习,因为在平时的跨网段通信,基本流程是主机发送给网关,网关再去进行跨网段操作,所以不需要也没必要去学习其他网段的mac地址。

ARP表

ARP表分为静态和动态表,静态表是管理员手动配置的,动态表是由接受到的ARP数据包对源mac地址源ip地址进行学习,动态表保存在缓存中,设备重启就会清除,且表项有老化时间(华为默认1200秒),静态表项优先级高于动态表项,当同一个ip地址既有动态表项又有静态表项,优先选择静态表项,动态表项会被覆盖,不会起到作用。

三层交换基本流程

三层交换仅局限于源设备和目的设备在职责所在的网段均直连在同一个三层交换机上,否则需要进行ip路由实现。

首先源设备和目的设备在不同网段下,所以它们之间的交流要通过网关进行,也就是交换机的vlanif接口进行,所以源设备会发送一个ARP请求询问当前网关地址是多少,然后交换机收到后会进行ARP学习,源mac地址和源ip学习,然后给主机发送一个ARP回应报文,源设备收到报文后进行ARP学习,然后开始发送ICMP协议的ping报文,

交换机收到源设备发送的ping报文后,发现目的mac地址是自己,但是目的ip地址是其他网段的,所以可以判断出需要进行三层交换,所以交换机会查找三层转发表,发现没有。

网关就会把数据送到cpu进行ip表查找,然后发现目的设备的网段的直连路由表,从对应的vlanif2网关接口发送出去一个泛洪的数据,这个时候源mac地址是当前的vlanif2接口,目的mac地址是目的设备的mac地址,ip还是源设备和目的设备的,然后目的设备收到ARP报文后学习到了当前网段vlanif2的mac地址之后回复一个ARP响应包,vlanif2学习到了目的设备的mac地址和ip地址后,再把从源设备发出来的ping报文发送给目的报文,目的设备收到报文后又回复一个ping报文回去,这样就完成以一次ping指令。

实验开始

第一步搭建环境

第二步配置pc

pc2就ip地址配置成192.168.2.10,网关是192.168.2.1

第三步配置交换机。

system-view
sysname LSW1
vlan batch 10 20
interface ethernet 0/0/1
port link-type access
port default vlan 10
quit
interface ethernet 0/0/2
port link-type access
port default vlan 20
quit
interface vlan 10
ip address 192.168.1.1 24
quit
interface vlan 20
ip address 192.168.2.1 24
quit

第四步ping测试

分析

抓取pc1的数据流量。

第一步发送ARP报文

pc1发送一个广播ARP报文询问网关vlanif1的mac地址

第二步回复ARP报文

网关vlanif1收到后回复一个ARP告诉pc1mac地址,pc1收到报文后进行ARP学习网关vlanif1的mac地址

第三步发送ping报文

pc1发送ICMP的ping报文给pc2.

我们发现源mac地址是pc1的目的mac地址是网关vlanif1的地址,源ip是pc1的但是目的ip却是pc2的不是网关vlanif的,所以交换机就判断这是一个三层转发,交给cpu进行路由查找。

第四步交换机查表

交换机通过查找ip路由表发现vlanif2和目的ip同一个网段,然后就通过vlanif2进行泛洪转发出去。

第五步发送和响应ARP报文

同理,pc2收到ARP报文后学习到vlanif2网关的mac地址然后回应一个ARP给vlanif2进行学习pc2的ARP学习。

第六步,相应ping报文。

同理ip地址是pc1和pc2,但是源mac地址是pc2,目的mac地址是vlanif2的mac地址,然后通过交换机把数据通过vlanif1进行发送给pc1,这个时候ip地址没变,源mac地址变成vlanif1的目的mac地址变成pc1.

结束

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

YC 孵化项目 Pinch:实时语音翻译视频会议平台;Mistral OCR:能处理多语言多模态复杂文档丨日报

开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。 我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 技术 」、「有亮点的 产品 」、「有思考的 文章 」、「有态度的 …

github生成badges的方法

在Github页面上生成类似下面这样的badge的方法 你可以通过以下步骤在GitHub个人主页的README中创建类似的技术栈徽章: 一、使用 Shields.io 生成徽章 Shields.io 是一个开源徽章生成工具,支持自定义文本、颜色、图标等参数。 1. 基础模板 https://…

Microsof Visual Studio Code 安装教程(中文设置)

VS Code 是一个免费的代码编辑器,可在 macOS、Linux 和 Windows作系统上运行。启动和运行 VS Code 既快速又简单。VS Code(全称 Visual Studio Code)是一款由Microsoft 推出的免费、开源、跨平台的代码编辑器,拥有强大的功能和灵活…

实验二:Git用法练习:使用 DevStar 搭建 Git 仓库托管平台

Git 是目前最流行的版本控制工具,而 GitHub、GitLab 等托管平台为团队协作提供了极大的便利。但在某些情况下,我们需要自建 Git 仓库托管平台,例如: 保护私有代码,避免托管到公网 提供企业或学校内部协作 提升对 Git…

一二三应用开发平台——能力扩展:多数据源支持

背景 随着项目规模的扩大&#xff0c;单一数据源已无法满足复杂业务需求&#xff0c;多数据源应运而生。 技术选型 MyBatis-Plus 的官网提供了两种多数据源扩展插件&#xff1a;开源生态的 <font style"color:rgb(53, 56, 65);">dynamic-datasource</fon…

【性能测试】Jmeter下载安装、环境配置-小白使用手册(1)

本篇文章主要包含Jmeter的下载安装、环境配置 添加线程组、结果树、HTTP请求、请求头设置。JSON提取器的使用&#xff0c;用户自定义变量 目录 一&#xff1a;引入 1&#xff1a;软件介绍 2&#xff1a;工作原理 3&#xff1a;安装Jmeter 4&#xff1a;启动方式 &#xf…

每日一练之链表的回文结构

题目描述&#xff1a; 方法一&#xff1a; 找到链表的中间结点。 图片解疑&#xff1a; 从中间结点开始把后面的链表反转。注&#xff1a;详细请看附录链接 图片解疑&#xff1a; 判断头结点的值和尾结点的值是否一样。 代码实例&#xff1a; /* struct ListNode {int val;str…

WinUI 3 支持的三种窗口 及 受限的窗口透明

我的目标 希望能够熟悉 WinUI 3 窗口的基本使用方式&#xff0c;了解可能出现的问题 。 WinUI 3 支持三种窗口模式&#xff0c;分别为&#xff1a;常规窗口模式、画中画模式、全屏模式。 窗口模式&#xff1a;常规 即我们最常见的普通窗口。 支持&#xff1a;显示最大化按钮…

恶劣天候三维目标检测论文列表整理

恶劣天候三维目标检测论文列表 图摘自Kradar &#x1f3e0; 介绍 Hi&#xff0c;这是有关恶劣天气下三维目标检测的论文列表。主要是来源于近3年研究过程中认为有意义的文章。希望能为新入门的研究者提供一些帮助。 可能比较简陋&#xff0c;存在一定的遗漏&#xff0c;欢迎…

SSL VXN

SSL VPN是采用SSL&#xff08;Security Socket Layer&#xff09;/TLS&#xff08;Transport Layer Security&#xff09;协议来实现远程接入的一种轻量级VPN技术,其基于B/S架构&#xff0c;免于安装客户端&#xff0c;相较与IPSEC有更高的灵活度和管理性&#xff0c;当隧道建立…

使用 AIStor、MLflow 和 KServe 将模型部署到 Kubernetes

在之前几篇关于 MLOps 工具的文章中&#xff0c;我展示了有多少流行的 MLOps 工具跟踪与模型训练实验相关的指标。我还展示了他们如何使用 MinIO 来存储作为模型训练管道一部分的非结构化数据。但是&#xff0c;一个好的 MLOps 工具应该做的不仅仅是管理您的实验、数据集和模型…

Python数据分析之数据处理与分析

Python 数据分析重点知识点 本系列不同其他的知识点讲解&#xff0c;力求通过例子让新同学学习用法&#xff0c;帮助老同学快速回忆知识点 可视化系列&#xff1a; Python基础数据分析工具数据处理与分析数据可视化机器学习基础 三、数据处理与分析 数据清洗 处理缺失值&a…

第六次CCF-CSP认证(含C++源码)

第六次CCF-CSP认证 数位之和&#xff08;easy&#xff09;思路及AC代码遇到的问题 开心消消乐&#xff08;easy&#xff09;思路及AC代码 画图&#xff08;mid&#xff09;思路及AC代码 数位之和&#xff08;easy&#xff09; 题目链接 思路及AC代码 既然题目要求我们输出各位…

C++修炼之路:初识C++

Hello大家好&#xff01;很高兴我们又见面啦&#xff01;给生活添点passion&#xff0c;开始今天的编程之路&#xff01; 我的博客&#xff1a;<但凡. 我的专栏&#xff1a;《编程之路》、《数据结构与算法之美》、《题海拾贝》 欢迎点赞&#xff0c;关注&#xff01; 引言 …

Flink-DataStreamAPI-生成水印

下面我们将学习Flink提供的用于处理事件时间戳和水印的API&#xff0c;也会介绍有关事件时间、流转时长和摄取时间&#xff0c;下面就让我们跟着官网来学习吧 一、水印策略介绍 为了处理事件时间&#xff0c;Flink需要知道事件时间戳&#xff0c;这意味着流中的每个元素都需要…

Visual stdio2022 opencv cude pytroch与yolov8/可视化工具的环境搭建,不搞VIP,我也要当雷锋

顺序很重要&#xff0c;别瞎搞 vs studio2022 编程小白必看&#xff01;Visual Studio 2022详细安装使用教程&#xff08;C/C编译器&#xff09;-CSDN博客 pycharm 2024最新PyCharm下载安装配置教程&#xff0c;软件安装看这篇就够了&#xff01;_pycharm安装-CSDN博客 下…

搜索插入位置(js实现,LeetCode:35)

给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], target 5 输出: 2示例 2: 输入…

【社交+陪玩服务】全场景陪玩系统源码 小程序+H5双端 社群互动+即时点单+搭建教程

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 找搭子系统源码&#xff0c;圈子源码、社交源码、陪玩源码&#xff0c;亲测 100% 可用&#xff0c;跟市场上卖 1w的那款一模一样&#xff0c;功能非常齐全&#xff0c;企业级别运营的…

文字转语音chat-tts-ui

去年已经使用过chattts了&#xff0c;但是昨晚想用的时候却记怎么打开了&#xff0c;找了一下以前的笔记 MacOS 下源码部署chat-tts-ui 配置好 python3.9-3.11 环境,安装git &#xff0c;执行命令 brew install libsndfile git python3.10 继续执行 brew install ffmpeg ​ …

labview实现16进制数据相加取反,取低16位校验

之前探讨过通过labview实现取补码的功能&#xff0c;今天来探讨一下&#xff0c;通过labview实现16进制数据取反相加取低16位的方法。 在日常调试中我们会遇到各种校验方式&#xff0c;如果把他们集成到我们自己写的程序里&#xff0c;实现指令的收发是我们需要注意的&#xf…