五月天视频苹果版下载软件 -五月天app官网无限观看
0731-84728105
15116127200
FAST项目手艺 白皮书
宣布时间 : 2016-11-20
1.序文
     软件界说网络(SDN)接纳控制与转发疏散结构 ,因为 允许网络具有 者和运经商 对网络行为举行 编程而取得 严重 的乐成,在工业界取得 普遍 认可。种种开源项目,如ODL和ONOS等,在SDN手艺 生长中饰演主要 角色,是推进 SDN运用 的最大动力。
     可编程交流是以后 SDN的研讨 抢手 之一。怎样 完成 高功用 的openflow流表查表,怎样 扩展SDN交流平面 成效 ,怎样 完成 对初级 言语 编程(P4)的支持等在学术界都取得 了普遍 研讨 。但是 与如今 存在的少量 开源SDN控制器分别 ,开源SDN交流机难以知足 SDN科研与教学的需求 。OpenVSwitch成效 周全 ,但全软件的完成 方式难以知足 高功用 处置赏罚 需求;NetFPGA完成 了openflow 1.0交流,但近年来很美观 到后续的生长;海外 南京叠锶的ONetSwitch在FPGA上完成 了完善的SDN交流成效 ,但交流机接纳FPGA内嵌的处置赏罚 器,才干 较弱,难以在处置赏罚 器上举行 数据途径 处置赏罚 成效 的扩展。
     2011年最先 ,国防科技大学、北京邮电大学和西北 大学等单元相关的课题组基于可编程交流平台NetMagic08举行 了SDN实验平台的开发,构成 了支持openflow1.0/1.3的SDN交流机。并接纳多核CPU+FPGA的架构(Netmagic Pro平台),完成 了支持SDN数据平面 成效 扩展的Labelcast交流机以及软件界说隧道交流机(SDTS)等效果 。2016年,课题组基于上述效果 构成 FAST(Fpga bAsed Sdn swiTch)开源项目,支持海外 SDN交流手艺 的创新研讨 和相关的教学事情。
2. 科研与教学对开源SDN交流机的需求
      与在工业界运用 分别 ,面向科研与教学范围 的开源项目的目的 用户主要 是研讨 机构和大学中参与 SDN手艺 研讨 的先生 和研讨 生,这些职员 在网络知识储蓄、编程水平 、故意 投入工程完成 的时间 等方面具有较大分别 ,是以 对开源SDN交流项目也有分别 的需求,主要 具有以下特点。
   (1)外部 交流机外部 的完成 流程可见
     研讨 职员 、先生 和先生 可以看到交流机外部 详细的事情流程,征求 硬件对报文的处置赏罚 波形,交流机外部 软硬件交互的流程,以及交流机经过 南向接口与控制器的通讯 流程。如今 的市场购置 的SDN交流机无法看到外部 事情流程,对研讨 职员 来说是一个典型的“黑盒”,只能经过 种种设置 下令 改动 交流机的处置赏罚 行为,或在开源的控制器一侧经过 抓包软件视察交流机的外部 行为,对SDN交流手艺 的研讨 支持不及 。
   (2)可以 在交流机中增添 自己 的创新事情
     SDN的创新研讨 有能够 需求 增添 一个定制的模块来修正 硬件处置赏罚 逻辑,如支持新的分组名堂 ,新的调治算法,也有多是 经过 在硬件逻辑中(或许 流表中)设置一个“钩子”,将指定的流量定向到CPU,经过 编写软件代码完成 对特定流量施加特定处置赏罚 。如今 基于ASIC的商用SDN交流机难以支持上述成效 ,新型可编程SDN芯片(如Barefoot支持P4的芯片)尚未成熟,而且也是无法在硬件处置赏罚 条理的创新实验。
   (3)需求 更好的运用 和开发支持
     因为 在教学科研范围 的研讨 职员 ,特殊 是研讨 生,水平 条理不齐。特殊 电子工程专业的能够 擅长 硬件设计,盘算机专业的能够 擅长 软件编程,以论文为目的 的研讨 职员 能够 越发注重原理的验证而不是事情的动摇 性,而局限 科研院所希望可以 动摇 牢靠 的事情,成为产品 的原型。是以 研讨 职员 希望可以 取得 越发专业,甚至是定制的效劳 。
   (4)平台中立,不触及 详细 的商业利益
     科研教学范围 的研讨 主要 是面向关键 手艺 的打破 和验证,以及SDN原理的学习。基本 不触及 到种种商业利益的纷争,是以 平台应当 具有中立性,不行 依赖特定的平台和职掌 系统 ,也不行 与其他特定的开源项目绑定生长。
     是以 ,100G/40G高速接口和几十甚至是上百个的端口密度不是科研与教学平台的第一需求,外部 处置赏罚 流程可见,平台处置赏罚 成效 可定制,优秀 的效劳 手艺 支持,以及不带有商业倾向性的平台设计才是科研教学范围 的最主要 需求。
3.FAST的手艺 蹊径
3.1 FAST硬件架构
FAST的FPGA设计主要 分为平台相关逻辑、FAST流水线模块库以及工程设置 文件库三局限 ,如图1所示。平台相关逻辑主要 是种种用于网络实验的FPGA平台,如NetMagic08,NetMagic Pro以及NetFPGA等为了支持FAST交流机需求 提供的基本 成效 ,征求 物理网络接口分组的收发,与CPU的通讯 ,会晤 板卡中心 协处置赏罚 器(如TCAM)和存储器的接口等。
FAST流水线模块库征求 了完成 SDN交流逻辑的主要 成效 模块,这些模块是在前期 项目开发中积聚 的,征求 协议剖析 ,关键 字提取、查表,举动 (封头/去头,令牌桶限速等)、缓冲区管理 和计数器等模块。用户可凭证 这些模块,针对自己 的需求搭建自己 的SDN转发流水线。
工程设置 文件库相似 C言语 的makefile文件,用户可使劳累 程设置 文件指定FPGA选用的平台,将平台相关逻辑以及FAST流水线多个模块组成一个工程。因为 在FAST流水线模块设计中依赖一些器件相关的宏(如基于Altera Quartus II工具天生 的FIFO、PLL等实例),是以 如今 工程设置 库只支持基于Altera FPGA的可编程板卡。
FAST UM规范 界说了平台相关逻辑与FAST交流逻辑的接口,详细见《FAST UM接口规范 》。基于FAST UM规范 设计的SDN转发逻辑可以利便 的在分别 的,支持FSAT 的FPGA平台上移植。例如SDN转发逻辑可以在相对 简朴 的NetMagic08平台上调试,完成后再移植到NetMagic Pro平台。

图1 FAST项目的硬件架构
     FAST软件由4局限 组成,征求 平台相关通讯 库,焦点管理 软件,转发面扩展软件以及设置 管理 软件。其中平台有关 的焦点管理 软件,转发面扩展软件以及设置 管理 软件都是FAST用户可以修正 的,统称为UA(User Application)。
     平台相关通讯 库完成 CPU软件与交流FPGA的通讯 ,凭证 FPGA平台的分别 ,会接纳分别 的通讯 方式,例如与NetMagic08平台接纳以太网方式举行 通讯 ,关于 NetMagic Pro平台、NetFPGA平台则接纳PCIe总线通讯 的方式。但平台相关软件与FPGA分别 的通讯 方式对下层 软件(焦点管理 软件、转发面成效 扩展软件等)是透明 的。即FAST项目界说了平台相关通讯 库对下层 接口的规范 ,详见《FAST UA设计规范 》。基于该规范 开发的下层 软件可不思量 下层 的详细 通讯 方式。

图2 FAST项目的软件架构
     焦点管理 软件主要 是SDN交流机数据平面 中由CPU软件完成 的基本 成效 ,征求 种种表管理 软件,硬件相关的驱动和管理 软件以及软硬件协同处置赏罚 中的软件成效 完成 局限 。各局限 主要 成效 如下。
     (1)表管理 软件:仔细 一切 控制器设置 表格的维护,控制器flowmod下令 对交流机表职掌 的下令 主要 由焦点管理 软件照应 和完成 。
     (2)算法相关软件:是对硬件平台的驱动。例如NetMagic Pro平台硬件接纳TCAM完成 带掩码的查表,而NetMagic08平台接纳SBV算法完成 288位带掩码的查表。算法相关软件需求 凭证 表管理 软件要求,凭证 平台相关的算法完成 特点,完成 对硬件中流表的管理 。
     (3)统计管理 软件:例照实 现SDN交流机计数器的管理 ,将硬件完成 的计数器(如流表项婚配 分组数目计数器、端口吸收 计数器)和软件完成 的计数器(流表项存活时间 )举行 一致 的管理 。又如数据平面 完成 的令牌桶参数、输入 调治器设置 的参数盘算等。
设置 管理 软件主要 完成 SDN交流机的外部 设置 管理 接口,征求 SDN交流机需求 的南向接口协议,如openflow协,以及外地 的设置 管理 界面等。
4.基于FAST架构的用户开发
     FAST是面向教学科研的开源项目,必需 为网络手艺 研讨 和教学提供简朴 的第三方开发接口。凭证 分别 科研单元的分别 需求,这些开发接口分为多个条理。用户可以选择全定制成效 开发形式 ,即基于平台提供的FPGA开发接口(UM接口)和软件开发接口(UA接口)开发自己 的成效 ,低贱 是可以全新打造自己 的成效 ,效率高,但难度较大,周期长,对开发职员 的要求较高。FAST社区不引荐 用户接纳全定制成效 开发的形式 ,而引荐 接纳用户界说成效 模块开发形式 。
     用户可自创 已有的FAST软硬件架构和已有成熟的成效 模块,只增添 与自己 运用 相关的模块,低贱 是开发时间 短,对职员 要求较低,而且可以取得 FAST社区最激流 平的手艺 支持。用户可选择只开发自界说的硬件成效 模块,或自界说的软件成效 模块,或许 同时开发硬件和软件模块,完成 特定网络成效 的协同处置赏罚 ,FAST用户界说模块开宣布 示 如图3所示。
4.1 硬件UM开发
     FAST社区已经开发了可事情的SDN转发的流水线demo法式,如图3所示。主要 征求 协议剖析 (Parser)、查表(match)以及举动 执行(match)等阶段。用户可以在现有基础 上增添 自己 的模块,如对新协议的parser模块(P4),新的举动 执行模块(H4)等,而不需修正 其他局限 。FAST UM规范 界说了5个接口,划分是A(从物理端口吸收 报文)、B(向物理接口发送报文)、C(将报文送软件处置赏罚 )、D(从软件吸收 报文)和E(软件对硬件的设置 接口)。
     用户开发的硬件模块若是 需求 软件管理 设置 ,只需 将需求 管理 设置 的寄存 器、计数器和控制表等预先 照射 到虚拟地址空间中,软件UA凭证 虚拟空间的地址,经过 平台提供的API可以直接会晤 到这些资源。虚拟地址空间的原理见《FAST虚拟地址空间设计和运用 要领》。
4.2软件UA开发
      用户可在CPU的用户空间举行 定制模块的开发。用户法式经过 平台提供的接口吸收 和发送数据包, 在每个数据包之前会携带32个字节的metadata,Metadata的界说和运用 详见4.3节。
     软件模块的开发主要 遵照 FAST UA规范 中界说的F(吸收 Matadata和分组的接口)、G(发送Matadata和分组的接口)和H(向系统 注册用户界说成效 模块的接口,获取自己 的MID号等),并将需求 管理 的硬件模块的资源在虚拟地址空间中界说。
      凭证 图2中的软件架构,用户界说的模块位于SDN交流机数据平面 ,是以 一方面可完成 对L2-L3成效 的软硬件协同处置赏罚 ,例如对新性网络协议的剖析 ,另一方面也可完成 数据平面 临 L4-L7处置赏罚 成效 的扩展,如扩展有形 态 防火墙成效 ,扩展对指定流的DPI成效 等。

图3 用户界说成效 模块开发原理示希图
(a)用户模块的事情原理(b)软硬件模块通讯 携带的metadata名堂
4.3软硬件协同处置赏罚 机制
     FAST经过 两种机制完成 软硬件处置赏罚 的协同。一是将软硬件处置赏罚 模块一致 编址,为每个action模块分配一致 的MID(Module ID)。例如图3(a)中三个硬件action模块(H1、H2和H3)和一个软件成效 模块(S1)都市分配一个独一 的MID。流表可以凭证 婚配 效果 将一个报文显示的分配到指定的软件或许 硬件成效 模块。二是软硬件分组通讯 时同时携带32字节的metadata。Metadata的界说如图3(b)所示。
     FAST规范 显式界说了Matadata的前16字节(Metadata0),如表1所示。经过 Matadata,FPGA UM可将报文吸收 的端口、长度、吸收 的准确 时间 和序列号,以及收回 的硬件模块,目的软件模块等信息送给软件,平台相关软件凭证 DMID信息将其送给指定的用户UA法式。用户UA法式处置赏罚 完分组后,又可经过 Metadata信息将其送给指定的硬件模块,也可直接指定目的输入 接口(输入 调治器也经过 DMID指定)。
     FAST没有对Matadata的后16字节(Metadata1)举行 界说。当SMID和DMID都是用户自己 设计时,可以自行商定 Metadata1的寄义,平台相关硬件和软件纰谬 Metadata1举行 任何反省 和修正 。
4.4 FAST.0参考设计
     如今 基于图1和图2的硬件和软件架构,以及图3的软硬件协同模子 ,国防科大课题组已经开发了支持openflow1.3的交流机原型FAST.0。FAST.0运转 在NetMagic Pro平台,完成 了与floodlight控制器的互联互通,以及尺度的二层转发成效 。
     在FPGA硬件方面,FAST.0支持以太网/IPv4分组的剖析 ,L2-L4层关键 字的提取,以及基于比特向量算法(BV)的288位带掩码的规则婚配 成效 ;在CPU软件方面,支持BV算法的管理 ,通用流表管理 ,尺度的openflow 1.3的接口软件等。FAST.0软硬件代码已经完全开源,可作为用户基于FAST架构举行 定制开发的基础 。
5.基于FAST的创新研讨 示例
     如今 FAST项目基于NetMagic Pro等多个平台已经有支持openflow1.3的尺度SDN交流机原型。基于这个原型,用户可以进一步增添 自己 的许多成效 。本节经过 两个例子说明 基于FAST项目举行 SDN交流机成效 扩展研讨 的要领和流程。
     在5.1的基于内容的转发机制ICN-X完成 中,用户只需举行 相关用户态软件开发,不需任何硬件编程;5.2完成 的精准丈量效劳 AMS(Accurate Measurement Service)中,需求 划分设计软件和硬件模块,完成 准确 分组发送时辰 控制以实时间 戳记号 。
5.1支持基于内容的转发机制(ICN-X)
用户可在FAST交流机上完成 内容中央 的转发机制ICN-X。这种机制在网络中可以与IPv4,IPv6转发机制共存。在FAST交流机上完成 ICN-X转发机制的要领如下。      
(1)将以太网type/length设置为“X”,用于指代下层 协议为ICN-X;交流机可凭证 该域的值区别以太网帧封装的下层 协议分组为IPv4,IPv6,ARP、MPLS或是ICN-X。     
(2)在用户空间开发ICN-X协议转发软件ICN-X UA,ICN-X UA完成 ICN-X的分组转发控制,ICN-X机制的路由和其他管理 分组可经过 ICN-X UA重新定向成Packet-in分组,发给控制器上相关的运用 处置赏罚 。     
(3)ICN-A UA启动时向UA管理 器(UA-M)注册,注册信息征求 :     
ICN-X UA的模块版本号/开发者信息;     
ICN-X UA中需求 控制器管理 的流表(如由控制器APP盘算的转揭晓 等);     
(4)UA-M给ICN-X UA分配独一 的模块号MID=Y;     
(5)SDN控制器(运用 )经过 南向接口或其他方式获取ICN-X UA的模块号Y,以及需求 经过 FlowMod旧事 管理 的流表信息;     
(6)控制器(运用 )凭证 Packet-in旧事 盘算ICN-UA中转 发规则,并经过 flowMod旧事 设置 这些规则;     
(7)控制器(运用 )发作 并设置 UM流表中的“钩子规则”,如:Rule =“Type/length=X”,“other field= don’t care”Atcion = Goto Module Y经由 上述顺序 ,用户定制的FAST交流机就可以 在正常举行 IP分组交流的同时,支持新的ICN-X交流机制了。ICN-X UA完成分 组转发和二层封装后,直接将分组发送回FAST UM,同时在metadata中设置输入 端口号以及输入 调治器的MID。该分组会经过 平台相关的软件和硬件送到UM的输入 调治模块,不经修正 的从照应 的物理接口收回 。
5.2支持精准丈量效劳 (AMS)
     自动 丈量是获取网络形状 的有用 手腕 。例如运用 香港理工大学提出的oneProbe实验 要领,经过 在用户网中向漫衍在全球的web效劳 器发送背靠背的TCP分组对(packet pair),经过 盘算效劳 器对分组对得照应 情形 ,准确 的推断出用户主机到漫衍在全球的互联网效劳 器之间的带宽和延时情形 ,从而进一步推断广域网的链路特征 。
     这种实验 的准确 性取决于能否控制分组对真实的 背靠背发送(中央 没有拔出 延时),能否准确 的获取分组对收回 以及前往 的时间 戳。因为 基于尺度效劳 器的完成 存在丈量历程 收到内核调治,中止 处置赏罚 以及系统 时钟禁绝 确 等特点,很难保险 丈量的准确 性,是以 丈量必需 借助公用 的,振奋 的可编程网卡完成 ,而且发送历程 与网卡之间的时间 和形状 同步控制也竞赛 严重 。
     经过 对布置 在用户网络中的FAST交流机举行 扩大 ,可以在交流机上利便 的提供对准确 的自动 丈量的支持。设倡议 丈量的主机H毗邻 FAST交流机端口A,毗邻 被测网络的是FAST交流机的接口B,基本 丈量的流程为:丈量主机H经过 FAST接口A发送两个背靠背的TCP分组P1和P2,这两个分组经由 交流机转发后从端口B发向被测网络;被测网络经过 接口B前往 对这两个分组的照应 P1’和P2’,交流机将这两个分组经过 接口A前往 实验 主机H。
     经过 对FAST交流机成效 扩展,提供的精准丈量效劳 征求 :(1)交流机严酷 控制P1和P2从接口B背靠背收回 ,中央 不拔出 任何延时;(2)交流功用 够准确 纪录B口收回 P1和P2,以及吸收 P1’和P2’的时间 戳;(3)FAST交流机将时间 戳信息通告给实验 主机H。
     要在FAST交流机上完成 用户界说的精准丈量效劳 ,需求 在FAST UM中开发公用 的分组输入 调治模块Hams,以及相关控制软件AMS UA。主机H运用 FAST交流机扩展的AMS效劳 流程如下。
     (1)控制器上AMS APP设置 交流机的流表规则,将主机H与被测效劳 器S之间的丈量报文(用H和S的地址标志 ,这些信息可经过 离线方式或在线的方式通知 控制器上的AMS APP),对送软件中的(预先 完成向UA-M注册,并获取到MID)AMS UA模块处置赏罚 ;      
(2)AMS UA将P1和P2两个报文记号 为丈量报文对,经过 Matadata1中自界说的字段发给FAST UM中的Hams模块,Hams模块对输入 调治对象 有最高优先级,在收到两个报文后,经过 输入 调治模块背靠背收回 ,同时将收回 时间 纪录在Hams模块中,在虚拟地址空间预先 注册的寄存 器中,AMS UA经过 轮训读写该寄存 器,取得 报文收回 的准确 时间 戳。      
(3)P1’和P2’从B端口前往 后,凭证 流表中的规则,会定向到AMS UA处置赏罚 。AMS UA凭证 报文matadata0可获取分组抵达 的准确 时间 戳。      
(4)控制器上AMS APP从南向接口获取主机H丈量必需 的分组对准确 收回 时间 和照应 的前往 时间 ,并提交给主机H,完成AMS效劳 。
6.总结
      综上所述,FAST手艺 架构具有以下特点。一是基于FPGA加多核CPU的异构处置赏罚 平台设计,用户可以凭证 自己 的特点经过 软件编程或硬件编程完成 自己 定制的模块,举行 交流成效 的扩大 ;二是FAST平台接纳开源结构 ,内局限 组的处置赏罚 流程完全可见;三是软硬件设计基于平台有关 接口,不依赖特定的平台完成 ,可移植性好;四是具有完善的软硬件参考设计,研讨 职员 可以凭证 自己 研讨 的需求定制自己 的交流机。
参考文献
(1)《FAST UM接口规范 》
(2)《FAST UA设计规范 》
(3)《FAST虚拟地址空间设计和运用 要领》
(4)《FAST.0 硬件设计说明 》
(5)《FAST.0 软件设计说明 》
(以上文档整在修订,即将陆续宣布。。。)