面向安全协议的虚拟化可编程数据平面

2021-01-25 03:42:16祝现威常朝稳左志斌
电子与信息学报 2021年1期

祝现威 常朝稳 秦 晰 左志斌

(解放军战略支援部队信息工程大学密码工程学院 郑州 450004)

1 引言

软件定义网络[1](Software-Defined Network,SDN)将控制平面和数据平面进行解耦,使得网络中引入新的网络协议和功能更加容易。但是目前OpenFlow[2]协议定义的协议类型和字段都仅限于网络前4层中一些常用的协议和字段。但是许多安全协议需要添加新的匹配字段和安全功能,所以为了能够兼容多种网络安全协议,需要一种可编程数据平面,能够使网络管理者自定义匹配字段和转发动作。研究表明将安全功能部署在数据平面能够实现更高的性能,并且能够节省控制器CPU资源。因此越来越多的网络安全协议将安全功能部署在数据平面上。但是目前网络安全协议部署在可编程数据平面仍存在以下问题:(1)包头解析。由于安全协议需要在数据包中插入密文或者签名,需要自定义匹配字段,所以在传统的包头解析中需要分层多次提交,产生较大的延迟。(2)独占的可编程数据平面。当前可编程数据平面是独占设备的,一旦安全功能部署之后,该设备只能运行一个可编程数据平面程序。(3)密码算法编程可重构。在同一网络安全协议下有多种密码算法。因此程序员需要实现不同的密码算法来满足不同的安全需求,并且当前P4并没有提供密码算法方面的编程原语,以上原因增加了安全协议编程难度。

针对以上问题本文提出了一种面向安全协议的虚拟化SDN可编程数据平面。……

登录APP查看全文