论文阅读:Research on TCAM-based OpenFlow Switch Platform

摘要:

OpenFlow是一种快速发展的新型交换机模型,该模型支持对网络过程的外部策略的控制。

在Openflow平台中,多表和多项目的组匹配是挑战。

于是提出了Openflow交换机的三层实现模型, 研究了基于TCAM的Openflow多表切换技术,包括Openflow中的多表过程模型和TCAM性能模型,最后在上述模型下分析了基于TCAM的Openflow转发性能。

背景/问题:

Openflow被提出后得到了快速的发展,IBM和HP都生产了Openflow交换机。

但是,这些交换机是基于传统的交换机芯片来实现的。尽管它支持Openflow协议,但很难在数据转发平面中支持15个字段匹配。

在OpenFlow交换机的实现中,如何始终支持基于多项目组的流匹配一直是一个挑战。

解决办法:

提出了一个三层的Openflow交换机实现模型基于TCAM的多表转发,并且提出了Openflow多表描述和TCAM查找功能的性能分析。

以Netlogic的Ayama20000 TCAM为例来分析Openflow交换机的性能。

实现细节:

在1.1版规范发布之后,Openflow与以前相比增加了多表、端口组、可伸缩匹配和其他新功能,但是可以实现新规范的交换机模型数量较少。

结构:

根据新规范的特点,我们设计了基于硬件层,核心层,用户层的三层结构来实现。

  • 硬件层使用三进制内容可寻址存储器和相关的SRAM来实现快速查找ACL和路由表,通过FPGA芯片在硬件收发中实现加速逻辑功能,同时在硬件接收器模块中进行数据包分析,根据OpenFlow的规则查找硬件或软件。
  • 核心层设置了五个模块,包括规则管理过程,OpenFlow规则表,OpenFlow规则映射表,转发线程管理,统计计数器。
    -- 规则管理过程主要通过API和用户层完成控制器交互,OpenFlow控制器需要将操作表对流到硬件层,并且该层OpenFlow规则表update命令发送更改以实现对表的操作。
    -- OpenFlow规则表使用Hash算法实现了快速的十五组查询表而没有通配符。
    -- OpenFlow规则映射表用于备份数据流表以及实现某些扩展,如超时更新等。
    -- 管理线程主要用于转发三层通道中传递的数据流。
    -- 统计计数器是针对每个流,流表和端口等实现OpenFlow规范,在此层设置计数器是由于考虑到大量的存储空间和资源消耗等。
  • 用户层是OpenFlow控制器,用户可以通过控制器更改交换机配置。

    三层模型不仅可以实现十五个字段来完成当前的匹配,还可以支持当前使用的网络数据包的正常规则。通过核心层配置通配符OpenFlow字段查找表、其他功能的MetaData定义,可以实现非常好的交互。我们还可以将Aging与核心层映射表的规则相结合,在TCAM上配置硬件层,以达到更好的OpenFlow硬超时和空闲超时标准。
  • 空闲超时(idle timeout),流表项的idle_timeout字段非0。在空闲超时这段时间内,如果没有任何数据报匹配到该流表项,则交换机会主动将该流表项从流表中移除。即流表项从交换机设备移除的相对时间。
  • 硬超时(hard timeout),流表项的hard_timeout字段非0。当该流表项的存在时间超过了预设置的硬超时,流表项就会被交换机从流表中移除。即流表项从交换机移除的绝对时间。

过程:

  1. 如果从硬件接收到数据包,则进行查找,然后分析表以实现匹配(查找表以实现通配符,并进行多表查找),如果规则与转发问题的硬件匹配,则发送到转发管理以更新计数器。

  2. 通过核心层线程对OpenFlow规则表的层管理转发表2中的规则进行匹配(没有通配符哈希表来查找表),如果规则匹配,则从硬件转发过程中发出,并将其发送到转发管理以更新计数器。

  3. 如果全部失败,则OpenFlow规则表通过转发管理线程,利用用户层的Openflow控制器实现请求管理。

  4. 控制器通过API将规则拖曳表写入OF内核的规则管理中,然后写入TCAM以实现TCAM拖曳,并直接写入OF映射表(表2)通过规则管理完成对控制器的请求和完成。

  5. 在用户层上,设置Openflow的规则数据库以备份和修改配置。

补充:

下表定义了与TCAM字符描述关联的参数:


表1

下表描述了OpenFlow多表的用法:假设OpenFlow交换机具有<RN1,RN2〜RNn>表,每个表具有属性<RLi,RNi,RMi>的三个子集,RLi表示长度规则,RNi表示长度规则 数字,RMi表示规则是否包含掩码匹配,1表示包括,反之为0


表2

时间关系:
表3

TCAM性能分析:

硬件的查找过程,通过推导TCAM的性能可以获得不同表的转发率和资源占用总数。 具有映射到TCAM的TCAM,每个的长度为RL1,RL2〜RLn, 时钟周期为T,则可以通过公式得出每秒的速率:



我们可以将表格的长度RLi乘以其编号RNn以获得内部TCAM占用资源率的总数:



每个TCAM都有不同类型的总线带宽,如果我们要充分利用TCAM,则其总线不会空闲,因此我们需要计算TCAM的延迟时间,然后根据延迟设计合理的PE。

为了解决这个问题,我们设计了一个通用的TCAM模型。 首先,获得一般的系统延迟。 其次,我们可以通过TCAM获得该消息的整个处理时间:



其次,我们可以在所需的整个TCAM处理时间中获取消息:



设置一个周期:a,然后得到以下公式:
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,607评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,239评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,960评论 0 355
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,750评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,764评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,604评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,347评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,253评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,702评论 1 315
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,893评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,015评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,734评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,352评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,934评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,052评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,216评论 3 371
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,969评论 2 355

推荐阅读更多精彩内容