1.Vlan作用
- 隔离广播域:防止网络中的广播包过多,导致网络拥塞,同时也是为了提高网络带宽的利用率。
- 实现故障隔离:减小网络故障带来的影响,缩小范围后也方便故障的定位和排除。
- 增强安全性:不同Vlan间的数据通信只能通过三层设备进行,在三层设备上采取安全措施可以防止病毒在局域网内大范围扩散。
2.Vlan的划分方式
可以基于交换机端口的(最常用),基于协议的,基于IP地址的,基于MAC地址的。
3.802.1q帧结构
4.交换机端口分类
- Access类型的端口只能属于1个VLAN,一般用于连接计算机的端口。
- Trunk类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口。
- Hybrid类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,可以用于交换机之间连接,也可以用于连接用户的计算机。
- Hybrid端口和Trunk端口在接收数据时,处理方法是一样的,唯一不同之处在于发送数据时
:Hybrid端口可以允许多个VLAN的报文发送时不打标签,而Trunk端口只允许缺省VLAN的报文发送时不打标签。
- 端口的缺省VLAN的概念:Access端口只属于1个VLAN,所以它的缺省VLAN就是它所在的VLAN,不用设置;
Hybrid端口和Trunk端口属于多个VLAN,所以需要设置缺省VLAN ID。缺省情况下,Hybrid端口和Trunk端口的缺省VLAN为VLAN 1。 - 当端口接收到不带VLAN Tag的报文后,则将报文转发到属于缺省VLAN的端口(如果设置了端口的缺省VLAN ID)。当端口发送带有VLAN Tag的报文时,如果该报文的VLAN ID与端口缺省的VLAN ID相同,则系统将去掉报文的VLAN Tag,然后再发送该报文。
注:对于华为交换机缺省VLAN被称为“Pvid Vlan”,对于思科交换机缺省VLAN被称为“Native Vlan”交换机。 - 交换机接口出入数据处理过程如下:
---Acess端口收报文:
收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则直接丢弃(缺省)
---Acess端口发报文(从交换机内部往外发送):
将报文的VLAN信息剥离,直接发送出去
(所以,Access端口可以实现同一交换机上相同VLAN下的主机通信;也可以实现交换机级连时的缺省VLAN1报文交换,但不能实现VLAN透传。)
---trunk端口收报文:
收到一个报文,判断是否有VLAN信息:如果有,判断该trunk端口是否允许该 VLAN的数据进入:如果可以则转发,否则丢弃;如果没有VLAN信息则打上端口的PVID,并进行交换转发。
---trunk端口发报文:
比较将要发送报文的VLAN信息和端口的PVID,如果不相等则直接发送。如果两者相等则剥离VLAN信息,再发送。
(所以,将交换机级连口统统设置为Trunk并允许所有VLAN通过后,VLAN2-VLAN4000直接透传,而VLAN1则因为和Trunk缺省PVID相同,需要通过剥离VLAN信息又添加VLAN信息实现了透传。而如果更改Trunk的缺省PVID,则可以实现某一交换机下的VLAN-X和另一交换机下的VLAN-Y通信。)
---hybrid端口收报文:
收到一个报文,判断是否有VLAN信息:如果有,则判断该hybrid端口是否允许该VLAN的数据进入:如果可以则转发,否则丢弃(此时端口上的untag配置是不用考虑的,untag配置只对发送报文时起作用);
如果没有则打上端口的PVID,并进行交换转发。
---hybrid端口发报文:
一)、判断该VLAN在本端口的属性(show interface 即可看到该端口对哪些VLAN是untag,哪些VLAN是tag)
二)、如果是untag则剥离VLAN信息,再发送,如果是tag则直接发送。
(所以,Hybrid实现了不同VLAN下的主机的通信。)
5.VLAN的简单配置
1.创建vlan
- Switch(config)#vlanvlan-id //创建vlan
- Switch(config-vlan)#namevlan-name //(可选)命名vlan
2.将交换机端口加入到vlan中
- Switch(config)#interface interface //进入端口配置模式
- Switch(config-if)#switchport mode access //将端口模式设置为接入端口
- Switch(config-if)#switchport access vlan vlan-id //将端口添加到特定vlan中
3.多个端口添加到同一vlan中(可选)
- Switch(config)#interface range interface-range //进入需要添加vlan的一组端口中
- Switch(config-range-if)#switchport mode access //将端口模式设置为接入端口
- Switch(config-range-if)#switchport accessvlan-id //将一组端口划分到指定vlan中
4.配置Trunk端口及Native VLAN(交换机与交换机之间的接口)
- Swtich(config)#interface interface //进入需要配置的端口
- Switch(config-if)#switchport mode trunk //将端口的模式配置为trunk
- Switch(config-fi)#switchport trunk native vlan vlan-id //配置Trunk的Native VLAN(Trunk两端端口的Native VLAN必须一致)
5.配置VLAN许可列表
- Swtich(config)#interface interface //进入需要配置的端口
- Switch(config-if)#switchport mode trunk //将端口的模式配置为trunk
- Switch(config-if)#switchport trunk allowed vlan { all | [add | remove | except] } vlan-list //定义Trunk 的VLAN列表
6.VLAN间实现通信
1.SVI技术(Switch Virtual Interfaces)
实现方法:在三层交换机上为各VLAN创建虚拟VLAN接口(SVI),并为SVI接口配置IP地址,作为各主机的网关地址。
- Switch(config)#ip routing //开启路由功能(默认)
- Switch(config)#vlanvlan-id //创建vlan
- Switch(config)#interface vlanvlan-id //进入vlan的SVI接口配置模式 注:创建SVI接口后,系统会自动为SVI接口分配一个MAC地址用于接收数据帧。
- Switch(config-if)#ip address ip-address mask //给SVI接口配置IP地址(网关地址)
2.单臂路由技术
实现方法:在路由器上为每一个VLAN创建一个子接口,并给子接口配置IP地址,作为各VLAN的网关。同时还需要在各子接口上封装802.1q协议,以便识别相应的VLAN。
该技术的缺点:需为每一个vlan创建一个子接口,限制了VLAN网络的灵活部署;当创建多个vlan后,vlan间流量都需要通过这个端口转发,容易在物理接口上形成网络瓶颈。
- Switch(config-if)#switchport mode trunk //与路由器连接的交换机端口模式配置为Trunk,以便可以收发多个VLAN中的数据帧
- Router(config)#interface interface.sub-port //创建以太网子接口
- Router(config-subif)#encapasulation dot1q vlan-id //为子接口封装802.1q协议,并指定接口所属的vlan
- Router(config-subif)#ip addressip-address mask-address //为子接口配置IP地址
- Router(config-subif)#no shutdown //启用子接口
7.PVLAN(Priviate VLAN)
- 特点:突破VLAN个数的限制(最大个数只有4094个),节约IP地址(每个VLAN都需要一个子网地址),隔离相同VLAN中网络设备之间的流量。
- 一些基本的术语;
主要VLAN(Primary VLAN):把流量从混杂端口传送到隔离、团体和同一个VLAN内部的其它主要混杂端口。
辅助VLAN(Secondary VLAN):辅助VLAN包含两种VLAN类型:
隔离VLAN(Isolated VLAN):把流量从隔离端口传送到一个混杂端口。隔离VLAN中的端口,使其不能与PVLAN(另一个团体VLAN端口或相同隔离VLAN内的端口)内部的任何其它端口进行第2层通信。若要与其它端口通信,则必须穿越混杂端口。
团体VLAN(Community VLAN):在相同团体VLAN内部的团体端口之间传送流量并传送到混杂端口,团体VLAN内的端口可以在第2层彼此通信(只是在相同团体VLAN内部),但是不能与其它团体或隔离VLAN的端口进行通信。若要与其它端口进行通信,则必须穿越混杂端口。
PVLAN的2种端口类型:
混杂端口(Promiscuous Port):隶属于“Primary VLAN”,一个混杂端口可以与所有接口通信,包括PVLAN内的隔离和团体端口;混杂端口的功能是在团体和隔离的VLAN端口之间传递流量。
主机端口(Host Port):隶属于“Secondary VLAN”,由于“Secondary VLAN”具有两种属性,那么主机端口依“Secondary VLAN”属性的不同也有两种分类:
隔离端口(Isolated Port):它与PVLAN内的所有其它端口相分离,除混杂端口外;来源于隔离端口的流量仅仅传送给混杂端口。
团体端口(Community Port):它在逻辑上把相同区域内部的各个端口和混杂端口结合到一起,流量可以在它们之间传送。