跳转至

物理网络的边界

云网络的产品完备和功能抽象,很容易让人产生一种错觉:抽象已经如此完备,底层似乎不再重要,点几下控制台,网络就会自己长出来。然而事实并非如此。所有云上的能力,并不是空中楼阁,都建立在一些更古老、也更倔强的设备和约束上:一根线能连多少机器,交换机凭什么知道该往哪转发,路由器为什么一定要切开广播域,二层里的便利为什么一到大规模场景就会反噬系统本身。真正麻烦的地方不在于这些问题老,而在于它们从未消失,只是被后来的抽象暂时藏了起来。

我们在本书开始的地方把这些问题重新想一遍,不是为了复习“基础知识”,而是为了看清后面所有抽象真正站在哪里。很多云产品并没有发明新问题,它们只是把旧问题搬到了新的规模上:过去几台机器时无伤大雅的机制,到了成千上万台机器时就会变成系统负担;过去在机房里靠经验能兜住的细节,到了云上就必须变成可预期、可复制、可控制的设计。顺着这层地基往下看,交换、路由、广播域、VLAN 才不会显得像几块互不相干的知识点,而会重新连成一条线:网络从来不是先有抽象,再有约束;恰恰相反,很多抽象,都是被约束逼出来的。