交换基础:VLAN与三层交换机

本文深入解析VLAN的工作原理,包括PVID、允许列表和出口封装规则,介绍了Access、Trunk和Hybrid三种接口模式。通过VLAN实例展示了不同模式下的数据转发行为。此外,还探讨了VLAN间路由的实现,如单臂路由和三层交换机的应用,以及SVI在远程管理中的作用。
摘要由CSDN通过智能技术生成

VLAN

  • LAN:一般指局域网,VLAN中就是虚拟局域网,通过VLAN将一个局域网逻辑的划分为多个局域网
    在这里插入图片描述
  • 在企业网中,通常会为不同部门分配不同的局域网,但我们一般使用路由器划分局域网,如果想增加局域网的数量,就需要增加路由器的接口数,而路由器增加接口是需要成本,所以为了实现既能划分广播域,又不需增加路由器的接口数,就出现了VLAN (虚拟局域网)
    在这里插入图片描述
  • VLAN:交换机和路由器协同合作后,将原来的一个局域网逻辑上划分为多个。实现方法为:为交换机的每个接口分配一个标签(pvid),当有数据包从某个交换机接口进入交换机时,交换机首先会将该数据包的源MAC与pvid绑定,添加到MAC表中;然后查看目标MAC,在MAC地址表中查找目标端口,如果有记录则单播转发,如果无,将该数据包想具有相同VID的接口洪泛。

VLAN不仅可以根据接口划分,可以根据MAC地址、IP地址进行划分,甚至可以根据策略进行VLAN划分
VID配置映射到交换机的接口,实现VLAN的划分:一层VLAN/物理VLAN
VID配置映射到数据中的MAC地址,实现VLAN的划分 : 二层VLAN
VID配置映射到数据中的类型字段,实现VLAN的划分:三层VLAN

在这里插入图片描述

[sw1-GigabitEthernet0/0/3]display mac-address 
MAC address table of slot 0:
-------------------------------------------------------------------------------
MAC Address    VLAN/       PEVLAN CEVLAN Port            Type      LSP/LSR-ID  
               VSI/SI                                              MAC-Tunnel  
-------------------------------------------------------------------------------
5489-982f-5563 2           -      -      GE0/0/3         dynamic   0/-         
5489-98fb-671a 1           -      -      GE0/0/4         dynamic   0/-         
-------------------------------------------------------------------------------
Total matching items on slot 0 displayed = 2 

交换机为了更快的转发数据,会将MAC表转换为CAM表,CAM是将MAC表中的MAC地址+接口编号+vlanid转换为hash值,再转换为二进制格式,在基于目标MAC转发时会查看CAM表。

规则

  • 在华为设备中,对交换机的每个接口我们需要关注:PVID、允许列表、出接口是否携带封装。
[sw1]display port vlan active 
T=TAG U=UNTAG
-------------------------------------------------------------------------------
#                    接口模式             允许列表
Port                Link Type    PVID    VLAN List
-------------------------------------------------------------------------------
GE0/0/1             hybrid       1       U: 1
GE0/0/2             hybrid       1       U: 1
GE0/0/3             hybrid       1       U: 1
GE0/0/4             hybrid       1       U: 1
GE0/0/5             hybrid       1       U: 1
GE0/0/6             hybrid       1       U: 1
GE0/0/7             hybrid       1       U: 1
......此处省略其他17个接口
  • 当流量来到交换机的接口,如果该流量没有携带标签则打入该接口的PVID,然后查看允许列表是否允许该PVID进入;如果携带VID,则直接查看允许列表。流量在交换机内部是携带封装的。当流量出交换机时,首先查看允许列表,查看允许列表是否允许属于该VID的流量转出,如果允许转出查看转出是否封装VID,如果不封装则剥离VID。

PVID

  • PVID:用来标识接口的标签,区分和标定不同的VLAN,IEEE组织颁布802.1Q标准中要求: PVID必须是由12位二进制构成。取值范围 0 -4095,0和4095是保留编号,所以,可用的取值范围为1 - 4094。

  • 华为体系规定:所有通过接口进入到交换机的数据,都必须打上接口所对应的PVID的标签,也就是说,交换机内部所有的数据都是带标签的。802.1Q标准设计了VLAN的标签,是由4个字节构成,其中包含12位的VID,用来区分不同VLAN的流量。并将这个标签加入到以太网Ⅱ型帧的源MAC地址和类型字段之间。
    在这里插入图片描述

  • 802.1Q标准规定,将带有标签的帧称为tagged帧或802.1Q帧,没带标签的帧我们称为untagged帧

允许列表与出口是否携带封装

  • 允许列表中标注着允许从该口出入的VID,即携带这些VID的tagged帧都可以从该接口出交换机,如果该接口下连接着终端设备,由于终端上设备不识别标签,所以tagged帧在从出接口的时候需要剥离标签。
  • 如果接口对面连接着交换机,相连交换机具有对VLAN的认知应该是相同的,该交换机属于某个VLAN的流量到另一个交换机也应该属于这个VLAN,所以tagged在该接口转发时需要携带标签。

接口模式

不同的接口模式都是基于上述的规则转发数据,但不同的接口对PVID、允许列表、出接口是否携带封装的修改权限并不相同。

在这里插入图片描述

[sw1]vlan 2  # 创建VLAN 
[sw1-vlan2]q
[sw1]vlan batch 3 4 5 6  # 批量创建VLAN
Info: This operation may take a few seconds. Please wait for a moment...done.
[sw1]port-group group-member GigabitEthernet 0/0/1 GigabitEthernet 0/0/2  # 创建接口组,
[sw1-port-group] # 在接口组里的配置会在组里的所有接口生效
[sw1]port-group group-member GigabitEthernet 0/0/1 to GigabitEthernet 0/0/5 # 

Access

  • 只允许修改PVID,允许列表只有一个VID,而且和PVID相同,会随着PVID的改变而改变,出口封装方式仅为不封装。
[sw1]inter g 0/0/1 # 进入接口
[sw1-GigabitEthernet0/0/1]port link-type access  # 修改接口模式
[sw1-GigabitEthernet0/0/1]port default vlan 2 # access模式下修改PVID
[sw1-GigabitEthernet0/0/1]display port vlan active 
T=TAG U=UNTAG
-------------------------------------------------------------------------------
Port                Link Type    PVID    VLAN List
-------------------------------------------------------------------------------
GE0/0/1             access       2       U: 2

Trunk

  • 可以修改PVID和允许列表,不能修改出接口是否封装。和PVID相同的VID如果在允许列表中则固定为不带标签,允许列表中其他VID出口封装仅为封装。
[sw1-GigabitEthernet0/0/2]port link-type trunk  # 修改接口模式
[sw1-GigabitEthernet0/0/2]port trunk allow-pass vlan ?  # 修改允许列表,添加允许通过的VID
  INTEGER<1-4094>  VLAN ID
  all              All
[sw1-GigabitEthernet0/0/2]undo port trunk allow-pass vlan 1  # 在允许列表中去除该VID

Hybrid

  • 可以修改PVID、允许列表、出接口是否封装,Hybrid模式可以模仿access模式和trunk模式
[sw1]interface g 0/0/1
[sw1-GigabitEthernet0/0/1]port link-type hybrid # 交换机接口默认是hybrid模式
[sw1-GigabitEthernet0/0/1]port hybrid pvid 2 # 修改PVID
[sw1-GigabitEthernet0/0/1]port hybrid tagged vlan 2 3 4  # 允许vlan 2 3 4 的流量出入且出接口许携带封装
[sw1-GigabitEthernet0/0/1]port hybrid untagged vlan 2 to 10 # 允许vlan2、3、4、5……10的流量出入且出接口不携带封装
[sw1-GigabitEthernet0/0/1]port hybrid tagged/untagged vlan all  # 允许所有VLAN出入且出入都携带封装/剥离封装
[sw1-GigabitEthernet0/0/1]undo port hybrid untagged vlan 1 # 删除允许列表中某个vlan

VLAN实例

在这里插入图片描述

  • 上图中,当PC1访问PC2的流量来到SW1上时,会首先添加vlan2的标签,然后通过trunk发送到SW2,由于trunk的pvid为2,所以PC1的访问流量会被剥离封装,没有封装的流量来到SW2上,首先添加VLAN3的标签,看出口为access且允许vlan3的流量出,所以将流量剥离封装发送至PC2,PC2访问PC1也同理,虽然PC1和PC2没有处于一个VLAN也没有网关,但依然实现了PC1和PC2的通信。
    在这里插入图片描述

  • 上图中sw2不做任何处理即所有接口都默认为VLAN1且出接口的都不携带封装,当sw2的流量来到sw1上时,都会打上VLAN2的标签,此时sw2所有的接口都属于VLAN2.。

VLAN间路由

  • 我们通常将连接用户的接口设为access模式,access模式只允许和PVID相同的VLAN流量进出接口,这样就使得不同的VLAN间无法直接通信。
  • 不同VLAN间通信我们可以通过一些策略实现访问控制,如我在VLAN实例中提到的第一个图。但更多的是通过网关修改封装的vid实现VLAN间通信。

单臂路由

在这里插入图片描述

  • 上图中,将PC1和PC2分别划分到vlan2和vlan3中,并为PC1和PC2配置不同网段的IP,当它们之间通信时,会先将流量交给网关,网关根据流量的目标IP修改封装,然后再将流量转发。

PC再访问其他设备时,它会根据目标IP是否和自己在同一个网段而采用不同的步骤。
如果目标和自己在同一个网段则直接发送ARP询问对方MAC
如果目标和自己不在同一个网段则将流量交由网关转发。
如果不同VLAN配置相同网段,那么它们将会发送ARP包,而该数据包是无法进入到对方VLAN中的

  • 由于一个网关只能负责一个局域网,而上图中交换机只连接了一个路由器接口,当不同VLAN的流量来到网关时,它即使可以识别流量携带的VLAN号,它又如何知道目标所在的VLAN呢?所以有子接口来解决这个问题。
  • 子接口:逻辑的将一个物理接口虚拟为多个子接口。这样每个子接口可以负责一个VLAN,子接口所在网段也会添加到路由表中,当不同VLAN间通信的流量来到路由器上时,首先根据其所携带的VLAN号交给对应的子接口,子接口解封装查看目标IP,再根据路由表交给负责目标所在网段的字节口,子接口在将流量转发出去时会添加本VLAN的封装。
[s1]inter GigabitEthernet 0/0/0.1  # 创建子接口并进入该接口  
[s1-GigabitEthernet0/0/0.1]
[s1-GigabitEthernet0/0/0.1]dot1q termination vid 2  # 配置该接口所属VLAN
[s1-GigabitEthernet0/0/0.1]arp broadcast enable  # 开启ARP广播请求应答
# 子接口默认不会回复ARP广播,开启后,会回复真实物理接口的MAC
[s1-GigabitEthernet0/0/0.1]ip address 192.168.1.1 24 # 为子接口配置IP

在这里插入图片描述

  • 查看路由表可以看到子接口所在网段已经添加到路由表中,当子接口收到访问本网段的流量时,会先在流量中添加子接口所属VLAN的vid在转发。
  • 由于不同VLAN间通信都需通过与路由器所连的一条链路,所也被称为单臂路由。随着技术的进步,出现了三层交换机,即具备路由功能的交换机,现在VLAN间的路由一般使用三层交换机实现。

由于路由器需要识别标签,所以交换机与路由器相连的接口需要允许所有VLAN的流量出入,且出都携带封装。
华为设备中,将路由器的接口划分子接口后,物理接口依然可以使用,但只能识别不携带VLAN封装的流量。

三层交换机

  • 二层交换机中,接口没有IP也没有MAC地址,它只负责二层交换,即根据目标MAC选择单播或洪泛
  • 三层交换机同时具备二层交换技术和三层转发技术,每个接口都拥有MAC地址且可以配置IP,可以认为是交换机和路由器合体版,它可以做交换机和路由器做的所有事。
  • 三层交换机的接口默认处于二层模式,需要手动开启三层模式
[sw1]inter g 0/0/1
[sw1-GigabitEthernet0/0/1]undo portswitch #  切换为3层接口
[sw1-GigabitEthernet0/0/1]ip enable 
Error: The L3 interface must be switched to a L2 port first.
[sw1-GigabitEthernet0/0/1]display ip routing-table  # 查看路由表
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 2        Routes : 2        

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0

设备不是开启了三层之后就都可以配置IP地址,需要V200R003C00之后的版本才能配置IP否则会报错

工作方式

  • 交换机的工作方式:收到数据帧后,查看二层封装,先记录源MAC与接口的映射,在看目标MAC,如果MAC表里有记录单播无则洪泛。
  • 路由器的工作方式:收到数据帧后,解封装看二层,如果目标MAC是广播地址或自己,继续解封装看三层;不是则根据路由表转发;解封状看三层,如果目标IP是自己或广播IP则继续解封状看四层,不是则丢弃。
  • 三层交换机工作方式:收到数据帧后,查看二层封装,先记录源MAC与接口的映射,在看目标MAC,如果目标MAC是自己的MAC则解封装,如果目标MAC是广播MAC则解封状加洪泛,如果目标MAC是其他则查看MAC表,有记录单播无则洪泛。解三层封装看目标IP,如果是自己的IP或广播IP则继续解封装,不是则丢弃。

SVI

  • SVI:交换机虚拟接口,当我们配置交换机时,如果通过console线连接设备配置,需要你来到设备面前,如果通过远程连接的方式连接设备,那你就不需要找设备,只需知道设备的IP,就可以通过命令远程连接设备。但我上面说过二层交换机的接口不可以配置IP,所以就需要在交换机上创建一个虚拟接口,通过给虚拟接口配置IP,就可以实现远程登陆了。
  • 二层交换机只能创建一个SVI,而且该SVI只属于一个VLAN,其他VLAN想远程连接SVI需要通过路由。
[sw1]inter Vlanif 1  # 创建虚拟接口,
[sw1-Vlanif1]ip address 192.168.1.1 24 # 配置IP
[sw1-Vlanif1]display ip inter brief 
*down: administratively down
^down: standby
(l): loopback
(s): spoofing
The number of interface that is UP in Physical is 1
The number of interface that is DOWN in Physical is 3
The number of interface that is UP in Protocol is 1
The number of interface that is DOWN in Protocol is 3

Interface                         IP Address/Mask      Physical   Protocol  
MEth0/0/1                         unassigned           down       down      
NULL0                             unassigned           up         up(s)     
Vlanif1                           192.168.1.1/24       down       down      # 可以看到创建的SVI
  • 在ensp中没有二层交换机,都是三层交换机,三层交换机可以为每个VLAN配置一个SVI
    在这里插入图片描述
  • 使用三层交换机充当网关,在三层交换机上为每个VLAN都创建个SVI,并配置IP,该SV可以是该VLAN的网关,下图中当PC1访问PC2时,由于PC1和PC2处于不同VLAN,所以PC1会先广播ARP包询问网关MAC,三层交换机收到ARP后,看目标MAC是全F于是解封装看三层,看目标IP是SVI2的IP,于是交给SVI2处理,SVI2继续解封装,发现是个ARP包,于是将SVI2的MAC回复给PC1,PC1将访问包交给三层交换机,三层交换机依据目标MAC交由SVI2处理。SVI2查看路由表将访问包交由SVI3,SVI3看目标IP处于自己所管理的网段,于是先通过ARP询问PC2的MAC,然后将访问包发送给PC2。
    在这里插入图片描述
  • 上图中通过三层交换机实现了VLNA间通信,不像单臂路由只有一条链路承载所有VLAN间的通信,三层交换机不同VLAN间通都是通过终端与交换机的链路,大大减少了链路压力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值