L2交换机的端口收到任何Frame(我们管2层报文叫帧,Frame),就把这个Frame里面的Source MAC Address(源MAC地址)记录下来,并与此接收端口形成对应关系,以此形成MAC转发表

2层交换机对frame进行转发,不会对frame进行任何修改。(这个跟3层IP路由一样,报文中的源地址和目的地址在整个路由交换的过程中,是不变的。2层交换网络同样如此,不过,如果经过了3层路由,2层头被剥离然后再重新组装,这个时候源MAC和目的MAC才会改变。)

1) 当交换机从某个端口收到一个数据包,它先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端口上的;

2) 再去读取包头中的目的MAC地址,并在地址表中查找相应的端口;

3) 如表中有与这目的MAC地址对应的端口,把数据包直接复制到这端口上;

4) 如表中找不到相应的端口则把数据包广播到所有端口上,当目的机器对源机器回应时,交换机又可以学习一个目的MAC地址与哪个端口对应,在下次传送数据时就不再需要对所有端口进行广播了。

不断的循环这个过程,对于全网的MAC地址信息都可以学习到,二层交换机就是这样建立和维护它自己的地址表。

路由器连接的是不同的网络,交换机链接的是一个个独立的设备。