实验21,22,23 VLAN
# 实验21,22,23 VLAN
# 实验21 VLAN间通信的实现方法 多臂路由
本仿真实验的目的在于验证微软件的通信可以使用多臂路由来实现
我已经在仿真软件中构建好了我们理论课中所使用的网络拓扑,并且在各主机和路由器的各接口旁边都标注好了所需配置的IP地址和地址掩码。需要说明的是三个地址块/后面的数字24,表明地址掩码为255.255.255.0。为了简单起见,图中并没有标注出地址掩码的点分十进制形式,
- 我们的应用需求是将主机ABC划分到VLAN10,将主机DEF划分到VLAN20,并且VLAN10中的主机可以和VLAN20中的主机相互通信,也就是我们所谓的实现VLAN间的通信,
- 很显然这样的应用需求仅靠数据链路层提供的服务是无法实现的。我们需要使用网络层的互联设备,也就是路由器来实现。
- 我们可将交换机上的某个接口划分到VLAN10,另一个接口划分到VLAN20,接口类型采用默认的ACCESS类型,然后将这两个接口分别连接到路由器的两个接口上,这相当于我们使用路由器将VLAN10和VLAN20这两个不同的网络进行了互联。
- 我们还需要将VLAN10中各主机所连接的交换机接口划分到VLAN10,将VLAN20中各主机所连接的交换机接口划分到VLAN20,接口类型也采用默认的ACCESS类型。
- 另外我们还应给各VLAN中的各主机配置相应的IP地址和地址掩码,需要注意的是 VLAN10与VLAN20是两个不同的网络,因此他们的网络地址不相同,VALN10的网络地址为192.168.1.0/24,VLAN20的网络地址为192.168.2.0/24。
相应的VLAN10中各主机的IP地址和路由器接口的IP地址的网络号部分应该相同,也就是点分十进制的前三个10进制数为192.168.1,而第4个10进制数应该互不相同,并且不能为0和255,因为为0则是该网络的网络地址,为255则是该网络的广播地址。
同理VLAN20装各主机的IP地址和路由器接口的IP地址的网络号部分应该相同,也就是点分十进制的前三个10进制数为192.168.2,而第4个十进制数应该互不相同,并且不能为0和255 - 我们还需要给各主机指定默认网关,该路由器既是VLAN10的默认网关,也是VLAN20的默认网关。对于VLAN10中的主机ABC,他们的默认网关应该指定为该路由器的接口0/0的IP地址,对于VLAN20中的主机DEF他们的默认网关应该指定为该路由器的接口0/1的IP地址,下面我们就开始进行配置工作。
第一步给各主机配置IP地址,地址掩码以及指定默认网关。我们先给主机A配置,点击主机A在弹出窗口中选择桌面选项卡,然后选择IP配置,注意这里请确保选择的是静态,也就是我们要手工配置IP地址,而不是使用DHCP让主机自动获取IP地址,输入主机A的IP地址192.168.1.1,输入主机默认网关的IP地址,也就是路由器接口0/0的IP地址,192.168.1.254,关闭IP配置窗口,这样我们对主机A的配置工作就要完成了,其他主机的配置工作请您自行完成,这里就不再演示了。
第二步,给路由器的各接口配置IP地址和地址掩码,点击路由器,在弹出窗口中选择命令行界面选项卡,这样我们就要进入了该路由器的命令行界面,按回车键进入命令行提示符,输入en进入特权模式,输入CONF T进入全局配置模式,输入INTERFACE G0/0,进入端口G0/0的配置模式,输入IP ADDRESS 192.168.1.254, 255.255.255.0回车,这样我们就给路由器的G0/0接口配置好了IP地址和地址掩码,输入 NA SHUT,开启该接口,
输入INTERFACE G0/1,进入端口G0/1的配置模式,输入IP ADDRESS 192.168.2.254 255.255.255.0 这样我们就给路由器的G0/1接口,配置好了IP地址和地址,掩码输入NO ,SHUTDOWN回车,开启该接口
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int g0/0
Router(config-if)#ip addr 192.168.1.254 255.255.255.0
Router(config-if)#no shut
%LINK-5-CHANGED: Interface GigabitEthernet0/0, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0, changed state to up
Router(config-if)#int g0/1
Router(config-if)#ip addr 192.168.2.254 255.255.255.0
Router(config-if)#no shut
%LINK-5-CHANGED: Interface GigabitEthernet0/1, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/1, changed state to up
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
第三步,给交换机添加vlan,点击交换机,在弹出窗口中选择命令行界面选项卡,这样我们就进入了该交换机的命令行界面,按回车键进入命令行提示符,输入en进入特权模式,输入conf t进入全局配置模式,
输入vlan 10 这样我们就要创建了vlanid为10的vlan
输入name vlan10 将新创建的10号vlan命名为vlan10,
输入vlan 20 这样我们就要创建了vlanid为20的vlan,
输入name vlan20,将新创建的20号vlan命名为vlan20,
输入end回车,退回到特权模式,输入show vlan brief可以查看到我们新创建的vlan10和vlan20。
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#vlan 10
Switch(config-vlan)#name VLAN10
Switch(config-vlan)#vlan 20
Switch(config-vlan)#name VLAN20
Switch(config-vlan)#end
Switch#
%SYS-5-CONFIG_I: Configured from console by console
show vlan brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/1, Fa0/2, 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, Fa0/23, Fa0/24
Gig0/1, Gig0/2
10 VLAN10 active
20 VLAN20 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
17
18
19
20
21
22
23
24
25
26
27
第4步,将交换机上的各接口划归到相应的vlan。输入conf t回车,进入全局配置模式,输入interface range f0/1-3, f0/7 也就是我们要对f0/1、f0/2、f0/3以及f0/7这些接口进行批量设置,输入switchport mode access,设置接口类型为access类型,
输入switchport access vlan 10回车,将接口划归到vlan10,
输入interface range f0/4-6,f0/8,也就是我们要对f0/4、f0/5、f0/6以及f0/8这些接口进行批量设置,
输入switchport mode access,设置接口类型为access类型,
输入switchport access vlan 20,将接口划归到VLAN20,
输入end,退回到特权模式,输入show vlan brief 可以查看到我们已经将交换机上的各接口相应的划归 VLAN10和vlan20,到这里所有的配置工作已经完成了。
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#interface range f0/1-3,f0/7
Switch(config-if-range)#switchport mode access
Switch(config-if-range)#switchport access vlan 10
Switch(config-if-range)#interface range f0/4-6,f0/8
Switch(config-if-range)#switchport mode access
Switch(config-if-range)#switchport access vlan 20
Switch(config-if-range)#end
Switch#
%SYS-5-CONFIG_I: Configured from console by console
Switch#show vlan brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active 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
10 VLAN10 active Fa0/1, Fa0/2, Fa0/3, Fa0/7
20 VLAN20 active Fa0/4, Fa0/5, Fa0/6, Fa0/8
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
接下来我们就来测试一下VLAN10中的主机是否可以与VLAN20中的主机相互通信?请注意首先必须确保交换机各接口与路由器各接口的指示灯是绿色的,如果有棕色的,请反复切换软件右下角的实时与仿真模式,直到指示灯全部变为绿色。如果有红色指示灯,则表明您之前对路由器接口配置时,NO SHUTDOWN命令输入不正确或忘记输入该命令了,导致路由器接口没有开启,确保我们现在是在实时模式下进行测试
用主机A来Ping一下主机E看是否能Ping通。输入Ping 192.168.2.2回车,可以看到第一次的请求超时了,后边三次都会收到来自192.168.2.2,也就是主机E的响应,这表明VLAN间现在可以通信了
C:\>ping 192.168.2.2
Pinging 192.168.2.2 with 32 bytes of data:
Request timed out.
Reply from 192.168.2.2: bytes=32 time=4ms TTL=127
Reply from 192.168.2.2: bytes=32 time<1ms TTL=127
Reply from 192.168.2.2: bytes=32 time<1ms TTL=127
Ping statistics for 192.168.2.2:
Packets: Sent = 4, Received = 3, Lost = 1 (25% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 4ms, Average = 1ms
2
3
4
5
6
7
8
9
10
11
12
13
下面我们切换到仿真模式,来看看数据包在VLAN间是如何传递的,或者说是如何路由的。为了简单起见,监听ICMP协议即可。现在我们让主机A给主机E发送一个ICMP询问报文,如果主机E收到该询问报文会给主机A发回相应的响应报文,点击右侧工具栏中的添加简单的PDU按钮,然后指定该PDU的发送方为主机A,接收方为主机E。可以看到在主机A中出现了一个数据包,严格来说应该是一个以太网帧,其中封装有IP数据报,在IP数据报中封装有ICMP询问报文,点击它在弹出窗口中可以查看网络体系结构各层的相应处理,例如这是网络层的处理,这是数据链路层的处理,点击出站PDU详情还可以查看该数据包的封包细节
点击右侧的捕获前进按钮进行单步跟踪,可以看到数据包传递到了交换机,点击它在弹出窗口中可以查看交换机对该数据包的处理,这是接收处理,这是转发处理
关闭该弹出窗口,再次点击捕获前进按钮,可以看到数据包从交换机转发出来并到达路由器
这里需要注意的是该数据包看似是从交换机的0/8号接口转发出来的,而实际上应该是从0/7号接口转发出来的,这是仿真软件的显示问题,可能会造成我们的误解。其实从VLAN的角度来看,交换机转发该数据包,或者从之前的弹出窗口查看交换机对该数据包的转发处理,也可以知道该数据包应该是从交换机的0/7号接口转发出来的,
点击已经到达路由器的该数据包,在弹出窗口中可以查看路由器对该数据包的处理,这是接收处理,这是转发处理,关闭该弹出窗口
再次点击捕获前进按钮,可以看到数据包从路由器的0/1号接口转发回了交换机,再次点击捕获前进按钮,可以看到数据包从交换机的0/5号接口转发给了主机E,
点击已经到达主机E的该数据包,在弹出窗口中可以查看主机E对该数据包的处理,这是接收处理。这是主机E针对该数据包准备给主机A发回响应数据包,关闭该弹出窗口,
点击捕获前进按钮,可以看到响应数据包首先发送到了交换机,再次点击捕获前进按钮,可以看到交换机转发该数据包给路由器,再次点击捕获按钮,可以看到路由器又把该数据包转发回交换机,再次点击捕获按钮,可以看到交换机把该数据包转发给主机A。
这样我们就验证了使用多臂路由可以实现VLAN间的通信。很显然使用多币路由每增加一个VLAN,就会多占用一个交换机接口和一个路由器接口,并且还会多一条布线,实际应用中很少采用这种方法,下节课我们会验证单臂路由,它比多臂路由更具实用性,
最后请您在本实验的基础上进行一下扩充,也就是再添加一个VLAN,并实现三个VLAN之间的通信需要注意的是如果在仿真软件中选择通用的路由器,可能局域网接口不够,建议您选择2911型号的路由器
# 实验22 VLAN间通信的实现方法 单臂路由
下面我们来进行一个仿真实验,本仿真实验的目的在于验证VLAN间的通信,可以使用单臂路由来实现。我已经在仿真软件中构建好了我们理论课中所使用的网络拓扑,并且在各主机和路由器的各接口旁边都标注好了所需配置的IP地址和地址掩码,需要说明的是CIDR地址块/后面的数字24,表明地址掩码为255.255.255.0。为了简单起见,并没有标注出地址掩码的点分十进制形式,我们的应用需求是将主机ABC划分到VLAN10,将主机DEF划分到VLAN20,并且VLAN10中的主机可以和VLAN20中的主机相互通信,也就是我们所谓的实现VLAN间的通信,很显然这样的应用需求仅靠数据链路层提供的服务是无法实现的,我们需要使用网络层的互联设备,也就是路由器来实现。与使用多臂路由,实现VLAN间通信不同,使用单臂路由,不管有多少个VLAN互联,我们只需将交换机上的一个接口设置为Trunk类型,并将其连接到路由器的一个局域网接口即可。这样的物理连接比使用多臂路由简单的多。
我们需要在路由器的局域网接口下创建两个逻辑子接口,分别作为VLAN10和VLAN20的默认网关,这相当于我们使用路由器的一个局域网接口下的两个子接口,将VLAN10和VLAN20这两个不同的网络进行了互联。另外应该将所创建的这两个逻辑子接口配置为可以识别和封装802.1q帧,802.1q帧有时也简称为dot1q。注意要用2911的路由器,用普通路由器会报错:Invalid interface type and number
我们还需要将VLAN10中,各主机所连接的交换机接口划分到VLAN10,将VLAN20中各主机所连接的交换机接口划分到VLAN20,接口类型采用默认的access类型
另外,我们还应给各VLAN中的各主机配置相应的IP地址和地址掩码。需要注意的是 vlan10与vlan20是两个不同的网络,因此它们的网络地址不相同,vlan10的网络地址为192.168.1.0/24,vlan20的网络地址为192.168.2.0/24。
相应的 vlan10中各主机的IP地址和路由器逻辑子接口的IP地址的网络号部分应该相同,也就是点分10进制的前三个10进制数为192.168.1。而第4个10进制数应该互不相同,并且不能为0和255。因为如果为0,则是该网络的网络地址,如果为255则是该网络的广播地址。
同理,vlan20中各主机的IP地址和路由器逻辑子接口的IP地址的网络号部分应该相同,也就是点分10进制的前三个10进制数为192.168.2,而第4个10进制数应该互不相同,并且不能为0和255。
我们还需要给各主机指定默认网关,该路由器既是vlan10的默认网关,也是VLAN20的默认网关。对于VLAN10中的主机ABC,他们的默认网关应该指定为该路由器的逻辑子接口0/0.1的IP地址。对于vlan20中的主机def他们的默认网关应该指定为该路由器的逻辑子接口0/0.2的IP地址
下面我们就要开始进行配置工作。第一步给各主机配置IP地址、地址掩码以及指定要默认网关。我们先给主机A配置,点击主机A。输入主机a的IP地址,192.168.1.1,255.255.255.0。输入主机a的默认网关的IP地址,也就是路由器的逻辑子接口0/0.1的IP地址,192.168.1.254,然后按下回车键,关闭IP配置窗口,这样我们对主机a的配置工作就完成了,其他主机的配置工作请您自行完成
第二步,给路由器的某个局域网接口创建两个逻辑子接口,并进行相应配置,点击路由器,在弹出窗口中选择命令行界面选项卡,这样我们就进入了该路由器的命令行界面,进入命令行提示符,输入enable进入特权模式,输入config t 进入全局配置模式
输入interface g0/0.1 这样就创建了g0/0.1逻辑子接口
输入encapsulation dot1q 10 这是要设置该逻辑子接口,可以接收VLANID为10的802.1q帧,并且可将IP数据报封装成VLANID为10的802.1q帧进行转发,
输入IP address 192.168.1.254 255.255.255.0,这是设置该逻辑子接口的IP地址和地址掩码
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#interface g0/0.1
Router(config-subif)#encapsulation dot1q 10
Router(config-subif)#ip addr 192.168.1.254 255.255.255.0
2
3
4
5
6
输入interface g0/0.2 这样就创建了g0/0.2逻辑子接口。
输入输入encapsulation dot1q 20 这是设置该逻辑子接口,可以接收VLANID为20的802.1q帧,并且可将IP数据报封装成VLANID为20的802.1q帧进行转发
输入IP address 192.168.2.254 255.255.255.0。这是设置该逻辑子接口的IP地址和地址掩码,
Router(config-subif)#interface g0/0.2
Router(config-subif)#encapsulation dot1q 20
Router(config-subif)#ip addr 192.168.2.254 255.255.255.0
2
3
输入interface g0/0,进入g0/0接口配置模式,输入no shutdown,开启g0/0接口,这相当于开启了它下面的两个逻辑子接口。
Router(config-subif)#interface g0/0
Router(config-if)#no shut
%LINK-5-CHANGED: Interface GigabitEthernet0/0, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0, changed state to up
%LINK-5-CHANGED: Interface GigabitEthernet0/0.1, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0.1, changed state to up
%LINK-5-CHANGED: Interface GigabitEthernet0/0.2, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0.2, changed state to up
2
3
4
5
6
7
8
9
10
第三步给交换机添加VLAN,点击交换机,在弹出窗口中选择命令行界面选项卡,进入命令行提示符,输入en进入特权模式,输入conf t 进入全局配置模式,输入VLAN 10 这样我们就要创建了VLANID为10的VLAN
输入name VLAN10 将新创建的10号VLAN命名为VLAN10,
输入VLAN 20 这样我们就要创建了VLANID为20的VLAN
输入name VLAN20, 将新创建的20号VLAN命名为VLAN20,
输入end,退回到特权模式,输入show VLAN brief。可以查看到我们新创建的VLAN10和VLAN20,
Switch>
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#vlan 10
Switch(config-vlan)#name VLAN10
Switch(config-vlan)#vlan 20
Switch(config-vlan)#name VLAN20
Switch#show vlan brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/1, Fa0/2, 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, Fa0/23, Fa0/24
Gig0/1, Gig0/2
10 VLAN10 active
20 VLAN20 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
17
18
19
20
21
22
23
24
25
26
27
28
29
第4步将交换机上的各接口划归到相应的VLAN,我们接着之前的命令行来做,
输入conf t, 进入全局配置模式,
输入interface range f0/1-3, 也就是我们要对f0/1、f0/2、f0/3这些接口进行批量设置
输入switchport mode acess,设置接口类型为excess类型
输入switchport access VLAN 10,将接口划归到VLAN10
输入interface range f0/4-6,也就是我们要对f0/4、f0/5、f0/6这些接口进行批量设置,
输入switchport mode access, 设置接口类型为acess类型,
输入switchport access VLAN 20,将接口划归到VLAN20,
输入end退回到特权模式,
输入show VLAN brief。
可以查看到我们已经将交换机上的各接口相应的划归到了VLAN10和VLAN20。
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#interface range f0/1-3
Switch(config-if-range)#switchport mode access
Switch(config-if-range)#switchport access vlan 10
Switch(config)#interface range f0/4-6
Switch(config-if-range)#switchport mode access
Switch(config-if-range)#switchport access vlan 20
Switch#show vlan brief
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
10 VLAN10 active Fa0/1, Fa0/2, Fa0/3
20 VLAN20 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
14
15
16
17
18
19
20
21
22
23
24
25
26
第5步,将交换机上连接路由器的接口设置为Trunk类型,我们接着之前的命令行来做,
输入conf t,进入全局配置模式,
输入interface f0/7 进入f/7接口配置模式,
输入switchport mode Trunk,设置该接口的类型为Trunk。到这里所有的配置工作就已经完成了。
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#interface f0/7
Switch(config-if)#switchport mode trunk
Switch(config-if)#
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/7, changed state to down
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/7, changed state to up
2
3
4
5
6
7
8
9
接下来我们就来测试一下VLAN10中的主机是否可以与VLAN20中的主机相互通信。
请注意,首先必须确保交换机各接口与路由器各接口的指示灯是绿色的,如果有棕色的,请您反复切换仿真软件右下角的实时与仿真模式,直到指示灯全部变绿。如果有红色指示灯,则表明您之前对路由器接口配置时 no shutdown命令输入不正确或忘记输入该命令了,导致路由器接口没有开启,请您仔细检查。您还需要确保我们现在是在实时模式下进行测试,
点击主机a然后点击桌面选项卡,再点击命令提示符,就可以进入主机a的命令行了,使用Ping命令来测试VLAN10中的主机a是否可以与VLAN20中的主机e相互通信,也就是用主机a来Ping一下主机e的IP地址,看是否能Ping通.输入命令 192.168.2.2,可以看到第一次的请求超时了,后面三次都收到了来自192.168.2.2,也就是主机e的响应,这表明VLAN间现在可以通信了,
C:\>ping 192.168.2.2
Pinging 192.168.2.2 with 32 bytes of data:
Request timed out.
Reply from 192.168.2.2: bytes=32 time<1ms TTL=127
Reply from 192.168.2.2: bytes=32 time=1ms TTL=127
Reply from 192.168.2.2: bytes=32 time=4ms TTL=127
Ping statistics for 192.168.2.2:
Packets: Sent = 4, Received = 3, Lost = 1 (25% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 4ms, Average = 1ms
2
3
4
5
6
7
8
9
10
11
12
13
14
下面我们切换到仿真模式,来看看数据包在VLAN间是如何传递的,或者说是如何路由的。监听这ICMP协议即可。现在我们让主机a给主机e发送一个ICMP询问报文,如果主机E收到该询问报文,会给主机a发回相应的响应报文,点击右侧工具栏中的添加简单的pdu按钮,然后指定该PDU的发送方为主机a,接收方为主机e。
可以看到在主机a中出现了一个数据包,严格的说这应该是一个以太网帧,其中封装有IP数据报,在IP数据报中封装有ICMP询问报文,点击它在弹出窗口中可以查看网络体系结构各层的相应处理,例如这是网络层的处理,这是数据链路层的处理,点击出站PDU详情,还可以查看该数据包的封包细节,
点击右侧的捕获前进按钮,进行单步跟踪。可以看到数据包传递到了交换机,点击它在弹出窗口中可以查看交换机对该数据包的处理,这是接收处理,接收到的普通的以太网的帧,这是转发处理,转发出带有VLAN标签的802.1q帧,关闭该弹出窗口,
再次点击捕获前进按钮,可以看到数据包从交换机转发出来并到达路由器,点击已经到达路由器的该数据包,在弹出窗口中可以查看路由器对该数据包的处理,这是接收处理。由于该数据包是带有VLANID为10的802.1q帧,因此由子接口0/0.1处理,从中提取出IP数据报,根据IP数据报首部中的目的IP地址进行查表转发,这是转发处理。
根据查表转发的结果,该IP数据报需要通过子接口0/0.2直接交付给目的主机e,于是子接口0/0.2将其封装为带有VLANID为20的802.1q帧进行转发,关闭该弹出窗口,再次点击捕获前进按钮。可以看到该数据包从路由器转发回了交换机
点击该数据包,在弹出窗口中可以看到交换机收到的该数据包是一个802.1q帧,交换机根据其目的MAC地址和所携带的VLANID查找转发表,决定从接口0/5转发该数据包。由于接口0/5是access类型的接口,因此转发时会去掉802.1q帧的标签,使其成为普通的以太网帧,关闭弹出窗口,
再次点击捕获前进按钮,可以看到数据包从交换机的0/5号接口转发给了主机e,点击已经到达主机e的该数据包,在弹出窗口中可以查看主机e对该数据包的处理,这是接收处理,这是主机e针对该数据包准备给主机a发回响应数据包,关闭该弹出窗口,
点击捕获前进按钮,可以看到响应数据包首先发送到了交换机,再次点击前进按钮,可以看到交换机转发该数据包给路由器,
再次点击捕获前进按钮,可以看到路由器又把该数据包转发回交换机,
再次点击捕获前进按钮,可以看到交换机把该数据包转发给主机a
这样我们就要验证了使用单臂路由可以实现VLAN间的通信,相比于使用多臂路由,每增加一个VLAN就会多占用一个交换机接口和一个路由器接口,并且还会多一条布线而言,使用单臂路由无论有多少个VLAN,都只需要额外占用交换机和路由器各一个接口,只需一条布线,
但是单臂路由仍然存在着这样的缺点,那就是随着VLAN间流量的不断增加,很可能导致路由器成为整个网络的瓶颈。
下节课我们会验证使用三层交换机实现VLAN间的路由,它比单臂路由具有更好的性能,最后请您在本实验的基础上进行一下扩充,也就是再添加一个VLAN,并实现三个VLAN间的通信
# 实验23 VLAN间通信的实现 使用三层交换机
关于实验23 使用三层交换机所使用的交换机型号?
如题,在视频里使用到了三层交换机,但不知道是哪一种型号的,看到类似的有356024PS和365024PS。同时遇到了进入命令行失败的情况,一进入就提示“设备必须开机”,百度也搜不到类似的情况,后来重新拖一个就好了
本仿真实验的目的在于验证VLAN间的通信可以使用三层交换机来实现,我已经在仿真软件中构建好了我们理论课中所使用的网络拓扑,并在各主机的旁边都标注好了所需配置的IP地址和地址掩码,需要说明的是CIDR地址块斜线后面的数字24,表明地址掩码为255.255.255.0,为了简单起见,图中并没有标注出地址掩码的点分10进制形式,
另外在三层交换机的上面,也标注出了该交换机内部所要创建的VLAN接口和相应的IP地址以及地址掩码。我们的应用需求是将主机ABC划分到VLAN10,将主机DEF划分到VLAN20,并且VLAN10中的主机可以和VLAN20中的主机相互通信,也就是我们所谓的实现VLAN间的通信,很显然这样的应用需求仅靠数据链路层提供的服务,也就是普通的二层交换机所能提供的服务是无法实现的。我们需要使用网络层的互联设备,也就是路由器来实现。在前两次课中,我们分别验证了使用多臂路由和单臂路由都可以实现VLAN间的通信,但是使用多比路由随着VLAN数量的增多,所需交换机接口数量和路由器局域网接口数量远随之增加,布线数量也随之增加,因此并不受欢迎。单臂路由在这一点上比多臂路由具有优势,不管VLAN数量增大到多少,都只需要交换机上的一个接口与路由器上的一个局域网接口连接即可。单臂路由和多臂路由,都是在使用路由器进行VLAN间的路由,随着VLAN间通信流量的不断增加,很可能导致路由器成为整个网络的瓶颈。
为了解决上述问题,三层交换机应运而生,之所以称为三层交换机,是因为它比普通的二层交换机多出了路由功能,而路由功能属于网络体系结构中的第三层,也就是网络层。因此带有路由功能的交换机常称为三层交换机,在一台三层交换机内部分别具有交换模块和路由模块,他们都使用专用集成芯片技术处理交换和路由,因此与传统的路由器相比,可以实现高速路由。
另外通用模块与交换模块采用内部汇聚连接,可以具有相当大的带宽。
为了实现本例所示的VLAN间通信,我们需要在三层交换机内部创建所需的VLAN接口,一个是VLAN10,另一个是VLAN20,并给他们配置相应的IP地址和地址掩码。选择型号后开机
可以将VLAN10接口看作是VLAN10中各主机的默认网关,VLAN20接口看作是VLAN20中各主机的默认网关。需要注意的是VLAN接口是虚拟接口,而不是物理接口。我们还需要将VLAN10中各主机所连接的三层交换机的接口划归到VLAN10,将VLAN20中各主机所连接的三层交换机的接口划归到VLAN20,接口类型采用默认的ACCESS类型。
另外我们还应该给各VLAN中的各主机配置相应的IP地址和地址掩码。
需要注意的是 VLAN10与VLAN20是两个不同的网络,因此他们的网络地址不相同,VLAN10的网络地址为192.168.1.0/24,VLAN20的网络地址为192.168.2.0/24。相应的VLAN10中各主机的IP地址和三层交换机内部所创建的VLAN10接口的IP地址的网络号部分应该相同,也就是点分10进制的前三个10进制数为192.168.1。而第4个10进制数应该互不相同,并且不能为0和255,因为为0则是该网络的网络地址为255则是该网络的广播地址,
同理VLAN20中各主机的IP地址和三层交换机内部所创建的VLAN20接口的IP地址的网络号部分应该相同,也就是点分十进制的前三个10进制数为192.168.2,而第4个10进制数应该互不相同,并且不能为0和255。
我们还需要给各主机指定默认网关,对于VLAN10中的主机ABC,他们的默认网关应该指定为三层交换机内部所创建的VLAN10接口的IP地址。对于VLAN20中的主机DEF他们的默认网关应该指定为三层交换机内部所创建的VLAN20接口的IP地址,需要特别注意的是不要忘记使能三层交换机的路由功能,
下面我们就要开始进行配置工作第一步给各主机配置IP地址、地址掩码以及指定默认网关,我们先给主机A配置,点击主机A在弹出窗口中选择桌面选项卡,然后选择IP配置。请注意,这里请确保选择的是静态,也就是我们要手工配置IP地址,而不是使用DHCP让主机自动获取IP地址,输入主机A的IP地址,192.168.1.1,然后按下回车键,仿真软件根据我们所输入IP地址的类别,自动帮我们填入了相应的默认子网掩码,255255.255.0,这也是我们需要的,因此不用修改。输入主机A的默认网关的IP地址,也就是三层交换机内部所创建的VLAN,10接口的IP地址,192.168.1.254,然后按下回车键,关闭IP配置窗口,这样我们对主机A的配置工作就要完成了,其他主机的配置工作请您自行完成,这里就要不再演示了。
第二步给三层交换机创建VLAN10接口和VLAN20接口,并为他们配置相应的IP地址和地址掩码。点击三层交换机在弹出窗口中选择命令行界面选项卡,这样我们就要进入了该交换机的命令行界面,按键进入命令行提示符,输入en进入特权模式,输入CONF T进入全局配置模式,输入INTERFACE VLAN 10 创建VLAN10接口,
输入IP ADDRESS 192.168.1.254 255.255.255.0,。这是给VLAN10接口设置IP地址和地址掩码,
输入NO SHUT 开启VLAN10接口,
输入INTERFACE VLAN 20 创建VLAN20接口,
输入IP ADDRESS 192.168.2.254 255.255.255.0,这是给VLAN20接口设置IP地址和地址掩码,
输入 NAU SHUTDOWN 开启VLAN20接口,
输入EXIT 退出到全局配置模式。
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#interface vlan 10
Switch(config-if)#ip addr 192.168.1.254 255.255.255.0
Switch(config-if)#no shut
Switch(config-if)#interface vlan 20
Switch(config-if)#ip addr 192.168.2.254 255.255.255.0
Switch(config-if)#no shut
Switch(config-if)#exit
2
3
4
5
6
7
8
9
10
第三步,给三层交换机添加VLAN10和VLAN20,我们接着之前的命令行来做,
输入VLAN 10 这样我们就要创建了VLANID,为10的VLAN
输入NAME VLAN10,将新创建的10号VLAN命名为VLAN10,
输入VLAN 20 这样我们就要创建了VLANID为20的VLAN,
输入NAME VLAN20,将新创建的20号VLAN命名为VLAN20,输入END,退回到特权模式,
输入SHOW VLAN BRIEF 可以查看到我们新创建的VLAN10和VLAN20。
Switch(config)#vlan 10
%LINK-5-CHANGED: Interface Vlan10, changed state to up
Switch(config-vlan)#name VLAN10
Switch(config-vlan)#vlan 20
%LINK-5-CHANGED: Interface Vlan20, changed state to up
Switch(config-vlan)#name VLAN20
Switch(config-vlan)#end
Switch#
%SYS-5-CONFIG_I: Configured from console by console
Switch#show vlan brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/1, Fa0/2, 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, Fa0/23, Fa0/24
Gig0/1, Gig0/2
10 VLAN10 active
20 VLAN20 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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
第4步,将三层交换机上的各接口划归到相应的VLAN,我们接着之前的命令行来做,输入CON T进入全局配置模式,输入INTERFACE RENT F0/1-3,也就是我们要对F0-1、F0-2、F0-3这些接口进行批量设置,
输入SWITCH POT MODE ACESS 设置接口类型为ACCESS类型,
输入SWITCH ACCESS vlan 10,将接口划归到VLAN10,
输入INTERFACE RANGE F0/4-6 也就是我们要对F0-4、F0-5、F0-6这些接口进行批量设置,
输入SWITCHPORT MODE EXCESS 设置接口类型为ACCESS类型,
输入SWITCHPORTE ACCESS ,将接口划归到VLAN20,
输入END,退回到特权模式,
输入SHOW VLAN BRIEF。可以查看到我们已经将交换机上的各接口相应的划归到了VLAN10和VLAN20。
Switch#
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#int range f0/1-3
Switch(config-if-range)#switchport mode access
Switch(config-if-range)#switchport access vlan 10
%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan10, changed state to up
Switch(config-if-range)#int range f0/4-6
Switch(config-if-range)#switchport mode access
Switch(config-if-range)#switchport access vlan 20
%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan20, changed state to up
Switch(config-if-range)#end
Switch#
%SYS-5-CONFIG_I: Configured from console by console
Switch#show vlan brief
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
10 VLAN10 active Fa0/1, Fa0/2, Fa0/3
20 VLAN20 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
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
第5步,使能三层交换机的路由功能,我们接着之前的命令行来做,输入CONF T,进入全局配置模式,
输入IP ROUTINE 使能路由功能,到这里所有的配置工作就已经完成了
接下来我们就来测试一下VLAN10中的主机是否可以与VLAN20中的主机相互通信
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#ip routing
2
3
请注意,首先必须确保三层交换机各接口的指示灯是绿色的,如果有橙色的,请你反复切换软件右下角的实时与仿真模式,直到指示灯全部变为绿色,您还需要确保我们在实时模式下进行测试,
点击主机A然后点击桌面选项卡,来Ping一下主机E的IP地址, 192.168.2.2,可以看到第一次的请求超时了,后面三次都收到了来自192.168.2.2,也就是主机E的响应,这表明VLAN间现在可以通信了
C:\>ping 192.168.2.2
Pinging 192.168.2.2 with 32 bytes of data:
Request timed out.
Reply from 192.168.2.2: bytes=32 time<1ms TTL=127
Reply from 192.168.2.2: bytes=32 time<1ms TTL=127
Reply from 192.168.2.2: bytes=32 time<1ms TTL=127
Ping statistics for 192.168.2.2:
Packets: Sent = 4, Received = 3, Lost = 1 (25% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
2
3
4
5
6
7
8
9
10
11
12
13
我们切换到仿真模式,来看看数据包在VLAN间的传递过程。为了简单起见,监听ICMP协议即可。现在我们让主机A给主机E发送一个ICMP询问报文,如果主机E收到该询问报文,会给主机A发回相应的响应报文。
点击右侧工具栏中的添加简单的PDU按钮,然后指定该PDU的发送方为主机A接收方为主机E
可以看到在主机A中出现了一个数据包,严格的说应该是一个以太网帧,其中封装有IP数据报,在IP数据报装封装有ICMPP询问报文,点击它在弹出窗口中可以查看网络体系结构各层的相应处理,例如这是网络层的处理,这是数据链路层的处理,点击出站P DU详情,还可以查看该数据包的封包细节,
关闭该弹出窗口,点击右侧的捕获前进按钮,进行单步跟踪。可以看到数据包传递到了三层交换机,点击它在弹出窗口中可以查看三层交换机对该数据包的处理,这是接收处理,这是转发处理。我们在理论课中已经详细分析过三层交换机对数据包的处理过程,此处就不再赘述了,
关闭该弹出窗口,再次点击捕获前进按钮。可以看到数据包从三层交换机转发出来并到达主机E点击已经到达主机E的该数据包,在弹出窗口中可以查看主机E对该数据包的处理,这是接收处理。这是主机E针对该数据包准备给主机A发回响应数据包,
关闭该弹出窗口,点击捕获前进按钮,可以看到响应数据包首先发送到了三层交换机,再次点击捕获前期按钮,可以看到三层交换机转发该数据包给主机A
我们再来看看主机A发送广播的情况,我们先把之前的实验场景删除,现在我们让主机A发送一个广播包,点击右侧工具栏中的添加复杂的PDU按钮,点击主机A在弹出窗口中填写IP地址为广播地址255.255.255.255,源地址为主机A的IP地址192.168.1.1,填写一个序号,我们填写1即可,这里的单次仿真时间填一即可,点击创建PDU按钮,点击捕获前进按钮,可以看到广播包从主机A发送给了三层交换机
再次点击前进,可以看到广播包从三层交换机转发给了主机A所在VLAN10中的各主机,而不会转发给VLAN20中的各主机,这正是我们需要的应用需求,也就是划分VLAN来隔离广播域,但还能实现VLAN间的单播通信,这样我们就要验证了使用三层交换机可以实现VLAN件的通信。
至此我们通过三次课分别介绍了实现VLAN间通信的三种方法,它们是多臂路由,单臂路由,使用三层交换机,其中多臂路由没有实用性,单臂路由具有实用性,但随着VLAN间通信流量的增大,路由器可能会成为网络的瓶颈,而使用三层交换机可以比使用单臂路由具有更好的网络性能。
最后请您在本实验的基础上进行一下扩充,也就是再添加一个VLAN,并实现三个VLAN之间的通信,