报文处理方法和转发设备技术

技术编号:15652697 阅读:243 留言:0更新日期:2017-06-17 06:24
本发明专利技术实施例提供了一种报文处理方法,包括:转发设备通过入端口接收报文;所述转发设备根据所述入端口查找端口表,确定第一偏移、第一长度和第一表的标识,所述第一偏移、所述第一长度和所述第一表的标识对应所述入端口;所述转发设备根据所述第一偏移和所述第一长度确定第一关键字,根据所述第一关键字查找所述第一表,确定第一指令;所述转发设备根据所述第一指令处理所述报文。此外,还提供了相应的转发设备。上述技术方案中,对报文进行处理前,转发设备不需要理解所述报文的数据格式。可以使得转发设备灵活地支持不同数据格式的报文。

【技术实现步骤摘要】
报文处理方法和转发设备
本专利技术实施例涉及通信技术,尤其涉及报文处理方法和转发设备(forwardingelement)。
技术介绍
现有技术中,forwardingelement接收到报文后,需要确定报文数据格式,例如确定报文是网际协议(InternetProtocol,IP)数据包或者多协议标签交换(MultipleprotocolLabelSwitching,MPLS)报文,从而对所述报文进行处理。例如,交换机收到以太报文后,需要根据端口表确定所述以太报文的协议为媒体访问控制(MediaAccessControl,MAC)协议。然后,所述交换机根据MAC协议,对所述以太报文的MAC协议头进行解析,从而获取所述以太报文的目的MAC协议地址。
技术实现思路
本专利技术实施例提供了报文处理方法和forwardingelement。对报文进行处理前,forwardingelement不需要理解所述报文的数据格式。可以使得forwardingelement灵活地支持不同数据格式的报文。当需要支持新的数据格式时,不需要更新硬件或者软件就可以对该数据格式的报文进行处理。第一方面,提供了一种报文处理方法,包括:forwardingelement通过入端口接收报文;所述forwardingelement根据所述入端口查找端口表(porttable),确定第一偏移(offset)、第一长度(length)和第一表的标识,所述第一offset、所述第一length和所述第一表的标识对应所述入端口;所述forwardingelement根据所述第一offset和所述第一length确定第一关键字(key),根据所述第一key查找所述第一表,确定第一指令(instruction);以及所述forwardingelement根据所述第一instruction处理所述报文。上述技术方案中,所述forwardingelement根据所述入端口确定所述第一offset和所述第一length。所述forwardingelement根据所述第一offset和所述第一length确定所述第一key。所述forwardingelement根据所述第一key确定所述第一instruction,从而处理所述报文。因此,对所述报文进行处理前,所述forwardingelement不需要理解所述报文的数据格式。可以使得所述forwardingelement灵活地支持不同数据格式的报文。当需要支持新的数据格式时,不需要更新硬件或者软件就可以对该数据格式的报文进行处理。第一方面的第一种可能的实现方式中,所述forwardingelement根据所述第一offset和所述第一length确定所述第一key包括:所述forwardingelement获取所述报文中的第一数据段(datasegment),所述第一datasegment的起始位置根据所述第一offset确定,所述第一datasegment的长度为所述第一length;以及所述forwardingelement确定所述第一datasegment为所述第一key。第一方面的第二种可能的实现方式中,所述forwardingelement根据所述第一offset和所述第一length确定所述第一key包括:所述forwardingelement获取中间数据(metedata)中的第二datasegment,所述第二datasegment的起始位置根据所述第一offset确定,所述第二datasegment的长度为所述第一length;以及所述forwardingelement确定所述第二datasegment为所述第一key。根据第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述metedata存储于所述forwardingelement的寄存器(registers);或者所述metedata存储于所述forwardingelement的存储器(memory)。根据第一方面、第一方面的第一种可能的实现方式、第一方面的第二种可能的实现方式或者第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述第一instruction用于指示所述forwardingelement执行操作,所述操作包括下述操作中的至少一个:修改所述报文、计算所述报文的校验和(checksum)、写metedata、读metedata、计数器更新(counterupdate)、对所述报文进行承诺访问速率(committedaccessrate,CAR)处理,丢弃所述报文,发送所述报文和修改所述报文的基础偏移(baseoffset)。根据第一方面、第一方面的第一种可能的实现方式、第一方面的第二种可能的实现方式或者第一方面的第三种可能的实现方式,在第一方面的第五种可能的实现方式中,所述forwardingelement根据所述第一指令处理所述报文包括:所述forwardingelement根据所述第一表确定所述报文的baseoffset、第二offset、第二length和第二表的标识,所述报文的baseoffset、所述第二offset、所述第二length和所述第二表的标识对应所述第一key;所述forwardingelement根据所述报文的baseoffset、所述第二offset和所述第二length确定第二key,根据所述第二key查找所述第二表,确定第二instruction;以及所述forwardingelement根据所述第二instruction处理所述报文。第二方面,提供了一种forwardingelement,包括:接收电路,用于通过入端口接收报文;查找单元,用于根据所述入端口查找porttable,确定第一offset、第一length和第一表的标识,所述第一offset、所述第一length和所述第一表的标识对应所述入端口;确定单元,用于根据所述第一offset和所述第一length确定第一key,根据所述第一key查找所述第一表,确定instruction;以及处理单元,用于根据所述instruction处理所述报文。上述技术方案中,所述forwardingelement根据所述入端口确定所述第一offset和所述第一length。所述forwardingelement根据所述第一offset和所述第一length确定所述第一key。所述forwardingelement根据所述第一key确定所述第一instruction,从而处理所述报文。因此,对所述报文进行处理前,所述forwardingelement不需要理解所述报文的数据格式。可以使得所述forwardingelement灵活地支持不同数据格式的报文。当需要支持新的数据格式时,不需要更新硬件或者软件就可以对该数据格式的报文进行处理。第二方面的第一种可能的实现方式中,所述查找单元用于:获取所述报文中的第一datasegment,所述第一datasegment的起始位置根据所述第一offset确定,所述第一datasegment的长度为所述第一length;以及确定所述第一datasegment为所述第一ke本文档来自技高网...
报文处理方法和转发设备

【技术保护点】
一种报文处理方法,其特征在于,包括:转发设备forwarding element通过入端口接收报文;所述forwarding element确定第一偏移offset、第一长度length和第一表的标识;所述forwarding element根据所述第一offset和所述第一length确定第一关键字key,根据所述第一key查找所述第一表,确定第一指令instruction;以及所述forwarding element根据所述第一instruction处理所述报文。

【技术特征摘要】
1.一种报文处理方法,其特征在于,包括:转发设备forwardingelement通过入端口接收报文;所述forwardingelement确定第一偏移offset、第一长度length和第一表的标识;所述forwardingelement根据所述第一offset和所述第一length确定第一关键字key,根据所述第一key查找所述第一表,确定第一指令instruction;以及所述forwardingelement根据所述第一instruction处理所述报文。2.根据权利要求1所述的方法,其特征在于,所述forwardingelement根据所述第一offset和所述第一length确定所述第一key包括:所述forwardingelement获取所述报文中的第一数据段datasegment,所述第一datasegment的起始位置根据所述第一offset确定,所述第一datasegment的长度为所述第一length;以及所述forwardingelement确定所述第一datasegment为所述第一key。3.根据权利要求1所述的方法,其特征在于,所述forwardingelement根据所述第一offset和所述第一length确定所述第一key包括:所述forwardingelement获取中间数据metedata中的第二datasegment,所述第二datasegment的起始位置根据所述第一offset确定,所述第二datasegment的长度为所述第一length;以及所述forwardingelement确定所述第二datasegment为所述第一key。4.根据权利要求3所述的方法,其特征在于,所述metedata存储于所述forwardingelement的寄存器registers;或者所述metedata存储于所述forwardingelement的存储器memory。5.根据权利要求1至4中任一所述的方法,其特征在于,所述第一instruction用于指示所述forwardingelement执行操作,所述操作包括下述操作中的至少一个:修改所述报文、计算所述报文的校验和checksum、写metedata、读metedata、计数器更新counterupdate、对所述报文进行承诺访问速率CAR处理,丢弃所述报文,发送所述报文和修改所述报文的基础偏移baseoffset。6.根据权利要求1至4中任一所述的方法,其特征在于,所述forwardingelement根据所述第一指令处理所述报文包括:所述forwardingelement根据所述第一表确定所述报文的baseoffset、第二offset、第二length和第二表的标识,所述报文的baseoffset、所述第二offset、所述第二length和所述第二表的标识对应所述第一key;所述forwardingelement根据所述报文的baseoffset、所述第二offset和所述第二length确定第二key,根据所述第二key查找所述第...

【专利技术属性】
技术研发人员:龚钧雷文阳徐小飞陈洪飞
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1