当前位置: 首页 > 专利查询>谷歌公司专利>正文

用于适应网络协议更新的系统和方法技术方案

技术编号:14269680 阅读:40 留言:0更新日期:2016-12-23 14:42
提供了一种用于更新网络协议的系统和方法。新的ASIC被设计为适应未来网络协议,所述ASIC包括至少一个分组编辑程序。所述ASIC被配置为对接收到的分组进行分类(820)以确定所述分组将被更新至的新协议,删除(830)所述分组的所选择的现有报头,基于所述分类在所述分组中插入(840)新报头,以及基于所述分类修改(850)所选择的报头。

【技术实现步骤摘要】
【国外来华专利技术】相关申请的交叉引用本申请是于2014年5月9日提交的美国专利申请第14/273,953号的继续申请,其公开因此而通过引用合并于此。
本专利技术涉及用于方便地更新网络协议的系统和方法。
技术介绍
大多数的联网专用集成电路(ASIC)实施用于预定义的网络协议的小型的并且固定的一组分组(packet)报头编辑能力。这样的用于特定网络协议的报头编辑能力的示例包括通用路由封装(GRE)隧道封装和解封装、虚拟局域网/多协议标签交换(VLAN/MPLS)标记推入/弹出(tag push/pop)等等。新的网络协议要么要求ASIC的重新制版(respin)要么要求ASIC的完全重新设计,其既昂贵又耗时。例如,在网络中重新设计和替换ASIC可能花费若干年并且耗费数百万美元。
技术实现思路
提供了一种用于方便地更新网络协议的系统和方法。可适应未来网络协议的ASIC包括协议独立分组编辑器(PIPE),其可以被编程为支持当前网络协议和可能的未来网络协议的分组报头编辑要求。本技术的一个方面提供了一种方法,包括:接收分组;利用一个或多个处理器对分组进行分类,所述分类包括确定所述分组将被更新至的新的协议;利用一个或多个处理器删除所述分组的现有报头;利用一个或多个处理器,基于所述分类将新的报头插入所述分组中;以及利用一个或多个处理器,基于所述分类来修改所述新的报头。根据一些示例,确定所述分组将被更新至的新的协议包括识别到分组编辑程序的指针。删除现有分组报头可以包括删除现有报头的所选择的不被新的协议使用的部分。另外,插入新的分组报头可以包括插入基于新的协议的新的分组报头的部分和从先前的分组报头剩余的部分。可以通过基于所述新的报头的网络来发送包括所述新的报头的分组。本公开的另一方面提供一种系统,包括至少一个存储器和与所述至少一个存储器通信的至少一个处理器。所述至少一个处理器被配置为:接收分组;对分组进行分类,所述分类包括确定所述分组将被更新至的新的协议;删除所述分组的现有报头;基于所述分类将新的报头插入所述分组中;以及基于所述分类修改所述新的报头。所述至少一个存储器可以包括至少一个分组编辑程序,每个分组编辑程序包括到它的编辑指令的指针以及到静态数据、共享数据、和动态数据的集合的指针。至少一个存储器还可以包括可被编辑指令访问的元数据和寄存器数据。另外,所述至少一个存储器和所述至少一个处理器可以驻留在专用集成电路(ASIC)上。本公开的又一方面提供了一种非瞬时性计算机可读介质,其存储可被一个或多个处理器执行的用于执行方法的指令,所述方法包括:接收分组;对分组进行分类,所述分类包括确定所述分组将被更新至的新的协议;删除所述分组的现有报头;基于所述分类将新的报头插入所述分组中;以及基于所述分类修改所述新的报头。附图说明图1是根据本公开的一方面的系统示图。图2是根据本公开的各方面的另一系统示图。图3A-图3B示出根据本公开的各方面的示例指令格式。图4是根据本公开的各方面的另一系统示图。图5A-图5F示出根据本公开的各方面的示例指令。图6A-图6F示出根据本公开的各方面的示例指令。图7是根据本公开的各方面的另一系统示图。图8是根据本公开的各方面的示例方法的流程图。具体实施方式本公开提供用于便利地更新网络协议的系统和方法。当网络协议被更新时,新的专用集成电路(ASIC)被设计以适应未来网络协议,而不是重新设计和替换ASIC。ASIC包括协议独立分组编辑器(PIPE),其可以被编程以支持当前网络协议和可能的未来网络协议的分组报头编辑要求。根据一个实施例,ASIC包括运行编辑程序以对分组报头进行操作的中央编辑单元(CEU)。中央编辑单元是三个区别的编辑单元——删除单元、插入单元、和修改单元——的处理管道(processing pipeline)。每个单元对从先前单元修改的分组进行操作。这个CEU管道利用在硅中的高效硬件实施使得能够在高的带宽和分组速率进行灵活分组报头编辑。删除单元使得能够从分组中移除任意的协议报头。插入单元使得能够向分组中插入任意协议报头。修改单元使得能够灵活地重写(要么覆写,要么读取-修改-写入)报头字段。由CEU运行的分组编辑程序包括编辑指令(删除、插入、和字段修改)的集合和编辑数据(配置、元的、共享的、和动态的)的集合。对于不同的分组报头编辑能力,诸如封装、解封装、加密、解密等等,可以存在一个或多个不同的编辑程序。逻辑单元解析并分类传入的分组,以确定到程序指令和相关联的数据集合的指针。编辑指令在长度方面可以是,例如,32字节或者64字节。编辑指令能够被不同的编辑程序共享以用于不同的网络操作。每个编辑程序可以包括到三个数据集合的指针,所述三个数据集合为:静态数据;共享数据(例如,在不同的分组编辑程序当中共享的安全流状态的[flowID,pkt_cnt,加密密钥]);和动态数据(例如,对于程序的专用数据)。此外,存在对于编辑指令可用的两个全局数据的集合:元数据和常规数据。图1示出根据本公开的各方面的ASIC 100。ASIC 100被适配为接收分组,诸如分组150,并且根据更新的网络协议来更新所述分组。根据一些示例,更新的网络协议可以是当前没有研发的未来网络协议。在这一点上,每当协议被更新时,ASIC和通过网络发送的分组可以被高效地更新,而不是替换网络中的每个ASIC。ASIC 100可以是在网络中互连的许多ASIC中的任何一个。根据另一示例,ASIC可以被指定用于协议更新。虽然ASIC 100被描述为具有特定的组件,但是应该理解,诸如通常存在于ASIC中的组件的其它组件可以被包括。另外,虽然所述组件被示出为驻留在ASIC 100之内,但是应该理解,所述组件可以驻留在与ASIC通信的网络中的其它地方。ASIC 100包括用户逻辑110和分组编辑器120。分组编辑器120还包括至少一个编辑程序130和中央编辑单元140,所述至少一个编辑程序130包括编辑指令132和编辑数据134。用户逻辑110解析在ASIC中接收的分组,并且对所述分组进行分类。例如,用户逻辑110可以确定许多编辑程序中的哪一个应该对分组150进行操作。不同的编辑程序可以被创建以更新不同类型的分组。例如,第一编辑程序可以被用来将分组从第一协议更新到新的协议,而第二编辑程序被用来将分组从第二协议更新到所述新的协议。根据另一示例,第三编辑程序可以用来更新封装的分组,而第三编辑程序被用来更新解封装的分组。每个编辑程序包括编辑数据和编辑指令。例如,编辑程序130包括编辑指令132和编辑数据134。下面针对图4来描述所述编辑程序的进一步细节。中央编辑单元140是根据由用户逻辑110识别的编辑程序来更新分组150的处理管道。因此,ASIC 100能够通过网络发送更新的分组150'。图2示出中央编辑单元140的进一步细节。如图所示,中央编辑单元140包括删除单元210、插入单元220、和修改单元230。这些单元210、220、230中的每一个根据用于特定编辑程序的指令集合(诸如指令132)对传入的分组150进行操作。如下面针对图4所讨论的,指令132可以包括单独的用于每个单元210、220、230的指令集合。插入单元220在分组150已经被删除单元210修改之后对该分组本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/62/201580023378.html" title="用于适应网络协议更新的系统和方法原文来自X技术">用于适应网络协议更新的系统和方法</a>

【技术保护点】
一种方法,包括:接收分组;利用一个或多个处理器对分组进行分类,所述分类包括确定所述分组将被更新至的新协议;利用一个或多个处理器删除所述分组的现有报头;利用一个或多个处理器来基于所述分类将新报头插入所述分组;以及利用一个或多个处理器来基于所述分类修改所述新报头。

【技术特征摘要】
【国外来华专利技术】2014.05.09 US 14/273,9531.一种方法,包括:接收分组;利用一个或多个处理器对分组进行分类,所述分类包括确定所述分组将被更新至的新协议;利用一个或多个处理器删除所述分组的现有报头;利用一个或多个处理器来基于所述分类将新报头插入所述分组;以及利用一个或多个处理器来基于所述分类修改所述新报头。2.如权利要求1所述的方法,其中,确定所述分组将被更新至的新协议包括识别到分组编辑程序的指针。3.如权利要求1所述的方法,其中,删除现有分组报头包括删除现有报头的所选择的不被新协议使用的部分。4.如权利要求3所述的方法,其中,插入新分组报头包括插入基于新协议的新分组报头的部分和先前分组报头的剩余部分。5.如权利要求1所述的方法,其中,修改新分组报头包括执行覆写或者读取-修改-写入操作中的至少一个。6.如权利要求1所述的方法,还包括通过基于新报头的网络来发送包括所述新报头的分组。7.一种系统,包括:至少一个存储器;和与至少一个存储器通信的至少一个处理器,至少一个处理器被配置为:接收分组;对分组进行分类,所述分类包括确定所述分组将被更新至的新协议;删除所述分组的现有报头;基于所述分类将新报头插入所述分组中;以及基于所述分类修改所述新报头。8.如权利要求7所述的系统,其中,所述至少一个存储器包括至少一个分组编辑程序,每个分组编辑程序包括到它的编辑指令的指针以及到静态数据、共享数据、和动态数据的集合的指针。9.如权利要求8所述的系统,其中,所述至少一个存储器还包括所述编辑指令可访问的元数据和寄存器数据。10.如权利要求7所述的系统...

【专利技术属性】
技术研发人员:Y毛
申请(专利权)人:谷歌公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1