转载自:https://blog.csdn.net/DJAction/article/details/122745517
以太网通信交互案例-二层
Switch是一个二层转换的设备,它是严格按照要求进行交换的,也就是说,在同一个VLAN(虚拟局域网)里面是可以进行二层通信的,不在同一个VLAN的主机是不能二层通信.
二层通信本质上是跟IP地址没有关系的。因为二层的通信属于MAC寻址。无非是从一个ECU的MAC到另外一个ECU的MAC进行寻址。
下图所示为一个Switch的组网,Switch上有四个PHY的接口,每个PHY的接口分别连了一个ECU,每个ECU都有自己的MAC地址,如AA:BB:CC:DD:EE:01等。这四个ECU分成两个VLAN,左边两个ECU在VLAN1中,右边两个ECU是在VLAN2中。
如前面提到的Switch组网图中,EE:01 ECU想要和EE:03 进行通信,如果有寻到03的MAC地址或者配置了一些静态的MAC表项,那么他们可以直接通过EE:01 连接的PHY,再通过 EE:03 连接的PHY进行通信。
如果EE:01 想和 EE:02 通信,这个时候Switch会查看下帧结构,在帧结构中会有一个VLAN的标签编号,如果识别到 VLAN的编号不在VLAN1里面,报文就不会转发到EE:02的PHY上去。
当ECU的网卡、或者我们电脑的网卡,识别到目的MAC地址,不是自己的地址,或者不是组播,或者不是广播的时候,会直接将它丢弃,不会再往协议栈中发送。这也是为什么二层以太网无法跨VLAN进行通信。