和集线器每个端口共享同样带宽不同的是,交换机的数据带宽具有独享性。在这样的前提下,在同一个时间段内,交换机就可以将数据传输到多个节点之间,并且每个节点都可 以当做独立网段而独自享有固定的部分带宽,这样就没有和其他设备进行竞争实用的必要。交换机工作于OSI参考模型的第二层,即数据链路层。交换机内部的CPU会在每个端口成功连接时,通过将MAC地址和端口对应,形成一张MAC表。
三层交换机的工作过程,使用IP的设备A---三层交换机---使用IP的设备B。比如A要给B发送数据,已知目的IP,那么A就用子网掩码取得网络地址,判断目的IP是否与自己在同一网段。如果在同一网段,但不知道转发数据所需的MAC地址,A就发送一个ARP请求,B返回其MAC地址,A用此MAC封装数据包并发送给交换机,交换机起用二层交换模块,查找MAC地址表,将数据包转发到相应的端口。
三层交换机的工作过程,如果目的IP地址显示不是同一网段的,那么A要实现和B的通讯,在流缓存条目中没有对应MAC地址条目,就将一个正常数据包发送向一个缺省网关,这个缺省网关一般在操作系统中已经设好,这个缺省网关的IP对应第三层路由模块,所以对于不是同一子网的数据,先在MAC表中放的是缺省网关的MAC地址(由源主机A完成);然后就由三层模块接收到此数据包,查询路由表以确定到达B的路由,将构造一个新的帧头,其中以缺省网关的MAC地址为源MAC地址,以主机B的MAC地址为目的MAC地址。通过一定的识别触发机制,确立主机A与B的MAC地址及转发端口的对应关系,并记录进流缓存条目表,以后的A到B的数据(三层交换机要确认是由A到B而不是到C的数据,还要读取帧中的IP地址。),就直接交由二层交换模块完成。这就通常所说的一次路由多次转发。