思科三层交换机配置

news2024/10/3 6:37:33
  1. 三层交换机是什么
  2. 为什么会有三层交换机
  3. 三层交换机的工作原理
  4. 三层交换机的应用

  1.三层交换机是什么

    三层交换机就是具有部分路由器功能的交换机,工作在OSI网络标准模型的第三层:网络层。三层交换机的最重要目的是加快大型局域网内部的数据交换,所具有的路由功能也是为这目的服务的,能够做到一次路由,多次转发。

对于数据包转发等规律性的过程由硬件高速实现,而像路由信息更新、路由表维护、路由计算、路由确定等功能,由软件实现。

2.为什么会有三层交换机

   这个就要涉及到单臂路由的缺陷了。如果在VLAN少数的情况下,路由器还是可以处理过来的,但是极大多数情况下,VLAN是有很多的。所以在这种情况下,单臂路由就有点力不从心了。VLAN增加就导致数据量增大,继而导致路由器和交换机之间的路径成为网络瓶颈了。哪怕增加路由器接口,但是这样只能解决燃眉之急,并不长远。而且子接口依托于物理接口,只要物理接口出现故障,子接口就会瘫痪,这样就会严重影响整个拓扑的运行。并且VLAN直接转发一次都要查看一次路由表,这样就会浪费资源。因此有了三层交换机的出现。

3.三层交换机的工作原理

     三层交换机通过硬件来交换和路由选择数据包。为了能够实现在硬件中处理数据包的高层信息,思科使用了MLS多层交换体系或基于CEF快速转发的MLS体系

 1)传统的MLS体系

    

 

 

          数据帧首先到达路由器,但是路由器不知道VLAN2的Mac地址,所以需要通过ARP请求与响应获得VLAN2 的Mac地址。此时此刻,这是一次路由,也是就是说,新数据通行时,首先是交给三层引擎的(这里的三层引擎可以理解为路由功能),由三层引擎重新封装二层,也就是Mac地址

  
           数据在通过路由表加装VLAN标签和交换机脱掉VLAN标签,并将数据转发给VLAN2

在上一步,由三层引擎更换好Mac地址之后,数据打上了VLAN2的标签,此时此刻,VLAN2是可以通行了,但是想要传到最终pc端,是不是还需要将VLAN2 的标签脱下来?而脱VLAN2的标签就是由交换机处理的,也就是三层交换机的二层交换功能(也就是硬件处理)


           只有第一次经过三层引擎,其他时候都是靠硬件转发

到最后,数据包传到pc端了。从上面的拆开解析中我们就可以得出一个结论。三层交换机的工作原理可以总结成一句话:一次路由,多次交换

  2)基于CEF的MLS

     首先我们要知道CEF技术是思科公司推出的一种路由方案,是一种基于拓扑转发的模型。这就要涉及到CEF的两个主要的组件:转发信息库(FIB)和邻接关系表。

    转发信息路(FIB)是路由器决定目标交换的查找表,FIB的条目和IP路由表条目之间有一一对应的关系,即FIB是IP路由表中包含的路由信息的一个镜像。犹豫FIB包含了所有必须的路由信息,因此就不用再维护路由高速缓存了。当网络拓扑或路由发生变化时,IP路由表被更新,FIB的内容随之发生变化(说的通俗点,就类似于你要在浏览器搜索你要找的东西,第一次搜索的时候,我们是不是需要输入关键词,然后查询。但是当我们第二次查询相同东西的时候,是不是可以直接去寻找浏览记录然后进去就可了?其实FIB就是这样的作用。就类似于路由表条目的缓存。当他第二次寻找相同条目的时候,就不用找路由表了,直接从FIB表找到然后发出就可以了。)

    邻接关系表

      在网络中,如果两个节点之间在数据链路层只有一跳,则他们彼此相邻。除FIB外,CEF还使用邻接关系表来存储第二层编址信息,对于每个FIB条目,邻接关系表中都包含相应的第二层地址,和FIB一样,使用基于CEF的MLS时,第三层引擎和硬件交换组件都维护一个邻接关系表。(就类似于我会知道我的邻居叫啥互相知道彼此的情况,但是我不会去了解我邻居的邻居详细情况)

 综上所述,FIB和邻接关系表肯定是有个先后顺序的,与传统的MLS不同的是,CEF会预先根据路由表学习路由信息,直接存储在FIB表中,邻接关系表预先根据ARP表生成邻接关系表,直接由硬件进行转发  而传统的MSL至少的需要一次软件查询路由表建立转发条目才能使用硬件进行转发

 4.三层交换机的应用

      必须使用命令才能开启CEF功能

      在Cisco 4000交换机上面:ip  cef

       在Cisco  3550交换机上面:ip route-cache cef

     

在这个图,我们 要清楚。三层交换机默认是关闭路由功能的。所以我们第一步肯定是开启路由功能的。如果说想要给三层交换的接口配置ip地址的话,我们就需要进入接口关闭交换机功能。毕竟众所周知的,交换机的接口是配置不了ip地址的。

三层交换机

Switch(config)#vl 10

Switch(config-vlan)#vl 20

Switch(config-vlan)#vl 30

Switch(config)#ip  routing

Switch(config)#int f0/1

Switch(config-if)# sw ac vl 10

Switch(config-if)#int f0/2

Switch(config-if)# sw ac vl 20

Switch(config-if)#int f0/3

Switch(config-if)# sw ac vl 30

Switch(config-if)#int f0/4

Switch(config-if)#no switchport

Switch(config-if)#ip add 192.168.4.1 255.255.255.0

Switch(config-if)#no sh

Switch(config)#ip route 192.168.5.0 255.255.255.0 192.168.4.2

路由器

Router(config)#int f0/1

Router(config-if)#ip add 192.168.5.1 255.255.255.0

Router(config-if)#no sh

Router(config)#int f0/0

Router(config-if)#ip add 192.168.4.2 255.255.255.0

Router(config-if)#no sh

Router(config)#ip route 192.168.1.0 255.255.255.0 192.168.4.1

Router(config)#ip route 192.168.2.0 255.255.255.0 192.168.4.1

Router(config)#ip route 192.168.3.0 255.255.255.0 192.168.4.1

然后pc端配置对应的ip地址能够ping通

 

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

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

相关文章

操作系统-处理机调度

1.处理机调度的概念、层次1.1调度的基本概念制定某种规则来决定处理任务的顺序。1.2调度的三个层次高级调度(作业调度)中级调度(内存调度)进程的挂起态与七状态模型低级调度(进程调度)小结2.进程调度的时机…

VMware安装Linux虚拟机后忘记root密码处理方法

OS版本:Red Hat 7.7 问题说明: 之前用VMWare安装了一台Linux虚机,由于长期没使用,导致忘记了root密码。所以需要修改root密码。 Root密码修改 现将修改root密码的操作步骤记录如下。 1.启动虚拟机,出现启动倒计时…

2023年,智能家居老板如何低成本多开10家店?

作者 | 启明 编辑 | 小沐 出品 | 智哪儿 zhinaer.cn2023年智能家居老板需要一些什么样的新思维来助力业绩增长呢?智哪儿从今天起推出系列观察文章与各位老板共勉。在《三体》电视剧中,三体人在乱纪元通过“脱水”来延续生命,在恒纪元则通过“…

mac 安装、配置、卸载mysql

文章目录mac 安装、配置、卸载mysql安装下载mysql dmg包安装mysql服务启动mysql服务配置系统环境变量配置修改默认密码配置运行远程连接配置my.cnf文件卸载mac 安装、配置、卸载mysql 安装 下载mysql dmg包 下载地址:https://downloads.mysql.com/archives/commu…

面试必问:进程和线程的区别(从操作系统层次理解)

1.什么是进程?为什么要有进程? 进程有一个相当精简的解释:进程是对操作系统上正在运行程序的一个抽象。 这个概念确实挺抽象,仔细想想却也挺精准。 我们平常使用计算机,都会在同一时间做许多事,比如边看…

springboot(6)之前端传递参数的方式 普通 集合 数组

实体类传递 首先我们在后端定义一个实体类,通过lombok插件重写 有参 无参 get set toString 方法, 然后前端发送数据,后端就会自动收到,然后属性填写 后端代码如下 AllArgsConstructor Data NoArgsConstructor public class role …

【Pygame实战】有趣又益智的游戏:看图猜四字成语,最后一个几乎没人会,哪位学霸来猜猜?这么难的嘛?(猜个锤子)

导语 看图猜成语,是考验一个人的反应能力,也考验一个人的右脑思维。 据说越聪明的人,这道题的完成率越高。你想试一试嘛?今天就给你这次机会啦! 所有文章完整的素材源码都在👇👇 粉丝白嫖源码…

RocketMQ5.0.0消息存储<四>_刷盘机制

目录 一、刷盘概览 二、Broker刷盘机制 1. 同步刷盘 2. 异步刷盘 1):未开启堆外内存池 2):开启堆外内存池 三、参考资料 一、刷盘概览 RocketMQ存储与读写是基于JDK NIO的内存映射机制(MappedByteBuffer),消息存储…

深度解析 JavaScript 严格模式:利弊长远的考量

前言 ECMAScript 5首次引入严格模式的概念。严格模式用于选择以更严格的条件检查JavaScript代码错误,可以应用到全局,也可以应用到函数内部。 严格模式的好处是可以提早发现错误,因此可以捕获某些 ECMAScript 问题导致的编程错误。 理解严格…

前端vue实现系统拦截跳转外链并进入跳转询问界面

跳转询问界面如下图所示&#xff1a; 给自己挖坑的实现方式&#xff0c;最终解决方案请看最底下 思路&#xff1a;正常情况下我们有2种方式跳转外链 第一种非a标签&#xff0c;我们手动添加事件进行跳转 <div class"dingdan public-padding p-item" click&quo…

Python 条件语句是什么?

Python条件语句是通过一条或多条语句的执行结果&#xff08;True或者False&#xff09;来决定执行的代码块。 可以通过下图来简单了解条件语句的执行过程: Python程序语言指定任何非0和非空&#xff08;null&#xff09;值为true&#xff0c;0 或者 null为false。 Python 编程…

家政服务小程序实战教程12-详情页

我们的家政服务小程序已经完成了首页和分类展示页面的开发&#xff0c;接下来就需要开发详情页了。在详情页里我们展示我们的各项服务内容&#xff0c;让用户可以了解每项家政服务可以提供的内容。 低码开发不像传统开发&#xff0c;如果开发详情页需要考虑每个字段的类型&…

【TPC证书报错--箱码校验失败】

证书管理—>交易证书管理—>编辑&#xff0c;然后就报错了。 1.这个报错&#xff0c;一般是指一个箱码&#xff0c;【产出/报工】接口失败了&#xff0c;但是【成品入库】和【成品出口】成功了。 2.大概就是【成品出库】接口&#xff0c;会传【销售单号】和【箱码】2个…

ArcGIS与地理加权回归【三】

开 工 大 急 原址链接&#xff1a; ArcGIS与地理加权回归【三】https://mp.weixin.qq.com/s/x85EXKImSHio1IZovW9qdA 接着5个月之前.......ArcGIS与地理加权回归GWR【二】以及MGWR软件下载 在ASU下载了样例“关于影响佐治亚州受教育水平”的数据。在上一篇已简单介绍…

类和对象(下)(一)

类和对象&#xff08;下&#xff09;&#xff08;一&#xff09;1.再谈构造函数1.1构造函数体赋值1.2初始化列表1.3explicit关键字2.static成员2.1概念2.2特性3.匿名对象&#x1f31f;&#x1f31f;hello&#xff0c;各位读者大大们你们好呀&#x1f31f;&#x1f31f; &#x…

Spring框架源码(五) @configuration源码深度解析

Configuration 注解是spring-context模块提供的一个给开发者使用的配置类注解&#xff0c;开发者可以通过Configuration注解来定义配置类&#xff0c;也可以使用xml形式注入。 例如配置数据库配置&#xff0c;定义一个配置类&#xff0c;注入数据源DataSource, 事务管理器Trans…

类和对象(下)(二)

类和对象&#xff08;下&#xff09;&#xff08;二&#xff09;1.友元1.1友元函数1.2友元类2.内部类3.拷贝对象时的一些编译器优化&#xff08;vs2022&#xff09;&#x1f31f;&#x1f31f;hello&#xff0c;各位读者大大们你们好呀&#x1f31f;&#x1f31f; &#x1f680…

【c#】反射学习笔记01

c#反射学习01反射学习一、反射原理二、那么我们是如何通过metadata来实现反射呢&#xff1f;三、反射的好处四、反射创建对象&#xff08;利用配置文件简单工厂反射&#xff09;五、反射的黑科技&#xff08;多构造函数调用、破坏单例、创建泛型&#xff09;六、反射调用实例方…

环境配置完整指导——Installing C++ Distributions of PyTorch

目录一、前言二、动手开始做1. 安装cuda 11.42. 安装visual studio 2019 community3. 安装libtorch4. 安装mingw-w645. 配置环境变量6. 打开vscode开始写程序7. 运行程序8. 其他报错信息文章简介&#xff1a;这篇文章用于介绍在windows10 vscode中&#xff0c;跑通如下代码的全…

JavaScript 教程导读

JavaScript 是 Web 的编程语言。所有现代的 HTML 页面都使用 JavaScript&#xff0c;可以用于改进设计、验证表单、检测浏览器、创建cookies等。JavaScript 非常容易学。本教程将教你学习从初级到高级JavaScript知识。JavaScript 在线实例本教程包含了大量的 JavaScript 实例&a…