论文部分内容阅读
在软件定义网络(SDN)中,控制层面与数据层面的分离使得网络的管理变得更加方便、灵活。但是随着网络规模的日趋庞大,网络已经发展到多域多层次的庞大结构。流量工程问题是通过选择流量经过的通道以及数值大小等等来提高网络的利用率,提供给客户更佳的网络体验。当流量工程问题与日趋庞大的网络情境相遇的时候,问题就变得更具挑战性。因此在SDN中,跨多个域、多个层次的流量工程问题对于控制平面的设计来说变得非常具有挑战性。特别地,当每个域的管理人员不愿意暴露其域内的拓扑或者资源信息时,流量工程问题就变得更加难以处理。在本文中,通过使用一个多层次的控制平面,本文将提出一个能够解决跨多个域的流量工程问题的机制,并且该机制可以保护每个域的隐私。在这个多层次的控制平面中,每个域由一个本地的控制器管理,并且这些控制器由一个远程的中心控制器管理。为了保护每个域的隐私,本文将网络基本信息(NIB)扩展到一个多层次的结构当中,并且上层控制器只保存低层次网络的信息缩影,而最底层的控制器保存的是所有交换机的信息。接着本文还会提出一个通信协议,用来进行不同层次控制器之间的通讯。不同的层次、不同的域中的控制器可以根据不同层次的NIB来相互协作进行流量的分配工作。本文还提出一个改进的流量工程算法,该算法同时考虑了带宽和延迟的要求,并且在保证最大最小公平性的情况下尽量最大化网络使用率。这部分的实验在一个含有719个交换机,并且分布在五个域的网络中完成,实验结果显示最终的网络使用率可以保证在85%以上。在SDN中控制流量的传输路径需要通过改变交换机上的流表的规则来改变。流表规则的改变就需要通过SDN中的交换机规则的更新来完成。而在SDN中,一致性更新意思就是需要保证数据包在传输过程中必须只使用旧规则或者新规则,不能使用两者的混合。但是由于数据平面的异步和分布式性质,所有的更新内容不可能同时到达各个交换机,所以在最终更新状态完成之前,可能会存在多种中间规则,这些中间规则不满足一致性更新的要求。不一致性可能会导致转发循环,数据包丢失等。现有的基于版本号的更新方案可以保证一致性,但是如果网络中存在恶意的链接或者交换机,这些恶意的节点通过更改数据包的版本号就会导致一致性条件的失效,即让这些数据包使用了不同版本的规则进行了处理。现有的更新机制无法保证在有攻击的情形下依旧保证一致性。本文会提出一种基于流的更新机制,在攻击模型下依旧可以保证每包-致性。本文提出的一致性更新机制不光可以应对可能的攻击,由于只需要保存一套规则,因此该机制还可以节约交换机上有限的存储空间。