vlan和vlanif

文章目录

  • 1、为什么会有vlan的存在
  • 2、vlan(虚拟局域网)
    • 1、vlan原理
      • 1. 为什么这样划分了
      • 2、如何实现不同交换机相同的vlan实现互访呢
      • 3、最优化的解决方法,vlan不同交换机
      • 4、vlan标签和vlan数据帧
    • 5、vlan实现
    • 2、基于vlan的划分方式
      • 1、基于接口的vlan划分方式
      • 2、基于mac地址划分
    • 3、以太网二层接口类型
      • 1、Access接口
      • 2、trunk接口
      • 3、Access和trunk接口
      • 4、hybrid接口
    • 4、vlan基础配置命令
      • 1、创建vlan
      • 1、Access接口配置
      • 2、Trunk接口配置
      • 3、hybrid接口配置
      • 4、总结vlan端口
    • 5、实验
      • 1、access和trunk接口
      • 2、对上面的实验的补充(不同vlan之间主机的通信)
        • 1、路由器物理接口
        • 2、路由器上面配置虚拟接口
        • 3、交换机实现路由功能(三层交换机这个就是,配置网关)-就解决掉了上面的问题了
    • 6、vlanif(虚拟局域网接口)
      • 1、vlanif实验和通信流程
      • 2、补充
    • 7、实验图片
    • 8、总结
      • 1、关于同网段的通信
      • 2、不同网段通信
      • 3、vlan
      • 4、vlanif

1、为什么会有vlan的存在

  • 交换机不能隔离广播域,如果广播域特别大的话,交换机泛洪的,就会传播到整个广播域

  • 广播域越大,产生的网络安全问题,垃圾流量问题就越严重

  • 因此就会有隔离广播域,路由器可以隔离,但是为了实现广播域的隔离,会增加很多的路由器,因此的话,不方便,就会在交换机上面实现广播域的隔离,不同的广播域在二层设备上面是不同的,这样泛洪的话,就不会泛洪到其他的广播域尚敏,这样的话就减少了广播域的规模

2、vlan(虚拟局域网)

1、vlan原理

  • 最常见的划分就是将交换机不同的端口划分到不同的vlan中

1. 为什么这样划分了

# mac地址表中就会记录mac,port,vlan# 不同的vlan的区域的话,在vlan10中发送了一个广播的话,就只会在vlan10中泛洪,不会泛洪到vlan20中,这样的话,在通信的时候,首先发送的是arp请求是一个广播,但是不会泛洪到vlan20中,因此的话在默认的情况下,不同的vlan是无法进行通信的# 交换机就实现了广播域的隔离

2、如何实现不同交换机相同的vlan实现互访呢

# 在vlan10中新添加一个端口也划分在vlan10中,然后另外一个交换机也配置一个端口在vlan10中,连接起来,从而实现了不同交换机中的相同vlan通信了# 但是这个方法非常费端口# 因此就有了下面的解决方法

3、最优化的解决方法,vlan不同交换机

img

# 就是在这个2个交换机上面打上2个口子,用于连接2个交换机的通信,这个线路vlan10和vlan20都可以在这个线路上面进行传输# 比如A交换机发送一个数据,携带了vlan10这个数据,然后传输到B交换机,根据这个vlan信息的话,传输到vlan10里面去,这样的话,vlan20的标签也可以了# 这样的端口称为trunk# 在数据帧中添加vlan信息,可以跨交换机部署vlan# 在逻辑上不同交换机上面相同的vlan是在连接在一个交换机上面

4、vlan标签和vlan数据帧

img

  • vlan标签就是能够使交换机分辨不同vlan的报文,需要在报文中添加vlan信息字段

  • vlan数据帧就是在帧上面的源mac地址后面添加vlan信息(802.1Q tag)

  • vlan标签上面详细的介绍

5、vlan实现

  • PC1发送数据,然后交换机打上标签,连接2个交换机的链路要承载多个vlan数据,所以需要基于vlan数据的标记,以便对不同的vlan数据帧进行区分

  • 就是在帧头插入802.1Q Tag

img

2、基于vlan的划分方式

  • 交换机打上tag的方法不一样

1、基于接口的vlan划分方式

  • 根据交换机的接口来划分vlan

  • 每个接口配置不同的pvid(port vlan id ),在接口划入到对应的vlan

  • vlan id 取值 1~4094

  • 每个端口默认的情况下是1

  • 数据帧会被打上pvid的tag

img

  • 主机移动的话,主机接入的接口就需要重新配置pvid

2、基于mac地址划分

img

  • mac和vlan id的映射关系

  • 主机移动,不需要重新配置vlan了,跟端口没有关系了

3、以太网二层接口类型

img

  • 都可以,图中的接口都可以改的

  • access 接口通常用于连接用户PC,服务器等终端设备接口,access接口连接的往往是收发无标记帧,access接口只能加入一个vlan中,也就是特定的vlan

1、Access接口

img

  • 接收帧

    • 当一个没有标签的数据帧进入这个接口,就会被vlan10打上标签

    • 如果数据帧的vlan10与接口的vlan10相同的话,直接进行交换机内部,接收该帧

    • 如果vlan20的数据帧的话,交换机不会接受这个数据帧,直接进行丢弃

  • 发送帧

    • 帧的vlan id与接口的vlan id相同的话,出交换机的时候,去掉vlan标签,然后从这个接口发送出去

    • 帧的vlan id 与 接口的 vlan id不同的话,禁止发送出去

2、trunk接口

img

  • 这个是一个干道口

  • vlan 1是默认的存在的

  • trunk这个通道相当于是一个控制规则,允许多个vlan通过

  • 发送帧

    • 接口接收到了数据,然后打上pvid,如果这pvid 在vlan列表中允许通过的话,就接收,不允许的话,就丢弃

    • 相同的vlan10发送的话,vlan id列表允许的这个vlan id的话,就通过,不允许就丢弃

  • 发送帧

    • 当vlan id相同的话,并且在vlan 列表的话,直接去掉vlan 标签,从这个接口发送出去

    • 数据帧的vlan id 与 接口的vlan id不同的话,但是在vlan 列表中的话,不去掉vlan 标签

    • 不在vlan 列表的话,不允许通过,禁止发送数据

3、Access和trunk接口

img

4、hybrid接口

img

  • 接收帧与trunk接口是一样的,但是了发送帧的话就不一样了,管理员能够决定这个数据帧发送出去的时候是保留这个vlan 信息还是去掉了,这个是由管理员进行决定的

  • 如果是untag类型的话,就是数据帧发送出去的时候需要去掉这个标签

  • tag类型的话,数据帧发送出去的时候不需要去掉这个标签

img

4、vlan基础配置命令

1、创建vlan

vlan 10
# 就直接进入了这个vlan视图了# vlan id 取值范围是1~4094# 创建多个vlan
vlan batch 20 30 40# 批量创建vlan
vlan batch 20 to 30

1、Access接口配置

interface GigabitEthernet0/0/1port link-type access # 设置 access接口类型port default vlan 10  # 设置接口的vlan # 可以通过查看接口的pvid,也就是数据帧发送过来的时候,会被打上这个vlan 10的标签
[j1]display  interface g0/0/1

2、Trunk接口配置

interface GigabitEthernet0/0/2port link-type trunk  # 设置接口类型port trunk pvid vlan 10  # 设置pvid,也就是将这个接口加入到vlan中port trunk allow-pass vlan 10 20  # 主干通道允许 10 20 vlan 通过

3、hybrid接口配置

interface GigabitEthernet0/0/2port link-type hybrid # 默认就是这样类型的端口port hybrid pvid vlan 20   # 将接口加入到vlan 20中port hybrid untagged vlan 20 30  # 允许 vlan 20 30 通过
# 端口的类型
[j1]display  port vlan  active 
T=TAG U=UNTAG
-------------------------------------------------------------------------------
Port                Link Type    PVID    VLAN List
-------------------------------------------------------------------------------
GE0/0/1             hybrid       10      U: 1 10 30   # 10,30vlan标签,去掉标签,允许10 20 通过
GE0/0/2             hybrid       20      U: 1 20 30
GE0/0/3             hybrid       30      U: 1 10 20T: 30 # 出去的时候不需要去掉标签,允许10 20 30vlan出去# vlan list
u 和 t 就是放行的vlan , u就是发出去去掉这个vlan 标签

4、总结vlan端口

img

# 总而言之,就是这个三个类型# access接口 只能允许一种vlan通过,比较vid(数据携带的vlan id ) 和 pvid# trunk接口 允许多种vlan通过,如果vid和pvid相同的哈,去掉标签,否则不去掉(vid在vlan 允许的情况下),不在话丢弃# hybrid接口 允许多种vlan通过,可以自己控制是否去掉标签,在untag列表中,去掉标签,在tag列表中,携带标签发送,不在的列表中,丢弃

5、实验

1、access和trunk接口

img

# 实验目的# 实现相同vlan主机访问# 划分2个vlan# 最上面的2个主机,通过pvid 1 来进行通信,什么都不用配置
  • 通信的原理

    • 首先ping 1.1.1.3
    # 携带的信息为 Dip 1.1.1.3 Sip 1.1.1.1 Dmac ffff Smac 有 
    
    • 通过s3上面的g2口,打上一个vlan10 的标签,然后通过查询规则,vlan 10 20都允许放行,arp会进行泛洪,但是g3口只允许vlan 20 通过,因此只能走 g1 口 到达下一个交换机 s1 上面

    • 然后继续到达s2交换机上面,通过查询vlan规则,走 g2 口到达 目标主机,记录了Dmac地址

    • 然后目标主机发送一个arp 应答,里面包含了

    DIp 1.1.1.1 Sip 1.1.1.3 Dmc 有 Smac 有
    • 然后这个交换机就会记录这一来一回的信息,也就是mac地址和port对应关系

    • 下一次就直接发送icmp包,进行通信即可

2、对上面的实验的补充(不同vlan之间主机的通信)

1、路由器物理接口

img

  • 实现不同vlan主机互访

  • 添加一个路由器,然后配置一个网关,充当一个网关,访问网关就相当于是访问同一个网段即可

  • 实现PC1与PC2或者PC4通信即可

  • 流程

# 访问不同的网段的时候,先要去寻找网关,arp解析网关mac地址,就有能力将数据送给网关,然后根据路由表寻找通往不同网段的ip地址,这样的话,就能寻找到不同的网段,实现了通信的效果
2、路由器上面配置虚拟接口
  • 当然上面的这种做法,容易费接口

  • 一个接口上面配置虚拟接口 .10 .20这样的,实现了逻辑口配置,绑定vlan ,只有虚拟接口才能实现vlan 标签,物理接口不能实现vlan 的绑定

  • dot1q ter vid 10,然后配置ip地址

  • 子接口不会开启arp服务,所以要开启arp br enable,物理接口默认是开启arp解析的

img

  • 路由器接收后,从对应的接口就发送一个数据帧,带有vlan 标签的
# 路由器r2配置文件
[r2-GigabitEthernet0/0/0.20]display  this
[V200R003C00]
#
interface GigabitEthernet0/0/0.20dot1q termination vid 20   # 通过绑定子接口vlan 10,来实现区分ip address 2.2.2.254 255.255.255.0 arp broadcast enable
#
return# s1交换机的配置
[s1-GigabitEthernet0/0/3]display  this
#
interface GigabitEthernet0/0/3port link-type trunkport trunk allow-pass vlan 10 20
#
return
  • 缺点,这个路由器的线,非常的消耗带宽,性能上面的不足

  • 这个路由器上面的g0口的话,也可以作为一个网关,如果发送了一个数据没有携带vlan的话,g0口也可以作为一个网关,如果携带了vlan 1标签的数据的话,需要在g0口上面再来配置一个虚拟接口即可

3、交换机实现路由功能(三层交换机这个就是,配置网关)-就解决掉了上面的问题了
  • 具有路由功能就是一个三层交换机

img

  • 在交换机上面配置网关,使用的是vlanif ,抽象的逻辑接口

  • vlanif 后,就相当于路由功能

  • 配置一个vlanif 后,然后配置2个不同网段的网关即可

  • 这个S1就是一个汇聚层,S3和S2就是一个接入层

[s1]int Vlanif 10
[s1-Vlanif10]disp	
[s1-Vlanif10]display  this
#
interface Vlanif10ip address 1.1.1.254 255.255.255.0
#
return[s1]int Vlanif 10
[s1-Vlanif20]disp	
[s1-Vlanif20]display  this
#
interface Vlanif20ip address 2.2.2.254 255.255.255.0
#
return

6、vlanif(虚拟局域网接口)

img

  • vlanif就相当于是一个路由功能,配置网关即可实现通信了

  • 实现了不同vlan之间的通信即可

1、vlanif实验和通信流程

img

# 首先2个交换机之间配置access接口,vlanif100 实现2个交换机之间的三层通信# 然后ospf的配置,这样的话路由也都配置好了# 通信的流程vlan标签的变化# PC7与PC1之间的通信# 首先PC7发送一个arp到网关解析到了网关mac地址,然后ping 1.1.1.1 经过g1口打上vlan 7的标签,然后S4解析发现不是自己的,发送到路由模块中去寻找,这个时候,发送与vlanif 100相匹配,去掉之前的标签,打上vlan 100标签发送出去,# 到达了S1交换机,然后去掉自己vlan 100标签,匹配到了vlan if 10的路由了,打上vlan 10的标签,然后到了S3交换机上面了,达到出接口G2的时候去掉vlan 10的标签,到达了目标主机PC1# 回包的时候也是这样的流程

2、补充

img

  • 加上了PC9,vlan10
# 这个时候交换机之间就不能使用access接口了,需要配置trunk接口# 2个交换机配置这样的配置
# vlan 10用于二层的通信,100用于三层的通信
[s1-GigabitEthernet0/0/3]display  this
#
interface GigabitEthernet0/0/3port link-type trunkport trunk allow-pass vlan 10 100
#
return# S4交换机上面的G3口的配置即可
[s4-GigabitEthernet0/0/3]display  this
#
interface GigabitEthernet0/0/3port link-type accessport default vlan 10
#
return

7、实验图片

img

# 2个交换机上面配置ospf
# 如果2个交换机ospf中的范围不同的话,可能不会交换LSA信息# 比如一个配置S1 1.1.1.1 0.0.0.0 另外一个配置S2 2.2.2.0 0.0.255# 这样的话就是S1 是/32的,所以就会读取LSA,但是S2是/24,不会进行交换,这个就是范围不同导致的

8、总结

交换机通信原理
就是mac表
广播域等

1、关于同网段的通信

  • 发送arp请求解析mac地址后,开始通信

2、不同网段通信

  • 1.1.1.1 访问 2.2.2.2,先要去找1.1.1.1的网关做一个arp请求,解析到mac地址,不同网段需要网关,因此需要路由器,但是arp请求是广播域,路由器不接受,因此的话,在路由器上面配置网关,这样的话,就能访问到了网关,查找路由表,这个2个网段在不同的广播域中

  • 但是有特殊情况,2个不同的网关在同一个广播域中,这样的话,可以不设置网关,对目标ip发送一个arp请求,实现通信了

3、vlan

  • 交换机不能隔离广播域,因此设置vlan

  • 就是在接口上面配置vlan id 然后发送的数据经过这个接口就会被打上vlan标签,然后再来考虑放行

  • access接口类型的话,只能允许一个vlan通过,vlan丢弃

  • trunk接口类型的话,允许多个vlan通过,vlan ID 和 pvid一样的话,出去时去掉标签,不一样则不丢弃

  • hybrid接口类型的话,允许多个vlan通过,但是可以自己设置丢弃和不丢弃标签

4、vlanif

  • 交换机没有三层的能力,因此设置vlanif

  • 实现了路由的功能呢

  • vlan 100 vlanif 100对应的编号相同的

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

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

相关文章

Web项目图片视频加载缓慢/首屏加载白屏

Web项目图片视频加载缓慢/首屏加载白屏 文章目录 Web项目图片视频加载缓慢/首屏加载白屏一、原因二、 解决方案2.1、 图片和视频的优化2.1.1、压缩图片或视频2.1.2、 选择合适的图片或视频格式2.1.3、 使用图片或视频 CDN 加速2.1.4、Nginx中开启gzip 三、压缩工具推荐 一、原因…

【CAN模块】介绍一种检查CAN模块芯片好坏的方法(SN65HVD230)

文章目录 前言一、以SN65HVD230为例介绍端口特性二、代码实现总结 前言 CAN总线收发器,是CAN控制器和物理总线间的接口器件,通常工程师会按照底层协议对其控制,近日笔者仔细了解了CAN总线收发器的物理原理,找到了一种通过观察端口…

RTMP推流平台EasyDSS在无人机推流直播安防监控中的创新应用

无人机与低空经济的关系密切,并且正在快速发展。2024年中国低空经济行业市场规模达到5800亿元,其中低空制造产业占整个低空经济产业的88%。预计未来五年复合增速将达到16.03%。 随着科技的飞速发展,公共安防关乎每一个市民的生命财产安全。在…

[win10] win10系统的下载及在虚拟机中详细安装过程(附有下载文件)

前言 win10 下载:https://pan.quark.cn/s/eb40e8ca57fb 提取码:VTZq 失效(可能被官方和谐)可评论或私信我重发 下载压缩包后解压 !!安装路径不要有中文 解压下载的.zip文件,得到.iso文件 打开…

lightRAG 论文阅读笔记

论文原文 https://arxiv.org/pdf/2410.05779v1 这里我先说一下自己的感受,这篇论文整体看下来,没有太多惊艳的地方。核心就是利用知识图谱,通过模型对文档抽取实体和关系。 然后基于此来构建查询。核心问题还是在解决知识之间的连接问题。 论…

[代码随想录17]二叉树之最大二叉树、合并二叉树、二搜索树中的搜索、验证二叉搜索树。

前言 二叉树的题目还是要会一流程构造函数之类的。其中还有回溯的思想 题目链接 654. 最大二叉树 - 力扣(LeetCode) 一、最大二叉树 思路:还是考察构造二叉树,简单来说就是给你一个数组去构建一个二叉树,递归来解决就…

Docker概述与基础入门

1. 什么是Docker? Docker 是一个开源的平台,用于自动化应用程序的构建、部署和管理。它允许开发人员通过将应用程序及其依赖项打包成容器镜像,从而确保应用可以在任何环境中一致地运行。Docker 容器是轻量级的、可移植的、且具有高度隔离性的…

C# 探险之旅:第三十六节 - 类型class之密封类Sealed Classes

嗨,探险家们!欢迎再次搭乘我们的C#魔法列车,今天我们要去一个神秘又有点“傲娇”的地方——密封类(Sealed Classes)领地。系好安全带,咱们要深入“密封”的奇妙世界啦! 什么是密封类&#xff1…

QTreeView 与 QTreeWidget 例子

1. 先举个例子 1班有3个学生:张三、李四、王五 4个学生属性:语文 数学 英语 性别。 语文 数学 英语使用QDoubleSpinBox* 编辑,范围为0到100,1位小数 性别使用QComboBox* 编辑,选项为:男、女 实现效果: 2…

UE5 C++ Subsystem 和 多线程

一.Subsystem先做一个简单的介绍,其实可以去看大钊的文章有一篇专门讲这个的。 GamePlay框架基础上的一个增强功能,属于GamePlay架构的范围。Subsystems是一套可以定义自动实例化和释放的类的框架。这个框架允许你从5类里选择一个来定义子类(只能在C定义…

Linux 添加spi-nor flash支持

1. spi-nor flash简介 在嵌入式ARM开发过程中通常会使用到spi-nor flash,主要用于固化u-boot镜像以支持spi方式启动系统。目前常用的spi-nor flash有gd25wq128e、w25q128等flash芯片,下述以gd25wq128e为例进行讲解。 2.调试通常遇到的问题 无法识别到…

C# 探险之旅:第三十七节 - 类型class之Object:万物之源的奇妙冒险

嘿,勇敢的探险家们!欢迎再次踏上C#的神秘之旅。今天,我们将深入探索一个极其强大又无处不在的“大佬”——Object 类型。想象一下,它就像是C#世界里的“超级英雄祖先”,几乎所有的类型都得叫它一声“老祖宗”。 Objec…

LabVIEW实验站反馈控制系统

开发了一套基于LabVIEW的软X射线磁性圆二色实验站的反馈控制系统。这套系统主要用于实现对实验站高电压的精确控制,从而保持照射在样品上的流强稳定性,为分析样品吸收谱提供可靠基准,同时提供了易用的用户界面和强大的数据存储功能。 项目背景…

aws(学习笔记第十八课) 使用aws cdk(python)进行部署

aws(学习笔记第十八课) 使用aws cdk(python)进行部署 学习内容: 使用aws cdk(python)进行部署整体代码(python的通常工程)代码动作 1. 使用aws cdk(python)进行部署 aws cdk的整体架构 前面使用了cloudformation进行了json的aws的各种组件的…

网络基础 - TCP/IP 五层模型

文章目录 一、OSI 参考模型中各个分层的作用1、应用层2、表示层3、会话层4、传输层5、网络层6、数据链路层7、物理层 二、OSI 参考模型通信处理示例 一、OSI 参考模型中各个分层的作用 1、应用层 2、表示层 负责设备固有数据格式和网络标准数据格式间的转换 实际生活中&#…

MySQL 调优技巧|索引什么时候失效?为什么?

写在前面 优化慢SQL,这是在工作或者面试中都不可避免的问题。这篇文章我们就来讲讲慢SQL的优化的一些方法! 1. 升配 最简单的一步就是升配!!当然在降本增效的当下,很难能将这种单子审批下来了! 2. 索引…

《封装继承与多态》封装的优势

文章目录 封装在面向对象编程中的优势1. 提高代码的可读性和可维护性2. 提高代码的安全性3. 降低代码的复杂性案例举例 封装在敏捷开发和团队合作中的优势1. 促进敏捷开发2. 促进团队合作案例举例 封装在面向对象编程中的优势 封装是面向对象编程(Object-Oriented …

YOLOv5-Backbone模块实现

YOLOv5-Backbone模块实现 🍨 本文为🔗365天深度学习训练营 中的学习记录博客 🍖 原作者:K同学啊 电脑系统:Windows11 显卡型号:NVIDIA Quadro P620 语言环境:python 3.9.7 编译器&#xff1a…

软件需求规格说明书文档,系统需求规格说明书下载,软件工程需求规格案例模板参考(word原件)

1 范围 1.1 系统概述 1.2 文档概述 1.3 术语及缩略语 2 引用文档 3 需求 3.1 要求的状态和方式 3.2 系统能力需求 3.3 系统外部接口需求 3.3.1 管理接口 3.3.2 业务接口 3.4 系统内部接口需求 3.5 系统内部数据需求 3.6 适应性需求 3.7 安全性需求 3.8 保密性需求 3.9 环境需求…

Linux - MySQL迁移至一主一从

Linux - MySQL迁移至一主一从 迁移准备安装MySQL ibd文件迁移原服务器操作目标服务器操作 一主一从增量同步异常解决结尾 首先部分单独安装MySQL,请参考Linux - MySQL安装,迁移数据量比较大约400G左右且网络不通故使用文件迁移,需开启一段时间…