温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
国产
FPGA
高速
可重构
网络
访问
控制
平台
永兴
第 31 卷 第 1 期北京电子科技学院学报2023 年 3 月Vol31 No1Journal of Beijing Electronic Science and Technology InstituteMar2023基于国产 FPGA 的高速可重构网络访问控制平台贾永兴吴捷陈明中国电子科技集团公司第三十研究所,成都市610041摘要:工业控制、电力通信等特殊行业对网络安全和自主可控提出了更多的需求,基于国产FPGA 器件,提出了一种高速可重构的网络访问控制平台,给出了平台的技术架构、协议结构、数据业务流程等具体实现方法,并分析了平台的技术特点和优势。平台拥有协议可重构和高转发速率的优点,数据吞吐量可达 10Gbps。该设计方法对自主可控的协议可重构的通信网络的具体实现具有很强的指导作用。关键词:国产 FPGA;网络访问控制;可重构中图分类号:TP393.08文献标识码:A文章编号:1672464X(2023)16873*作者简介:贾永兴(1982),男,高级工程师,主要研究方向为网络通信技术。吴捷(1981),男,高级工程师,主要研究方向为网络通信技术。陈明(1987),男,高级工程师,主要研究方向为网络通信技术。E-mail:jyxstar 126com0引言随着互联网的快速发展和应用,在给人们日常办公和生活带来了极大方便的同时,网络安全问题也日益突出并倍受关注。网络访问控制技术作为网络安全的核心技术之一,通过在局域网内部实施准入准出规则,限制局域网内主机的访问权限,从而保证局域网资源受控地、合法地使用1。在边界路由器、入侵检测系统和防火墙等设备中通常都部署了网络访问控制技术和相关功能选项。工业控制、电力通信等特殊行业等典型局域网络对网络的自主可控和安全保密都有很高的要求,这些场景下需要采用安全可靠的网络安全设备去构建专用的高速保密通信网络,其网络层协议根据各自场景要求也不甚相同,会根据行业特点定制私有的协议。本文针对这类需求场景,提出了一种新型的高速可重构网络访问控制平台,其应用环境如图 1 所示。图 1网络访问控制平台应用环境目前,针对 IP 协议网络访问控制技术已经很成熟了,但是针对自定义三层协议(非 IP 协议)的高速网络访问控制鲜有提及,首先,网络设备媒体介质层以上的协议层需要根据具体应用需求进行灵活定制,要求具备可重构的属性,不能通过通用芯片实现针对自定义协议特征的数据流访问控制;其次,因为通用处理器的程序指令、数据读写操作的架构设计带来的时延,通过处理器实现针对可重构的自定义协议特征的数据流访问控制无法满足高速转发性能要求。同时,中美贸易战愈演愈烈,集成电路“卡脖子”问题对关键器件和平台的国产化提出了迫切的需求。本文基于上述需求,采用国产 FPGA 等器第 31 卷基于国产 FPGA 的高速可重构网络访问控制平台件,设计并实现了协议可重构的网络访问控制平台。通过该平台可以实现以下功能:(1)协议可重构的自主可控的安全访问控制平台;(2)安全访问控制策略下的高速数据流转发;(3)防止非法用户入侵网络以及合法用户对网络的非授权访问2。1可重构网络访问控制平台架构根据网络访问平台的技术特点,在关键器件上选用了国产器件,采用 CPU+FPGA+TCAM(搜索引擎芯片)的架构。平台以 FPGA 为核心,在CPU、TCAM 和 SAM 的配合下,实现协议可重构的高速网络访问控制。FPGA 主要承担接口适配和数据流调度,包括接口数据流转换、数据流 FIFO 缓冲、访问控制关键字提取、TCAM 搜索适配、SAM 搜索结果生成、根据访问控制策略判定数据流的转发或丢弃。CPU 承担人机接口功能,根据 WEB 配置生成访问控制策略,负责访问控制策略的下发、回读和维护;CPU 同时完成平台状态管理、异常告警的生成等功能。TCAM 和 SAM 芯片配合使用,承担网络访问控制列表的存储、匹配和查询;PHY 芯片和 FPGA对接,实现内网、外网数据流的适配。网络访问控制平台硬件原理框图如图 2 所示。图 2平台硬件原理框图根据平台的技术要求,选用上海安路信息科技股份有限公司 的 PH1 芯片,它内部可编程资源丰富,具有高带宽的数据吞吐能力,满足大容量的逻辑运算和高速网络访问控制平台的高速数据处理需求。FPGA 的 GTX 可支持 1.2Gbps到 10.3125Gbps 的线速率,因此本平台设计可以满足 10Gbps 级别的数据吞吐量。TCAM 选用苏州雄立公司的 ISE30K 芯片,其最高工作时钟频率可达 425Mhz,针对 72 和144bit 位宽数据的搜索速度可达 1.75 亿次每秒(350Mhz 工作频率)。它支持高达 576bit 的搜索关键字,即该系统能够满足 576bit 协议字段可重构安全访问控制,一般访问控制的协议字段为200bit 左右,因此系统对于协议字段的可重构有很大的灵活性和可扩展性。同时,该芯片可支持多达 52 万条的表项搜索(72bit 情况下),即系统可支持的访问控制条数多达 52 万条。因此,从搜索速度、表项长度和表项条数等各方面来看,该芯片可以完全满足高速可重构网络访问控制的需求。网络访问控制在 FPGA 内部具体实现流程如图 3 所示。图 3FPGA 技术实现流程图CPU 根据用户的具体需求生成安全访问控制列表并下发到 FPGA,FPGA 根据相应的数据格式将访问控制列表的关键词和动作数据分别存储到 TCAM 和 SAM 中;当 FPGA 数据入口收96北京电子科技学院学报2023 年到访问控制数据流时,完成数据适配和缓存,提取数据特征关键词,将关键词发送到 TCAM 完成快速匹配;FPGA 根据匹配结果从 SAM 获取访问控制动作数据并完成访问控制决策,从而确定完成数据流的转发还是丢弃,并将需要转发的数据发送到相应的数据出口。2可重构网络访问控制的 FPGA实现2.1协议格式网络协议包的格式如图 4 所示。图 4网络数据包格式reg 63 0link_code;reg 111 0ethernet_head;reg 159 0ip_head;reg 159 0protcol;其中,链路层协议为以太网协议,传输层协议为 TCP/UDP 协议或其它专用协议,网络层协议可以是 IP 协议,也可以根据具体应用场景自行设计专用协议,本文的可重构网络层协议如图5 所示3。图 5可重构网络网络层协议头reg 7 0version;reg 15 0header_length;reg 31 0data_stream_id;reg 15 0protcol;reg 7 0tos;reg 15 0total_length;协议头部总长度为 12 字节,定义了协议版本、协议头部长度、数据流 ID、上层协议类型、TOS 和报文长度。数据流 ID 是数据流的唯一标识,用作查表和数据流传输方向的判定。上层协议类型和数据流 ID 是可重构网络访问控制的入口参数,和其它参数一起用于确定网络访问控制的策略。该平台需要根据 Web 端的用户配置并智能地分析数据流的特征字段,及时地感知网络层的数据类型,明确入口数据流是 IP 协议还是可重构自定义协议,并根据协议的不同确定不同的访问控制策略4。另外,当用户需要根据实际需求修改网络协议头时,实现协议可重构的功能,其具体流程如下:1)通过 Web 客户端完成协议格式的定义并下发到处理器。2)处理器根据新的协议格式通知 FPGA、TCAM、SAM 等器件完成协议格式的更新。3)数据流按照新的协议格式完成访问控制列表的匹配和转发。2.2数据流程可重构网络访问控制流程分两个步骤,分别是访问控制表配置和数据流访问控制。访问控制表配置流程图如图 6,共分 5 个步骤,具体如下图所示。图 6访问控制表配置流程图1)用户首先在 Web 端配置访问控制列表,访问控制列表包含访问控制对象和访问控制动作两个参数,访问控制平台依据不同的访问控制对象来生成不同的访问控制动作。对于 IP 网络,访问控制对象参数主要是 IP07第 31 卷基于国产 FPGA 的高速可重构网络访问控制平台五元组,即源 IP、源端口、目的 IP、目的端口、传输层协议。对于可重构网络,根据网络协议的设计有所不同,本文设计的访问控制对象参数包括数据流 ID、上层协议类型和 TCP/UDP 端口号。访问控制动作包括以下三种:允许访问、禁止访问、有条件访问(有带宽限制的访问或者只能访问部分资源)。2)CPU 通过网络接口或其它配置接口获取访问控制列表参数。3)CPU 根据系统定义的访问控制列表格式,生成访问控制列表。4)CPU 定义和 FPGA 之间的通信格式,并通过网口或 PCIE 接口将访问控制列表下发到FPGA。5)FPGA 定义访问控制列表地址参数,通过相应的总线配置接口将访问控制列表数据分别写入 TCAM 和 SAM 的相应地址。其 FPGA 设计模块如下6:module access_control_configbeginaccess_control_receive();tcam_config();sram_config();end数据流访问控制主要由 FPGA 实现,共分 5个步骤,其流程图如图 7 所示。1)FPGA 收到数据入口的数据流以后,首先缓存数据流,然后从数据流中提取查表关键字。FPGA 会智能地识别数据流的网络层协议类型,如果是 IP 协议则提取 IP 五元组作为关键字,如果是可重构自定义协议,则提取数据流 ID、上层协议类型、TCP/UDP 端口号作为关键字5。2)FPGA 以关键字作为主要参数生成搜索请求,并发送到 TCAM 进行查表。3)TCAM 返回查表结果,FPGA 从 SAM 的相应地址读取动作内容。4)FPGA 解析查表结果,若有表项匹配,则图 7访问控制表配置流程图表明该数据流属于需要做访问控制。对于受限访问控制的数据,FPGA 将该数据流做出限流处理,或者限定访问的资源。对于需要丢弃的数据,FPGA 直接将该数据从缓冲区读取并丢弃。该流程阻止了非法用户入侵网络以及合法用户对网络的非授权访问。5)FPGA 解析查表结果,如果没有表项匹配,则表明该数据流不需要做访问控制,FPGA读取缓存数据并转发。该流程实现了合法用户的有效访问。FPGA 实现框架如下:module access_control_streambegindata_receive();data_storage();search_key_extract();tcam_search();sram_action();action_determine();data_send();end3方案分析与测试3.1协议可重构对协议可重构高速网络设备的访问控制实17北京电子科技学院学报2023 年现,一般多采用交换芯片+FPGA 的平台方案,这种方案主要针对物理端口或者媒体介质层特征进行数据流访问控制,访问控制粗糙;同时网络层协议可定制性很差,仅支持少数几种公有协议,满足不了针对可重构自定义协议对整个协议栈的访问控制要求。本文采用 CPU+FPGA+TCAM 平台实现了可灵活配置的可重构高速网络设备的全协议栈访问控制,根据自定义协议具体内容和网络具体需求,访问控制策略可以通过CPU 和 FPGA 进行灵活配置。根据图 4 的网络层协议头格式,我们在 Web端改进了网络层协议头的数据流 ID 字段和协议字段的协议定义,并根据新的数据格式开展数据访问控制流程测试,试验测试表明,该平台能够实现网络访问控制的功能并完成网络层协议的可重构流程。3.2高转发速率针对可重构自定义协议,业界普遍采用CPU 实现针对整个协议栈的访问控制,但仅在低速网络设备上实现,无法满足高速网络转发的要求。本文采用 CPU+FPGA+TCAM 架构实现了访问控制平台,数据转发和访问控制层面由FPGA 和 TCAM 硬件实现,转发速度不受 CPU转发速率限制,能够满足专用网络访问控制的高速转 发 需 求,本 平 台 的 硬 件 设 计 能 够 达 到10Gbps 级别的数据吞吐量