交换机组网在规模上是有瓶颈的,而路由器则是突破这一瓶颈的设备,本文说说它是怎么做到的。
粗糙地看,交换机和路由器都实现了点对点的信息发送,但是实现原理的不同却让二者在构造网络的能力上出现了巨大差别。交换机是被动地学习主机的物理地址然后区分每台主机。路由器则主动创建虚拟的IP地址,然后将IP分发给主机。如果把交换机和路由器的工作比作前台人员接待来访者,那么交换机的方式是来一个人就登记一个人的名字,而路由器则是直接分发访客号牌。
交换机和路由器工作方式的区别在组建大型网络上体现得尤其明显。交换机不能“提前做准备”,它需要接入一台主机就学习一台的地址,学习过程必须是在主机通信时被动地进行,且学习阶段还经常伴随着全网广播,这就对网络中其他主机的通信构成了很大影响。路由器则可以“提前做准备工作”,因为它为包括自己在内的所有主机都准备了IP地址。
路由器可以基于虚拟的IP地址体系,在主机接入网络前就通过核心网络路由器间的通信,构建出网络对应的“图”结构,然后基于此图结构计算出其中任意两个IP节点的最短路径,并将所有的计算结果缓存在路由器中。也就是主机一接入网络获得IP地址后马上就可以进行点对点通信。而主机获得IP有两种方式,一种是手工指定一种是通过DHCP服务,前者对其他主机毫无影响,后者则只会在当前路由器负责的局部网络进行有限广播,影响几乎忽略不计。
明确了路由器和交换机的区别后就不难发现,随着网络中接入主机越来越多,交换机面临的是越来越严重的“广播风暴”,广播风暴的影响会逐渐严重到网络无法使用。但路由器组成的核心网的扩张是有条不紊的,它可以在新的主机接入前就互联更多的路由器提供更多端口接入新主机,与此同时计算并更新每个路由器内的最佳路径,新主机接入后直接点对点通信,其网络的扩展几乎是无上限的。
并且IP地址和物理的MAC地址不同,它是分层地址,其内部分为网络地址段和主机地址段。其中网络地址段代表了主机所在的局域网,主机地址则标识主机自身。这样互联网中任意两节点通信时,中间路由器就可以将网络地址相同的信息帧统一处理,进一步提升了通信的效率。总结就是,路由器相比交换机的优势在于可以组建更大和更快的网络。