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 三、压缩工具推荐 一、原因…

02.06、回文链表

02.06、[简单] 回文链表 1、题目描述 编写一个函数,检查输入的链表是否是回文的。 2、解题思路: 快慢指针找中点: 利用快慢指针的技巧来找到链表的中间节点。慢指针 slow 每次移动一步,而快指针 fast 每次移动两步。这样&…

【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的各种组件的…

FreeBSD vs Linux:哪个开源操作系统更强大

FreeBSD 和 Linux,哪一个更强大?这个问题没那么简单。它们各有春秋,不能一概而论。 来自我们 A-Team Systems 的专家们有数十年这两个系统的使用经验,所以,我们将详细阐述这两个系统的优势和劣势,供你选择…

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

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

C++中的接口继承和实现继承以及多态性与性能的平衡处理

接口继承 接口继承是指子类只继承基类的纯虚函数,即只继承基类的接口,而不继承基类的实现。子类必须实现基类中的所有纯虚函数,否则子类也将成为抽象类。在 C 中,接口继承主要通过抽象类来实现。抽象类是包含至少一个纯虚函数的类…

大数据相关标准——GB/T 38676-2020信息技术 大数据 存储与处理系统功能测试要求(山东省大数据职称考试)

大数据分析应用-初级 第一部分 基础知识 一、大数据法律法规、政策文件、相关标准 二、计算机基础知识 三、信息化基础知识 四、密码学 五、大数据安全 六、数据库系统 七、数据仓库. 第二部分 专业知识 一、大数据技术与应用 二、大数据分析模型 三、数据科学 大数据相关标准…

Mysql基础操作(1)

目录 简介 1. 数据库的创建与删除 1.1 创建数据库 1.2 删除数据库 2. 表的创建与删除 2.1 创建表 2.2 删除表 3. 数据插入 4. 数据查询 4.1 基本查询 4.2 条件查询 4.3 多条件查询 4.4 排序查询 4.5 分页查询 5. 数据更新 6. 数据删除 7. 总结 简介 MySQL 是一…