1.5.2 路由器的硬件结构
在这个实例中,我们重点介绍路由器的软件实现。在介绍软件之前,首先假定一个硬件环境,这样在介绍软件实现的时候才会有基础依据。在我们实现的这个路由器中,硬件结构非常简单,也非常典型,如图1-11所示。
图1-11 一个简单的路由器硬件构架
一个CPU构成了整个系统的核心,作为中央处理部件,该CPU完成所有的处理任务。CPU和内存之间,通过特定CPU的总线进行连接,然后通过一片Host-PCI桥接芯片把CPU/内存和PCI总线连接在一起,通过这个Host-PCI桥接芯片(这片芯片,也叫做北桥芯片),CPU就可以很容易地与PCI总线上的部件进行通信。有三个接口控制芯片分别对应路由器的三个接口(一台路由器至少有一个物理接口),这三个接口控制芯片直接连接到PCI总线上。另外一个桥接芯片PCI-ISA桥连接了PCI总线和传统的ISA总线,这样基于RS-232的串行通信接口芯片(COM口)及基于ISA总线的Ethernet接口芯片就可以连接到系统中,从而被CPU控制。PCI-ISA桥接芯片又叫做南桥芯片,完成PCI总线和ISA总线的协议转换功能。这是一个很简单的硬件体系,但也是一个非常典型的硬件结构,很多基于软件实现的IP路由器都是由这种结构构成的。所不同的是,可能在PCI总线和ISA总线上,挂接了更多的设备(控制芯片)而已。对个人计算机(PC)硬件构架熟悉的读者,会发现该硬件构架与PC的硬件是十分类似的,从这个意义上说,PC本身就是一个典型的嵌入式系统。