2,3层交换机的工作原理介绍
集线器工作在第一层(物理层)
交换机工作在OSI 的第二层(数据链路层)
路由器工作在OSI 的第三层(网络层)
两层交换 三层交换是指交换机 交换机都是有两层的功能 二层交换机简单的说它完成数据包交换。而三层交换机具有二层所有功能外 性能比二层更加提高 又又路由功能
二层交换技术
二层交换机属数据链路层设备,可以识别数据包中的MAC 地址信息,根据MAC 地址进行转发,并将这些MAC 地址与对应的端口记录在自己内部的一个地址表中。具体的工作流程如下:
(1) 当交换机从某个端口收到一个数据包,它先读取包头中的源MAC 地址,这样它就知道源MAC 地址的机器是连在哪个端口上的;
(2) 再去读取包头中的目的MAC 地址,并在地址表中查找相应的端口;
(3) 如表中有与这目的MAC 地址对应的端口,把数据包直接复制到这端口上;
(4) 如表中找不到相应的端口则把数据包广播到所有端口上,当目的机器对源机器回应时,交换机又可以学习一目的MAC 地址与哪个端口对应,在下次传送数据时就不再需要对所有端口进行广播了。
不断的循环这个过程,对于全网的MAC 地址信息都可以学习到,二层交换机就是这样建立和维护它自己的地址表。
三层交换技术
近年来的对三层技术的宣传,耳朵都能起茧子,到处都在喊三层技术,有人说这是个非常新的技术,也有人说,三层交换嘛,不就是路由器和二层交换机的堆叠,也没有什么新的玩意,事实果真如此吗?下面先来通过一个简单的网络来看看三层交换机的工作过程。
组网比较简单
使用IP 的设备A------------------------三层交换机------------------------使用IP 的设备B
比如A 要给B 发送数据,已知目的IP ,那么A 就用子网掩码取得网络地址,判断目的IP 是否与自己在同一网段。
如果在同一网段,但不知道转发数据所需的MAC 地址,A 就发送一个ARP 请求,B 返回其MAC 地址,A 用此MAC 封装数据包并发送给交换机,交换机起用二层交换模块,查找MAC 地址表,将数据包转发到相应的端口。
如果目的IP 地址显示不是同一网段的,那么A 要实现和B 的通讯,在流缓存条目中没有对应
MAC 地址条目,就将第一个正常数据包发送向一个缺省网关,这个缺省网关一般在操作系统中已经设好,对应第三层路由模块,所以可见对于不是同一子网的数据,最先在MAC 表中放的是缺省网关的MAC 地址;然后就由三层模块接收到此数据包,查询路由表以确定到达B 的路由,将构造一个新的帧头,其中以缺省网关的MAC 地址为源MAC 地址,以主机B 的MAC 地址为目的MAC 地址。通过一定的识别触发机制,确立主机A 与B 的MAC 地址及转发端口的对应关系,并记录进流缓存条目表,以后的A 到B 的数据,就直接交由二层交换模块完成。这就通常所说的一次路由多次转发。