三层的涵义
三层交换机中的“三层”指的是OSI(开放系统互连)七层参考模型的下面三层。假如您想理解三层交换,首先就需要理解OSI参考模型。
1、什么是OSI参考模型
OSI参考模型是国际标准化组织为了解决不同系统的互联而提出的模型,它将计算机网络按功能划分为七个层次,这就是网络通信中的七层模型或七层结构,各层名称如图1所示。
图1
OSI各层之间存在相互依存关系。假如没有底层,上层也将无从存在。举一个浅显的例子。网络上数据传输就像是过地下通道,必须一级一级台阶地下,然后一级一级台阶地上,才能完成整个过程,如图2所示。
图2
2、OSI参考模型与网络设备
OSI参考模型与网络设备,如集线器、交换机、路由器,存在一一对应的关系,图3就是OSI模型下三层与网络设备及网络设备处理的数据单元的对应图。
(1)第一层——物理层
物理层设备是最低层次的网络设备,主要负责实际的信号传输,即比特流。对于物理层设备来讲,它只熟悉比特流,至于什么MAC地址、ip地址,它什么也不知道。有些校园网中现在还在使用的集线器(Hub)就是典型的物理层设备。
(2)第二层——数据链路层
数据链路层负责在两个主机上建立数据链路连接,向物理层传输数据帧,并对信号进行处理使之无差错并合理地传输。
校园网中我们最常使用的交换机(Switch)就是典型的数据链路层设备。对于数据链路层设备来讲,它只熟悉帧和比特流(二层以下的数据),至于IP地址(三层以上的东西),它就不知道了。“帧”是第二层的数据单元,而且只在第二层中才有意义。
二层交换机只能连接IP地址在同一子网内的计算机,假如计算机的IP地址在不同的子网内,即使连接在同一台交换机的端口上,虽然近在咫尺,也不能相互通信,因为现在的计算机是通过IP地址相互通信的,而交换机不能识别IP地址。
(3)第三层——网络层
网络层主要负责路由,即选择合适的路径的功能。网络中经常使用的路由器(Router)就是典型的网络层设备,它能够识别帧中的三层地址。比如一台IP地址为“192.168.1.1”的计算机想与IP地址为“10.1.1.2”的计算机通信,因为它们不在同一子网里,必须通过路由器路由才能实现通信。
三层交换机的工作原理
三层交换是相对于传统的交换概念而提出的。传统的交换技术是在OSI网络参考模型中的第二层(即数据链路层)进行操作的,而三层交换技术是在网络模型中的第三层实现了数据包的高速转发。简单地说,三层交换技术就是二层交换技术+三层转发技术,三层交换机就是“二层交换机+基于硬件的路由器”。
图3
那么三层交换是怎样实现的呢?三层交换的技术细节非常复杂,不可能一下子讲清楚,不过您可以简单地将三层交换机理解为由一台路由器和一台二层交换机构成,如图4所示。
两台处于不同子网的主机通信,必须要通过路由器进行路由。在图4中,主机A向主机B发送的第1个数据包必须要经过三层交换机中的路由处理器进行路由才能到达主机B,但是当以后的数据包再发向主机B时,就不必再经过路由处理器处理了,因为三层交换机有“记忆”路由的功能。
三层交换机的路由记忆功能是由路由缓存来实现的。当一个数据包发往三层交换机时,三层交换机首先在它的缓存列表里进行检查,看看路由缓存里有没有记录,假如有记录就直接调取缓存的记录进行路由,而不再经过路由处理器进行处理,这样的数据包的路由速度就大大提高了。假如三层交换机在路由缓存中没有发现记录,再将数据包发往路由处理器进行处理,处理之后再转发数据包。
图4
三层交换机的缓存机制与CPU的缓存机制是非常相似的。大家都有这样的印象,开机后第一次运行某个大型软件时会非常慢,但是当关闭这个软件之后再次运行这个软件,就会发现运行速度大大加快了,比如本来打开Word需要5~6秒,关闭后再打开Word,就会发现只需要1~2秒就可以打开了。原因在于CPU内部有一级缓存和二级缓存,会暂时储存最近使用的数据,所以再次启动会比第一次启动快得多。
具有“路由器的功能、交换机的性能” 的三层交换机虽然同时具有二层交换和三层路由的特性,但是三层交换机与路由器在结构和性能上还是存在很大区别的。在结构上,三层交换机更接近于二层交换机,只是针对三层路由进行了专门设计。之所以称为“三层交换机”而不称为“交换路由器”, 原因就在于此;在交换性能上,路由器比三层交换机的交换性能要弱很多。