交换机和路由器的工作过程。本文介绍路由器与交换机的基本工作原理,在介绍这之前先来看一下OSI七层工作模型:
交换机的工作过程
交换机的作用是组建局域网
在一个局域网内的两台主机通信前,源主机会向交换机发送一个单播报文,报文中包括源mac地址和目的mac地址,交换机拿到这个报文后,如果发现自己的mac地址表中没有这个源mac地址,会把源mac地址进行记录,然后寻找自己的mac地址表中是否有这个目的mac地址,如果有,就将报文直接单播丢给目的mac对应的主机,如果没有,就会将这个报文丢给这个局域中的所有主机,这个过程叫做 广播。
此时,对于局域网中的所有主机来说,它们都会收到一个来自交换机的报文,如果它们自身的mac地址与目的mac地址不同,它们就会丢弃这个报文,如果相同,它就会给这个报文的源mac发送一个回应报文,此时的报文中,源mac变成了之前的目的mac,目的mac变成了之前的源mac。
结束了?没有!对于交换机中的mac地址表来说,它会先学习这个报文中的源mac地址,然后在mac表中找到目的mac(这个mac无论如何都是存在的,因为之前已经学习过了),将报文单播给目的mac对应的主机。
至此,整个过程才算结束。
路由器的工作过程
一般来说,路由器的主要工作是对数据包进行存储转发,具体过程如下:
第一步:当数据包到达路由器,根据网络物理接口的类型,路由器调用相应的链路层功能模块,以解释处理此数据包的链路层协议报头。这一步处理比较简单,主要是对数据的完整性进行验证,如CRC校验、帧长度检查等。
第二步:在链路层完成对数据帧的完整性验证后,路由器开始处理此数据帧的IP层。这一过程是路由器功能的核心。根据数据帧中IP包头的目的IP地址,路由器在路由表中查找下一跳的IP地址;同时,IP数据包头的TTL(Time To Live)域开始减数,并重新计算校验和(Checksum)。
第三步:根据路由表中所查到的下一跳IP地址,将IP数据包送往相应的输出链路层,被封装上相应的链路层包头,最后经输出网络物理接口发送出去。
三层交换机工作过程:
三层交换机是一个具有三层交换功能的设备,即带有第三层路由功能的第二层交换机,但它是二者的有机结合,并不是简单地把路由器设备的硬件及软件叠加在局域网交换机上。
三层交换技术就是将路由技术与交换技术合二为一的技术。在对第一个数据流进行路由后,它将会产生一个MAC地址与IP地址的映射表,当同样的数据流再次通过时,将根据此表直接从二层通过而不是再次路由,从而消除了路由器进行路由选择而造成网络的延迟,提高了数据包转发的效率。