清华在SDNFV数据平面的一些事情,接着请著名的张宏教授,对未来网络的构架做一个综述性的报告,当然也包括他们的科研创新。接下来是华南理工大学,于俊清教授;北京邮电大学黄韬教授,再下一位是北京的张行功副教授谈论信息中央网络,末了是中科院打算所的张广兴。我们对各位老师表示欢迎。
我先抛砖引玉,这是我们清华最近在做的一些事情,便是如何能够丰富SDN/NFV的数据平面。下面先容三篇文章,一是对SDN网络抽象模型进行扩展,紧张是针对它的状态表述能力比较差。之后进一步研究设计SDPA,便是书面平面抽象。
首先给大家一个范式,这里面有一个非常主要的功能缺失落了,便是对付状态的处理,以是我们提出一个match到action,便是对OpenFlow做的一个扩展。这是我做的一个报告,当时这个报告扩展也有两页的揭橥,你们也可以看到我当年的文章。这是我们接着把这个技能真正的进行详细的设计,ICNP也是我们一个网络会议,去年也得到了最佳供应奖。之后在想这个事情除了在SDN努力看看能不能和NFV结合,通过结合实现软硬的编排。
第一个是SDN的抽象模型,当时说的我们紧张做的是信息的评比。我们目前OpenFlow对付状态的处理是欠缺的。我们的状态定义为一个流的历史信息,这个信息须要被存储起来,作为流后续报文处理的输入。该当说状态是我们在网络功能方面常碰着的,比如说防火墙,比如说我们做一些监控,做一些检测,包括地址转换。这是一个范例的TCP的状态迁移,这样的流收到什么报文,转到什么状态,正常的TCP流该当这么走,如果这天常的攻击,我们对这样的流就可以判断为非常,它的状态不对。
问题实质便是OpenFlow的数据平面,当然性能非常高,这是它的优点,也能够供应抽象的功能,但是它的智能度还是比较低。对付状态的处理紧张是把报文放在掌握平面。放到掌握器浸染什么问题?紧张有两个方面,一个是做掌握性平台的事,这个任务须要理解网络状态信息,然后去做决策。如果把数据平面一些比较繁琐的事,每个流的状态都交给它,它的压力会非常大,而且当你要做的事比较多,每个状态协议都要报告给掌握器,它的路径瓶颈也比较大。其余是当你对流的状态处理很多都是要实时,以是这个延时可能造成问题。
环绕这个我们就提出了一个抽象模型,实在从底下的公式可以看到,掌握器对数据平面的他(音)可以变成它的措辞,输入报文做动作也好,可能也会修正表象,报文的各个域的凑集的一个处理。我们做的是下面这一行,便是增加Q的状态,也便是在SFA的措辞里面,他做的措辞不只是报的域,还有各个状态,也会可能把状态修正。实际上这个图示便是这个公式的一个阐明。OpenFlow的问题是在于它这个状态虽然网络状态是变革的,但是并没有反馈到数据平面,是反馈到掌握措辞在做的,我们是可以在数据平面上处理。
当然我们进一步发展的状态的抽象可以是递归的,我们本日在说把一些数据平面状态给它处理,实在掌握平面的状态,如果要分层的话,比如将来分不同的层次,有的属于很细,有的给用户编程就更抽象,这个可以连续发展。
下面是我们的详细设计。详细设计在大家都很熟习的OpenFlow的流表和流水线里面,我们增加一个构建叫FT,大家可以看到我们不是只能做一个APP的状态来处理,可以做很多。然后每个里面有三个表:状态表、状态转移表和动作表。以是浏览了往后我们匹配,得到现在的状态,然后根据Event决定下一个状态,这个状态的信息给动作表,原始流的信息也给动作表,动作表根据这两个信息来决定Action。
这是我们三个表结合一个实际的案例做的一个带状态的防火墙,比如说这个状态表它的监控,这些流的一个状态,这是一个标准的图,然后这是根据状态防火墙表根据当前的信息看能做什么动作,再进行过滤进行转发。
刚才提到为了实现刚才那样一个理念,我们设计了专门为状态处理的干系的语序,包括掌握的指令,来跟状态处理的结合,打算逻辑等等。
刚才是我们设计,软件和硬件都实现了,我们先容一下硬件实现的特点。这是刚才提到了我们在一个设备里面,我们能为多个APP,多个运用都给它做了状态的处理,以是我们在一个硬件里面就有一个硬件的业务链,把它做一个状态处理。可以做到任意的串并和处理,这是SDPA处理功能。我们的掌握器还有一个接口,可以让你APP可以实时的在业务链里动态的天生更新,或者删除一个什么功能。然后在实践方面,我们通过流水性技能提高性能。
开拓上基于清华老师他们做的一个卡,我们在这个OpenFlow的过程逻辑加上我们一些硬件逻辑。刚才说能做并串的优化,这是并行的例子,我们便是Packet跟逻辑处理,然后达到你要的逻辑。对付串性处理大家可以分两个阶段,一个是状态表查询跟状态更新,一个是根据结果做动作。一个流在查完表往后,下一个便是查前面的表,以是提高运行度,提高性能。
因此我们的结果便是除了构架上我们实践上也有一些优化,以是性能上还是比较空想,这是我们跟传统OpenFlow比较之下,还是有很多上风的。然后有人担心说你这会不会把设备弄得比较繁芜,以是我们也跟传统OpenFlow做了比拟,让他看到我们新的设备和传统OpenFlow它的性能基本是同等的,由于我们都是硬件做的。乃至我们在SDPA框架下做的带状态处理,包括无状态比拟,以是我们还是增加了多少个微秒,吞吐量是同等的,延时只降落了一点点。这是可扩展性的,在增长的时候也都做了测试,它的延迟,它的生动基本能够不能稳定,不会由于规模的增大而显著低落。
我们就想下一步事情是什么?这个题目也比较故意思,便是链子锁到双截棍,我们在想实际上一个称手的工具就要向双截棍一样有硬有软。这是在于做的,我们把它进行了修正,有两部分修正。比如说我们现在通过电信在做的BRAS的事情,有的功能可以拿软件做,有的可以拿硬件做,这里面有很多处理。这是我们实验室在做的一个实验,将来你可以根据不同用户APP的功能,像绿色的是比较大略的,当然也是可能做不了的有一些状态更繁芜的功能,我们可以拿硬件交流机来做。蓝色的相称于非常繁芜的功能,我们就可以用VM这样的构造来做。这是我们的一个性能评估,这种软硬结合的业务链,软的、硬的和大略硬件,比拟它的延时和Throughput。
结束语我想引用周杰伦的歌词,什么兵器最牛?是双截棍,柔中带钢,我们该当有这个思想。我们兼具了少林和武当这个优点。我的先容结束。韶光缘故原由我们就不提问了,有什么可以下面进行互换。