二层交换
交换原理:根据第二层数据链路层的MAC地址来实现端到端的数据交换;
工作流程:
(1)交换机某端口收到数据包,读取源MAC地址,得到源MAC地址机器所连端口;
(2)读取目的MAC地址,在地址表中查找对应端口;
(3)如果地址表中有目的MAC地址对应端口,直接复制数据至此端口;
(4)如果地址表中没有目的MAC地址对应端口,广播所有端口,当目的机器回应时,更新地址表,下次就不需要广播了;
不断的循环上述过程,全网的MAC地址信息都可以学习到,二层交换机就这样学习和维护它的地址表。
第二层交换机根据MAC选择端口转发数据,算法又很简单,其方便采用廉价芯片实现,且速度快。
三层交换
交换原理:根据第三层网络层的IP地址来完成端到端的数据交换;
场景:A(ip1) = 三层交换机 =B(ip2)
工作流程:
(1)A发数据给B,根据B的ip地址+子网掩码,A能够判断出B和自己是否在同一个网段;
(2.1)B如果和A在同一个网段内,但A不知道B的MAC地址,A会发送一个ARP请求,以获取B的MAC地址,并根据MAC通过二层交换机将数据发送给B;
(2.2)B如果和A不在同一个网段内,且不知道B的MAC地址,A会将数据包发送给网关(A的本地一定有网关的MAC地址)。网关收到数据包后,将源MAC地址会修改为网关自己的MAC地址,目的IP对应的MAC地址为目的MAC地址,以完成数据交换。
看似第三层交换机是第二层交换机+路由功能的组合,实际并非这样:数据通过第三层转发设备后,会记录IP与MAC的映射关系,下次需要转发时,不会再经过第三层设备。
四层交换
二层和三层交换设备都是基于端到端的交换,这种基于IP和MAC地址的交换技术,有着很高效传输率,但是缺乏根据目的主机应用需求动态交换数据的功能。
四层设备不但能够完成端到端的交换,还能够根据目的主机的应用特点,分配或限制其流量;
四层设备基于传输层数据包交换,是一类建立在TCP/IP应用层至上,实现用户应用需求的设备;
它实现一类应用层的访问控制与质量保证服务,与其说它是硬件设备,不如说它是软件网络管理系统。
四层交换核心技术
(1)包过滤
利用四层信息定义过滤规则,能够控制指定端口的TCP/UDP通信,它可以在高速芯片中实现,极大提高包过滤速率;
(2)包优先级
三层以下设备只有MAC,PORT,IP等信息,因为缺乏四层信息,无法确认TCP/IP等四层优先级信息;
四层设备允许基于目的地址/端口(即应用服务)的组合来区分优先级。
(3)负载均衡
将附加有负载均衡服务的IP地址,通过不同的物理服务做成一个集群,提供相同的服务,并将其定义为一个单独的虚拟服务器;
这个虚拟服务器是一个有独立IP的逻辑服务器,用户数据流只需要流向虚拟服务器IP,而不与物理服务器进行通信;
只有通过交换机执行网络地址转换(NAT)后,才能得到真实访问;
虚拟服务器组里转换通信流量实现均衡,其中具体关系到OSPF、RIP、VRRP等协议;
(4)主机备用连接
同(3)所含技术类似,可以实现主备同IP自动切换;
七层交换
交换原理:比四层更进一步,可以根据应用层的数据报文来完成更多的复杂交换功能(例如根据http报文路由)
由于七层交换还没有具体的标准,文章也不多展开啦。
相关文章:
回复【阵列】,阅读《一张图看懂磁盘阵列RAID》
回复【2pc】,阅读《一分钟了解两阶段提交算法》
回复【join】,阅读《2幅图秒懂SQL中的join》
回复【新人】,阅读《写给职场新人的话》
回复【线程】,阅读《6句话说清楚Leader/Follower线程模型》
小游戏:
回大于10的整数,返回随机好文(试试看哟)
码字不易,如果弄懂了四层/七层交换,帮忙转发哟。
|