二层交换机、三层交换机及多层交换机,交换(Switching)是在一个接口上收到数据帧并且从另一个接口上将该数据帧发送出去的过程。
1.二层交换和三层交换
路由器或者三层交换机的路由模块使用三层交换路由数据包,而一般的二层交换机使用二层交换转发数据帧。
二层交换与三层交换的不同在于,用来确定数据帧将被发送到哪个接口的信息类型不同。二层交换是基于MAC地址的,而三层交换是基于网络层地址的(最常用的是IP地址)。
二层交换机通过读取封装在数据帧头里的目的MAC地址,了解该数据帧所要去的物理位置,然后通过和MAC地址表里的条目对比,找到该数据帧所要被发送去的端口或接口,将它转发。如果该目的MAC地址在MAC地址表里没有记录,则向除接收到该数据帧的端口以外的交换机的所有端口发送该数据帧。这种交换机向所有接口发送相同数据帧的操作,叫做“洪泛(Flooding)”。
路由器或者三层交换机的路由模块通过读取封装在数据包头里的目的IP地址,了解该数据包所要去的逻辑位置,然后通过和路由表里的条目对比,找到该数据包所要被发送去的接口并将它转发。如果该目的IP地址在路由表里没有相应的路由条目,则丢弃该数据包。
2.二层交换机、三层交换机及多层交换机
传统的二层交换机工作在OSI参考模型的二层上,它基于MAC地址转发数据帧。二层交换机有如下特点:
● 基于硬件的交换
● 线速转发的能力
● 良好的可扩展性
● 低反应时间
● 低开销
● 使用MAC地址作为转发数据帧的依据
三层交换机是在二层交换机的基础上整合了三层路由功能的交换机。它不但能够基于MAC地址转发数据帧,还能够根据数据包里的IP地址为数据包提供路由服务,能够将二层交换网络分隔为多个广播域,从而提供交换网络更强的可扩展性和更好的性能。我们一般在交换网络里的分布层上使用三层交换机。
三层交换机有如下特点。
● 基于硬件的数据包路由能力。路由器的路由操作是基于软件的,这为路由器的升级提供了方便。我们可以通过给同一种型号的路由器输入不同版本的IOS得到不同的路由功能,但是基于软件的路由会带来比较大的延迟。三层交换机的路由操作系统是固化在硬件上的,是基于硬件的路由。这种设计虽然不利于升级,但是可以大大减小路由操作的延迟,所以三层交换机的路由操作比一般的路由器的路由操作延迟短。这是交换机的快速交换使命所决定的。
● 高性能的包交换能力。
● 优秀的可扩展性。
● 低反应时间。
● 更低的端口开销。
● 流量统计。
● 提供网络的安全性。我们可以在三层交换机的路由模块上使用访问控制列表等方法过滤网络里的流量,提供安全性。
● 提供QoS。QoS是比较复杂的策略,要应用到多种技术。基本上QoS的目的是通过某种策略缓解网络的拥塞程度。
在更高端的网络里,我们会使用多层交换机。它不但能提供三层交换机所能提供的所有能力,而且还可以使用更高层的信息交换数据包,比如使用TCP头里的目的端口号,我们可以在多层交换机上基于传输层以上各层的信息做更加安全的过滤。