• 文章名称:A Zero Flow Entry Expiration Timeout P4 Switch
  • 零流表项期满超时P4交换机
  • 发表时间:2018
  • 期刊来源:SOSR

ABSTRACT (摘要)

现在的OpenFlow基于期满机制,通过一个固定的超时时间动态的将流表项从流表中移除。对这个超时时间分配合适的值,实际上是流表利用效率和控制器负载之间的权衡。本文提出在P4交换机的空闲超时机制(idle timeout mechanism)上添加0流表项期满超时方案,用来识别TCP流的最后一个数据包,并且从流表中移除相应的表项。它支持连接一结束就从流表进行删除,而不是等待达到超时的阈值以及造成不必要的流表占用。


1 INTRODUCTION(介绍)

为建立巨大可扩展网络,OpenFlow交换机不得不同时支持大量的流,这些流依赖于流表的表项。然而,由于TCAM(Ternary Content Addressable Memory)的限制,流表是有限的。控制器根据hard timeout 和 idle timeout添加和移除流表项。为了减少不必要的TCAM占用,交换机在timeout期满时进行移除对应的表项而不匹配流量。timeout太大导致流表利用率低,太小导致控制器过载(负荷)。

本文提出侦测TCP流的FIN和RST数据包,从而移除在流表中对应的表项。目的旨在实现最佳的流表利用而不用额外的控制工作负载。我们实现了单一的零流表项期满超时方案,利用P4交换机来检测TCP流的FIN和RST数据包,并且移除流表对应的表项,减小不必要的流表占用以及实现无控制器负载的几乎零流表项期满超时。使用Barefoots Tofino交换机,通过监视流表占用量和packet-in events的数量来评估方案的性能。


2 ARCHITECTURE DESIGN

P4交换机有两个表:Forward 和 Learn。Forward table 是首先应用于适当路由和匹配任何静态的转发表项。然后,在P4程序解析完TCP头之后,Learn table用于检测是否正在进行解析的数据包是否为FIN或者RST数据包。如果是FIN或者RST数据包,那么将给控制器爱发送一个消息,删除流表中的流表项。


3 EXPERIMETAL RESULTS

使用Barefoot Tofino交换机实现两个实验[2],将提出的方案与hard timeout 和idle timeout 的流表占用量、packet-in events的数量对比。利用Normal 分配产生的流间隔的选择,再通过Iperf产生流,由Poision 处理决定每一个流的到达时间。TCP流的到达率未(1/s),意味着流的间隔是2.5s,以及在评估期TCP流的数量是600。评估测试在Barefoot Tofino 交换机上进行,监控150s。

Figure 1显示了流表项随着时间的改变。所有方案的超时(timeout)值被设置为2s,如Figure 1 所示,与idle timeout 和 hard timeout相比,我们的方案实现了更低的TCAM占用,因为我们的方案的曲线始终要比hard timeout 和 idle timeout方案低。

Figure 2,不同的超时值从1s到4s,用于标会他们的pack-in rate 和TCAM 占用。我们可以发现,与hard timeout相比我们的方案可以实现更低的平均packet-in events,同时与hard timeout 和idle timeout 方案相比,可以实现更低的TCAM占用。本文提出的方案与idle timeout 方案相比,在TCAP占用上有改善,因为除了超过idle timeout 阈值,它仅仅在检测到FIN/RST数据包时,对表项进行移除。因此,如果表项没有被idle timeout 机制丢弃,将通过额外接收到FIN/SRT数据包时进行丢弃,从而极大减小了TCAM占用,因为表项将在连接一结束就进行移除。总之,与别的方案相比,由于有比idle timeout方案更好的packet-in rate以及与两个超时方法相比更好的TCAM占用状态, 本文提出的方案实现了更好的权衡。


4 CONCLUSION AND FUTURE WORKS

基于P4交换机检测TCP流的最后一个数据包,我们为TCP流提出了一个流表项移除技术,通过删除对应的流表项减小不必要的TCAM占用。将来的工作将会是使用更大的现实工作量测试和评估这个方案。


转载于:https://www.cnblogs.com/Pan-xi-yi/p/9952709.html

A Zero Flow Entry Expiration Timeout P4 Switch相关推荐

  1. FastRule: Efficient Flow Entry Updates for TCAM-based OpenFlow Switches(二)

    目录 V. FASTRULE IN DIFFERENT TCAM LAYOUTS A. Free spaces interleaved between non-free spaces B. Free ...

  2. FastRule: Efficient Flow Entry Updates for TCAM-based OpenFlow Switches(一)

    目录 abstract Introduction background A. flow dependency B.Flow entry update in existing hardware swit ...

  3. SDN实验(四)——Learning Switch自学习交换机

    SDN实验(四)--Learning Switch自学习交换机 一.自学习交换机原理 (一)普通交换机实现 (二)SDN交换机实现 二.自学习交换机代码实现 (一)代码 (二)代码讲解 (三)实验 三 ...

  4. 一次mmc0: Timeout waiting for hardware interrupt问题分析过程

    1.单板环境 xilinx zynq7z15 soc,Arm cortex A9双核.外设:mmc.emmc.spi.qspi.i2c.gpio.can.uart.cdns-gem(网口).dsp.u ...

  5. Linux flow offload提高路由转发效率

    凡是正确的东西,该来的最终还是会来的. (当然了,经理可能也有同感.) 来看看几年前我写的文章: 利用nf_conntrack机制存储路由,省去每包路由查找: https://blog.csdn.ne ...

  6. NOX的使用之学习篇【三】

    资料来源:http://noxrepo.org/noxwiki/index.php/Special:AllPages Topology From Wikidb Jump to: navigation, ...

  7. SpringBoot:常用属性汇总

    2019独角兽企业重金招聘Python工程师标准>>> 可以在application.properties/application.yml文件中或作为命令行开关指定各种属性.本节提供 ...

  8. springboot的自动配置原理

    SpringBoot中的默认配置 通过刚才的学习,我们知道@EnableAutoConfiguration会开启SpringBoot的自动配置,并且根据你引入的依赖来生效对应的默认配置.那么问题来了: ...

  9. spring boot application.properties 属性详解

    2019年3月21日17:09:59 英文原版: https://docs.spring.io/spring-boot/docs/current/reference/html/common-appli ...

最新文章

  1. 改变单选或者复选框的样式
  2. NAS优缺点完全剖析
  3. Visual Studio 2017 15.7 Preview 1 发布
  4. leetcode之二叉树的层序遍历
  5. 瑞萨电子推出R-Car Gen3e CPU速度提升达20%
  6. 1.79亿实景三维项目!与房地一体有何区别?
  7. 多线程编程之二——MFC中的多线程开发(收藏)
  8. 手机电脑投屏软件_手机投屏电脑,电脑控制手机,推荐这款良心免费的软件
  9. 存储基础知识学习(12月)
  10. 个人域名备案有什么要求?需要准备什么?
  11. api接口安全验证(sign签名和token验证)
  12. 中国石油大学(北京)-《安全与生活》在线考试
  13. 小米3的卡槽,卡住了
  14. 毕业设计-基于微信小程序的临沂旅游应用系统
  15. FFmpeg修改源码支持H265
  16. PDP-11 计算机
  17. QQ企业邮箱绑定微信
  18. 运营(朋友圈内容):卖货的朋友圈,该发哪些内容?
  19. FancyBox效果(二)
  20. B2C购物商城系统定制优势_购物商城系统适用在哪?

热门文章

  1. 关于lazyman你还应该知道这几件事
  2. vmware 10使用心得记录
  3. 谷歌修复已遭利用的 0day
  4. 我要上 Pwn2Own
  5. C语言使用时间创建随机数
  6. 经实验效果显著!VR虚拟帮助病人重新走路
  7. linux进程管理简析
  8. 浮动的三个特点很重要。
  9. 转:GCC,LLVM,Clang编译器对比
  10. ArcGIS API for Silverlight 调用GP服务绘制等值面