交换机基本原理

文章目录

  • 前言
  • 一、交换机的转发行为
  • 二、交换机的转发原理
    • 1.MAC地址表
    • 2.交换机初始状态
    • 3.学习MAC地址
    • 4.ARP协议
    • 5.交换机转发数据帧
    • 6.目标主机回复
  • 三、华为交换机基本命令
    • 1.VRP视图分层
    • 2.命令行补全
    • 3.命令行帮助
    • 4.配置设备名称
    • 5.命令等级
    • 6.用户界面
    • 7.配置console认证
    • 8.配置用户界面命令
    • 9.配置vty登录
    • 10.查看配置
    • 11.端口命令


前言

常见的以太网设备包括Hub、交换机等。交换机工作在数据链路层,它有效的隔离了以太网中的冲突域,极大的提升了以太网的性能。

随着企业网络的发展,越来越多的用户需要接入到网络,交换机提供的大量的接入端口能够很好的满足这种需求。同时,交换机也彻底解决了困扰早期以太网的冲突问题,极大提升了以太网的性能,同时也提高了以太网的安全性。

交换机工作在数据链路层,对数据帧进行操作。在收到数据帧后,交换机会根据数据帧的头部信息对数据帧进行转发。


一、交换机的转发行为

接下来我们以小型交换网络为例,讲解交换机的基本工作原理。
在这里插入图片描述

如图所示,交换机对帧的转发操作行为一共有三种:
在这里插入图片描述

在这里插入图片描述

二、交换机的转发原理

1.MAC地址表

交换机中有一个MAC地址表,里面存放了MAC地址与交换机端口的映射关系。MAC地址表也称为CAM(Content Addressable Memory)表。
在这里插入图片描述

MAC地址表与转发行为的关系:

  1. 如果进入交换机的是一个单播帧,则交换机会去MAC地址表中查找这个帧的目的MAC地址。1)如果查不到这个MAC地址,则交换机执行泛洪操作。2)如果查到了这个MAC地址,则比较这个MAC地址在MAC地址表中对应的端口是不是这个帧就交换机的那个端口。如果不是,则交换机执行转发操作。如果是,则交换机执行丢弃操作。
  2. 如果进入交换机的是一个广播帧,则交换机不会去查MAC地址表,而是直接执行泛洪操作。
  3. 如果进入交换机的是一个组播帧,则交换机的处理行为比较复杂,超出了这里的介绍范畴,所以略去不讲。

交换机还具有学习能力。当一个帧进入交换机后,交换机会检查这个帧的源MAC地址,并将该源MAC地址与这个帧进入交换机的那个端口进行映射,然后将这个映射关系存放进MAC地址表。

为了查看交换机的MAC地址表,这里教给大家几个交换机的命令。

display version 查看交换机系统版本
在这里插入图片描述

display interface brief 查看交换机接口状态简要信息
在这里插入图片描述
在这里插入图片描述

这条命令是在PC机上执行的,用于查看本机的arp缓存表,如下:

arp -a 查看本地arp缓存表
在这里插入图片描述

在交换机上还有一个命令如下:

display mac-address 查看交换机上的MAC地址表
在这里插入图片描述

2.交换机初始状态

在这里插入图片描述

初始状态下,交换机并不知道所连接主机的MAC地址,所以MAC地址表为空。本例中,SWA为初始状态,在收到主机A发送的数据帧之前,MAC地址表中没有任何表项。

然而交换机是个爱学习的好孩子。

3.学习MAC地址

交换机将收到的数据帧的源MAC地址和对应接口记录到MAC地址表中。
在这里插入图片描述

主机A发送数据给主机C时,一般会首先发送ARP请求来获取主机C的MAC地址,此ARP请求帧中的目的MAC地址是广播地址,源MAC地址是自己的MAC地址。

SWA收到该帧后,会将源MAC地址和接收端口的映射关系添加到MAC地址表中。此后,如果交换机收到目标MAC地址为00-01-02-03-04-AA 的数据帧时,都将通过G0/0/1端口转发。

默认情况下,交换机学习到的MAC地址表项的老化时间为300秒。如果在老化时间内再次收到主机A发送的数据帧,SWA中保存的主机A的MAC地址和G0/0/1的映射的老化时间会被刷新。

4.ARP协议

ARP(Address Resolution Protocol),属于网络层。ARP的作用,已知IP地址解析MAC地址。ARP工作原理:

  • 首先发送ARP广播:内容是:我的IP是xxx,我的MAC是xxx,谁的IP是xxx,你的MAC是???
  • 目标主机回应ARP单播
  • 当PC收到ARP单播回应后,在计算机中生成ARP缓存。

5.交换机转发数据帧

当目的MAC地址为广播地址,当数据帧的目的MAC地址不在MAC表中,交换机会泛洪该帧。
在这里插入图片描述

主机A发送的数据帧的目的MAC地址为广播地址,所以交换机会将此数据帧通过G0/0/2 和 G/0/0/3 端口广播到主机B和主机C。

6.目标主机回复

交换机根据MAC地址表将目标主机的回复信息单播转发给源主机。
在这里插入图片描述

主机B和主机C接收到此数据帧后,都会查看该ARP数据帧。但是主机B不会回复该帧,主机C会处理该帧并发送ARP回应,此回复数据帧的目的MAC地址为主机A的MAC地址,源MAC地址为主机C的MAC地址。

SWA收到回复数据帧时,会将该帧的源MAC地址和接口的映射关系添加到MAC地址表中。

如果此映射关系在MAC地址表已经存在,则会被刷新。然后SWA查询MAC地址表,根据帧的目的MAC地址找到对应的转发端口后,从G0/0/1转发此数据帧。

三、华为交换机基本命令

1.VRP视图分层

通用路由平台(Versatile Routing Platform)是华为公司数据通信产品的通用操作系统平台。
在这里插入图片描述

VRP分层的命令结构定义了很多命令行视图,每条命令只能在特定的视图中执行。本例介绍了常见的命令行视图。每个命令都注册在一个或多个命令视图下,用户只有先进入这个命令所在的视图,才能运行相应的命令。进入到VRP系统的配置界面后,VRP上最先出现的视图是用户视图。在该视图下,用户可以查看设备的运行状态和统计信息。

比如说在用户视图下,可以使用display version查看系统版本,使用display mac-address查看MAC地址表,使用display interface brief查看接口信息,但是只能使用有限的命令,比如要给设备改名字,在用户视图下就做不了。

若要修改系统参数,用户必须进入系统视图。
在这里插入图片描述

system-view 进入系统视图,也可以使用简写命令sys

用户还可以通过系统视图进入其他的功能配置视图,如接口视图和协议视图。
在这里插入图片描述

int g0/0/0 从系统视图进入接口视图,完整命令是interface GigabitEthernet 0/0/0
在这里插入图片描述

ip address x.x.x.x 子网掩码 给路由器接口配置IP地址
在这里插入图片描述

di th 查看当前接口信息,命令全称是display this
在这里插入图片描述

2.命令行补全

若命令字的前几个字母是独一无二的,系统可以在输完该命令的前几个字母后自动将命令补充完整。如本例所示,用户只需输入inter并按Tab键,系统自动将命令补充为interface。
在这里插入图片描述

若命令并非独一无二的,按Tab键后将显示所有可能的命令。如输入in并按Tab键,系统会按顺序显示以下命令:info-center,interface。
在这里插入图片描述

3.命令行帮助

在这里插入图片描述

VRP提供两种帮助功能,分别是部分帮助和完全帮助。

部分帮助指的是,当用户输入命令时,如果只记得此命令关键字的开头一个或几个字符,可以使用命令行的部分帮助获取以该字符串开头的所有关键字的提示,如本例中所示。

完全帮助指的是,在任一命令视图下,用户可以键入“?”获取该命令视图下所有的命令及其简单描述;如果键入一条命令关键字,后接以空格分隔的“?”,如果该位置为关键字,则列出全部关键字及其描述。

4.配置设备名称

在网络环境中会有部署大量的设备,管理员需要对这些设备进行统一管理。在进行设备调试的时候,首要任务是设置设备名。设备名用来唯一的标识一台设备。

改设备名称需要在系统视图下完成,使用的命令是sysname
在这里插入图片描述

5.命令等级

在这里插入图片描述

系统将命令进行分级管理,以增加设备的安全性。

设备管理员可以设置用户级别,一定级别的用户可以使用对应级别的命令行。

缺省情况下命令级别分为0~3级,用户级别分为0~15级。

用户0级为访问级别,对应网络诊断工具命令(ping、tracert)、从本设备出发访问外部设备的命令(Telnet 客户端)、部分display命令等。

用户1级为监控级别,对应命令级0/1级,包括用户系统维护的命令以及display等命令。

用户2级是配置级别,包括向用户提供直接网络服务,包括路由、各个网络层次的命令。

用户3-15级是管理级别,对应命令3级,该级别主要是用于系统运行的命令,对业务提供支撑作用,包括文件系统、FTP、TFTP下载、文件交换配置、电源供应控制,备份板控制、用户管理、命令级别设置、系统内部参数设置以及用于业务故障诊断的debugging命令。

在具体使用中,如果我们有多个管理员账号,但只允许某一个管理员保存系统配置,则可以将save命令的级别提高到4级,并定义只有该管理员有4级权限。这样,在不影响其他用户的情况下,可以实现对命令的使用控制。

6.用户界面

使用命令 display user-interface 查看用户登录方式。

使用命令 display users 查看已登录用户信息。
在这里插入图片描述

如下图可以使用19种方式来管理网络设备,一般情况下我们采用两种:一种是Console;一种是VTY。
在这里插入图片描述

控制口(Console Port)是一种通信串行端口,由设备的主控板提供。

虚拟类型终端(Virtual Type Terminal)是一种虚拟线路端口,用户通过终端与设备建立 Telnet 或 SSH 连接,也就建立了一条VTY,即用户可以通过VTY方式登录设备。设备一般最多支持15个用户同时通过VTY方式访问。执行 user-interface maximum-vty number 命令可以配置同时登录到设备的VTY类型用户界面的最大个数。如果将最大登录用户数设为0,则任何用户都不能通过Telnet 或者 SSH 登录到路由器。

不同的设备,或者使用不同版本的VRP软件系统,具体可以被使用的VTY接口的最大数量可能不同。VTY接口最大可配范围为0-14。

7.配置console认证

步骤:

  • 进入console口管理控制界面
  • 开启密码认证模式
  • 设置加密密码

8.配置用户界面命令

idle-timeout 设置超时时间

screen-length 设置指定终端屏幕的临时显示行数

history-command max-size 设置历史命令缓冲区的大小

用户可以设置Console界面和VTY界面的属性,以提高系统安全性。如果一个连接上设备的用户一直处于空闲状态而不断开,可能会给系统带来很大风险,所以在等待一个超时时间后,系统会自动中断连接。这个闲置切断时间又称超时时间,默认为10分钟。

当display命令输出的信息超过一页时,系统会对输出内容进行分页,使用空格键切换下一页。

如果一页输出的信息过少或过多时,用户可以执行screen-length 命令修改信息输出时一页的行数。默认行数为24,最大支持512行。不建议将行数设置为0,因为那样将不会显示任何输出内容了。

每条命令执行过后,执行的记录都保存在历史命令缓存区。用户可以利用(↑),(↓)来调用这些命令。历史命令缓存区中默认能存储10条命令,可以通过history-command max-size 改变可存储的命令数,最多可存储256条。

9.配置vty登录

在这里插入图片描述

如果没有权限限制,未授权的用户就可以使用设备获取信息并更改配置。从设备安全的角度考虑,限制用户的访问和操作权限是很有必要的。用户权限和用户认证是提升终端安全的两种方式。用户权限要求规定用户的级别,一定级别的用户只能执行特定级别的命令。

配置用户界面的用户认证方式后,用户登录设备时,需要输入明码进行认证,这样就限制了用户访问设备的权限。在通过VTY进行Telnet连接时,所有接入设备的用户都必须要经过认证。

设备提供三种认证模式,AAA模式、密码认证模式和不认证模式。AAA认证模式具有很高的安全性,因为登录时必须输入用户名和密码。密码认证只需要输入登录密码即可,所以所有的用户使用的都是同一个密码。使用不认证模式就是不需要对用户认证直接登录到设备。需要注意的是,Console界面默认使用不认证模式。

对于Telnet登录用户,授权是非常必要的,最好设置用户名、密码和指定和账号相关联的权限。

注意:不同VRP版本执行 set authentication password cipher 命令有差异:有些平台需要回车后输入密码,另外一些平台可直接在命令后输入密码。故在操作具体产品时请查阅相应VRP产品文档。

10.查看配置

display current-configuration 查看当前配置信息

display saved-configuration 查看已保存的配置信息

save 保存配置

reboot 重启设备

11.端口命令

shutdown 手工关闭端口

undo shutdown 手工打开端口

display interface Ethernet brief 查看端口信息

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

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

相关文章

python-Django项目:图书后台管理系统

具体操作:请参考 Django项目:图书后台管理系统

运维锅总详解计算机缓存

本文从OSI模型中的每一层缓存介绍、常见开源中间件缓存举例、TCP/IP协议栈中的缓存机制、操作系统中的缓存、访问缓存数据的时间范围统计等方面对计算机中的缓存进行详细介绍。希望对您有所帮助! 一、OSI模型中的每一层缓存 1. 物理层(Physical Layer&…

自动化立体仓库出入库能力及堆垛机节拍

导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》人俱乐部 完整版文件和更多学习资料,请球友到知识星球【智能仓储物流技术研习社】自行下载 自动化立体仓库的出入库能力、堆垛机节拍以…

掌握电路交换与分组交换:计算机网络的核心技术

计算机网络是现代信息社会的基石,而交换技术是实现网络通信的核心。本文将详细介绍两种典型的交换方式:电路交换和分组交换,帮助基础小白快速掌握这两种技术的基本概念和区别。 什么是电路交换? 电路交换(Circuit Swi…

Centos系统迁移

目前,CentOS 全系列版本已经于l六月底正式停止维护,这意味着 CentOS 时代彻底终结,也意味着部署在 CentOS 7 上的业务系统将面临前所未有的安全挑战。 本文推荐由红帽衍生出来的且可以做到真正无缝替代的linux版本Open Euler 注&#xff1a…

科普文:Linux服务器性能调优概叙

概叙 Java web应用性能分析之服务端慢和优化概叙_cpu飙高java-CSDN博客 Java web应用性能分析之【CPU飙升分析概述】_web页面性能分析cpu占满是因为死循环,还是循环过多-CSDN博客 在我们的软件服务中,软件部署的服务器,一般都是linux服务器&#xff0c…

rtsp地址 + 测试网站 + java(免环境、免插件、零编码转换http播放)

目录 1、创建rtsp网站 2、测试rtsp网站 3、Java实现rtsp播放 ①maven添加依赖 ②访问http地址即可展示视频内容 1、创建rtsp网站 填写邮箱即可获得两个可用的rtsp网站(每月可免费用2G): https://rtsp.stream/ 2、测试rtsp网站 测试网络…

基于SpringBoot的地方废物回收机构管理系统

本系统主要包括管理员和员工两个角色组成;主要包括:首页、个人中心、员工管理、员工请假管理、销假申请管理、工作日志管理、员工工资管理、员工任务管理、任务汇报管理、设备信息管理、设备借用管理、设备归还管理、设备保修管理、维修入库管理、员工打…

Python酷库之旅-第三方库Pandas(002)

目录 一、用法精讲 1、pandas.read_pickle函数 1-1、语法 1-2、参数 1-3、功能 1-4、返回值 1-5、说明 1-6、用法 1-6-1、代码示例 1-6-2、结果输出 2、pandas.DataFrame.to_pickle方法 2-1、语法 2-2、参数 2-3、功能 2-4、返回值 2-5、说明 2-5-1、文件路径…

数据结构(3.8)——栈的应用

栈在括号匹配中的应用 流程图 代码 #include <stdio.h> #include <stdlib.h> #define MaxSize 10typedef struct {char data[MaxSize];int top; } SqStack;// 初始化栈 void InitStack(SqStack* S) {S->top -1; // 初始化栈顶指针 }// 判空 bool StackEmpty(…

《米小圈日记魔法》边看边学,轻松掌握写日记的魔法!

在当今充满数字化娱乐和信息快速变迁的时代&#xff0c;如何创新引导孩子们学习&#xff0c;特别是如何培养他们的写作能力&#xff0c;一直是家长和教育者们关注的焦点。今天就向大家推荐一部寓教于乐的动画片《米小圈日记魔法》&#xff0c;该系列动画通过其独特的故事情节和…

vue通过后台返回的数字显示不同的文字内容,多个内容用、隔开

后台返回的数据 显示效果&#xff1a; html&#xff1a; <el-table-columnalign"center"label"使用过的小程序"width"124"v-if"activeTab 0"><template #default"scope"><divv-for"(item, index) in s…

数据结构(3.5)——队列的顺序实现

队列的顺序实现 #define MaxSize 10//定义队列中元素的最大个数 typedef struct {int data[MaxSize];//用静态数组存放队列元素int front, rear;//队头指针和队尾指针 } SqQueue;void testQueue() {SqQueue Q;//声明一个队列(顺序存储) } 队列的初始化操作和判空 //初始化队…

大模型面试题目

1.为什么需要做位置编码 位置编码&#xff08;Positional Encoding&#xff09;在变换器&#xff08;Transformer&#xff09;模型中非常重要&#xff0c;因为变换器架构本身没有内置的顺序信息。变换器使用的是自注意力机制&#xff0c;它能够捕捉输入序列中所有词之间的相关性…

论文解析——Transformer 模型压缩算法研究及硬件加速器实现

作者及发刊详情 邓晗珂&#xff0c;华南理工大学 摘要 正文 实验平台 选取模型&#xff1a; T r a n s f o r m e r b a s e Transformer_{base} Transformerbase​ 训练数据集&#xff1a;WMT-2014 英语-德语翻译数据集、IWSLT-2014 英语-德语互译数据集 Transformer模…

kpatch制作内核热补丁步骤总结

零、原理及参考 kpatch入门实践教程-CSDN博客 Kpatch 使用过程及其原理-CSDN博客 一、准备工作 安装对应版本的kpatch-build.rpm并解决依赖diff -Naur dir1 dir2 > hot.patch 拿到补丁文件下载对应内核版本的src.rpm安装好对应的开发包kernel-debuginfo&#xff0c;kern…

数据库开发:mysql基础一

文章目录 数据库开发Day15&#xff1a;MySQL基础&#xff08;一&#xff09;一、MySQL介绍与安装【1】MySQL介绍&#xff08;5&#xff09;启动MySQL服务&#xff08;6&#xff09;修改root登陆密码 二、SQL简介三、数据库操作四、数据表操作4.1、数据库数据类型4.2、创建数据表…

对标 GPT-4o 的开源实时语音多模态模型:Moshi

是由法国的 AI 实验室 Kyutai 推出的实时语音多模态模型&#xff0c;支持听、说、看&#xff0c;最关键的是你现在就可以在浏览器中使用&#xff0c;如果这个链接延迟高&#xff0c;可以试试这个, 无需输入邮箱&#xff0c;点击 Join queue 即可。 简单体验了下&#xff0c;比…

#### golang中【堆】的使用及底层 ####

声明&#xff0c;本文部分内容摘自&#xff1a; Go: 深入理解堆实现及应用-腾讯云开发者社区-腾讯云 数组实现堆 | WXue 堆&#xff08;Heap&#xff09;是实现优先队列的数据结构&#xff0c;Go提供了接口和方法来操作堆。 应用 package mainimport ("container/heap&q…