本发明属于报文转发的技术领域,具体涉及一种标地分离报文转发方法、设备、交换芯片和存储介质。
背景技术:
标地分离的网络体系结构是在现有互联网的基础上,解决ip地址的“二义性”即身份与地址的双重属性所带来的移动性、安全性和路由稳定性等问题。目前asic(applicationspecificintegratedcircuit)以太交换芯片实现了传统ip报文的转发,对于标地分离的新型报文的转发可以采用两种方案,一是这类新型报文先转发至cpu,然后由上层协议软件进行寻址转发,二是开发fpga(field-programmablegatearray)对这类报文进行专门转发处理。
第一种上层协议软件转发方案,极大地增加了报文的时延,对于大流量的数据报文造成拥塞,不满足数据转发的性能要求;
第二种fpga方案,大大增加了交换设备的成本,而且fpga从转发处理效率、转发内存容量等性能指标都远不如asic以太交换芯片。
技术实现要素:
本发明的目的在于针对现有技术中的上述不足,提供一种标地分离报文转发方法、设备、交换芯片和存储介质,以解决现有报文转发适应性差、扩展性差和成本高昂的问题。
为达到上述目的,本发明采取的技术方案是:
一种标地分离报文转发方法、设备、交换芯片和存储介质,其包括:
s1、系统初始化,收到报文;
s2、获取报文入端口、查询标地分离寄存器的端口使能位;
s3、解析以太报文的以太类型;
s4、判断标地分离寄存器的端口使能位值是否为1,若不为1,则将报文按照传统报文转发,若为1,则进入步骤s5;
s5、判断以太报文的类型是否等于标地分离报文寄存器的以太类型,若不等于,则将报文按照传统报文转发,若等于,则进入步骤s6;
s6、按照标地分离报文转发报文。
优选地,标地分离报文输入端口使能位图的每一个bit表示一个对应的入端口。
优选地,s4中bit值为1时,则该端口允许输入标地分离报文,否则不允许输入标地分离报文。
优选地,s6中按照标地分离报文转发报文的方法为:
s6.1、取出报文中的目的标识;
s6.2、查询标识表和目的标识并进行最长前缀匹配;
s6.3、判断步骤s6.2中的标识表和目的标识是否匹配,若不匹配,则将报文转发至cpu或者丢弃,若匹配,则进入步骤s6.4;
s6.4、查询标识表项得到目的端口和对报文进行修改,并将报文转发。
优选地,对报文中的目的标识通过标识的最长前缀匹配和vpn字段匹配进行查表转发。
优选地,基于mask实现标识长度的匹配,其匹配的范围为1到128bit。
一种标地分离报文转发设备,包括:
处理器和存储器,该存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,执行如权利要求1至6中任一项所述的方法。
一种标地分离报文转发的交换芯片,包括:
处理器,用于从存储器中调用并运行计算机程序,使得安装有所述交换芯片的设备执行如权利要求1至6中任一项所述的方法。
优选地,交换芯片为asic芯片。
一种标地分离报文转发的存储介质,用于存储计算机程序,计算机程序使得计算机执行如权利要求1至6中任一项所述的方法。
本发明提供的标地分离报文转发方法、设备、交换芯片和存储介质,具有以下有益效果:
本发明用户可以根据交换芯片具体使用场景对标地分离报文的支持做灵活配置,增强了asic芯片的可适应性;且标识长度的匹配范围可以从1到128bit,满足当前标识范围和未来的扩展;除此,asic芯片实现标地分离报文数据面的转发,达到报文高速转发的效果;同时也支持传统报文和标地分离报文,降低额外成本。
附图说明
图1为asic交换芯片对标地分离报文的解析流程图。
图2为标地分离报文在asic芯片中查表转发的流程图。
图3为asic以太交换芯片模块图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
根据本申请的一个实施例,参考图1,本方案的标地分离报文转发方法、设备、交换芯片和存储介质,包括:
s1、系统初始化,收到报文;
s2、获取报文入端口、查询标地分离寄存器的端口使能位;
s3、解析以太报文的以太类型;
s4、判断标地分离寄存器的端口使能位值是否为1,若不为1,则将报文按照传统报文转发,若为1,则进入步骤s5;
s5、判断以太报文的类型是否等于标地分离报文寄存器的以太类型,若不等于,则将报文按照传统报文转发,若等于,则进入步骤s6;
s6、按照标地分离报文转发报文。
用户可以灵活配置标地分离报文的相关寄存器,包括报文输入端口使能位图和报文以太类型。
标地分离报文输入端口使能位图每一个bit表示一个对应的入端口,如第0bit对应第0号端口,第1bit对应第1号端口等;当bit值为1时,表示该端口允许输入标地分离报文,否则不允许输入标地分离报文。标地分离报文的以太类型可以配置,以避免和传统以太报文的冲突。
参考图2,步骤s6中按照标地分离报文转发报文的方法为:
s6.1、取出报文中的目的标识;
s6.2、查询标识表和目的标识并进行最长前缀匹配;
s6.3、判断步骤s6.2中的标识表和目的标识是否匹配,若不匹配,则将报文转发至cpu或者丢弃,若匹配,则进入步骤s6.4;
s6.4、查询标识表项得到目的端口和对报文进行修改,并将报文转发。
芯片中对报文中的目的标识通过标识的最长前缀匹配和vpn(virtualprivatenetwork)字段匹配来查表转发,标识匹配的长度可以从1到128bit,通过mask来实现,完全满足未来标识长度的扩展。
如报文标识是n位,最长前缀匹配位数设置的是m位:当n≧m时,取报文标识的高m位和表项标识的高m位进行比较判断是否匹配;当n<m时,取整个报文标识和表项表示的高n位进行比较判断是否匹配(其中n,m都是1到128的正整数。
其中,最长前缀匹配为:
设报文标识是n位,最长前缀匹配位数设置的是m位:当n≧m时,取报文标识的高m位和表项标识的高m位进行比较判断是否匹配;当n<m时,取整个报文标识和表项表示的高n位进行比较判断是否匹配(其中n,m都是1到128的正整数。
根据本申请的一个实施例,一种标地分离报文转发设备,包括:
处理器和存储器,该存储器用于存储计算机程序,处理器用于调用并运行存储器中存储的计算机程序,执行本发明方法。
根据本申请的一个实施例,一种标地分离报文转发的交换芯片,包括:
处理器,用于从存储器中调用并运行计算机程序,使得安装有交换芯片的设备执行本发明方法,交换芯片为asic芯片。
根据本申请的一个实施例,一种标地分离报文转发的存储介质,用于存储计算机程序,计算机程序使得计算机执行本发明方法。
参考图3,asic以太交换芯片内增加标地分离报文的解析和根据报文目的标识查询相关表项找到出端口把报文转发出去。
取代传统的ip报文,在以太报文中扩展一个新的以太类型字段来表示标地分离报文,报文的三层头可重新定义(asic芯片的解析模块需要增加该解析功能)或者沿用ipv4或ipv6的头部(asic芯片的解析模块不需要新增功能,只不过ipv4或ipv6地址已经转义为与位置无关的最长32位或128位标识)。
本发明用户可以根据交换芯片具体使用场景对标地分离报文的支持做灵活配置,增强了asic芯片的可适应性;且标识长度的匹配范围可以从1到128bit,满足当前标识范围和未来的扩展;除此,asic芯片实现标地分离报文数据面的转发,达到报文高速转发的效果;同时也支持传统报文和标地分离报文,降低额外成本。
虽然结合附图对发明的具体实施方式进行了详细地描述,但不应理解为对本专利的保护范围的限定。在权利要求书所描述的范围内,本领域技术人员不经创造性劳动即可做出的各种修改和变形仍属本专利的保护范围。