VLAN基本概念

1.VLAN 是什么?

        VLAN,即 Virtual LAN,虚拟局域网。
首先要知道,交换机最初是在二层工作的,因此交换机无法划分广播域,其所有接口都在一个广播域内,因此 VLAN 设计的初衷是用来弥补二层交换机无法划分广播域的缺陷。有了 VLAN,就能够将一个物理网络划分成多个逻辑网络,并实现基于 VLAN 的一个访问控制操纵,这就是 VLAN 存在的意义。

   
2.现在有了三层交换机,三层交换机能够划分广播域了,为何还需要 VLAN

        原因无他,就是 VLAN 实在太好用了!VLAN 能够突破一个三层设备的物理接口上限来划分广播域,这是任何三层设备所无法比拟的优势。
一个 VLAN 可分配 ID 为 1-4094,0 和 4095 保留,尽管如此,但已经远远超出任何一个单体三层设备的接口上限,因此 VLAN 仍在现网中广泛使用


3.那么,在交换网络中,VLAN 是如何实现传输的,又是如何让终端 A 跨越交换网络与终端 B 实现一个网络通信

前言:

        首先,交换机要想能够识别和传输 VLAN,就得在本地创建该 VLAN
然后,既然说到这个,就不得不提交换机二层口的两个端口类型了。
不过,在此之前还是先讲一下 VLAN 帧与以太帧的一个报文格式区别

   
VLAN 帧与以太帧的报文格式比对

可以看到,VLAN 帧实际上就是在以太帧的源 MAC 字段后面打上一个 VLAN Tag,使之形成一个 VLAN 帧。
那么出现一个问题,终端 A 将数据帧发给交换网络的边缘设备时,该数据帧是一个以太帧,交换机该如何为它打 VLAN Tag,以使其加入交换网络?
还有一个问题,终端是无法识别 VLAN Tag 的,因此交换机直接将 VLAN 帧发给终端,终端是会直接丢弃该报文帧的。那么,交换机该如何为它剥离 VLAN Tag,以将其转换为以太帧?
那么接下来,我们来介绍交换机的两种端口类型


交换机的两种端口类型

交换机对 VLAN 的操纵,主要依赖于这两个端口类型,第一个为 Access,第二个为 Trunk。

Access 接口

简介:

首先来讲 Access 吧。Access,翻译过来的意思为访问、进入。可以从其中文含义中解析出,这是一种常用于连接终端的接口类型,使终端能够进入交换网络,或者使交换网络中的 VLAN 能够访问终端。我们可以从 VLAN Tag 添加与剥离的角度分析

Acesss 的命令介绍:

需在二层口下配置:

port link-type access//指定端口类型为Access
port default vlan [vlan-id]//指定默认VLAN
工作流程分析:

这是一张简单的网络 Topo,可以看到,PC1 为终端,SW1 为交换网络边缘设备,SW2 为交换网络中间设备
当我 PC1 向 SW1 发出以太帧时,若 SW1 的 e0/0/1 配置为port defautl vlan 10,则 SW1 的 e0/0/1 口收到来自 PC1 的以太帧后,会在 SW1 内部打上一个 VLAN10 的 VLAN Tag。之后 SW1 再将该数据帧通过中继的方式传输给其他交换机,就会是一个 VLAN 帧。
然后回包的时候,VLAN 帧要从 E0/0/1 出去时(必须为 VLAN10,因为配置),会被剥离 VLAN Tag 而转换成一个以太帧,使得终端能够识别该报文,然后就能发送给终端

Trunk 接口

简介:


讲完了 Access,那么我们接下来讲 Trunk 吧。Trunk,也一样的,我们先从其意思上入手,翻译过来是主干、躯干。那么我们可以分析出,这种接口类型是交换网络中一个主干类型,可以叫中继模式,即通常用于交换机之间的连接,使得 VLAN 帧能够正常传输

Trunk 的命令介绍:

与 Access 一样,需在二层口下配置:

port link-type trunk//配置接口类型为 Trunk
port trunk allow-pass vlan {vlan-id1...vlan-idn | all }//指定放行的 vlanpqqq port trunk pvid vlan


其实,Access 的port defaut vlan [vlan-id]功能,trunk 也能实现,只是 trunk 要打两条命令,放行与默认 vlan。我可以在这是示例一下
比如,access 的配置为port default vlan 10,那么我 trunk 可以通过这样来达到与 access 同样的效果:

port trunk allow-pass vlan 10
port trunk pvid vlan 10


因此 trunk 实际上相当于细化与扩展后的 access,其实 access 一条命令就能等于 trunk 两条命令,效率比较高,因此仍然流行。并且还有用于链路区分的因素。如,接口配置为 trunk,那么我一看就能知道这个去往交换网络的链路;接口配置为 access,我要一看就能知道,这是去往终端或其他三层设备(如路由器)的链路

工作流程分析:

这是一张简单的网络 Topo,可以看到,PC1 为终端,SW1 为交换网络边缘设备,SW2 为中间设备当 SW1 要将 VLAN10 发给(续接上文)SW2,则可以在 E0/0/2 进行 Trunk 配置,如下:
port link-type trunk
port trunk allow-pass vlan {10 | all}//指定放行 vlan10 或放行所有 vlan,推荐 all。因为从上文可知,交换机只能识别本地已创建的 vlan,否则丢弃,因此只在 SW1 创建 vlan10,与指定放行 vlan10 的效果是一样的,且指定放行 vlan 的话,当后续需要扩展的时,又要去配置添加,比较繁琐。
那么回归正题,当配置完如上后,那么 VLAN10 的数据帧就能从 SW1 的 E0/0/2 口流出了。但若想 SW2 接收该 VLAN 帧,还需要在 SW2 的 G0/0/1 的 VLAN 帧配置 Trunk,配置同上,复制粘贴即可。
当配置完后,那么 VLAN10 的数据帧即可从 SW1 流入 SW2 了。

尾声

这就是 Access 与 Trunk 接口类型的介绍,那我们接下来。

   
4.终端 A 和终端 B 如何跨越交换网络实现一个跨 VLAN 的网络通信


以上讲的还是局限于一个 VLAN 中的传输,即二层传输,接下来我们来讲如何实现跨 VLAN 通信,即三层传输。
VLAN 要想实现跨三层,需要借助 VLANIF 来实现跨三层的数据转发。


VLANIF

简介

VLANIF,又叫虚拟接口,是 VLAN 的三层接口,一般作为 VLAN 的网关口使用,因而不同 VLAN 之间能够经由 VLANIF 进行通信

VLANIF 的命令介绍

int vlanif 10//创建 vlanif10——前置条件:需先创建 vlan10


然后 vlanif 中的配置和正常三层口的配置无二,也可以进行 ip add 创建 ip 地址等操作

工作原理分析

如图,SW2 为网关设备,同时做了两个 VLANIF,一个为 VLANIF10,一个为 VLANIF20,其上联 VLAN 为 10,下联为 VLAN20,因此我将标签这样放置,就是希望大家能将 VLANIF 看作一个路由器的三层口,易于理解。
VLANIF10 相当于路由器的上联口,VLANIF20 相当于路由器下联口。当然 SW2 和路由器工作原理不太一样,在进行跨 VLAN 的三层转发时,三层交换机通常是通过维护 ARP 表进行一个转发,这是作为交换机的一个特性,你们可以自己做实验看一下。
查看 arp 表是dis arp既然说了三层交换原理,那么我再提一下二层交换原理吧,这个好像上面还没讲过。
二层通信的话,这里我们拿 PC1 和 PC3 举例,当 PC1 ping PC2 的地址时,数据流直接经由接入层交换机 SW1 根据 MAC 表进行一个二层转发,数据无需流到 SW2,这就是二层交换原理

/ 那么,VLAN 的故事就到此结束,我们下次再见!/

  • 15
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数通Dinner

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值