三层交换机和二层交换机的区别在于:三层交换机工作于OSI模型的第三层(网络层),二层交换机工作于OSI模型的第2层(数据链路层)。
二层交换机可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。三层交换技术就是二层交换技术上增加三层转发技术,实现数据包的高速转发,加快大型局域网内部的数据交换。
A要给B发送数据,已知目的IP,那么A就用子网掩码取得网络地址,判断目的IP是否与自己在同一网段。如果在同一网段,但不知道转发数据所需的MAC地址,A就发送一个请求,B返回其MAC地址,A用此MAC封装数据包并发送给交换机,交换机起用二层交换模块,查找MAC地址表,将数据包转发到相应的端口。
如果目的IP地址不是同一网段的,且在流缓存条目中没有对应MAC地址条目时,就将第一个正常数据包发送向一个缺省网关,对应第三层路由模块。然后就由三层模块接收到此数据包,查询路由表以确定到达B的路由,三层交换机就充当起路由和转发的角色。当随后确立主机A与B的MAC地址及转发端口的对应关系时,以后的A到B的数据,就直接交由二层交换模块完成。这就通常所说的一次路由多次转发。