前话
我们经常到机房上课,想必对机房后面那层叠的跟DVD一样的机器有印象吧,那些就是交换机。
交换机作用是什么?
我这里度娘一下:
交换机(Switch)意为“开关”是一种用于电(光)信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。
说简单点,就是为主机之间创建通信道路的机器,如下图,各主机连接同个交换机,且IP在同一网段,在同一VLAN,他们是可以互相通信的,他们就简单构成了一个局域网。
刚才提到了vlan,vlan又是什么呢?
同样度娘一下:
VLAN(Virtual Local Area Network)的中文名为”虚拟局域网”。
虚拟局域网(VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。VLAN是一种比较新的技术,工作在OSI参考模型的第2层和第3层,一个VLAN就是一个广播域,VLAN之间的通信是通过第3层的路由器来完成的。与传统的局域网技术相比较,VLAN技术更加灵活,它具有以下优点: 网络设备的移动、添加和修改的管理开销减少;可以控制广播活动;可提高网络的安全性。
在计算机网络中,一个二层网络可以被划分为多个不同的广播域,一个广播域对应了一个特定的用户组,默认情况下这些不同的广播域是相互隔离的。不同的广播域之间想要通信,需要通过一个或多个路由器。这样的一个广播域就称为VLAN。
我个人理解呢,VLAN就是把一条大马路用隔离带分成多条小马路的技术。
要注意的是,每条小马路之间是不能相通的,图示如下:
在交换机中可以添加VLAN和设置端口处于哪个VLAN,我们用之前简单局域网示例来讲解:
上面一台主机 PC0 处于VLAN 1 ,下面两个主机 PC1 和 PC2 处于 VLAN 2 ,三台主机的IP处于同一网段。
PC0 接入交换机端口 Fa0/1 ,PC1 接入交换机端口 Fa0/2 ,PC2 接入交换机端口 Fa0/3 。
但由于VLAN不同,PC0 不能和 PC1 PC2 通信。
下面两台主机 PC1 和 PC2 的IP同网段,也同处于 VLAN 2 ,因此这两台主机可以互相通信。
交换机配置过程如下:
- Switch> enable //进入特权模式
- Switch# vlan database //进入vlan数据库
- Switch(vlan)# vlan 2 //添加一个vlan,vlan号为 2 。默认所有端口处于vlan 1 ,因此本例子只需添加添加 vlan 2
- Switch(vlan)# exit //退出 vlan数据库
- Switch# configure terminal //进入全局配置模式
- Switch(config)# interface FastEthernet 0/2 //进入端口Fa0/2设置
- Switch(config-if)# switchport access vlan 2 //设置端口Fa0/2处于vlan 2,默认所有端口处于vlan 1 ,所以本实例不用对端口Fa0/1设置vlan
- Switch(config-if)# exit //退出端口Fa0/2设置
- Switch(config)# interface FastEthernet 0/3 //进入端口Fa0/3设置
- Switch(config-if)# switchport access vlan 2 //设置端口Fa0/3处于vlan 2
- Switch(config-if)# end //设置完成退出
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
那么我们的主要问题来了,不同VLAN之间该如何进行通信呢?下面我们开始主题!
开始主题前,先上一张我对学校机房网络的图示 >_< ,有错请轻喷。
不同VLAN之间互相通信
交换机vlan有什么用呢?谷歌娘度娘会跟你说什么降低一条网络线路的网络风暴提高利用率啊什么的。
我目前为止觉得很有用的是,实现通过不同vlan通信可以使不同网络段的主机能够进行通信。
上面这句话有点长,我举个例子吧,比如我们知道,若子网掩码为 255.255.255.0 ,IP为 192.168.10.100 的主机不能和 IP为 192.168.20.100 的主机进行通信,它们两不在同一子网。
那么有什么办法解决呢?有一种是通过路由器,路由器一般有两三个端口,接入子网的端口设置为子网的网关即可实现两个子网的通信,如下图所示: