软件定义网络的历史
回顾网络创新的历史,在90年代中期,我们认为“要推动网络创新,需要在简单的硬件数据路径上编程”,也就是动态网络。它的问题是隔离、性能和复杂性。在90年代后期,人们认为“为了推动网络创新,我们需要底层数据通道是可编程的”,也就是网络处理器。它的问题是它加重了数据信道底层的复杂性。事实上,在网络领域,我们从来没有区分简单通用的硬件底层和开放的上层编程环境的界限。以前的尝试经常犯以下错误:
1.假设目前的IP路由底层是固定的,尽量在外面编程,包括路由协议;
2.自顶向下定义编程和控制模型。(但事实上,英特尔在选择x86指令集时,并没有定义Windows XP、Linux或VMware。)