所谓三层交换,其实是利用第二层的高宽带和低延迟优势将数据包快速地推送至网络层;交换和路由是俩种概念,交换机是有多个端口的网桥,交换是利用硬件,速度快;路由是利用软件,速度慢;当交换机收到数据包时,利用第三层路由功能寻址转发端口,查找目的MAC,进行转发。同时保存源MAC和目的MAC以及其它信息(比如不在同一网段时的网关信息),再次接收到源MAC和目的MAC相同的帧时,直接利用交换机第二层进行快速地交换,可以概括为一次路由,多次交换。
比如主机A想发送报文给主机B
(1)首先判断二者在不在同一网段;将源IP和目的IP地址分别与主机A的子网掩码进行与运算,如果结果相同,则为同一网段;否则,不同网段;
(2)在同一网段,源主机不知道宿主机的MAC地址,则发送一个ARP请求,宿主机收到请求后,返回其MAC地址;源主机将其组装成物理帧,并将IP数据报填入其中,发送给宿主机,即主机B
(3)不在同一网段,由源主机请求网关的物理地址,并将其组装成物理帧,将IP数据报填入其中,发送至网关;网关发送至交换机第三层,启用路由功能,找到到达宿主机的路由,组成新的IP帧,在此过程中,网关MAC为源MAC地址,宿主机(即主机B)地址为目的MAC,通过一定的识别触发机制,确定源主机MAC与宿主机MAC以及转发端口(网关)之间的对应关系,并将其存入高速缓存交换表,以后将利用交换机第二层进行转发