五月天app看片下载地址 -五月天app官网无限观看
0731-84728105
15116127200
FAST入门(7)FAST硬件流水线之三
宣布时间 :2018-07-23
     针对分别 运用 场景在分别 时间 内对交流成效 的需求纷歧致的特点,FAST流水线支持运用 FPGA现场可编程特征 ,静态 增添 和卸载流水线模块以知足 不时 转变 需求的特征 。
一、硬件流水线的扩展
      FAST基本 流水线征求 通用分组剖析 (GPP)、通用关键 字提取(GKE)、通用婚配 引擎(GME)、通用转刊举动 (GAC)和通用输入 引擎(GOE)五个模块。基于这五个模块搭建的基本 架构,FAST流水线支持静态 模块的拔出 和删除,如下图所示。
      在GAC之前的流水线称为Ingress流水线,主要 在输入 端口的上下文中对分组举行 转发决议 处置赏罚 。因为 分组元数据抵达 GAC模块后,可凭证 GME的婚配 效果 查表的到分组输入 的接口号(或软件UA编号),是以 在GAC之后分组在输入 接口的上下文中处置赏罚 ,是以 GAC模块之后的流水线称为Egress流水线。
     FAST流水线的成效 扩展主要 经过 增添 以下几类硬件模块:
   (1)用户界说的剖析 (UDP)模块      在GPP模块之后增添 一个或多个UDP模块,可完成 对GPP不支持的其他协议举行 剖析 ,并凭证 剖析 效果 修正 元数据中的协议类型字段PST。一个UDP模块在修正 完PST后,将DMID设置为GKE,旁路掉后续的UDP,即每个分组最多支持一个UDP模块的协议剖析 。
   (2)UKE模块      在GKE模块之后增添 用户界说的关键 字提取模块UKE,扩展支持GKE不支持的关键 字提取才干 ,UKE可以修正 KEY字段。通常若是 一个UKE模块完成KEY的提取和修正 后,直接将DMID设置为GME,旁路掉后续的UKE(若是 有的话),即每个分组最多支持一个UKE模块的处置赏罚
   (3)UDA模块      UDA模块主要 完成 用户界说的action处置赏罚 。UDA模块插在GME和GAC之间可以扩大 Ingress流水线的处置赏罚 成效 ,拔出 在GAC和GOE之间可以扩大 Egress流水线的处置赏罚 成效 。位于GAC之前和之后的UDA模块有两点分别 。一是UDA之前的只能对分组的元数据举行 职掌 ,而GAC之后的UDA可以直接修正 整个分组;二是GAC之前的UDA是在分组输入 的上下文处置赏罚 分组,而GAC之后的UDA是在分组输入 端口的上下文中处置赏罚 分组。
   (4)UDO模块      UDO模块物理位置 其实不 在FAST流水线之内,而是位于FPGA OS中分组最终从FPGA引脚输入 之前。因为 UDO的位置 位于分组输入 调治之后,是以 UDO处置赏罚 的分组在输入 时不存在任何雍塞 ,可以 保险 分组脱离 后到最终输入 到链路上有一个确定的延时。是以 UDO可以看作是FAST流水线在FPGA OS中的一个“飞地”。其主要 作用是获取准确 的分组输时间 戳,可以支持IEEE 1588透明 时钟的盘算或许 网络丈量中准确 发送时间 的获取。
     FAST流水线扩展模块的设计必需 遵照 尺度的模块接口界说,而且扩展拔出 的模块对上下游模块都是透明 的,即流水线中原本 的 上下游模块在都应当 感知不到新模块的拔出 。
二、硬件流水线扩展的示例
     经过 对FAST硬件流水线举行 扩展,可以支持在原本 的 交流平台中扩大 支持新的协议以及新的分组处置赏罚 机制。例如下图划分先容 了经过 扩展UDP和UDA模块支持IEEE 1588,L3转发控制以及喧嚣 网关成效 的例子。
     在(a)中,因为 GPP协议无法识别 封装在特定UDP端口号中传输的IEEE 1588的PTP协议,是以 GPP处置赏罚 后PST字段表现 的分组类型为ETH/IP/UDP,若是 交流平台需求 支持IEEE 1588的PTP协议,需求 拔出 一个UDP模块,对运用 319和320端口的UDP分组举行 剖析 。若是 UDP目地端口号为319,即UDP外部 征求 需求 交流平台盘算透明 时钟的事务 旧事 (sync,delay_req),这些旧事 可在PST中记号 ,UDO会凭证 PST的记号 跟新分组的透明 时钟。若是 目的端口号为320,则其中征求 不需求 透明 时钟盘算的PTP通用旧事 ,UDP会进一步剖析 旧事 类型,将分组转发(follow_up旧事 或delay_resp旧事 ),或送特定的软件UA处置赏罚 (BMC协议旧事 )。
     在(b)中,增添 UDA1完成 输入 组播复制成效 ,凭证 组播分组元数据中Outport携带的组播组信息查表取得 输入 接口荟萃,将分组一次复制发送到每个输入 接口,而UDA1完成 绑定到特定输入 接口的ACL过滤成效 ,UDA3完成 对输入 分组的修正 ,例如修正 目的MAC等。是以 经过 扩展Egress流水线中的UDA模块,可使 FAST流水线支持三层的单播和组播转发成效 。显然,每个新增的UDA模块外部 也征求 照应 的控制表格,这些表格会经过 照应 的软件设置 。
     在(c)中,可在Ingress流水线中增添 毗邻 管理 和严重 的流量统计成效 ,完成 与特定输入 端口绑定的喧嚣 控制。运用 毗邻 管理 成效 ,可以维护五元组标志 的TCP/UDP/ICMP的毗邻 形状 ,完成 形状 防火墙,并为其他基于流的middlebox成效 提供流的形状 信息。而运用 严重 的流量统计成效 可以检测到特定输入 接口甚至是到特定效劳 器流量的非对称性,用于早期 的发现DDoS攻击。而在Egress流水线中增添 流量过滤成效 ,可对具有特定属性分组举行 过滤,例如在“敲诈 病毒”发作时代 ,可以针对该病毒的特点快速 布置 硬件过滤模块,对撒播 病毒的恶意 分组举行 过滤,而过了“敲诈 病毒”发作期以后,该模块可以删除以浪费 资源用于其他成效 的完成 。
     上图中三个例子只是对经过 模块扩展完成 成效 扩展的表示 。后续会越发深化 的先容 基于软硬件协同方式快速 完成 特定处置赏罚 成效 的要领。