vlan的link那些事

一直困惑于 vlan link 问题, access link 还稍微可以理解,而 trunk link hybrid link 怎么让 untagged frame 通过,我却一直很迷惑, 终于在 老师的指点下,知道了部分原理(首先得 谢谢 老师)
 
废话少说,切入正题吧
首先 Vlan link 的三种类型的概念( h3c 3 种, cisco access trunk link ,但是原理差不多)
 
 
允许传输的 tagged frame 数据和 untagged frame 数据
发送数据 frame 的处理
接受数据 frame 的处理
Access link
1 vlan untagged
数据 frame
 
删除 tag 发送
根据端口的 pvid 增加 tag
Trunk link
1 个或多个 vlan tagged 数据 frame
1 vlan pvid )的 untagged 数据 frame
如果 vlan id tagged 中,保留 tag 发送,如果 vlan id 等于 pvid ,删除 tag 发送
如果是 tagged 数据
Frame ,保留 tag
如果是 untagged 数据
Frame ,根据端口的 pvid 增加 tag
Hybrid link
1 个或多个 vlan tagged 数据 frame
1 个或多个 vlan untagged 数据 frame
如果 vlan id tagged list 中,保留 tag 发送;
如果 vlan id untagged list 中,删除 tag 后发送
如果是 tagged data frame ,保留 tag
如果是 untagged data
Frame ,根据端口的 pvid 增加 tag
 
 
 
Access 是连接 host switch link (一般情况啊),主机是不需要知道 802 1q tag 的,所以 access link 在接收 data frame 时会根据 switch 的该端口属于哪个 vlan pvid=port vlan id ),
增加上 tag ,将 802 3data frame encapsulation (封装)成 802 1q data frame 然后传播。
发送时一般是 switch 查看自己的 mac 地址表,明确从哪个端口传播,而 host 是不知道 dot1q 的,所以将 tag 删除, encapsulation 802 3data frame 传播到 host 。(这是我的个人理解)
 
我对 trunk link 最困惑的地方就是:允许 1 vlan pvid )的 untagged 数据 frame 传播,每个 access link 都会打上 vlan port id ,那里来的 untagged 数据 frame
 
其实问题很简单(在老师的帮助下),问题就出在 trunk link 两端属于的 vlan id 上(这个是 h3c 概念, cisco 可是说 trunk link port 不属于任何 vlan 啊)
 
大家想必都知道
Cisco 中的这条命令: switchport trunk native vlan [id]
H 3c 中的这条命令: port trunk pvid vlan [vlan-id]
------ 这两条命令都是修改 trunk 端口的缺省 vlan-id 值的
下面将用实验来验证:
                                  图一
 
 
 
3 switch 之间是 trunk link ,如下:
先是 switch0
Switch0>enable
Switch0# configure terminal
Switch0 config # vlan 10
Switch0 (config-vlan)# vlan 20
Switch0(config)# interface fa 0/1
Switch0(config-if)# switchport mode trunk
Switch0(config-if)#int fa 0/23
Switch0(config-if)#switchport mode access
Switch0(config-if)#switchport access vlan 10
Switch0(config-if)# int fa 0/24
Switch0(config-if)#switchport mode access
Switch0(config-if)#switchport access vlan 20
 
 
Switch1 的配置文件如下:
Building configuration...
 
Current configuration : 1106 bytes
!
version 12.1
no service password-encryption
!
hostname Switch
!
!
!
interface FastEthernet0/1
 switchport mode trunk
!
interface FastEthernet0/2
 switchport trunk native vlan 10
 switchport mode trunk
!
……
!
interface FastEthernet0/23
 switchport access vlan 10
 switchport mode access
!
interface FastEthernet0/24
 switchport access vlan 30
 switchport mode access
!
interface GigabitEthernet1/1
!
interface GigabitEthernet1/2
!
interface Vlan1
 no ip address
 shutdown
!
line con 0
!
line vty 0 4
 login
line vty 5 15
 login
!
!
end
 
VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0/3, Fa0/4, Fa0/5, Fa0/6
                                                Fa0/7, Fa0/8, Fa0/9, Fa0/10
                                                Fa0/11, Fa0/12, Fa0/13, Fa0/14
                                                Fa0/15, Fa0/16, Fa0/17, Fa0/18
                                                Fa0/19, Fa0/20, Fa0/21, Fa0/22
                                                Gig1/1, Gig1/2
10   VLAN0010                         active    Fa0/23
20   VLAN0020                         active   
30   VLAN0030                         active    Fa0/24
1002 fddi-default                     active   
1003 token-ring-default               active   
1004 fddinet-default                  active   
1005 trnet-default                    active   
 
 
 
switch2 的配置文件如下:
Building configuration...
 
Current configuration : 1106 bytes
!
version 12.1
no service password-encryption
!
hostname Switch
!
!
!
interface FastEthernet0/1
 switchport mode trunk
!
interface FastEthernet0/2
 switchport trunk native vlan 10
 switchport mode trunk
!
…..
interface FastEthernet0/22
 switchport access vlan 10
 switchport mode access
!
interface FastEthernet0/23
 switchport access vlan 10
 switchport mode access
!
interface FastEthernet0/24
 switchport access vlan 30
 switchport mode access
!
interface GigabitEthernet1/1
!
interface GigabitEthernet1/2
!
interface Vlan1
 no ip address
 shutdown
!
line con 0
!
line vty 0 4
 login
line vty 5 15
 login
!
!
End
 
 
Switch0 中的 23port switch1 中的 23port switch2 中的 22port 都属于 vlan10 ,另外我将 switch1 switch2 trunk link 之间的缺省端口修改成 vlan10 的了。
 
现在,所有的 switch mac 地址都已经学习完全, pc0 要访问 pc6 ,(看图一),要经过 2 access link ,和 2 trunk link ,过程是:
1 Switch0 23port 接收 pc0 802 3 data frame;
2 switch0 查看自己的 mac 地址表,发现从 fa0/1port 发送 data frame
3 switch0 fa0/1port 查看 data frame ,优先匹配自己的 pvid ,发现不匹配,不做任何改变传播
4 switch1 fa0/1port 接收到该 data frame ,优先匹配自己的 pvid ,发现不匹配,不做任何改变
5 switch1 查看自己的 mac 地址表,发现从 fa0/2port 发送 data frame
6 switch1 fa0/2port 查看 data frame ,优先匹配自己的 pvid ,发现匹配自己 pvid (这里 pvid=10 ),删除 tagged 传播(这里就是 如果 vlan id 等于 pvid ,删除 tag 发送这句话的意思 ),这里就不是 dot1q frame 了而是 802 3frame
7 switch2 fa0/2 port 接收到 untagged frame ,解封后发现是 untagged frame ,为其增加自己的 pvid 如果是 untagged 数据 Frame ,根据端口的 pvid 增加 tag ,又成为 dot1q frame
8 switch2 查看自己的 mac 地址表,发现从 fa0/22 port 发送。
9 fa0/22 port 删除 tagged 后发送到 pc6
单方面的数据传输完毕,然后 pc6 在逆过程传输 data frame pc0 。两者通信 success
 
 
 
不同 vlan 不需要 vlan 间路由也可以访问 ------access link 的秘密
 
 
先看图

 

                                   图二
 
图二上 switch0 所有 up port 都是 access link pc0 属于 vlan10 pc2 属于 vlan20 sw1 sw0 port pc1 pc3 都属于 vlan30 。所有的 pc 都是同一网段的。
pc0 ping pc1 pc3 可以通
pc2 ping pc1 pc3 也可以通(当然要修改 sw0 sw1 连接的 port pvid ,而且 pc0 ping 不通 pc2
 
原因及原理是什么呢,其实就是 access link 的概念,
因为从 sw0 接收到 pc0 802 3 data frame 会为其增加 port pvid (即 vlan10 ),但是从两台交换连接的 port 发送时会删除 tagged ,而对端端口接收到该 untagged frame (即 802 3 frame ),会为其增加自己 port pvid ,然后查看 mac 表,确定从哪个端口删除 tagged 后发送。
 
 
Hybrid link
混合型链路不太熟悉,需要设置一个 tagged vlan list 和一个 untagged vlan list ,只能在这里说说概念吧:
从功能上, hybrid link access link trunk link 的结合体(听起来怎么象是 eigrp 啊,是距离矢量与链路状态的结合体),即能传输 tagged frame ,也能传输 untagged frame 。同样可以设置一个端口的 pvid switch hybrid link 接收 untagged frame 时,认为都属于 pvid 所指示的 vlan (这句话都不知道在说什么,什么叫属于 pvid 所指示的 vlan ),在发送 data frame 时,则需要根据 data frame vlan id 去匹配 tagged vlan list untagged vlan list ,如果匹配上 tagged vlan list ,则保留 tag 直接发送(其实说不做任何改变更好)到 hybrid ,如果匹配上 untagged list 则删除 tag 后发送。

友情提示:
图好像看不了,我blog等级低,可以直接下载附件看,另外有什么不正确,欢迎大家指出,谢谢!
 

本文出自 “朝花夕拾” 博客,转载请与作者联系!

你可能感兴趣的:(link,VLAN,休闲,tagged,untagged)