扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
VLAN升级改造难题 增加交换机后的苦恼
企业网络组建和改造项目中,很少有企业只采用一台交换机上实现吧?如果企业规模扩大了,在原来的交换机网络中,如果新添加一台交换机,很可能出来新的问题来,让我们来看看以下的实际例子吧。
起始:增加交换机后的问题 客户端无法通信了
某平面广告公司原有20多名员工,共有19个客户端计算机接入了公司的交换机。广告公司公司规模较小,并没有配网络管理员,公司的网络由集成商组建后一直比较稳定的运行着。由于业务的拓展,公司从平面广告业务发展到影视制作等多种媒介资源的为一体的企业。各个部门都招聘了员工,人员从20多名增加到40多名,客户端计算机的数量也翻了一倍,原有的24口交换机已经不能满足现在的需求。
公司新购置了一台24口交换机,一位网络技术相对较高的老员工被安排负责此项工作。这位员工在之前的网络集成时就负责本公司和集成商的配合工作,此次他按照原来留下的配置文档再新交换机上也敲了一遍。
创建VLAN
以下是引用片段: Switch2#vlan database Switch2(vlan)#vlan 2 name meijie //建立媒介部VLAN Switch2(vlan)#vlan 3 name shangwu //建立商务部VLAN Switch2(vlan)#vlan 4 name caiwu //建立财务部VLAN |
以下是引用片段: Switch2(config)#interface range fastEthernet 0/5 – 8 Switch2 (config-if)#switchport access vlan 2 //将5至8端口放入VLAN2中 Switch2(config)#interface range fastEthernet 0/9 – 11 Switch2(config-if)#switchport access vlan 3 //9至11端口放入VLAN3中 …后续步骤省略 |
完成上述步骤后,这位老兄将所有客户端从配线架上用跳线接入到交换机的不同端口,并用一条跳线连接了Switch1的fastEthernet 0/2和Switch2的fastEthernet 0/1端口。本以为这项工作就这样顺利完成了,但不同交换机中同一部门的客户端就是无法通信。起初他以为是IP地址配置的问题,但检查客户端之后,发现同一台交换机中(同一VLAN)的客户端通信一点问题也没有。在想尽了一起办法之后,公司只能求助原理负责系统集成那家公司前来帮忙。
工程师到达广告公司之后,首先在新交换机上检查了VLAN的配置,发现VLAN的配置一点问题都没有。在特权模式下使用命令用show vlan来检查是否将端口分配给正确的VLAN:
以下是引用片段: VLAN Name Status Ports ==== =============== ====== ======================= 1 default active Fa0/2, Fa0/4, Fa0/16, Fa0/17 Fa0/18, Fa0/19, Fa0/20, Fa0/22, Fa0/23, Fa0/24, Gi0/1 Gi0/2 2 meijie active Fa0/5, Fa0/6, Fa0/7, Fa0/8 3 shangwu active Fa0/9, Fa0/10, Fa0/11 4 caiwu active Fa0/12, Fa0/13, Fa0/14, Fa0/15 1002 fddi-default active 1003 token-ring-default active 1004 fddinet-default active 1005 trnet-default active |
分析:Trunking 技术能解决问题?
trunk(干道)是一种封装技术,它是一条点到点的链路,主要功能就是仅通过一条链路就可以连接多个交换机从而扩展已配置的多个VLAN。我们要记住,trunk链路不属于任何一个VLAN,它只是在网络中起到了管道的作用。这家广告公司出现的网络问题并不是什么故障问题,其实就是没有将连接两台交换机端口配置必要的封装协议,如图1所示。

图1 Trunk的作用
配置为trunk链路的端口,通常都是交换机上支持最大带宽的带宽口。
不过要得出新交换机的客户端和原有交换机不能通信的真正原因,还要从VLAN工作的原理中找出答案。
深入:在VLAN工作原理中寻找答案?
首先要考虑一下传统的交换机(非VLAN交换机)是如何知道一个帧要发往哪个目的端口的。当一个帧进入交换机时,交换机必须决定将其送往何处。传统的交换机只简单地检查此帧的目的地址,再参照MAC地址表,然后将其转发到适当的端口,而不考虑此帧是从哪儿来的。如果不知道目的地址,或者目的地址为广播地址,那么交换机就用洪泛方法将其转发到除发送此帧之外的所有端口。
在VALN中,情况要稍复杂一些。除了要根据目的地址做出转发决定外,还必须考虑帧的源地址,因为该帧通常会影响它所属的VLAN,并因此影响它可能会被转发去的端口。追踪一个帧的源地址至少有两种显而易见的方法。第一种是确定帧进入的端口属于哪一个VALAN。这种方法称为“帧标记(Tag)”,也称“显式标记”。注意这个过程只发生在交换机的内部。帧本身不会被改动,但会单独记录与帧有关的其他信息。另一种追踪帧的源地址的方法是为每个VLAN保持一张MAC地址表(这张表由交换机通过某种方式完成)。确定目的地址后,就做出是否转发此帧的决定。这种方法称为“帧过滤”,也称“隐式标记”。从理论上讲,也可通过其他标准,如第三层信息实现帧过滤。
这两种方法的主要区别在于何时做出VLAN决定。在帧标记中,帧一进入VLAN,决定就已经做出。在帧过滤中,当帧需要转发时才做出决定,帧刚进入交换机时,并不需要做出决定。事实上,研究交换机如何在其内部追踪VLAN并不重要,只要按照正确的命令帮助交换机做出正确的转发决定即可。
在“理解VLAN的实现原理”部分看到,要在不同设备之间传输多个VLAN的通信,就需要用专门的协议封装或者加上标记(tag),以便接收设备能区分数据所属的VLAN。VLAN标识从逻辑上定义了数据包使用哪种协议进行封装,而最常用到的是IEEE802.1Q和CISCO专用的ISL协议。除去IEEE802.1Q、ISL协议,还有两种封装技术,IEEE802.10和ATM LAN仿真(LANE)。IEEE802.10常用于光纤分布接口(FDDI)帧内传达VLAN的信息。而LANE则用于异步传输模式(ATM)网络中传输VLAN。
工程师在解决上述问题的过程中,对Switch1的fastEthernet 0/2和Switch2的fastEthernet 0/1端口分别设置为Trunk,并在每一个端口都采用dot1q协议进行干道封装,下面是Switch2的配置:
以下是引用片段: Switch2(config)# interface fastEthernet 0/1 Switch2(config-if)#switchport mode trunk //设置接口为Trunk模式 Switch2(config-if)#switchport trunk encapsulation dot1q //设置封装的类型 |
需要注意的是,trunk 端口缺省情况下会传送所有的VLAN的通信。要查看trunk端口的信息和允许通过此端口的VLAN,可以使用命令:show interfas interface-id switchport输出结果:
以下是引用片段: Name: Fa0/1 Switchport: Enabled Administrative Mode: trunk Operational Mode: trunk Administrative Trunking Encapsulation: dot1q Operational Trunking Encapsulation: dot1q Negotiation of Trunking: On Access Mode VLAN: 1 (default) Trunking Native Mode VLAN: 1 (default) Trunking VLANs Enabled: ALL Pruning VLANs Enabled: 2-1001 Protected: false Unknown unicast blocked: disabled Unknown multicast blocked: disabled Voice VLAN: none (Inactive) Appliance trust: none |
要限制trunk传送的VLAN,从允许的VLAN 列表中去除某些VLAN。可以使用接口配置命令: switch2(config-if)#switchport trunk allowed vlan remove vlan-list 。比如执行switch2(config-if)#switchport trunk allowed vlan remove 2 之后,VLAN 2的讲不被传递。
测试连通性
工程师在调试完两边的trunk封装之后,在Switch2交换机VLAN2中有一台主机Host A将IP地址设置为:192.168.0.1/24,在Switch1交换机的VLAN2中也有一主机Host B其IP地址设置为:192.168.0.2/24,如果在连接Host A可以Ping通对Host B的话,就可以验证我们之前的操作没有问题了。
但是如果在这两台交换机之中,两个工作站分别在不同的VLAN之中,则相互PING对方的话,是不能通信的。从而说明,不同交换机之间的工作站通过TRUNK相连接,只有这些工作站在同一个VLAN之中才可以相互通信,而不同VLAN中的工作站是不能通过TRUNK来通信的。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
去集群 更超群——大容量网络演进之路
2019 IBM 中国论坛
H3C 2019 Navigate 领航者峰会
助推数据中心网络现代化转型 打造灵活可靠基础架构平台