跨交换机VLAN通信示例

Access、Trunk接口跨交换机VLAN通信示例

需求背景

  • 如下图所示的网络拓扑中,PC1及PC3被规划在了VLAN 10,PC2及PC4被规划在了VLAN20。
  • 通过配置交换机SW1及SW2,使得相同VLAN内的PC能够实现通信。
    在这里插入图片描述

需求分析

  • 由于交换机SW1的GE0/0/1、GE0/0/2以及交换机SW2的GE0/0/1、GE0/0/2都连接着PC,因此需将这些接口配置为Access类型,并加入相应的VLAN。
  • SW1及SW2的GE0/0/24接口为互联接口,并且这两个接口需要承载多个 VLAN的数据,因此可将这两个接口配置为Trunk类型并允许VLAN 10和VLAN20的流量通行。
  • Trunk类型的接口缺省时已经配置了port trunk allow-pass vlan 1命令,也就是说Trunk类型的接口缺省已经允许VLAN1的流量通过(HW交换机)。并且该类型的接口缺省还配置了port trunk pvid vlan 1,也就是将VLAN1指定为该接口的缺省VLAN。

具体配置

#创建VLAN10及VLAN20:
[SW1]vlan 10
[SW1-v1an10]description VLAN10									#添加描述性的内容
[SWl-v1an10]quit
[SW1]vlan 20
[SW1-v1an20]description VLAN20
[SW1-v1an20]quit


#将接口配置为Access或Trunk类型,并加入相应的VLAN:
[SW1]interface GigabitEthernet 0/0/1
[SW1-GigabitEthernet0/0/1]port link-type access					#将该接口配置为Access类型
[SW1-GigabitEthernet0/0/1]port default vlan 10					#接口添加到VLAN10
[SW1-GigabitEthernet0/0/1]quit
[SW1]interface GigabitEthernet 0/0/2
[SW1-GigabitEthernet0/0/2]port link-type access
[SW1-GigabitEthernet0/0/2]port default vlan 20
[SW1-GigabitEthernet0/0/2]quit
[SW1]interface GigabitEthernet 0/0/24
[SW1-GigabitEthernet0/0/24]port link-type trunk					#将该接口配置为Trunk类型
[SW1-GigabitEthernet0/0/24]port trunk allow-pass vlan 10 20		#配置允许通过该接口的ULAN

#创建VLAN10及VLAN20:
[SW2]vlan batch 10 20											#使用batch关键字可批量创建VLAN

#将接口配置为Access或Trunk类型,并加入相应的VLAN:
[SW2]interface GigabitEthernet 0/0/1
[SW2-GigabitEthernet0/0/1]port link-type access					#将该接口配置为Access类型
[SW2-GigabitEthernet0/0/1]port default vlan 10					#接口添加到VLAN10
[SW2-GigabitEthernet0/0/1]quit
[SW2]interface GigabitEthernet 0/0/2
[SW2-GigabitEthernet0/0/2]port link-type access
[SW2-GigabitEthernet0/0/2]port default vlan 20
[SW2-GigabitEthernet0/0/2]quit
[SW2]interface GigabitEthernet 0/0/24
[SW2-GigabitEthernet0/0/24]port link-type trunk					#将该接口配置为Trunk类型
[SW2-GigabitEthernet0/0/24]port trunk allow-pass vlan 10 20		#配置允许通过该接口的VLAN

配置检查

  • 在交换机上使用display vlan命令查看设备的VLAN信息:
    在这里插入图片描述
  • 使用display port vlan命令可查看接口的类型及所加入的VLAN,以SW1为例:
    在这里插入图片描述

引入问题

  • 如下图所示的网络拓扑中,交换机SW1及SW2各下挂着一台PC,PC1与PC2使用相同的IP网段,此外二者还通过GE0/0/24接口互联。

  • SW1的GE0/0/1及GE0/0/24都被配置为Access类型,并且均加入了VLAN10, SW2的GE0/0/1及GE0/0/24也都被配置为Access类型,但是加入了VLAN20。

  • 基于上述操作后,PC1与PC2能够进行二层通信么?
    在这里插入图片描述

  • 粗略的看,因为两台PC处于不同的VLAN,而不同的VLAN是不能进行二层通信的,所以两台PC之间是无法通信的。然而,实际上在这个场景中PC1与PC2是可以通信的。

问题分析

(1)假设PC1发送了一个数据帧给PC2(假设此时PC1已经知晓了PC2的MAC地址),这个数据帧从PC1的网卡发送出时显然是一个无标记帧;

(2)随后该数据帧进入SW1的GE0/0/1接口:

  • 首先被打上Tag, VLAN-ID为10,
  • 然后交换机在MAC地址表中查询这个数据帧的目的MAC地址(只在关联到VLAN10的表项中查询),找到匹配表项后将数据帧从GE0/0/24接口发出,
  • 由于GE0/0/24接口是Access类型,并且最重要的是这个接口也加入了VLAN10,因此数据帧的Tag被剥除然后再从该接口发出。

(3)接着SW2在GE0/0/24接口上收到这个数据帧:

  • 该数据帧进入交换机后被打上Tag,VLAN-ID为20,
  • 然后SW2在MAC地址表中查询数据帧的目的MAC地址(只在关联到VLAN20的表项中查询),找到匹配表项后将数据帧从GE0/0/1口发出,GE0/0/1接口是Access类型,并且这个接口也加入了VLAN20,此时数据帧的Tag会被剥除。

(4)最后,PC1发送出来数据帧是能够到达PC2的,如下图所示,反之亦然。
在这里插入图片描述

(5)综上所述,显然PC1与PC2是能够通信的。
(6)在这个场景中,实际上SW1及SW2都只是对数据帧进行透传而己,并不涉及两个不同VLAN之间的通信。
(7)初始时PC1并未知晓PC2的MAC地址,因此它需要广播一个ARP Request请求对方的MAC地址:

  • 这个广播帧会在SW1的GE0/0/1接口上到达,并且被SW1从所有加入VLAN10的接口泛洪出去,而其中的一个拷贝会在SW2的GE0/0/24接口上到达,
  • 然后并被SW2从所有加入VLAN20的接口泛洪出去,其GE0/0/1正是这些接口中的一个,因此PC2可以收到该ARP Request帧,而它回应的ARP Reply帧自然也是能够到达PC1的。

引入问题2

  • 如下图所示,SW1及SW2的GE0/0/24接口均变成了Trunk类型,而且分别允许VLAN 10及VLAN20的流量通过(以标记帧的形式)。
  • 基于上述操作后,PC1与PC2还能够进行二层通信么?
    在这里插入图片描述
  • 实际上经过上述改动后,PC1与PC2将无法互访。

问题分析2

(8)以PC1访问PC2的数据帧为例:

  • 这些数据帧即便会从SW1的GE0/0/24接口发出,也必然会携带VLAN10的Tag,也就是说,数据帧将以标记帧的形式在SW2的GE0/0/24接口上到达,
  • 但是SW2的GE0/0/24却并未允许VLAN10的流量通过,因此数据帧被丢弃,
  • 即便是SW2的GE0/0/24接口允许VLAN10的流量通过,数据帧在进入SW2内部后(携带的VLAN-ID为10)也依然无法从GE0/0/1接口发出,因为GE0/0/1接口加入的是VLAN20.

需要注意的是,问题2其实才是典型的VLAN跨交换机实现的示例,问题1实际上没有并没有跨交换机实现。

Hybrid接口跨交换机VLAN通信示例

  • Hybrid(混杂)是一种特殊的二层接口类型。与Trunk类型的接口类似,Hybrid接口也能够承载多个VLAN的数据帧,而且用户可以灵活地指定特定VLAN的流量从该接口发送出去时是否携带Tag。
  • 此外Hybrid接口还能用于部署基于IP地址的VLAN划分。

Hybrid接口应用场景

Hybrid接口用于连接PC

  • 如下图所示的网络拓扑中,PC1连接在SW1的GE0/0/1接口上,SW1的GE0/0/15接口则连接着一个交换网络(图中忽略了这部分网络),
  • SW1可以通过Hybrid接口为PC1提供接入服务,配置如下:
[SW1]interface GigabitEthemet 0/0/1
[SW1-GigabitEthernet0/0/1]portlink-type hybrid

在这里插入图片描述

  • 通过配置该命令将GE0/0/1接口配置为Hybrid类型,缺省将VLAN 1设置为PVID(缺省HW已经配置了port hybrid pvid vlan 1),并已经允许VLAN 1的流量以无标记的形式通过该接口(缺省HW已经配置了port hybrid untagged vlan 1)。
  • PC1被认为属于VLAN 1,PC1发出的数据帧是无标记帧,SW1在其GE0/0/1接口上收到该帧后,为其打上缺省VLAN ( VLAN 1)的Tag,并且由于VLAN 1是该接口允许通过的VLAN-ID,因此这个数据帧会被交换机接收。
  • 如果期望将PC1规划在其他VLAN中,比如VLAN10中,那么SW1的配置修改如下:
[SW1]interface GigabitEthemet 0/0/1
[SW1-GigabitEthernet0/0/1]portlink-type hybrid
[SW1-GigabitEthernet0/0/1]port hybrid pvid vlan 10
[SW1-GigabitEthernet0/0/1]port hybrid untagged vlan 10
  • 通过上述配置,port hybrid pvid vlan 10命令用于将接口的PVID修改为10,当该接口收到无标记帧时,就会认为这些帧属于VLAN 10;
  • port hybrid untagged vlan10命令则用于将该接口加入VLAN 10(也就是将VLAN 10添加到接口允许通过的VLAN-ID列表中),使得PC1所发送的数据帧能够通过GE0/0/1接口从而进入交换机内部;
  • 此外,port hybrid untagged vlan10这条命令还使得交换机在从GE0/0/1接口向外发送VLAN 10的数据帧时,以无标记帧的方式发送。

Hybrid接口用于连接交换机

  • 如下图所示的网络拓扑中,SW1及SW2分别连接着PC1及PC2,这两台交换机的GE0/0/1接口均被配置为Access类型,并且都加入了VLAN10。
  • 为了实现PC间二层网络互通,将SW1的GE0/0/15被配置为trunk类型,并且放通了VLAN10:
[SW1]interface GigabitEthemet 0/0/15
[SW1-GigabitEthernet0/0/15]portlink-type trunk
[SW1-GigabitEthernet0/0/15]port trunk allow-pass vlan 10

在这里插入图片描述

引入问题

假设要求SW2的GE0/0/15接口配置为Hybrid类型,该如何配置才能使得PC1与PC2可正常通信?

解决方法
  • 因为对端接口((SW1的GE0/0/15 )以标记帧的方式发送VLAN 10的数据帧,因此SW2的GE0/0/15接口也必须将VLAN 10的流量以标记帧的方式处理,配置如下:
[SW2]interface GigabitEthemet 0/0/15
[SW2-GigabitEthernet0/0/15]portlink-type hybrid
[SW2-GigabitEthernet0/0/15]port hybrid tagged vlan 10
  • 通过上述配置,port hybrid tagged vlan 10命令用于将GE0/0/15接口加入VLAN 10,并且VLAN的数据帧以标记帧方式通过接口。
引入问题2
  • 如下图网络拓扑所示,SW1左侧连接着VLAN10, 20以及1000这几个VLAN,现在SW1的GE0/0/15做了如下配置:
[SW1]interface GigabitEthemet 0/0/15
[SW1-GigabitEthernet0/0/15]portlink-type trunk
[SW1-GigabitEthernet0/0/15]port trunk allow-pass vlan 10 20 1000
[SW1-GigabitEthernet0/0/15]port trunk pvid vlan 1000

在这里插入图片描述

  • 基于上述配置,如果要求SW2的GE0/0/15接口还是配置为Hybrid类型,该如何配置才能使得PC1与PC2可正常通信?
解决方法2
  • 当SW1从GE0/0/15往外发送数据帧时,对于VLAN10及VLAN20的数据采用标记帧的形式发送,而对于VLAN 1000的数据则采用无标记帧的形式发送,
  • 如果SW2采用Hybrid接口与其对接,此时该接口的配置应该如下:
[SW2]interface GigabitEthemet 0/0/15
[SW2-GigabitEthernet0/0/15]portlink-type hybrid
[SW2-GigabitEthernet0/0/15]port hybrid tagged vlan 10 20
[SW2-GigabitEthernet0/0/15]port hybrid pvid vlan 1000
[SW2-GigabitEthernet0/0/15]port hybrid untagged vlan 1000
在 eNSP 中交换机实现 VLAN 通信,可参考使用三层交换机实现 VLAN 间路由的方法。VLAN 将一个物理的 LAN 在逻辑上划分成多个广播域,VLAN 内的主机间可以直接通信,而 VLAN 间不能直接互通,需要借助特定方法实现 VLAN 通信。 单臂路由可实现不同 VLAN 间主机的相互访问,但存在带宽、转发效率等局限性,应用较少。三层交换机在原有二层交换机基础上增加了路由功能,且数据不经过物理线路进行路由,很好地解决了带宽瓶颈问题。VLANIF 接口是基于网络层的接口,可配置 IP 地址,凭借该接口三层交换机就能实现路由转发功能 [^1][^2][^3]。 以模拟企业网络场景为例,公司有销售部和客服部,分别使用 VLAN 10 和 VLAN 20,销售部下有两台终端 PC - 1 和 PC - 2,客服部下有一台终端 PC - 3,所有终端都通过核心三层交换机 S1 相连。实现步骤如下: 1. **基本 IP 地址配置**:根据实验编制表在 PC 上进行相应的基本 IP 地址配置,三层交换机 S1 上暂时不做配置。 2. **连通性测试**:测试销售部两台电脑 PC1 和 PC2 之间的连通性,此时通信应正常;测试销售部 PC1 与客服部 PC3 间的连通性,由于未配置 VLAN 间路由,此时无法通信。 3. **配置三层交换机实现 VLAN通信**:通过 VLAN 间路由来实现通信,在三层交换机上配置 VLANIF 接口。配置完成后,查看接口状态,确保两个 VLANIF 接口已经生效。 4. **再次连通性测试**:再次测试 PC1 与 PC3 间的连通性,若通信正常,则实现了销售部与客服部不同 VLAN 之间的通信。还可在 PC1 上查看 ARP 信息 [^3]。 ### 代码示例 在三层交换机上配置 VLANIF 接口的命令示例: ```plaintext # 进入系统视图 system-view # 创建 VLAN 10 和 VLAN 20 vlan batch 10 20 # 进入 VLANIF 10 接口视图 interface Vlanif 10 # 配置 VLANIF 10 的 IP 地址 ip address 192.168.10.1 24 # 退出 VLANIF 10 接口视图 quit # 进入 VLANIF 20 接口视图 interface Vlanif 20 # 配置 VLANIF 20 的 IP 地址 ip address 192.168.20.1 24 # 退出 VLANIF 20 接口视图 quit ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值