不同VLAN之间通信


不同VLAN之间就算没有三层设备也可以相互通信。记得当初我在网络工程师联盟群里提出这个观点时,很多群友都表示反对,并劝说我应该尊重事实(因为他们认为,事实上这样是不可能通的),虽然在实际工作中我们并不会这样去做,但这确实是一个事实。

          下面我们来看实验,首先对实验环境简单介绍一下,拓扑如下:
           两台2950交换机,SW0所有端口为Access口并属于VLAN 2;SW1所有端口为Access口并属于VLAN 3
           两台PC,PC0的IP为192.168.1.1 ;PC1的IP为192.168.1.2
           我先说说自己的想法吧: 首先pc0的发出的数据包到SW0接口时,会加上VLAN的ID,这里为VLAN 2 ,当这个包要离开SW0,在出access口时 ,数据包的VLAN ID被拆掉, 然后到达SW1,接收数据的SW1这个口属于VLAN3, 所以数据包又会加上VLAN3的ID ,此时这个包就相当于来自VLAN3 ,而PC1也属于VLAN3  ,所以来自PC0的数据最终能到达PC1。
           通过上面的描述你是否也赞同我的观点呢? 如果你还是怀疑我的说法,那我们来看实验吧:
 SW0配置:
SW0(config)#vlan 2
SW0(config-vlan)#name vlan2
SW0(config-vlan)#exit
SW0(config)#interface range f0/1 – 24
SW0(config-if-range)#switchport mode access
SW0(config-if-range)#switchport access vlan 2
SW1配置:
SW1(config)#vlan 3
SW1(config-vlan)#name vlan3
SW1(config-vlan)#exit
SW1(config)#interface range f0/1 – 24
SW1(config-if-range)#switchport mode access
SW1(config-if-range)#switchport access vlan 3
测试:PC1 PING PC2
Pinging 192.168.1.1 with 32 bytes of data:
Reply from 192.168.1.1: bytes=32 time=1ms TTL=64
Reply from 192.168.1.1: bytes=32 time=1ms TTL=64
Reply from 192.168.1.1: bytes=32 time=1ms TTL=64
Reply from 192.168.1.1: bytes=32 time=1ms TTL=64

通过实验,属于不同VLAN的PC0和PC1确实可以互通,但这里我们并没有加入三层设备,如果大家仍然有疑问,可以自己去实验一下,若有不同见解欢迎提出,我们共同探讨!
=======================================================

其次:对楼主的有关加、拆Vlan ID想法提出我的不同点:我个人认为在如图拓扑中的整个数据转发过程中,根本不会打Tag(Vlan ID)或者说根本不会涉及到Tag这个概念,对此下面会有我有解释。

最 后:我在此说说我关于这个安全的想法:其实想想也应该是能ping通,首先,对sw0来说,它从PC端口收到数据,然后向其它本Vlan内的端口和 Trunk端口上转发,所以对于我sw0本地交换机来说,我就把数据转到另一端口(sw0上连sw1的端口),因为它们两是同一vlan内的端口,所以不 会加vlan ID,也就更不会有拆了,只有向Trunk线路上转发时才会打上Tag,即加上Vlan ID标识,好了,既然向另一端口(sw0上连sw1的端口)发出去了,现在到sw1上了,而对于sw1来说,和sw0一样,也是对数据做相同处理(转发到 其它本Vlan内端口和trunk端口上),所以对于我sw1来说,自然就把数据转发到PC端口上了。在整个过程中并未涉及到trunk线路,所以也就不 会涉及到打Tag了!
=====================================================
把两台交换机用F0/0口互联,两台交换机的f0/1 f0/2 两个口分别接入两台pc,switch1上pc1 pc2 ,switch2 上 pc3 pc4 。且f0/1属于vlan10  f0/2 属于vlan20    switch1上f0/0接口属于vlan10 switch2 上 f0/0 接口属于vlan20  .给同一网段地址后互相ping会发现只有switch1上接f0/1口属于vlan10的pc可以和switch2上接f0 /2口属于vlan20的pc可以通信!!

在ACCESS模式下,交换机在发送数据帧时,数据帧的VLAN信息将被剥离,直接发送出去。
交换机在接收数据帧时,先判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有VLAN信息则直接丢弃。
最后,根据楼主的意思, switch1的F0/0口并不要检查数据帧的VLAN信息是不是属于VLAN10,(因为在数据帧到达switch1的F0/0口之前就已经检查过了, 不然数据帧不会从switch1的F0/1转发到switch1的F0/0)。而只是将数据帧的VLAN信息去掉后,直接发送出去。
当数据帧到达switch2的F0/0口时,因为没有VLAN信息,数据帧将被打上该端口的PVID(VLAN20),再被转发到switch2的F0/2口,最后发送到PC4。

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s