一、拓扑图
先给出上面拓扑图的结论,后面再详细讲解:
结论:只有PC1与PC4之间能相互通信,除此之外,所有PC之间均不能通信,比如PC1与PC3不能建立通信。
针对Ping命令的一个知识:
要想ping通某台主机,必须满足两个条件:
1,源主机的ICMP请求包必须能达到目的主机。
2,目的主机的ICMP应答包必须能回到源主机。
二、理论基础
端口的出和入是针对交换机而言的,即数据帧进入交换机即为进入某个端口,
access:接入链路:
入方向:收到不带tag数据,打上本接口的PVID(port VLANID)
出方向:发出时,带tag的数据去掉tag(只有在与本接口的PVID相同的情况下才会去掉tag后向此接口转发数据帧,其他情况下则会拒绝此帧通过此接口)
trunk:干道链路(满足trunk所允许的列表)
出方向:发出的数据与本接口的PVID如果相同就去掉标记,如果不同就直接转发。
修改端口PVID:port trunk PVID VLAN +VLAN-ID
入方向:若收到的数据带tag,直接转;反之则打上本接口PVID
hybrid:混合链路(手工定义允许通过的VLAN以及通过时的动作)。
[[SWA-GigabitEthernet0/0/1] port link-type hybrid
[SWA-GigabitEthernet0/0/1] port hybrid tagged vlan 2 3 100
[SWA-GigabitEthernet0/0/2] port hybrid untagged vlan 2 100
[SWA-GigabitEthernet0/0/3] port hybrid untagged vlan 3 10
出方向:手工定义允许通过的VLAN以及VLAN通过时的动作
tagged :带标记转发(不去标记)
untagged:不带标记转发(去标记)
入方向:能发才能收(允许列表)
若收到带标记数据直接转发,若不带标记,就打上本接口PVID
接口下更改PVID:port hybrid pvid vlan 10
总体原则:
入方向一定要打上本接口的PVID
出方向则一定不带本接口的PVID
三、实验结论详解
1,PC1为何能Ping通PC4:
PC1到PC4方向:
PC1发出数据帧之后,数据帧在进入交换机的时候,即进入LSW1的E0/0/1接口的时候,根据上面的准则,此时接口E0/0/1会将这个数据帧打上本接口的默认VLANID即PVID(2),由于Trunk链路设置成允许所有VLAN的帧通过,且LSW1的接口E0/0/3的PVID为2,根据Trunk出方向规则(发出的数据与本接口的PVID如果相同就去掉标记,如果不同就直接转发。),由于此时数据帧的PVID为2,所以此PVID会被LSW1的接口E0/0/3去掉,然后向LSW2转发没有带标签的数据帧。
当数据帧到达LSW2的E0/0/3的时候,根据Trunk入方向规则(若收到的数据带tag,直接转;反之则打上本接口PVID),由于此帧不带tag,所以加上LSW2的默认VLANID(3),此时的帧处于LSW2中,且带有VLAN标签3,LSW2交换机会把此帧发给LSW2的E0/0/2(因为E0/0/2属于VLAN3),根据Access出方向规则(发出时,带tag的数据去掉tag),从而PC4收到此ICMP请求报文。
PC4到PC1方向:
PC4收到ICMP请求报文之后,必须发给对方ICMP应答报文,当对方收到应答报文之后才能确认自己和PC4是联通的。大致流程和PC1到PC4相同,PC4发送ICMP应答报文到LSW2的E0/0/2接口,此接口加上本接口的PVID(3),然后LSW2的E0/0/3接口收到此帧,根据规则会去掉PVID(3),然后帧到达LSW1的E0/0/3接口,E0/0/3接口打上本接口的PVID(2),然后此帧被传送到LSW1的E0/0/1接口,此接口去掉tag,然后PC1收到ICMP应答报文。
2,PC1为何不能Ping通PC3
PC1到PC3方向:
PC1发送的数据帧到达LSW1的E0/0/1接口,此接口打上标签PVID(2),然后帧被转发到LSW1的E0/0/3接口,LSW1的E0/0/3接口会去掉此tag,然后将帧发送到LSW2的E0/0/3接口,此接口打上此接口的PVID(3),然后数据帧被转发到LSW2的E0/0/1接口,由于此帧的PVID(3)和E0/0/1的VLANID(2)不同,所以此帧被丢弃,故PC1不同PingPC3.
3,重点讲解PC2为何Ping不通PC4
PC2到PC4方向:
PC2把数据帧发送到LSW1的E0/0/2,此接口把帧加上PVID(3),当帧到达LSW1的E0/0/3接口的时候,此接口将直接转发带着PVID(3)的帧,因为PVID(3)和此接口的默认PVID不同,接下来帧到达LSW2的E0/0/3接口,此接口也是直接转发,当LSW2的E0/0/2收到此帧时,会去掉此PVID(3),然后把数据帧传送给PC4。
PC4到PC2方向:
当PC4收到ICMP请求报文之后,会回复对方ICMP应答报文,PC4把数据帧发到LSW2的E0/0/2接口,此接口给帧打上PVID(3)的标签,然后把帧发送给LSW2的E0/0/3,此接口会去掉PVID(3),然后把untag帧发送给LSW1的E0/0/3,LSW1的E0/0/3会对此帧打上PVID(2)的标签,然后把帧发送给LSW1的E0/0/2,由于LSW1的E0/0/2的PVID(2)和此帧的PVID(3)不同,所以此接口会丢弃此帧,从而导致PC2 Ping PC4失败。
4,抓包测试PC2 ping PC4
用PC2 Ping PC4结果如下
由图可知PC2 ping不通PC4
在LSW1的E0/0/3接口下抓包结果如下:
由图可知,PC4发送的ICMP应答包已经到达了LSW1的接口E0/03
在LSW1的E0/0/2接口下抓包结果如下:
由图可知,说明LSW1的E0/0/2接口把ICMP应答包给丢弃了。
一定要理解这个过程