【技术实现步骤摘要】
一种分布式可编程交换机资源扩容方法
本专利技术涉及可编程网络设备领域,特别是一种分布式可编程交换机资源扩容方法。
技术介绍
目前常见的可编程设备分为硬件和软件两种。软件设备通常是运行在服务器上的虚拟交换机,如OpenvSwitch、Bmv2等。其优点在于CPU可以运行基于多种编程语言实现的网络功能程序,具有很高的灵活性。缺点在于CPU的计算能力有限。硬件设备通常指可编程交换机。其优点在于其具有强大的计算能力,可以实现线性速率的数据包处理,达到Tbps级别。缺点在于硬件的内存资源有限,对于大型的网络功能无法达到其要求的精度。为提升性能,研究人员尝试通过将网络功能卸载到硬件,采用使用ASIC芯片的可编程交换机和P4结合实现的网络功能。ASIC芯片的交换机既提供了卓越的性能,但是不可编程,而ASIC结合P4则弥补了这一不足。越来越多的网络功能都通过P4程序的形式,通过P4语言编译器卸载到可编程交换机上,以满足其对性能的需求。然而,可编程交换机芯片的内存资源(如TCAM和SRAM)是有限的。实验表明,在资源有限时,一些复杂的网络功能 ...
【技术保护点】
1.一种分布式可编程交换机资源扩容方法,其特征在于,包括如下步骤:/n步骤S1、用户依据编译指令编写所需的数据平面程序,并通过编译指令将指定的分布式可编程交换机的资源聚合,抽象成OBS;/n步骤S2、根据用户使用的编译指令通过程序放置器对用户编写的数据平面程序进行划分,划分后的代码段将被分别部署到用户在步骤S1中选择的分布式可编程交换机上;/n步骤S3、通过程序放置器扫描用户编写的数据平面程序中包含的数据包处理逻辑PPL,根据扫描到的PPL,在划分得到的代码段中插入模块来维护原有的数据包处理逻辑,以保证用户编写的数据平面程序在被划分之后也能正确实现原有的功能;/n步骤S4、 ...
【技术特征摘要】
1.一种分布式可编程交换机资源扩容方法,其特征在于,包括如下步骤:
步骤S1、用户依据编译指令编写所需的数据平面程序,并通过编译指令将指定的分布式可编程交换机的资源聚合,抽象成OBS;
步骤S2、根据用户使用的编译指令通过程序放置器对用户编写的数据平面程序进行划分,划分后的代码段将被分别部署到用户在步骤S1中选择的分布式可编程交换机上;
步骤S3、通过程序放置器扫描用户编写的数据平面程序中包含的数据包处理逻辑PPL,根据扫描到的PPL,在划分得到的代码段中插入模块来维护原有的数据包处理逻辑,以保证用户编写的数据平面程序在被划分之后也能正确实现原有的功能;
步骤S4、通过程序放置器将最终的代码段进行编译,生成配置文件并部署到用户在步骤S1中选择的分布式可编程交换机上;
步骤S5、部署成功后,用户通过运行时管理器来实现规则下发和统计信息收集两种操作。
2.根据权利要求1所述的一种分布式可编程交换机资源扩容方法,其特征在于,步骤S5中,对于规则下发,由于程序被分散部署到多台分布式可编程交换机,一条规则需要同时安装在多台交换机上,同时为了维护规则安装的正确性,运行时管理器会生成附加规则;对于统计信息收集,运行时管理器会对分布式可编程交换机上的信息进行汇总之后提供给用户。
3.根据权利要求1所述的一种分布式可编程交换机资源扩容方法,其特征在于,该方法采用P4语言,并在该P4语言基础上新增编译指令@pragmasw[ID],允许用户将数据平面程序的组件分配到任意一台底层分布式可编程交换机上;@pragmasw[ID]用于指定一个程序组件与底层分布式可编程交换机的关联关系,该指令位于组件定义前,表示该组件将要被放置到标识符为[ID]的底层分布式可编程交换机上。
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。