【网络协议详解】——VLAN技术(学习笔记)

news2024/9/21 2:33:00

目录

  • 🕒 1. VLAN介绍
    • 🕘 1.1 目标
    • 🕘 1.2 帧格式
    • 🕘 1.3 划分方式
    • 🕘 1.4 链路
    • 🕘 1.5 端口模式
      • 🕤 1.5.1 接入端口
      • 🕤 1.5.2 干道端口
      • 🕤 1.5.3 混合端口(仅华为交换机有)
  • 🕒 2. VLAN内通信
  • 🕒 3. VLAN间通信
    • 🕘 3.1 概述
    • 🕘 3.2 解决VLAN间互通的方法
  • 🕒 4. 实验:利用单臂路由实现VLAN间通信
  • 🕒 5. 实验:利用三层交换机实现VLAN间通信

🕒 1. VLAN介绍

🕘 1.1 目标

VLAN技术把用户划分成多组逻辑的网络,组内可以通信,组间不允许通信。

二层转发的单播、组播、广播报文只能在组内转发。

为了实现转发控制,在待转发的以太网帧中添加 VLAN标签 ,然后设定交换机端口对该标签和帧的处理方式。

方式包括丢弃帧、转发帧、添加标签、移除标签。

🕘 1.2 帧格式

在这里插入图片描述

  • 标签协议标识TPID:固定取值为0x8100,表明这是一个携带802.1Q标签的帧
  • 优先级PRI:指明帧的优先级。0-7,表示8种优先级,提供有差别的转发服务。
  • 标准格式指示CFI:在以太网环境中,这个字段始终为0。
  • VLAN标识:它唯一地标志了以太网帧属于哪一个VLAN
    • VID的取值范围是0~ 4095 (0 ~ 212-1)
    • 0和4095都不用来表示VLAN,因此用于表示VLAN的VID的有效取值范围是1 ~ 4094

802.1Q帧是由交换机来处理的,而不是用户主机来处理的

  • 当交换机收到普通的以太网帧时,会将其插入4字节的VLAN标记转变为802.1Q帧,简称“打标签”。
  • 当交换机转发802.1Q帧时,可能会删除其4字节VLAN标记转变为普通以太网帧,简称“去标签”。

端口上接收时总希望能够打上标签,发送出去时候总希望能去除标签

🕘 1.3 划分方式

  • 基于端口(常用)
    在这里插入图片描述

  • 基于MAC地址
    在这里插入图片描述

  • 基于协议
    在这里插入图片描述

  • 基于子网
    在这里插入图片描述

  • 基于策略(安全性很高)

🕘 1.4 链路

VLAN 技术的出现,使得交换网络中存在了带VLAN 的以太网帧和不带VLAN 的以太网帧。因此,相应地也对链路做了区分:
(1)接入链路(Access Link):连接用户主机和交换机的链路。通过的帧为不带Tag 的以太网帧。
(2)干道链路(Trunk Link):连接交换机和交换机的链路。通过的帧一般为带Tag 的VLAN 帧,也允许通过不带Tag 的以太网帧。

🕘 1.5 端口模式

交换机的端口类型有以下三种:Access、Trunk、Hybrid

交换机各端口的缺省VLAN ID

  • 在思科交换机上称为Native VLAN,即本征VLAN。
  • 在华为交换机上称为Port VLAN ID,即端口VLAN ID,简记为PVID。每个端口有且只有一个PVID,默认情况下端口的PVID都为1(即端口属于VLAN 1)

🕤 1.5.1 接入端口

  • 接入端口(Access Port):一般用于终端设备与交换机之间

注意:交换机与路由器连接的接口也需要使用接入接口。这是因为路由器中的消息也不带VLAN标签,就像终端一样,保证路由器的数据能够进入交换机领域,数据由路由器进入交换机是会被打上默认标签,接着猜按照交换机间VLAN的规则行走。简单理解就是把路由器当作终端。

  • 接入端口只能属于一个VLAN

  • 接入端口的PVID值与端口所属VLANID相同(默认为1

  • 接入端口接收处理方法:一般只接收"未打标签"的普通以太网MAC帧。根据接收帧的端口PVID值给帧"打标签",即插入4字节的VLAN标记字段,字段中的VID取值与端口PVID取值相等

  • 接入端口发送处理方法:若帧中的VID与端口的PVID相等,则"去标签"并转发该帧;否则不转发

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

🕤 1.5.2 干道端口

  • 干道端口(Trunk Port):一般用于交换机之间或交换机与路由器之间的互连
  • 干道端口可以属于多个VLAN
  • 用户可以设置干道端口的PVID值,默认情况下,干道端口PVID值为1
  • 干道端口发送处理方法
    • VID等于PVID的帧,“去标签,再转发”
    • VID不等于PVID的帧,直接转发
  • 干道端口接收处理方法
    • 接收"未打标签"的帧。根据接收帧的端口的PVID给帧"打标签",即插入4字节的VLAN标记字段,字段中的VID取值与端口的PVID取值相等
    • 如该端口允许进入,则直接接收"已打标签的帧",否则丢弃

🕤 1.5.3 混合端口(仅华为交换机有)

  • 混合端口(Hybrid Port):既可以用于交换机之间或交换机与路由器之间的互连(同干道端口),也可用于交换机与用户计算机之间的互连(同接入端口)
  • 混合端口可以属于多个VLAN(同干道端口)
  • 用户可以设置混合端口的PVID值。默认情况下,混合端口的PVID值为1(同干道端口)
  • 混合端口发送处理方法与干道端口不同):
    • 查看帧的VID是否在端口的"去标签"列表中
    • 若存在(untag),则"去标签"后转发
    • 若不存在(tag),则直接转发
  • 混合端口接收处理方法(同干道端口):
    • 接收"未打标签"的帧。根据接收帧的端口的PVID给帧"打标签",即插入4字节的VLAN标记字段,字段中的VID取值与端口的PVID取值相等
    • 如该端口允许进入,则直接接收"已打标签的帧",否则丢弃

在这里插入图片描述

🕒 2. VLAN内通信

在这里插入图片描述

在这里插入图片描述

(1)数据帧首先到达SWA 的端口GE0/0/4。
(2)端口GE0/0/4 给数据帧加上Tag,Tag 的VID 字段填入该端口所属的VLAN 的编号2。
(3)SWA 查找VLAN2的MAC 地址表,将该帧转发到相应的出端口GE0/0/2,到SWB。
(4)SWB 收到帧后,会根据帧中的Tag 识别出该帧属于VLAN2,查找MAC 地址表,将该帧转发到相应的出接口
(5)端口GE0/0/3 将数据帧发送给主机Host B。

🕒 3. VLAN间通信

🕘 3.1 概述

VLAN隔离了二层广播域,也就严格地隔离了各个VLAN之间的任何流量,分属于不同VLAN的用户不能互相通信。

不同VLAN 之间的流量不能直接跨越VLAN 的边界,需要使用路由,通过路由将报文从一个VLAN 转发到另外一个VLAN。

在主机设置默认网关,对于非本地的通信,主机会自动寻找默认网关,并把报文交给默认网关转发而不是直接发给目的主机。

🕘 3.2 解决VLAN间互通的方法

为每个VLAN 分配一个单独的路由接口:

  • 在二层交换机上配置VLAN,每一个VLAN使用一条独占的物理连接连接到路由器的一个接口上。
  • 随着每个交换机上VLAN数量的增加,这样做必然需要大量的路由器接口,出于成本考虑一般不采用。

多个VLAN公用一条物理连接:

  • 二层交换机上和路由器上配置他们之间相连的端口使用VLAN Trunking,使多个VLAN共享同一条物理连接到路由器
  • 这种方式也称为独臂路由或者单臂路由,它只需要一个以太网接口,通过创建子接口可以承担所有VLAN 的网关,从而在不同的VLAN 间转发数据。

在这里插入图片描述
路由器仅仅提供一个以太网接口,而在该接口下提供三个子接口分别作为3个VLAN用户的缺省网关,当VLAN100的用户需要与其它VLAN的用户进行通信时,该用户只需将数据包发送给缺省网关,缺省网关修改数据帧的VLAN标签后再发送至目的主机所在VLAN,即完成了VLAN间的通信。

三层交换机:

  • 既具备二层交换机的交换功能,又具备路由器的路由功能。
  • 主机设置默认网关就是三层交换机中虚拟VLAN接口的IP地址。

在这里插入图片描述

🕒 4. 实验:利用单臂路由实现VLAN间通信

🔎 【GNS3】Window10 下 GNS3 配置 IOU 模拟环境

题目:本实验模拟公司网络场景。路由器RI是公司的出口网关,员工PC通过交换机IOU1接入公司网络,交换机IOU1与路由器R1相连。
公司内部网络通过划分不同的VLAN隔离了不同部门之间的二层通信,保证各部门间的信息安全。但是由于业务需要,市场部和人事部之间需要能实现跨VLAN通信, 网络管理员决定借助路由器的三层功能,通过配置单臂路由来实现。

步骤:开启GNS3虚拟机,新建拓扑文件,在工作区添加一台二层交换机(IOU)、一台路由器和两台PC,按下图连接路由器、交换机和PC,开启设备。设备的vlan 配置和IP地址配置按下表进行。PC1属于VLAN30,PC2属于VLAN40,现需要在路由器R1上配置单臂路由使得VLAN30和40连通。将路由器和交换机的配置指令截图如下:

在这里插入图片描述

设备接口IP地址地址掩码默认网关
R1F0/0.110.0.1.1255.255.255.0-
F0/0.210.0.2.1255.255.255.0-
PC-1E010.0.1.2255.255.255.010.0.1.1
PC-2E010.0.2.2255.255.255.010.0.2.1
设备接口接口类型所属VLAN允许通过的VLAN
IOU1E0/0trunk-30、40
E0/1access30-
E0/2access40-

配置R1:

# 打开接口
R1#conf t
R1(config)#int f0/0
R1(config-if)#no shutdown
# 配置子接口IP
R1(config)#int f0/0.1
R1(config-subif)#encapsulation dot1q 30
*Mar  1 00:04:36.471: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
R1(config-subif)#ip address 10.0.1.1 255.255.255.0
R1(config-subif)#exit
*Mar  1 00:04:54.855: %SYS-5-CONFIG_I: Configured from console by console
R1(config)#int f0/0.2
R1(config-subif)#encapsulation dot1q 40
R1(config-subif)#ip address 10.0.2.1 255.255.255.0
*Mar  1 00:05:52.107: %SYS-5-CONFIG_I: Configured from console by console
# 在R1上查看路由表
R1#show ip route

在这里插入图片描述

配置PC-1与PC-2:

PC-1> ip 10.0.1.2/24 10.0.1.1
Checking for duplicate address...
PC1 : 10.0.1.2 255.255.255.0 gateway 10.0.1.1

PC-1> save
Saving startup configuration to startup.vpc
.  done

PC-2> ip 10.0.2.2/24 10.0.2.1
Checking for duplicate address...
PC2 : 10.0.2.2 255.255.255.0 gateway 10.0.2.1

PC-2> save
Saving startup configuration to startup.vpc
.  done

配置IOU1:

IOU1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
# 创建VLAN
IOU1(config)#vlan 30
IOU1(config)#vlan 40
# 配置设备端口为 Access 类型
IOU1(config)#int e0/1
IOU1(config-if)#switchport access vlan 30
*May 17 05:46:42.170: %SYS-5-CONFIG_I: Configured from console by console
IOU1(config-if)#exit
IOU1(config)#int e0/2
IOU1(config-if)#switchport access vlan 40
*May 17 05:47:16.330: %SYS-5-CONFIG_I: Configured from console by console
IOU1(config-if)#exit
# 配置设备端口为 Trunk 类型
IOU1(config)#int e0/0
IOU1(config-if)#switchport trunk encapsulation dot1q
*May 17 05:48:51.668: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/0, ch
IOU1(config-if)#switchport mode trunk
*May 17 05:49:10.903: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/0, ch
IOU1(config-if)#switchport trunk allowed vlan 30,40
*May 17 05:49:47.394: %SYS-5-CONFIG_I: Configured from console by console
# 在IOU1上查看VLAN
IOU1#show vlan
IOU1#show interface e0/0 switchport

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

配置完记得write保存!

在PC1上ping PC2:
在这里插入图片描述

在这里插入图片描述

🕒 5. 实验:利用三层交换机实现VLAN间通信

题目:本实验模拟公司网络场景。员工PC通过交换机IOU2接入公司网络,交换机IOU2与三层交换机IOU1相连。
公司内部网络通过划分不同的VLAN隔离了不同部门之间的二层通信,保证各部门间的信息安全。但是由于业务需要,市场部和人事部之间需要能实现跨VLAN通信, 网络管理员决定借助三层交换机来实现。

在这里插入图片描述

设备接口接口类型所属VALN允许通过VLAN
IOU2Ethernet 0/0TrunkN/Aall
Ethernet 0/1AccessVLAN 10N/A
Ethernet 0/2AccessVLAN 20N/A
IOU1Ethernet 0/0TrunkN/Aall
设备接口/VLANIP地址默认网关
IOU1VLAN10192.168.1.1/24
VLAN20192.168.2.1/24
PC-1Ethernet 0192.168.1.2/24192.168.1.1/24
PC-2Ethernet 0192.168.2.2/24192.168.2.1/24

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

# 开启路由功能
IOU1(config)#ip routing

在这里插入图片描述

三层交换机和单臂路由之间的一些主要区别:

特性三层交换机单臂路由器
网络层支持支持
数据链路层支持不支持
物理层支持不支持
端口密度
路由协议支持有限支持
网络扩展性有限
成本
应用场景大型LAN和数据中心环境SMB和特定网络服务

❗ 转载请注明出处
作者:HinsCoder
博客链接:🔎 作者博客主页

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

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

相关文章

信息收集-端口

(一)端口号 端口号,是指在Internet传输控制协议(TCP)或用户数据报协议(UDP)中,用于标识具体应用程序与计算机之间通信的端口号码 互联网上有许多使用TCP和UDP协议进行通信的应用程…

【网络协议详解】——STP技术(学习笔记)

目录 🕒 1. STP技术工作原理🕒 2. BPDU报文🕘 2.1 配置BPDU🕘 2.2 TCN BPDU 🕒 3. 实验:了解STP生成过程 🕒 1. STP技术工作原理 以太网交换机使用生成树协议STP(Spanning Tree Pro…

连续签到积分兑换试用流量主小程序开发

每日签到积分兑换试用流量主小程序开发 打卡兑奖小程序。用户签到活得积分。积分可以兑换商品。观看激励视频广告可以积分翻倍。 用户可以参加试用商品活动参加试用需要提交信息。可以通过分享方式直接获取试用资格。 以下是流量主小程序的功能列表: 广告位管理&a…

JavaWeb——HTTP 协议的基本格式和 fiddler 的用法

目录 一、HTTP定义 二、HTTP协议的工作流程 三、抓包工具Fiddler的用法 1、介绍 2、原理 3、抓包结果 (1)、HTTP请求 (2)、HTTP响应 四、HTTP协议的格式 1、HTTP请求 (1)、请求行 (2…

OpenAPI的签名校验

前言 作为一个后端开发,提供API接口或者对接第三方API接口的时候,考虑接口的防刷、重放等安全问题,严格意义上,都需要加上双方约定的签名规则。 大致思路 一般情况下,签名规则没有墨守成规的规定,只要考…

MediaPipe Face Detection可运行在移动设备上的亚毫秒级人脸检测

MediaPipe人脸检测 MediaPipe人脸检测是一种超快速的人脸检测解决方案,具有6个界标和多人脸支持。它基于BlazeFace,BlazeFace是为移动GPU推理量身定制的轻巧且性能良好的面部检测器。检测器的超实时性能使其可应用于需要准确地关注面部区域作为其他任务特定模型: 例如 1、3…

如何有效解决企业文件安全事件频发问题?

企业文件安全是企业必须解决的一个关键问题。随着数字化趋势的不断发展,企业严重依赖于以电子格式存储和访问数据。这种转变使得组织必须实施适当的安全协议,以确保其敏感数据免受未经授权的访问或盗窃。 企业网盘的使用已经在公司中流行起来&#xff0c…

ChatGPT:3. 使用OpenAI创建自己的AI网站:2. 使用 flask web框架快速搭建网站主体

使用OpenAI创建自己的AI网站 如果你还是一个OpenAI的小白,有OpenAI的账号,但想调用OpenAI的API搞一些有意思的事,那么这一系列的教程将仔细的为你讲解如何使用OpenAI的API制作属于自己的AI网站。博主只能利用下班时间更新,进度慢…

mybatis是如何集成到spring的之SqlSessionFactoryBean

文章目录 1 前言1.1 集成spring前使用mybatis的方式1.2 集成mybatis到spring的关键步骤 2 SqlSessionFactoryBean对象分析2.1 buildSqlSessionFactory做了什么事情?2.2 为什么是SqlSessionFactoryBean却可以使用SqlSessionFactory? 3 验证demo4 举一反三…

【QT】自定义工程封装成DLL并如何调用(带ui界面的)

一、动态库的封装 1、首先新建一个Library工程 2、修改类型为共享库,自定义项目名称以及项目路径 3、选择编译器 4、选择动态库所需要的模块 5、自定义类名,点击下一步 6、点击下一步 7、项目总览 8、此时的文件中还没有ui文件,因为要封装带…

南京邮电大学算法与设计实验四:回溯法(最全最新,与题目要求一致)

要求用回溯法求解8-皇后问题,使放置在8*8棋盘上的8个皇后彼此不受攻击,即:任何两个皇后都不在同一行、同一列或同一斜线上。请输出8皇后问题的所有可行解。 用回溯法编写一个递归程序解决如下装载问题:有n个集装箱要装上2艘载重分…

pg事务:隔离级别(2)

事务隔离级别的历史 ANSI SQL-92定义的隔离级别和异常现象确实对数据库行业影响深远,甚至30年后的今天,绝大部分工程师对事务隔离级别的概念还停留在此,甚至很多真实的数据库隔离级别实现也停留在此。但后ANSI92时代对事物隔离有许多讨论甚至…

【5.20】五、安全测试——渗透测试

目录 5.3 渗透测试 5.3.1 什么是渗透测试 5.3.2 渗透测试的流程 5.3 渗透测试 5.3.1 什么是渗透测试 渗透测试是利用模拟黑客攻击的方式,评估计算机网络系统安全性能的一种方法。这个过程是站在攻击者角度对系统的任何弱点、技术缺陷或漏洞进行主动分析&#x…

如何在项目管理中实现任务活动的留痕管理?

项目工作为什么需要留痕呢? 1,记录项目工作:在项目管理工作中常常涉及多部门协作,工作留痕可以帮助我们有效复原已经发生了的工作活动,从而留下印迹供日后查证。 2,支撑工作复盘:在项目工作结束之后&…

SpringBoot程序启动速度提速分析

传统的破程序(百万行级一个微服务),在我的P15-gen2代电脑上启动一次需要80秒左右(直接运行三次,取平均值),在其它人电脑上可想而知了。 大概记录几点 1 优化肯定是需要找工具观察的,不观测还…

MyBatis、MyBatis-plus

文章目录 MyBatis一、MyBatis简介1. 什么是MyBatis2. MyBatis开发步骤3. 环境搭建4. MyBatis的映射文件(UserMapper)5. 动态sql语句6. MyBatis的增删改查 二、MyBatis核心配置文件(sqlMapConfig)1. MyBatis常用配置1)environments…

使用JAVA代码实现跳动爱心(脱单节程序员必备哦)

520!!!表白日,你脱单了吗?你跟对象彻夜不归了吗? 如果没有说明,你的诚心不够,来给对象一个代码表白吧! 话不多说,先上效果图: 实现代码如下&…

kicad学习笔记6:kicad启动及其grid参数设置和修改

1。kicad启动&#xff1a; single_top.cpp 启动函数&#xff1a; 1。 IMPLEMENT_APP( APP_SINGLE_TOP )2。 PGM_SINGLE_TOP::OnPgmInit()3。 PGM_BASE::InitPgm2。kicad参数 grid参数定义&#xff1a; struct GRID_SETTINGS {bool axes_enabled;std::vector<wxString&…

华为OD机试真题 Java 实现【天然蓄水池】【2023Q1 200分】

一、题目描述 公元2919年&#xff0c;人类终于发现了一颗宜居星球——X星。现想在X星一片连绵起伏的山脉间建一个天然蓄水库&#xff0c;如何选取水库边界&#xff0c;使蓄水量最大&#xff1f; 要求&#xff1a; 山脉用正整数数组s表示&#xff0c;每个元素代表山脉的高度。…

基于springboot人事管理系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SpringBoot 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 前言 基于springboot人事管…