实验交换机不同vlan,不同网段的能否互通

简介

今天突然在头条上看到一则疑问,交换机能否实现不同网段互通,然后我就想到了前一篇对802.1Q在端口模式access的时候,我讲过在交换机互联的情况下不同vlan同网段是能互通的,然后今天我就来实验一下,然后还有更深入的,如果是同vlan不同网段呢,那是否能互通呢,为什么?

实验环境:

华为的eNSP模拟器

实验一:在不同vlan下同网段能否互通

拓扑:


实验交换机不同vlan,不同网段的能否互通_第1张图片
image.png

LSW1配置:

#
vlan batch 20
#
interface Vlanif20
 ip address 192.168.1.2 255.255.255.0
#
interface Ethernet0/0/1
 port link-type access
 port default vlan 20

LSW2配置:

#
vlan batch 10
#
interface Vlanif10
 ip address 192.168.1.1 255.255.255.0
#
interface MEth0/0/1
#
interface Ethernet0/0/1
 port link-type access
 port default vlan 10
#

现在已经配置好了不同vlan,同网段的实验环境了,然后我实验一下能否互通

sys
Enter system view, return user view with Ctrl+Z.
[Huawei]ping 192.168.1.1
  PING 192.168.1.1: 56  data bytes, press CTRL_C to break
    Reply from 192.168.1.1: bytes=56 Sequence=1 ttl=255 time=60 ms
    Reply from 192.168.1.1: bytes=56 Sequence=2 ttl=255 time=30 ms
    Reply from 192.168.1.1: bytes=56 Sequence=3 ttl=255 time=50 ms
    Reply from 192.168.1.1: bytes=56 Sequence=4 ttl=255 time=30 ms
    Reply from 192.168.1.1: bytes=56 Sequence=5 ttl=255 time=20 ms

  --- 192.168.1.1 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 20/38/60 ms

能看到他们是能互通的,
为什么,因为

access口数据包的处理过程:

  • 在接收到数据包(untag)时会按照PVID打上tag标签
    接受数据包(tag)时会检测是否vid与pvid是否相同,想同接受,不相同丢弃

  • 内部传输时
    在交换机内部传输时会保留tag标签,所以在同一个交换机的不用vlan是不能互通的

  • 发送数据包时
    发送数据包时会去除tag标签,所以交换机互联用access模式,不同vlan配置同网段ip是能通讯的

也就是说
LSW1发包经e0/0/1发出后实际没有vlan标志。
同理经LSW2交换机e0/0/1接口接收后又加上了vlan10的头,
也就是说LSW1虽然划了vlan20,但发给LSW2的是没有vlan标志的包,所以LSW2可以接收并转发。
如将LSW1与LSW2间的连接端口改成trunk,那么LSW1发往LSW2的包将会保留vlan2标志,这样的话将无法访问vlan10的LSW2了

实验交换机不同vlan,不同网段的能否互通_第2张图片
access接口处理数据包的过程.jpg

实验交换机不同vlan,不同网段的能否互通_第3张图片
trunk接口处理数据包的过程.jpg
实验二:同vlan不同网段下能否互通

先说下我的理解,交换机是属于OSI模型的二层的,
二层交换原理可以概括为 ‘源地址学习,目的地址转发’
既然他们是同一个vlan的,应该也会学习到对方的mac地址表,因为在同一个vlan下嘛,那是不是应该可以通信的。所以我们就做一个实验


实验交换机不同vlan,不同网段的能否互通_第4张图片
image.png

配置:
LSW3:

#
vlan batch 10
#
interface Vlanif10
 ip address 192.168.2.3 255.255.255.0
#
interface MEth0/0/1
#
interface Ethernet0/0/1
 port link-type access
 port default vlan 10
#

LSW4:

#
vlan batch 10
#
interface Vlanif10
 ip address 192.168.3.1 255.255.255.0
#
interface MEth0/0/1
#
interface Ethernet0/0/1
 port link-type access
 port default vlan 10
#

好了,测试一下

[Huawei-Vlanif10]ping 192.168.2.3
  PING 192.168.2.3: 56  data bytes, press CTRL_C to break
    Request time out
    Request time out
    Request time out
    Request time out
    Request time out

  --- 192.168.2.3 ping statistics ---
    5 packet(s) transmitted
    0 packet(s) received
    100.00% packet loss

嗯?不通?为什么
然后我抓包看了一下,LSW3有发出一个携带自己接口mac地址的广播报文,然后去LSW4上抓包看了一下,发现他也接收到了啊,那为什么会不呢
其实问题是出在ping上,

ping

ping使用ICMP协议,工作于三层,但是从命令本身来说是属于应用层。
所以你们就懂了为什么会不通了吧,二层是通了,mac地址表也有了,但是ping是基于三层的,三层上我们ip都不是同一个网段的,怎么可能互通

结尾

其实细心的人会发现,我这两个实验其实也蛮搞笑的,我的接口都用了access了,那不管我vlan是什么,都是一样的,也就是说二层不管怎么样都是互通的,就是三层ip是不是在同一个网段的问题了。这就是知识理解不够深入的问题呀,所以写了这篇文章。

你可能感兴趣的:(实验交换机不同vlan,不同网段的能否互通)