1、事情起因
因公司业务扩展,需增设2个部门。为此需要增加一台二层交换机,并对网络增加划分vlan4、vlan5,但新增的vlan终端通信发生异常,需要进行排错。
2、问题描述
原有网络拓扑情况:
- 原有交换机LSW1、2、3、4,其中只有LSW1交换机为三层核心交换机,所有交换机内都划有vlan1、vlan2、vlan3,交换机的trunk都配置允许所有vlan通过。
- 为示意图清晰,除PC2外(处于vlan1内),原有三个vlan内的终端都省略未画出。
- 各交换机及终端配置正确,工作正常。
![还不知道vlan信息配置通信故障如何进行排查?](http://p2.ttnews.xyz/loading.gif)
新修改网络拓扑情况(示意图中红色区域):
- 新增终端PC3、PC4、PC5、PC6,各自接入交换机端口都配置为Access类型,并加入vlan4。
- 新增设备LSW5为二层交换机,内配vlan4,vlan5,通过trunk类型端口与LSW1相连。
- LSW1、LSW3、LSW4交换机内增加vlan4、vlan5。
出现故障情况:
- PC6无法ping通PC2与PC4
- PC6可以ping通PC3
- PC4可以ping通PC2
3、排故思路
- PC6可ping通PC3,证明新增加的该段物理链路正常,可实现同交换机内同vlan通信
- PC6 ping PC4不通,即无法实现跨交换机的相同vlan内通信,查看PC6的ARP表,发现PC6没有获得对方的ARP信息,可初步判断两台PC之间二层通信存在问题。
- 查看各交换机接口配置,未发现问题
- 查看交换机LSW3内的MAC转发表,可见PC6的网卡MAC地址表项,说明LSW3可正确接收PC6发送的数据帧
- 查看交换机LSW2内的MAC转发表,未见PC6的网卡MAC地址表项,说明LSW2并未从接口接收到PC6发送的数据帧,且因原有vlan通信正常,说明物理链路不存在问题。
- 检查LSW2的配置,并未部署帧过滤技术,通过display vlan命令,发现LSW2上不存在vlan4。这是因为LSW2交换机上不存在vlan4用户,因此在此前配置过程中,并没有创建vlan4,导致LSW2无法处理vlan4的数据帧
- 在LSW2上创建vlan4,问题解决。
4、所涉及到的技术点
- ARP(Address Resolution Protocol)地址解析协议。可根据IP地址获取MAC地址的TCP/IP协议。该协议可通过IP地址得到到同一网段内终端的MAC地址,对于非同一网段的终端,得到的是网关的MAC地址。在本次事件中,C6发出的ARP Request广播达到了LSW3后,LSW3会对此进行泛洪,但LSW2并未接收到或拒绝接收该数据帧。
- 二层通信机制及交换机MAC转发表的学习。交换机对于MAC地址表内无记录项的数据帧会进行泛洪。其MAC地址表的学习是通过数据帧的源MAC地址及数据帧进入交换机的端口号,而非目的MAC地址及发送端口号。
5、同一vlan数据发送过程
假设PC1 ping PC2,其间经过一台交换机,并处于同一网段。网络拓扑如图所示。
![还不知道vlan信息配置通信故障如何进行排查?](http://p2.ttnews.xyz/loading.gif)
PC1根据IP及子网掩码判断PC2和自己处于同一网段:
- 由于是第一次通信,PC1内ARP表里未有PC2的MAC地址,所以PC1将发送一个ARP Request,该请求的源MAC地址为PC1,目的地址为广播地址
- 交换机E0/0/1端口接收到ARP请求后,将PC1的MAC地址及机E0/0/1端口号记录在MAC地址表中,同时向除机E0/0/1端口外其他同一vlan中的端口进行泛洪
- PC2收到该ARP请求包后,根据包内的目的IP地址判断出是发给自己的,会生成一个ARP响应包,该包的源MAC地址是PC2,目的MAC地址是PC1
- 交换机端口机E0/0/2收到PC2发来的ARP响应包后,会在MAC地址表内写入PC2的MAC地址及机E0/0/2端口号。同时,ARP响应包将通过交换机机E0/0/1端口转发给PC1
閱讀更多 竹文科技 的文章