图解系列--理解L3交换机的性能与功能

04.01 何为 L3 交换机

L3交换机是一种在L2 交换机的基础上增加了路由选择功能的网络硬件,能够通过基于ASIC 和 FPGA 的硬件处理高速实现网络功能和转发分组。L2 是指 OSI 参考模型中的L2, 也就是数据链路层。L2 交换机能够基于该层主要编址的 MAC 地址,进行数据帧或VLAN(VirtualLan)的传输工作。L3 交换机能够基于位于网络层(L3) 的 IP 首部信息,实现路由选择以及分组过滤等功能。

L2 交换机可以通过使用VLAN 分割广播域,但终端之间的数据帧交换必须位于同一VLAN 范围内。对位于不同VLAN 上的终端如有通信需求时,则必须使用路由功能,因此需要在网络上额外添加路由器(图4-1)。L2 交换机与路由器相组合才能完成跨VLAN 的通信,但使用L3 交换机则无需其他硬件设备,能够直接完成 VLAN 配置和 VLAN 之间的通信过程。

现在,越来越多组织的内部网络核心交换机采用L3 交换机。L3 交换机多用于在由以太网构筑的 Intranet 内部转发分组,而路由器则大多作为连接互联网和 Intranet 内网之间的网关来使用。

04.01.01 L3 交换机与路由器的不同

现在市场上主流的 L3 交换机产品一般仅支持以太网的数据链路层协议和 IP 网络的网络层协议。
路由器的物理层以及数据链路层除了IEEE 802 标准以外,还需支持其他各种协议,其中包 括ATM、帧中继、SDH 、串口等。网络层和传输层也同样需要支持TCP/IP 协议簇以外的协 议簇,如 IPX 、AppleTalk 等。这些处理一般都由运行在CPU 上的软件来完成,与L3 交换机 相比,速度会慢不少,但类似远程接入、安全功能这样必须由路由器CPU 来处理的功能也很多 (表4-1)。
在这里插入图片描述

L3 交换机的架构

传统路由器的路由选择功能、分组转发以及管理功能等均由 CPU 处理,管理功能负载的增加,就 会带来分组转发能力的下降。L3 交换机改善了这一缺点,将硬件设备内部分离成两个区域,即以路由选择、管理功能为主的控制平面和以数据转发功能为主的数据平面,从而实现了能够高速转发分组的系统架构。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

04.04 L3 交换机搭载的特殊功能

04.04.01 L3 交换机功能的分类在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

04.04.02 VLAN

由**1台或者多台交换集线器所组成的1个广播域可以称为是一个扁平网络(flat network)。 该网络只由L2组成,相互连接的硬件会接收所有网络发来的广播帧。因此,随着连接硬件数量的增加,广播数量也会增加,网络状况也就越发混杂。这种情况下就需要采用能够将整个扁平网络进行逻辑分段的VLAN(Virtual LAN)技术。各个VLAN均使用同1个广播域,因此能够控制该域内广播通信的规模。(图4-14)

交换机通过设置(configuration) 能够轻易更改物理端口的属性,使该物理端口附加到某个VLAN 之中,因此当连接交换机的用户终端发生变化时,也无需更改所对应的物理配线。VLAN 之间的通信需要使用路由选择,不借助路由器就无法与不同VLAN 的终端进行通信,
因此安全性也有了保障。VLAN 在1998年的 IEEE 802.1Q 中完成了标准化。

基于端口的 VLAN

基于端口的 VLAN(Port VLAN)是指在1台交换机上完成 VLAN 构建的功能。
基于端口的VLAN 是在交换机的端口上设置VLAN ID信息,将拥有相同VLAN ID的多个 端口构成一个 VLAN 。 符合IEEE 802.1Q标准的交换机在初始状态时所有端口默认VLANID=1 (即 VLAN1), 但是使用者能够对任意一个端口进行VLANID=2 的设置,从而使该端口归属VLAN 2。

在这里插入图片描述
在这里插入图片描述

个人理解:
广播分为链路层广播,IP层广播。
链路层广播指的是采用链路层MAC地址通过接口发出帧,链路上所有接口均可接收此帧。
集线器无法隔离链路层广播,交换机可以。

IP层广播指的是采用IP的网络广播地址(对应的MAC地址也是特殊的广播地址,此帧到达链路上交换机,交换机会向自身其他端口转发,进而达到网络内广播,引入VLAN后,对于广播MAC地址,交换机依然可以获取帧中VLAN,来向指定端口转发,实现广播隔离)通过接口发出帧,子网内所有接口均可接收此帧。
交换机无法隔离IP层广播。路由器可以。L3交换机可以。引入VLAN的L2交换机也可以。

标签 VLAN(IEEE 802.1Q)

当需要跨越多个交换机创建 VLAN 时, 一般会用到使用中继端口(trunk port)的标签 VLAN (tag VLAN)。标 签VLAN 通过中继端口完成以太网数据帧的收发,其中以太网数据帧上需添加4字节IEEE 802.1Q所定义的首部(即 VLAN 标签信息)(图4-15)。为以太网数据帧添加标签的过程称为 tagging 。当 tagging 完成后,以太网数据帧的最大长度将从1518字节变为1522字节,因为其中还包含了12bit 的 VLAN ID信息,因此最多可以支持的VLAN 数也达到了4096个。
在这里插入图片描述

在以太网中, TPID 的值为0x8100。如果发送源地址后面的值不是0x8100,那么该域则不表 示 TPID 信息,而是作为“长度/类型”数据域被识别。顺便一提,当“长度/类型”数据域的值 在0x05DC(10 进制数为1500)以下时,表示该以太网数据帧的长度;在0x0600 以上时,则表示 该以太网数据帧的类型。表示以太网数据帧类型的值分别是:IPv4 为 0x0800,ARP 为 0x0806、IPv6为 0x86DD 等。
一些不支持IEEE 802.1Q的交换机由于无法识别TPID,会将0x8100的值视作以太网帧类型,但是由于不存在0x8100类型的数据帧,因此交换机会将其作为错误帧直接丢弃。IEEE802.1Q 标准中定义的首部还存在一个数据域——TCI, 该数据域可以进一步分成3个子数据域(表4-12)。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本 征 VLAN

VLAN 编号为1的 VLAN 通常被称为本征 VLAN(Native VLAN)或管理员 VLAN, 一般用 于管理 VLAN, 也作为初始值分配给交换机的各个端口。本征 VLAN 的指定或变更是可以自定 义的,但基本所有厂商的交换机都默认使用VLAN ID为 1 的VLAN 作为本征VLAN。 在定义新 VLAN 时如果设定VLAN ID=1,则有可能会发生同预期端口无法通信的情况,因此最好使用2以上的数值作为新建 VLAN 的 ID。

中继端口

使用标签 VLAN 向其他交换机传递VLAN 编号时,首先需要设置中继端口(trunk port )。中 继端口也被称为“附带标签的端口”,能够属于多个VLAN, 与其他交换机进行多个VLAN 的数据帧收发通信。两台交换机中继端口之间的链路则称为中继链路(trunk link)。与中继端口和中继链路相对应的还有接入端口(access port) 和接入链路(access link)这 两个概念。接入端口只属于1个VLAN, 接入链路也仅传输1个VLAN 数据帧(图4-18)。
在这里插入图片描述
在这里插入图片描述

04.04.03 VLAN 环境中的数据流向

假设现在主机A 要和属于同一VLAN 的主机F 通过运行 ping 命令通信。
主机A 的用户在命令行提示符处输入了主机 FIP 地址或主机名(域名)的 ping 命令,如果输入的是主机名,则需要通过DNS 进行主机名解析,然后才能获取主机F 的 IP 地址。

由于主机A 同主机F 位于同一网段(相同广播域),因此主机 A需要知道主机F 的 MAC 地址,这时主机 A 会向主机 F 发送 ARP 请求的广播。交换机1接收到来自主机A 的 ARP 请求消息后,在MAC 地址表中记录下主机A 的信息, 由于ARP 请求的目的地MAC 地址为广播地址,因此交换机1会向除接收端口之外的所有端口 复制该数据帧并进行扩散 (flooding),但 在VLAN 环境下,只有和主机A 同属一个 VLAN 的端口会被扩散到。交换机2接收到来自主机A 的 ARP 请求后,在MAC 地址表中记录下主机 A 的信息。之后 与交换机1一样,交换机2也会向除接收端口之外的、所有同属一个 VLAN 的端口复制该数据帧并进行扩散(flooding)。主机F 接收到 ARP 的请求后,向主机 A 回复ARP 的响应消息。这时交换机2将习得主机 F 的 MAC 地址信息,因为之前已经从ARP 请求中习得了主机 A的 MAC 地址信息,因此ARP 响应消息将直接转发到端口1处。交换机1接受ARP 响应消息后,也从中习得主机F 的 MAC 地址,综合判断所有习得的信
息后将 MAC 地址信息转发至交换机的端口1处。由于主机 A已经知道目的地的 MAC 地址,因此利用该地址信息向主机 F发送 ICMP echo消息。

04.04.04 VLAN 之间的路由选择

  1. L2 交换机
    在 L2 交换机上设置了多个VLAN 后,单台交换机就无法在不同的VLAN 之间转发以太网数据帧。
    当需要在多个VLAN 之间转发数据时, 一般会使用中继链路连接路由器,通过路由器进行VLAN 之间的路由选择。
    在这里插入图片描述

  2. L3 交换机
    L3 交换机能够在交换机内部直接完成VLAN 之间的路由选择。

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

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

相关文章

深度学习框架TensorFlow.NET环境搭建1(C#)

测试环境 visual studio 2017 window10 64位 测试步骤如下: 1 新建.net framework控制台项目,工程名称为TensorFlowNetDemo,.net framework的版本选4.7.2,如下图: 2 分别安装TensorFlow.NET包(先装)和SciSharp.…

力扣每日一题100:相同的树

题目描述: 给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 输入:p [1,2,3], q [1,2,3] 输出&…

计算机毕设 基于大数据的抖音短视频数据分析与可视化 - python 大数据 可视化

文章目录 0 前言1 课题背景2 数据清洗3 数据可视化地区-用户观看时间分界线每周观看观看路径发布地点视频时长整体点赞、完播 4 进阶分析相关性分析留存率 5 深度分析客户价值判断 5 最后 0 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,…

VR全景技术在文化展示与传播中有哪些应用?

引言: 随着科技的不断进步,虚拟现实(VR)全景技术已经成为文化展示与传播领域的一项重要工具。那么VR全景技术是如何改变文化展示与传播方式,VR全景技术又如何推动文化的传承和普及呢? 一.VR技术…

第11章_数据处理之增删改

文章目录 1 插入数据1.1 实际问题1.2 方式 1:VALUES的方式添加1.3 方式2:将查询结果插入到表中演示代码 2 更新数据演示代码 3 删除数据演示代码 4 MySQL8新特性:计算列演示代码 5 综合案例课后练习 1 插入数据 1.1 实际问题 解决方式&#…

是时候放弃 Java 序列化了

基本概念 Java 序列化和反序列化三连问: 什么是 Java 序列化和反序列化?为什么需要 Java 序列化和反序列化?如何实现 Java 序列化和反序列化? 是什么 一句话就能够说明白什么是 Java 序列化和反序列化?Java 序列化…

linux傻瓜式安装Java环境及中间件

linux配置Java环境及中间件 1.傻瓜式安装Java1.下载2.追加3.刷新测试 2.傻瓜式安装docker1.docker卸载2.docker安装 3.Docker傻瓜式安装Redis1.傻瓜式安装安装并配置 4.Docker傻瓜式安装RabbitMQ5.Docker傻瓜式安装MySql1.拉取2.配置 6.傻瓜式安装Nacos1.官网下载nacos2.SQL文件…

vue2.0 打包,nginx部署

1、修改这里为空 否则报错:vue is undefined 2、修改为hash,重点:打包dist文件运行,必须这样 3、安装ngnix,重点:使用node的包:httpserve,失败 4、重点:配置代理转发 前端…

MySQL:事务

目录 概念事务特性开始事务事务的状态事务并发问题事务隔离级别 概念 MySQL事务是一组在数据库中执行的操作,它们必须要么全部成功执行,要么全部不执行。MySQL事务被设计为确保数据库中的数据的完整性和一致性,即使在并发访问的情况下也是如…

MySQL进阶之性能优化与调优技巧

数据库开发-MySQL 1. 多表查询1.1 概述1.1.2 介绍1.1.3 分类 1.2 内连接1.3 外连接1.4 子查询1.4.1 介绍1.4.2 标量子查询1.4.3 列子查询1.4.4 行子查询1.4.5 表子查询 2. 事务2.1 介绍2.2 操作2.3 四大特性 3. 索引3.1 介绍3.2 结构3.3 语法 1. 多表查询 1.1 概述 1.1.2 介绍…

上线Spring boot-若依项目

基础环境 所有环境皆关闭防火墙与selinux 服务器功能主机IP主机名服务名称配置前端服务器192.168.231.177nginxnginx1C2G后端服务器代码打包192.168.231.178javajava、maven、nodejs4C8G数据库/缓存192.168.231.179dbmysql、redis2C4G Nginx #配置Nginxyum源 [rootnginx ~]…

基于葡萄串的采摘点定位方法

文章目录 概要所需设备方法基于RGB图像的YOLOV8目标检测基于深度图的区域种子生长利用峰值定位法来确定竖向位置核心代码演示效果概要 这里将介绍如何用图像识别方法来定位葡萄串采摘点,用于机器人自动采摘操作。 所需设备 深度相机,这里我用的是realsense-L515 方法 主…

Spring Boot Actuator 漏洞利用

文章目录 前言敏感信息泄露env 泄露配置信息trace 泄露用户请求信息mappings 泄露路由信息heapdump泄露堆栈信息 前言 spring对应两个版本,分别是Spring Boot 2.x和Spring Boot 1.x,因此后面漏洞利用的payload也会有所不同 敏感信息泄露 env 泄露配置信…

野火霸天虎 STM32F407 学习笔记_2 寄存器介绍

寄存器 虽然正式编程没有必要用寄存器编程,通常都是库函数或者 hal 库。但是还是有必要学一下原理的。 寄存器映射 芯片视图如下。 丝印:芯片上印的信息。型号,内核,生产批次等。 引脚:左上角是有小圆点的&#x…

Android性能优化--Perfetto用SQL性能分析

Android性能优化–Perfetto用SQL性能分析 文章目录 Android性能优化--Perfetto用SQL性能分析介绍Perfetto SQL 基础使用 Perfetto SQL 进行性能分析总结 本文首发地址 https://blog.csdn.net/CSqingchen/article/details/134167741 最新更新地址 https://gitee.com/chenjim/che…

Git(七).git 文件夹瘦身,GitLab 永久删除文件

目录 一、问题背景二、问题复现2.1 新建项目2.2 上传大文件2.3 上传结果 三、解决方案3.1 GitLab备份与还原1)备份2)还原 3.2 删除方式一:git filter-repo 命令【推荐】1)安装2)删除本地仓库文件3)重新关联…

将 UniLinks 与 Flutter 集成(安卓 AppLinks + iOS UniversalLinks)

让我们使用 Flutter Mobile 和 Flutter Web 集成 UniLinks。 一步一步的指导! 我是 Pedro Dionsio,是葡萄牙 InspireIT 公司的 Flutter 开发人员,我写这个 UniLinks 教程的座右铭是: Firebase DynamicLinks 已被弃用&#xff0…

机器学习笔记 - 感知器的数学表达

一、假设前提 感知机(或称感知器,Perceptron)是Frank Rosenblatt在1957年就职于Cornell航空实验室(Cornell Aeronautical Laboratory)时所发明的一种人工神经网络。 它可以被视为一种最简单形式的前馈神经网络,是一种二元线性分类模型,其输入为实例的特征向量,输出为实…

同为科技(TOWE)自动断电倒计时定时桌面PDU插排

在每个家庭中,插排插座都是必不可少的电源设备。随着各种电器的普及应用和生活节奏的加快,人们对插排也有着多样化的需求,比如在插排中加入定时开关、自动断电、断电记忆、倒计时等等功能,让原本不支持智能家居的用电器秒变智能。…

Mysql高级——Mysql8一主一从,多主多从搭建

修改 /etc/hosts文件 ip地址 master1 ip地址 master2 ip地址 slave1 ip地址 slave2一主一从 create database master1db;create table master1db.master1tab(name char(50));insert into master1db.master1tab VALUES(1111);insert into master1db.master1tab VALUES(2222);m…