目录
以如下拓扑为例
通过与运算发现目标PC2是192.168.1.2 和自己是同一个网段,直接发起对PC2的ICMP,但是因为不知道1.2的MAC地址,封装失败,所以触发了1.1到1.2的ARP泛洪。
PC1发出:源MAC地址是PC1,目标MAC地址为FFFFFF(广播地址),源IP 1.1 目标IP 1.2 ,内容为:请求1.2的MAC地址的数据包
E0/0/1接收到数据包,解封装,查看其中的源MAC地址,写入对应的CAM表中。(学习过程)
交换机其实就是学习源MAC地址根据目标MAC地址进行数据转发,但VLAN需要多加一步
给数据包打上一个当前接口所对应的VLAN ID,给这个数据包打上了PVID(接口VLAN ID)
使用上一篇文章中配置的vlan,让0/0/1接口在vlan10下,0/0/2在vlan20下
Eth 0/0/1接收到的数据包到交换机中会被打上一个PVID 证明该数据包属于VLAN 10
打上PVID后,再根据目标MAC地址,转发数据包,因为目标MAC地址是FFFFFF,所以应该朝所有接口转发,但需要检查一下,发出接口的PVID和当前接口的PVID是否相同,相同则转发,不同则丢弃
上面的情况下,两个接口不在同一个广播域下,所以不会转发,PC2收不到广播包,PC1 就ping不通PC2
如果将2接口变为VLAN10
解封装,先看二层,目标地址是全F,可以收
看第三层,目标IP是我自己,可以继续处理,看到了里面的ARP字段,发现请求自己的MAC地址,准备回应
回应前,先将PC1的MAC地址直接学习到自己的ARP缓存表中
源MAC地址是PC2,目标MAC地址是PC1 源IP 1.2 目标IP 1.1,内容为:1.2的MAC地址对应的是PC2
E0/0/2接收到数据包,解封装,查看其中的源MAC地址,写入对应的CAM表中。给该数据包打上一个PVID,根据目标MAC地址进行转发,判断转发接口VLAN ID和数据包的PVID是否相同,相同就转发,不相同就丢弃
同一台交换机,PVID只在本地生效,离开接口后不属于任何vlan,同时被下一台交换机收到以后,从哪个接口接收的,就会打上哪个接口的PVID
VTP、本征VLAN、PVLAN、SuperVlan、mux Vlan、Vxlan