三层交换的原理

一.三层交换技术

1.什么是三层交换机

要实现vlan间通信,就需要路由,解决办法要么是二层交换机加路由器形成单臂路由,要么就是直接使用三层交换机。

①什么是单臂路由:

②单臂路由实现不同vlan间通信的原理:

路由器重新封装mac地址,转换vlan标签

③单臂路由缺点:

①“单臂”为网络骨干链路,容易形成网络瓶颈。

②子接口依托于物理接口,应用不灵活。

③vlan间转发需要查看路由表,浪费资源。

2.三层交换机

三层交换机:本质上就是“带有路由功能的(二层)交换机”。路由属于OSI参考模型中第三层网络层功能,因此被称为“三层交换机”。

①三层交换机原理

使用三层交换技术实现不同vlan之间的通信

三层交换 = 二层交换 + 三层转发

原理:当三层设备接收到一个数据帧,会拆除源数据帧,重新封装新的源MAC地址和目标MAC地址,并且因为帧头部的信息发生变化,最后的帧校验CRC也应当随之改变。

在这个数据流中的多个数据包,其中只有第一个数据包是由三层交换的三层引擎来处理的,处理方式是软件方式,与路由器相同,三层引擎获取了新的2层封装信息后,路由这个数据包。

②三层交换机硬件转发原理

一次路由 多次交换

只会查找一次路由表,然后形成mis条目,后续的包按照mis条目转发

二.三层交换机实现方式

1.传统的MLS

一次路由,多次交换

使用传统的MLS时,交换机将数据流中的第一个数据包转发给第三层引擎,后者以软件交换的方式对数据包进行处理。对数据流中的第一个数据包进行处理后,第三层引擎对硬件交换组织进行编程,是之为后续的数据包选择路由。

这个过程被称为“一次路由,多次交换”,也就是说交换机的三层引擎只需要处理数据流中的第一个数据包,而后续的数据全部由硬件来执行转发。这样实现了三层交换的线速转发。

2.基于CEF的MLS

与传统的MLS不同的是,CEF预先根据路由表(ip地址与接口对应关系)学习路由信息后,直接存储在FIB(转发信息库)。CEF预先根据ARP表(ip地址与MAC地址对应关系)生成邻接关系表,直接由硬件进行转发,传统的MLS至少需要软件查询一次路由表后,建立转发条目,才能使用硬件进行转发。
FIB(转发信息库):IP 地址与VLAN ID对应关系

邻接关系表:邻接主机和交换机MAC地址的对应关系

三.虚接口

三层交换机具备路由功能,所以两个vlan之间可以相互访问,每一个vlan虚接口就是网段的网关。

四.总结

①:VLAN是交换机的逻辑划分:划分广播、安全、简化管理

②:Trunk简化网络结构:实现同Vlan跨交换机互通

③:三层交换机的特点和原理:一次路由、多次交换

④:三层交换机实现不同Vlan间互通

⑤:三层交换机多用于核心层:路由功能 + 高速转发

⑥:三层交换机具有路由功能可以转发数据,IP地址是配置再虚拟接口上而不是物理接口上,物理接口对接交换机的配置Trunk,对接PC机的配置Access。

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

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

相关文章

os功能模板

【 一 】简介 os 就是 “operating system” 的缩写,顾名思义,os 模块提供的就是各种 Python 程序与操作系统进行交互的接口。通过使用 os 模块,一方面可以方便地与操作系统进行交互,另一方面页可以极大增强代码的可移植性。如果该…

Linux-----8、相关符号

# 相关符号 # 1、名词解释 标准输入(stdin):键盘上的输入 文件描述符—>0 标准输出(stdout):屏幕上 正确 的输出 文件描述符—>1 标准错误(stderr):屏幕上 错误…

为什么MCU在ADC采样时IO口有毛刺?

大家在使用MCU内部ADC进行信号采样一个静态电压时,可能在IO口上看到这样的波形。这个时候大家一般会认识是信号源有问题,但仔细观察会发现这个毛刺的频率是和ADC触发频率一样的。 那么为什么MCU在ADC采样时IO口会出现毛刺呢?这个毛刺对结果有…

ActionCLIP:A New Paradigm for Video Action Recognition

文章目录 ActionCLIP: A New Paradigm for Video Action Recognition动机创新点相关工作方法多模态框架新范式预训练提示微调 实验实验细节消融实验关键代码 总结相关参考 ActionCLIP: A New Paradigm for Video Action Recognition 论文:https://arxiv.org/abs/21…

【Spark面试】Spark面试题答案

目录 1、spark的有几种部署模式,每种模式特点?(☆☆☆☆☆) 2、Spark为什么比MapReduce块?(☆☆☆☆☆) 3、简单说一下hadoop和spark的shuffle相同和差异?(☆☆☆☆☆…

mybatis中oracle的sql没走索引导致特别慢(未加jdbcType的)

如果直接跑sql是能走索引很快,在mybatis中不能,可能就是jdbcType的原因。 比如,我有一个属性A,在表里面是VARCHAR2类型,但是在mybatis中的sql是#{a},缺少jdbcTypeJdbcType.VARCHAR,就会导致myba…

【精选】计算机网络教程(第3章数据链路层)

目录 前言 第3章数据链路层 1、差错检测(CRC) 2、点对点协议(了解应用场景) 3、什么是碰撞域,什么是广播域 碰撞域(Collision Domain): 广播域(Broadcast Domain&a…

1.Mybatis框架基本使用

特点: mybatis是一款优秀的持久层框架 支持定制化的SQL、存储过程以及高级映射 mybatis可以使用简单的XML或注解来配置和映射原生类型、接口和java的POJO实例 优点: 1.简单、灵活、sql和代码分离,提高可维护性 2.提供映射标签,支持对象与数据库的orm字段关系映射 3.提…

python+pytest接口自动化(16)-接口自动化项目中日志的使用 (使用loguru模块)

通过上篇文章日志管理模块loguru简介,我们已经知道了loguru日志记录模块的简单使用。在自动化测试项目中,一般都需要通过记录日志的方式来确定项目运行的状态及结果,以方便定位问题。 这篇文章我们使用loguru模块来记录接口自动化测试中的日…

灾备建设中,虚拟机异构平台恢复技术原理与应用

在如今混合云环境下,实现异构虚拟化恢复与迁移面临着极大挑战。不同于市面上有代理的恢复方案,虚拟机无代理跨平台恢复解决方案利用自主研发的转换引擎(VMCE)对已备份虚拟机文件进行高效的存储格式转换和配置信息转换,…

介绍strncpy函数

strncpy函数需要引用#include <string.h>头文件 函数原型&#xff1a; char *_Dest 是字符串的去向 char *_Source是字符串的来源 size_t_Count是复制字符串的大小 #include <stdio.h> #include <string.h> int main() { char arr[128] { \0 }; …

openGauss学习笔记-163 openGauss 数据库运维-备份与恢复-导入数据-使用COPY FROM STDIN导入数据-简介

文章目录 openGauss学习笔记-163 openGauss 数据库运维-备份与恢复-导入数据-使用COPY FROM STDIN导入数据-简介163.1 关于COPY FROM STDIN导入数据163.2 CopyManager类简介163.2.1 CopyManager的继承关系163.2.2 构造方法163.2.3 常用方法 openGauss学习笔记-163 openGauss 数…