我们要实现网络互连,需要一个设备,这个设备可以实现将数据从一个端口转发到另外一个端口,从而实现信息的交换,这个设备就是路由器。
知道了路由器的功能需求,我们就要设计对应的结构来满足这样的需求从而实现相应的功能。
我们已经知道了路由器最核心的功能是交换,也就是N输入如何交换到N输出的问题,我们用下面这个图来表示:
我们现在的任务就是如何设计中间的交换单元的结构来实现成本较低的同时实现较高的交换效率,换句话说如何走线将输入和输出进行连接。
首先我们从最朴素的思想出发,最简单的思维就是将输入和输出一对一连接起来,如下图所示:
这种连接方式虽然连接效率高,但是由于走线的根数太多了,因此成本较高。
与之相对的另一种极端就是只需要一根总线,将所有的输入和输出都接到这根总线上,如下图所示:
这种走线方式虽然成本由N根线减少为了一根线,但是吞吐量大大降低。
因此我们要追求一种简单高效的设计方法,力求做到吞吐量和成本之间的tradeoff。
为此聪明的工程师们通过不断地trail and error,终于找到了如下网格式布局解决了布线问题。