实验 7;虚拟局域网 VLAN
# 70.实验7:虚拟局域网VLAN
下面我们来进行一个仿真实验,内容是学习如何划分 VLAN 以及验证划分 VLAN 的作用。
首先请您按图所示构建这样一个网络拓扑,然后给各个主机设置相应的 IP 地址。如果您构建好网络拓扑之后,发现交换机的各个端口并没有显示端口号,那您可以在菜单栏上选择选项,然后参数选择,然后选择在逻辑工作空间中总显示端口标签这样一项。
但是我们会发现这些端口号有些它会重叠在一起,我们拖动主机才能看清楚主机到底连接在交换机的哪个端口上,但是我们又为了保持拓扑结构是这样的一个形状,以方便我们后续实验的观察,因此我们最好不要用系统自动显示端口号的这种方法,而是我们在这自己标注,我们弄一个文本在这儿,这个是 FA 就是快速以太网,0/1 是这台计算机连接到交换机的端口,我们可以把它就标注到旁边,当然你标注的时候需要再把显示端口取消勾选,不要用系统来显示,就是这样。以此类推,我们拖动主机,我们先让自动让系统显示出来,然后拖动主机去看他到底接的是交换机的哪个端口,然后我们分别呢给它标注上就可以了。
还有另外一种方法可以查看交换机各端口的端口号,我们选择菜单栏的一个选项,然后参数选择,然后在这里也就是当鼠标在逻辑空间中的设备上悬停时,显示端口标签,我们把它选中以后,我们再来看一下,当我鼠标在这儿悬停的时候,这个端口以及交换机的端口都会显示出来,我们再来试一下在这个端口好也显示出了这个端口号,当然当我们鼠标移动开以后,过一段时间它们又会自动消失。
我们已经手工标注好了交换机各个端口的端口号,我们这样做的目的是为了我们后续描述实验的更加方便,以及您看起来更加清楚,因此我们没有采用系统自动标注端口号这种方法,而是我们手工标注了一下,交换机上电启动以后,它的所有的端口都是属于 VLAN1 的,那么我们点击右侧查看按钮来查看一下,我们点击交换机来查看它的端口状态汇总表,那么我们需要把弹出来窗口给它调整一下,调整到适合我们观察的这个就可以了。
我们可以看到我们选的这台交换机它总共有 24 个快速以太网的网口也就是 100 兆的网口,还有两个千兆的网口,那么后面写的都是他的端口号。其中我们在这看到这个端口 123456 它的面临状态都是开启,是因为我们在接着 6 台计算机,然后这个端口也是绿色指示灯,表明他们是开启状态。我们可以看到所有的端口都是默认属于 VLAN1 的。
另外我们可以看到后面的是每一个端口的 MAC 地址,由于交换机上电启动以后,它的所有的端口都默认为 VLAN1,所以在我们这样的一个网络拓扑里面,现在我们可以看到这 6 个主机它们也应该是属于 VLAN1 的,再换句话说他们应该属于同一个广播域。
下面我们就来验证一下这 6 台属于 VLAN1 的主机,它们应该是属于同一个广播域的,那么我们先从实时模式切换到仿真模式,为了实验现象更简化更容易观察,我们不需要仿真软件帮我们监听这么多的协议,我们把他们隐藏掉,然后我们只选择 ICMP 协议就可以了。因为等一会我们会让左上方的这台主机发送一个 IC MP 的广播请求,我们来看一下其他各个主机是否可以收到 ICMP 的广播请求。
我们点击右侧工具栏的添加复杂 PDU 这个按钮,然后再点击左上方的这台主机,会出现一个弹出窗口,那么作为这里选择应用程序一个默认的 ping 程序就可以了。由于我们是发送一个广播请求,所以目的 IP 地址我们在这填写为 255.255.255.255,这是广播地区,源 IP 地址就填这台主机的 IP 地址就可以了,也就是 192.168.0.1,还有序号我们填的 1,然后这里仿真的时间单次是一秒,然后点击创建 PDU,接下来我们点击这个单步,也就是捕获前进这个按钮,我们让进行单步的仿真。
我们看到主机把 ICMP 的广播请求发出来以后,那么到了交换机以后,交换机它应该是把我们请求从除了进口以外的其他端口都把它们转发出来,因为这是一个广播请求,并且广播请求他们广播是属于在 VLAN1 上的广播,由于其他的这些计算机都连接在属于 VLAN1 的端口上面,所以应该从这些端口都会转发出来,这样我们就验证了从属于 VLAN 的各个主机,他们可以收到发送给 VLAN1 上的广播,那么各个主机收到了左上方这台主机发来的 ICMP 的广播请求以后,他们都会给左上方的主机回一个 ICMP 的这样的一个响应报文,之后的现象我们就不去访问它了,我们主要是验证同属于同一个 VLAN 的各个主机,那么它们应该是属于同一个广播域。
所以我们就可以把后续的事件给它删除掉,那么我们点击右下角的箭头,然后再点击删除,也就把我们后续还没有完成的这些事情,这个场景给它删除掉就可以了。
下面我们就来看一下如何划分 VLAN。假设我们的应用需求是这个样子的,左边这三台主机我们希望它们属于同一个 VLAN,右边这三台主机我们希望它们属于另外一个 VLAN,也就是说左边这三个主机属于同一个广播域,右边这三个主机属于同一个广播域,但是左边这三台和右边这三台,他们不在一个共同的广播域里面,这就是它们属于不同的 VLAN,那么它就应该属于不同的广播域,将某些主机划归到同一个 VLAN,实际上是对主机连接的这些端口,也就是交换机的这些端口,把它们划分到同一个 VLAN 中。换句话说划分 VLAN 实际上是在交换机上进行的,而不是在主机上进行的。
下面我们就来进行具体的划分。假设我们将左边这三台主机划分到 VLAN2,之后我们再将右边这三台主机划分到 VLAN3,也就是说我们将交换机的端口 123 给它划归到 VLAN2,将交换机的 456 号端口给它划分到 VLAN 3,我们点击交换机,在弹出的窗口里面我们选择配置,然后我们在这可以看到有一个 VLAN 数据库的选项,点击它以后我们可以看到这台交换机里面它本身已经有 5 个 VLAN 编号为一,然后 1002,1003,1004,1005,1 号 VLAN 就是 VVLAN1,它是默认的,所有端口的是上面启动以后所有端口的都属于 VLAN1,其他一些 VLAN 有特殊的用途,我们这里暂时不去管它
现在我们需要创建,首先我们需要创建一个 VLAN,因为我们要将这三台主机划分到 VLAN2,所以我们要先创建一个 VLAN,VLAN 的 VLAN 号,就是 VLAN2,所以我们这儿的 VLAN 号填 2,然后 VLAN 名称我们可以随便取,比方说我们就叫做 VLAN2,然后点击添加,这样就相当于我们在交换机上已经创建好了一个 VLAN,它的编号为 2,它的名称就叫做 VLAN2:
创建好了 VLAN 以后,我们就需要将相应的端口划归到这样的一个 VLAN 里面去。那么我们让这三台主机属于 VLAN2,相当于是让交换机的端口 123 它是属于 VLAN2,所以我们在这可以看到交换机的端口 1。
我们把它点开,这里有一个 VLAN, 它所属于的 VLAN,那么上电启动以后它默认属于 VLAN1,那么我们这里面给他选择 VLAN 二。另外注意一下这个端口的类型,我们是保持它的不变,就是 ACCESS 的类型。以此类推,我们将这个端口 2 也给它选择成为让把它划归到 VLAN2。端口三我们也给它划归到 VALN2。那么我们可以看到此时我们这三个端口变成橙色的,我们可以快速的切换右下角的仿真和实时这两个按钮多切换几次,直到我们的这些端口全部变成绿色即可,这样我们就将这三台主机他们划归到了 VLAN2 里面。
别忘了我们右边这三台主机,他们现在仍然属于 VLAN1,总之左边和右边他们现在已经处于不同的 VLAN 了,换句话说他们应该是不同的广播域了。那么下面我们就来验证一下,我们让左上方这台主机发送一个广播,按道理来说应该只有和它属于同一个广播域,也就是同属于 VLAN2 的这样的这台主机和这台主机能收到,而这三台右边这三台主机是收不到的。我们来看我们来验证一下,看看是否是这样的情况。那么我们现在就点击右侧的添加复杂 PDU 的按钮,然后我们点击左上方的这台主机,一样的,我们在这写的应用程序还是一个 ping,然后目的 IP 地址给广播地址也就是 255.255.255.255,源地址就是他自己的 IP 地址,也就是 192.168.1.0.1,然后序号填 1,然后单次时间填 1,然后点击创建 PDU。
然后下面我们进行单步的仿真,我们点击捕获前进按钮,我们可以看到这台主机发送 ICMP 的广播请求出来,然后再点击下一步,我们可以看到确实是从这两个端口把他们广播出来了,而没有从右边这三个端口再进行广播出来。这就是我们就验证了我们所想的和我们实际仿真的结果呢是一样的,也就是不同的 VLAN 是不同的广播域。那么这个现象还有后续的现象,我们在这就不演示了,那么我们点击这儿的删除,就把我们刚才发送广播请求的实验场景给它删除掉,
下面我们将右侧的这三台主机划归到 VLAN3,也就是将交换机的端口 456 划归到 VLAN3。之前我们在交换机上通过它的配置界面在 VLAN 数据库里面添加了 VLAN2,然后将端口 123 也就在这里 123 都给它划归到了 VLAN 里面。但在实际应用当中,我们常常使用的是命令行的界面,也就是通过给交换机设置指令,让交换机执行相应的操作,而不是通过这种配置界面。下面我们就通过这种指令的方式在命令行输入指令,使得交换机上首先创建 VLAN3,然后将端口 456 给它划归到 VLAN3 里面。如果您是按照我们视频讲解的顺序来做实验的话,那么做到这一步,你应该可以得到跟我们类似的这样的一个命令行界面提示的内容都差不多。我们现在输入 end,然后再输入一个 EXIT,我们就回到了命令行的初始的界面,它提示我们按回车键来开始。
那么我们按一下回车键,我们首先是要进入特权模式,注入 ENABLE 回车,然后我们要进入全局配置模式,输入 CONFIG 命令我们应该以终端模式进去,所以我们再输入一个参数,就是空格,然后 terminal 然后回车,这样我们就处于全局配置模式下了。
Switch(config-if)#end
Switch#
Switch#exit
Switch con0 is now available
Press RETURN to get started
Switch>enable
Switch#config
Configuring from terminal, memory, or network [terminal]? terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#
2
3
4
5
6
7
8
9
10
11
12
13
14
下面我们就可以创建 VLAN 了,那命令就是 VLAN 然后空格,然后我们要给一个 VLAN 号,我们现在要创建 VLAN 号为 3 的这样的一个 VLAN,就是我们给 然后回车。
现在 VLAN3 就创建好了,我们还可以给 VLAN3 给它起个名字,命令就是 NAME VLAN 3 停车。这样我们 VLAN3 就已经创建完了,我们输入这个 END 然后回到特权模式:
Switch(config)#vlan 3
Switch(config-vlan)#name VLAN3
Switch(config-vlan)#end
Switch#
重命名也可以通过这样的方式重命名:
Switch(config)#vlan 3
Switch(config-vlan)#name VLAN3
2
3
4
5
6
7
8
9
然后我们可以看一下我们现在交换机里面的 VLAN 的情况,我们可以 SHOW 一下 SHOW vlan brief 就是输出一个简单的这样一个 VLAN 的汇总信息,我们来看一下。那么这就是我们这台交换机像目前的 VLAN 的情况,我们可以看到这边是 VLAN 的编号, VLAN1 是默认的把他的名字这样写的是 DEFAULT,本身就有的。VLAN1002,03,0,405 这些都是交换机上电启动以后就会默认的这些存在的 VLAN,而这个 VLAN2 它的名字也叫做我们给他命的 VLAN2 它包含了端口 123,这个是我们之前通过配置界面这里面去配置的。
Switch#show vlan brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active 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, Fa0/23
Fa0/24, Gig0/1, Gig0/2
2 VLAN2 active Fa0/1, Fa0/2, Fa0/3
3 VLAN3 active
1002 fddi-default active
1003 token-ring-default active
1004 fddinet-default active
1005 trnet-default active
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
那么 VLAN3 也就是这儿的 VLAN3 是我们刚刚通过命令行的命令方式创建的,但是我们可以看到它里面没有划分任何的端口,而交换机的所有的那些未划分的端口,它都默认属于 VLAN1。接下来我们就将这个默认属于 VLAN1 的端口 456,也就是 456,我们给他们划归到我们新创建的 VLAN3 里面去。我们首先输入 CONFIG terminal 进入全局配置模式,我们可以把这个端口 456 一次性的就添加到 VLAN3 里面,而不是分三次去添加,这样更加方便一些。
- 因此我们需要输入这样的命令,INTERFACE 接口空格,然后指定范围 RANGE 然后空格,我们指定端口要给端口名称,这里面的话这个端口是 Fastethernet,就是快速以太网那么我们是把 0/4 一直到 6 给它,那么我们再就写 0-4,然后空格,然后一个滑线,然后入一个 6
- 这样我们可以看到命令提示符这里面写的就是 CONFIG- iF,注意一下这个 iF 不是如果的意思,如果程序员看到的可能会认为是如果在我们这里面的不是条件判断,它代表了接口,它是缩写词,接下来我们就要指定这几个接口的它的交换机端口模式,我们要输入 switchport 然后模式是 modee,然后我们把它们指定为 ACCESS 模式,ACCESS 指定端口的模式回车, ACCESS 模式我们在理论课程中已经对他进行了详细的介绍,因此在这里我们就不再赘述了
- 接下来我们就可以让这个端口 456 这一批端口让他们划归到 VLAN3,那么我们输入 SWITCHport 然后空格这儿输入一个 ACCESS 然后负责可以访问 VLAN,VLAN3,然后回车,这样我们就已经创建好了 V3LAN3,并且将端口 456 划归到了 VLAN3
Switch#config terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#interface range fastethernet 0/4 - 6
Switch(config-if-range)#switchport mode access
Switch(config-if-range)#switchport access vlan 3
2
3
4
5
6
7
8
我们现在退回到配置模式来进行一下查看,注入 END 然后我们 show vlan brief ,然后我们可以看到 VLAN3 它现在里面包含了 456 号端口,这样证明我们刚才的这些命令操作是成功的。我们可以看到这个端口 456 这个地方现在变成了橙色的,这是因为我们刚刚把它们划归到了一个 VLAN3 里面,那么我们可以切换我们右下角的仿真和实时的按钮,被切换几次,直到它们变成绿色的就可以了。
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active 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
Fa0/23, Fa0/24, Gig0/1, Gig0/2
2 VLAN2 active Fa0/1, Fa0/2, Fa0/3
3 VLAN3 active Fa0/4, Fa0/5, Fa0/6
1002 fddi-default active
1003 token-ring-default active
1004 fddinet-default active
1005 trnet-default active
2
3
4
5
6
7
8
9
10
11
12
13
那么我们现在就来验证一下,左边这三台属于 VLAN2 的这三台主机,它们属于同一个广播域,而右边这三台主机属于 VLAN3,它们属于一个广播域,但是这左右两个广播域,他们不是同一个广播域,也就是他们是被隔离的。我们点击右侧工具栏的添加复杂的 PDU 我们先让左边广播域的主机发送广播请求。我们这儿 IP 地址填广播地址 255.255.255.255,源 IP 地址就是它的 IP 地址,也就是 192.168.0.1,然后序号这儿给 1,然后单次仿真给 1 秒,然后创建 PDU 然后我们点击捕获前进按钮进行单步的仿真,点击一下广播请求发出来了,然后到了交换机,然后我们再点击一下,我们可以看到交换机从它的二号端口和三号端口转发出来了,广播请求我们把这个实验场景给它删除掉。
接下来我们再次点击这里的右侧工具来到添加复杂 PDU,然后我们让右侧的某一台主机,比如说上面这台主机让他来发送广播请求,输入这个目的 IP 地址为广播地址 255255.255.255,然后源地址就是它的 192.168.0.4,然后序号填 1,单次仿真的时间就是一秒,然后创建 PDI,然后我们点击捕获前进,我们可以看到这台主机把广播请求发出来了,然后到了交换机机以后,再点一下交换机从它的端口 5 和端口 6 转发出来的广播请求,到这样就验证了我们所说的这两个不同的 VLAN 是两个不同的广播域。我们把这个实验场景给它删除掉,然后我们把鼠标状态切换回选择状态。
请您思考这样一个问题,我们刚才验证了左边是一个独立的广播域,右边是一个独立的广播域,这两个广播域他们是被隔离开的,那么我们问题是我属于左边这个广播域里面的某一台主机,可不可以和右边广播域里面的某一台主机进行单播的这种通信?答案是否定的,也就是不能。我们可以来验证一下,比如说我们用左边这个广播域里面的 192.168.0.2 台主机,我们来 ping 一下,也就是我们让这台主机来 ping 另一个广播域里面的某台主机,比如说我们就 ping 对称的这边的 192.168.0.5。
我们就开始进行 ping,这个时候我们不用单步了,我们把它切换到实时模式去,然后我们再把它点开,我们就可以看到他现在第一个 ping 第一次发动的请求数据包没有在规定时间内收到响应,超时,第二个又超时了,总共会进行 4 个。
Pinging 192.168.0.5 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for 192.168.0.5:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
2
3
4
5
6
7
8
9
这样,我们看到左边这台主机向右边这台主机其实是依次发送了 4 个单播的这种 ICMP 的单播的这种询问,但是在规定时间之内都没有收到右边这台主机的响应,也就是我们发了 4 个包,但是没有接收到响应的 4 个包。这就证明了不同广播域里面的主机,它们单播也是不可能通信的。
接下来请您将我们之前的网络拓扑扩展为现在的样子,那么我们是在下面添加了一台交换机和 6 台主机,那么您需要给 6 台主机配置相应的 IP 地址,然后还需要在下面的交换机上也创建两个 VVLAN 分别是 VVLAN2 和 VVLAN3,然后让端口 123 它们属于 VLAN2,让端口 456 属于 VLAN3。这样的话我们左边的这 6 个主机就同属于了 VLAN2,而右边这 6 个主机就同属于了 VLAN13
两个交换机之间也要进行互联,那么他们的档口我们不去对他们划分,那么他们默认都属于 VLAN1,建议您在划分 VLAN 的时候,分别采用我们之前介绍过的图形界面的方式,比如说划分 VLAN2 的时候,您可以采用图形界面的方式,而在划分这边的 VLAN3 的时候,可以使用我们之前介绍的行命令的方式,这个工作我已经完成了,也就是说左边这 6 台主机他们属于 VLAN2,然后右边这 6 台主机它们属于 VLAN3,现在我们来验证一下,看看划分的是否正确。
我们先在右下角切换到仿真模式,然后我们让左边在 VLAN2 上的某一个主机发送一个广播请求。我们选择添加复杂的 PDU 然后我们就让最上面这台主机来发送。好输入目的 IP 地址为 255.255.255.255,这是个广播地址,然后原地址就填他自己的 192.168.0.1,然后给个序号 1,然后这儿给个时间 1,然后我们就点击这儿的捕获前进,我们可以看到这台主机把 ICMP 的广播请求发送出来了,按道理它应该是通过端口二、端口三、端口七没有发送出来,我们看一下是不是这样子的,
那么现在我们可以看到只从端口 2,3 发动出来了,而端口 7 它并没有从发送出来,想一想这是为什么?这是因为这两台交换机的端口 7,我们对他们的端口类型并没有进行过设置,他们都是采用默认的这种 ACCESS 类型的端口,在转发数据帧的时候,它会将数据帧首部中的 VLANID,也就是 VLAN 号给提取出来,然后和自己所处的 VLAN 的 VLAN 号进行比对,如果是相等的话它就转发,如果是不相等的话就不转发。
那么从数据帧的首部提出来的 VLANID 也就是 VLAN 号应该是 2,因为端口 123 的他们都属于 VLAN2。但是这个端口 7 我们并没有给他设置它属于哪个 VLAN,它默认属于 VLAN1,所以 VLAN 号就应该是 1。那么这两个 VLAN 号不等,所以这个数据帧的它就不会从端口 7 再转发出来。我们在理论课的讲解过程中其实已经讲过了,交换机之间进行互联,在进行 VLAN 划分的时候,那么他们的互联的端口类型一般来说应该设置为 Trunk 类型
那么下面我们先删除之前的实验场景,然后将鼠标状态切换回选择状态,我们先对上面的交换机进行配置,我们就采用图形化界面的配置方式来配置,那么我们需要对端口期把它的端口类型,从 ACCESS 呢给它改为 Trunk 类型。那么我们可以看到下面是相应的行的命令,如何改端口的模式或者叫做端口的类型,我们将下面这个交换机进行同样的操作,也是配置它的端口 7,将它的端口模式或者叫做端口类型从 ACCESS 的改为 Trunk。这时候我们看到两个交换机的这两个端口机,它们的状态指示灯都是橙色的,那么我们需要在右下角切换实时和仿真模式的按钮,多切换几次,直到它们都变为绿色的就可以了。
Trunk 类型的端口可以转发所有 VLAN1 上的数据帧,分两种情况进行转发:
- 一种是数据帧首部的 VLANID 和 Trunk 端口的本征 VLANID 它们相等,如果是这种情况的话,端口的会首先将带转发的数据帧它首部的 VLANID 给它去掉,也就是我们所谓的去标签,然后再进行转发。
- 另一种情况是数据帧的首部的 VLANID 与 Trunk 端口的本征 VLANID 他们不相等的这种情况下,这个端口就直接将这个数据帧的发送出去,而不去掉它的标签。
下面我们就来验证一下之前的设置是否满足我们的应用需求。我们让 VLAN2 中的最上面这台主机发送一个 ICMP 的广播请求,然后我们来看一下数据包的传递和转发的这样一个情况。我们选择右边的添加复杂的 PDU 然后我们选择上面这台主机来发送,目的 IP 地址我们选 255.255.255.255,源 IP 就填他自己的 192.168.0.1,然后序号填 1,然后这里仿真,点击,然后点击创建 PDU。
下面我们进行单步的跟踪。广播请求发送到上面的交换机,然后我们看看它是如何转发。它确实从 2 号端口三号端口转发出来了,并且从 7 号端口也转发出来了,到达了下面交换机:
我们再来看下面的交换机如何转发,再点捕获前进按钮。我们看到了确实是这样的一个和我们想象当中的是一样的,也就是上面这台主机发送的广播请求,把它处于同一个 VLAN 以及同一个广播域的其他主机都可以收到:
我们删除之前的实验场景。下面我们让右边的 VLAN3 上的某个主机发送一个 ICMP 的广播请求。我们先点击这个右侧工具栏的添加复杂 PDU 按钮,然后我们就让右侧最上面这台主机来发送。好目的 IP 地址是 255.255255.255,源 IP 地址就是 192.168.0.4,然后序号填 1,然后仿真单次时间填一秒,装进 PDU。
接下来我们点击捕获前进这个按钮进行单步的跟踪,数据包发出来到达交换机,到达上面这个交换机,然后再点一下,我们可以看到交换机的从 567 三个口把它转发出来,这样数据包就到达了下面这个交换机,那么我们再点击我们可以看到数据包在下面,这个交换机是从 456 这三个口转发出来,就跟我们所需要的这种情况是一致的。
本实验到此结束,在本次实验中,我们介绍了在交换机上划分 VLAN 的方法,其中包括只要使用命令创建 VLAN,将端口添加到所创建的 VLAN,以及设置端口的类型,例如 Access,Trunk。
通过本实验,相信您已经掌握了划分 VLAN 的具体方法,并体现到发生阶段的作用,也就是隔离广播域