分类: 网络与安全
2014-07-25 16:55:28
一、VLAN的基本概念
经过上一次大讲坛的了解,我们已经知道,对于一台二层交换机来说,整机就是一个广播域、一个LAN。这意味着,只要连接到这个广播域的PC配置在一个IP子网内,即可进行互相访问,而且更重要的一点是,处于同一个广播域内的某个用户,发送一个广播数据帧,意味着在这个广播域内的所有用户都会收到这个数据帧,并且耗费资源来处理(即使她它可能并不需要这个数据帧)。当这个广播域变得特别大、用户数量变得特别多时,网络就非常有可能被大量的广播消耗掉大量资源。
另一方面,实际的网络中经常存在这样的需求:连接在同一个交换机上的用户有可能是不同的业务部门,我希望对他们进行隔离,或者以独立的网络单元进行管理。
基于上述需求,我们引入VLAN的概念,所谓VLAN,翻译为Virtual LAN,实际上是一个虚拟的、逻辑的LAN,通过VLAN技术,我们可以在交换机上,根据接口等信息进行LAN的划定。例如:
上图中,我们基于设备接口进行VLAN的划分。将接口1、2划分到了VLAN10,将接口23、24划分到了VLAN20。这样一来,接口1、2所连接的PC就加入了VLAN10,处于同一个LAN、同一个广播域内,那么这些PC只要配置同一个网段的IP地址,就能够直接进行互访了。而接口23、24处于另一个VLAN20,另一个LAN、另一个广播域。属于VLAN20的PC之间能够直接进行互访。但是,不同的VLAN之间,用户是被隔离的(除非借助路由设备),当然,一个VLAN内的广播数据帧并不会被泛洪到另一个VLAN来,因为他们处于不同的广播域。
有了VLAN技术,我们的网络设计将更加灵活、更加可控。VLAN是一个虚拟的LAN,不再受设备的限制。我们可以根据实际的业务环境需要,灵活的进行VLAN的规划。而VLAN更可以跨交换机,因此VLAN的成员,也就是业务PC所处的位置就非常灵活了。例如上图所示,你可能希望每个部门单独划分到一个LAN中,部分之间互相隔离,而一个部门的员工又往往未必在同一楼层,可能分散在不同的楼层,那么有了VLAN技术,完全可以把分散在不同楼层的业务PC划分入一个VLAN。
下面做一个小结:
?一个VLAN中所有设备都是在同一广播域内,不同的VLAN为不同的广播域;
?VLAN之间互相隔离,广播不能跨越VLAN传播,因此不同VLAN之间的设备一般无法互访,不同VLAN间需通过三层设备实现相互通信;
?一个VLAN一般为一个逻辑子网,由被配置为此VLAN成员的设备组成;
?VLAN中成员多基于交换机的接口分配,划分VLAN就是对交换机的接口划分;
?VLAN工作于OSI参考模型的第二层;
?VLAN是二层交换机的一个非常根本的工作机制。
二、Access的基本概念
三、Trunk的基本概念
前面我们已经了解了VLAN的概念。我们可以借助VLAN技术,在一台交换机上创建多个VLAN以便对应不同的业务部门,然后基于交换机的接口,将不同的接口划分给不同的VLAN。
如果我分别在两台交换机上部署了VLAN,并且做了统一性的VLAN规划,这时两台交换机对接的时候就需要小心。因为这两两台交换机之间互联的链路,需要承载多个VLAN的数据,那么如果某个特定VLAN的数据从一台交换机发送出来,经过交换机之间的链路到达另一台交换机,后者如何判定,这个数据到底应该放入哪一个VLAN呢?
这里我们就需要一种“标记”手段。在将数据送出这个互联接口前,给数据做上相应的标记(tag),对端交换机在收到这个数据之后,就能够根据前者对数据所做的标记来识别数据究竟是属于哪一个VLAN的。这时候,我们称两台交换机之间的互联链路为一段干道链路,而链路两端的接口称为Trunk接口。
上面提到的“标记”手段,我们成为干道封装协议,一个众所周知的公有协议是802.1q,或者叫Dot1Q,由于是公有协议,因此几乎所有的交换机厂商都能支持。Dot1q针对数据帧的处理方式很简单,就是在原始的以太网数据帧中插入一个dot1q的字段,同时重新做CRC校验。在插入的Dot1q字段中,就有VLANID字段用来指示这个数据帧所属的VLAN。
注意:
?当一条链路,需要承载多VLAN信息的时候,需使用trunk来实现
?Trunk两端的交换机需采用相同的干道协议(我司的设备仅支持Dot1q)
?Trunk一般见于交换机之间或交换机与路由器、服务器之间
四、VLAN及Trunk的基础配置
1.VLAN配置命令
# 在交换机上创建VLAN并进入VLAN视图
[Quidway] vlan 10
#(可选)在特定的VLAN视图下修改VLAN的名字
[Quidway-vlan10] name TechVLAN
#将特定的接口配置为access类型,并加入vlan
[Quidway] interface gigabitEthernet0/0/1
[Quidway-gigabitEthernet0/0/1] port link-type access
[Quidway-gigabitEthernet0/0/1] port default vlan 10
2.VLAN配置示例
?在交换机上创建VLAN10及VLAN20
?将PC1(所在接口)划入VLAN10
?将PC2划入VLAN20
SW1的配置如下:
#创建VLAN10及VLAN20,使用batch关键字可批量创建vlan
[SW1] vlan batch 10 20
#将GE0/0/1配置为access类型,并加入vlan10
[SW1] interface gigabitEthernet0/0/1
[SW1-gigabitEthernet0/0/1] port link-type access
[SW1-gigabitEthernet0/0/1] port default vlan 10
#将GE0/0/2配置为access类型,并加入vlan20
[SW1] interface gigabitEthernet0/0/2
[SW1-gigabitEthernet0/0/1] port link-type access
[SW1-gigabitEthernet0/0/1] port default vlan 20
完成配置后,在SW1上可进行相应的查看:
[Huawei] display vlan
The total number of vlans is : 3
--------------------------------------------------------------------------------
U: Up; D: Down; TG: Tagged; UT: Untagged;
MP: Vlan-mapping; ST: Vlan-stacking;
#: ProtocolTransparent-vlan; *: Management-vlan;
--------------------------------------------------------------------------------
VID Type Ports
--------------------------------------------------------------------------------
1 common UT:GE0/0/3(D) GE0/0/4(D) GE0/0/5(D) GE0/0/6(D)
GE0/0/7(D) GE0/0/8(D) GE0/0/9(D) GE0/0/10(D)
GE0/0/11(D) GE0/0/12(D) GE0/0/13(D) GE0/0/14(D)
GE0/0/15(D) GE0/0/16(D) GE0/0/17(D) GE0/0/18(D)
GE0/0/19(D) GE0/0/20(D) GE0/0/21(D) GE0/0/22(D)
GE0/0/23(D) GE0/0/24(D)
10 common UT:GE0/0/1(U)
20 common UT:GE0/0/2(U)
VID Status Property MAC-LRN StatisticsDescription
--------------------------------------------------------------------------------
1 enabledefault enable disable VLAN 0001
10 enable default enable disable VLAN 0010
20 enable default enable disable VLAN 0020
3.Trunk配置命令
#将特定接口配置为trunk类型
[Quidway] interface gigabitEthernet0/0/24
[Quidway- gigabitEthernet0/0/24] port link-type trunk
#在该trunk接口上放行特定VLAN
[Quidway- gigabitEthernet0/0/24] port trunk allow-pass vlan 10 20
#(可选)配置trunk接口的pvid,这个vlan的流量从trunk接口转发不会打标签,默认是vlan1
[Quidway- gigabitEthernet0/0/24] port trunk pvid vlan 99
4.VLAN及Trunk基础实验
?在两台交换机上创建vlan10及20
?将连接PC的接口划入如图所示的vlan
?配置SW1-SW2之间的链路为trunk,使得两台交换机的vlan10内的用户能够互相通信、vlan20内的用户能够互相通信。
SW1的配置如下:
#创建VLAN10及VLAN20
[SW1] vlan batch 10 20
#将GE0/0/1配置为access类型,并加入vlan10
[SW1] interface gigabitEthernet0/0/1
[SW1-gigabitEthernet0/0/1] port link-type access
[SW1-gigabitEthernet0/0/1] port default vlan 10
#将GE0/0/2配置为access类型,并加入vlan20
[SW1] interface gigabitEthernet0/0/2
[SW1-gigabitEthernet0/0/1] port link-type access
[SW1-gigabitEthernet0/0/1] port default vlan 20
#将GE0/0/24口配置为trunk类型,并且放行vlan10及vlan20
[Quidway] interface gigabitEthernet0/0/24
[Quidway- gigabitEthernet0/0/24] port link-type trunk
[Quidway- gigabitEthernet0/0/24] port trunk allow-pass vlan 10 20
SW2的配置如下:
#创建VLAN10及VLAN20
[SW2] vlan batch 10 20
#将GE0/0/1配置为access类型,并加入vlan10
[SW2] interface gigabitEthernet0/0/1
[SW2-gigabitEthernet0/0/1] port link-type access
[SW2-gigabitEthernet0/0/1] port default vlan 10
#将GE0/0/2配置为access类型,并加入vlan20
[SW2] interface gigabitEthernet0/0/2
[SW2-gigabitEthernet0/0/1] port link-type access
[SW2-gigabitEthernet0/0/1] port default vlan 20
#将GE0/0/24口配置为trunk类型,并且放行vlan10及vlan20
[SW2] interface gigabitEthernet0/0/24
[SW2-gigabitEthernet0/0/24] port link-type trunk
[SW2-gigabitEthernet0/0/24] port trunk allow-pass vlan 10 20
五、二层接口的链路类型
1.以太网交换机的端口分类
Access接口常用于连接PC、服务器或其他终端,或路由器等设备。
Access接口只能加入一个VLAN,一旦加入特定VLAN后,该接口所连接的设备也就加入了该VLAN。
一般用于交换机之间连接的端口,trunk端口可以加入多个VLAN,可以接收和发送多个VLAN的报文。
可以用于交换机之间连接,也可以用于接用户的计算机,hybrid端口可以属于多个VLAN,可以接收和发送多个VLAN的报文。可根据需求灵活的设定vlan是否打标签。
2.Access端口收到帧
?如果该帧不带tag,则接收帧并打上端口的pvid;
?如果该帧携带tag,则当vlanID与缺省vlanID相同时,接收该报文,否则丢弃
3.Access端口发送帧
剥离802.1Q tag header,发出的帧为普通以太网帧
4.Trunk端口收到帧
若数据帧不带tag,打上接口pvid,若pvid在允许通过的vlanID列表里,则接收该报文。若pvid不在允许通过的vlanID列表里,则丢弃该报文。
5.Trunk端口收到帧(cont.)
若数据帧带tag,且vlanID在接口允许通过的vlanID列表里,则接收该报文。否则丢弃该报文。
6.Trunk端口发送帧
?若vlanID与接口pvid相同,且该vlan在allow-pass vlan列表中,则去掉Tag,发送数据帧。
?若vlanID与接口pvid不同,且该vlan在allow-pass vlan列表中,则保持原有Tag,发送该带tag的数据帧。
7.hybrid端口收到帧
?若数据帧不带tag,打上接口pvid,若pvid在允许通过的vlanID列表里,则接收该报文。若pvid不在允许通过的vlanID列表里,则丢弃该报文。
?若数据帧带tag,且vlanID在接口允许通过的vlanID列表里,则接收该报文。否则丢弃该报文。
8.Hybrid端口发送帧
当vlanID是该接口允许通过的vlanID时,发送该帧。可以通过命令设置发送时是否携带Tag。