以太网报文替换编辑的方法及系统技术方案

技术编号:15334465 阅读:42 留言:0更新日期:2017-05-16 21:42
本发明专利技术提供一种以太网报文替换编辑的方法及系统,所述方法包括:获取并解析转发的原始的以太网报文;依据所述以太网报文的应用类型,将所述以太网报文头分解为三个预估子部分;从各个所述预估子部分中临时抽离出其对应的有效子部分;接收替换编辑请求,分别在所述三个预估子部分的基础上,对其对应的有效子部分进行替换编辑;在完成全部的替换编辑请求后,从各个经过替换编辑后的所述预估子部分中抽离出各自的有效子部分,并将三个有效子部分按照分解顺序重新拼装,形成替换编辑后的以太网报文。本发明专利技术可以节省大量的芯片逻辑开销,避免后端出现布线拥塞,更能节省芯片的面积。

【技术实现步骤摘要】
以太网报文替换编辑的方法及系统
本专利技术涉及网络通信领域,尤其涉及一种以太网报文替换编辑的方法及系统。
技术介绍
以太网交换芯片作为网络信息传递的重要节点,非常有利于网络信息的高速发展;以太网交换芯片将接收到的报文进行解析、路由,得到报文下一转发节点的信息,并按照网络协议将报文中的特定字段进行替换,最后将报文发送至下一转发节点。标准以太网报文组成格式由二层头、三层头、四层头及负载四个部分组成;其中二层头、三层头、四层头统称为报文头;以太网报文按照其应用分成多种类型,每个类型的以太网报文对应二层头、三层头、四层头的内容以及长度都是不相同的,同时二层头、三层头、四层头都有各自最大限制长度,而且这三个部分长度之和也有最大限制长度;通常情况下,上述内容均可以通过芯片里面有逻辑来识别;例如:识别出每个报文的三层头,四层头在报文中的起始位置,分别以L3Offset和L4Offset来标识。以太网交换芯片会根据报文类型,在将报文发送前,根据应用要求将报文头的某些特定字段进行替换,因此在以太网交换芯片设计中需要有逻辑来满足对报文进行替换编辑,在报文长度可变的情况下,高效的对报文进行替换。通常情况下,所述替换编辑请求包括如下信息:指定替换部分的位置,替换字段的偏移量,以及替换内容;所述替换偏移量表示替换的可变范围,其可以根据需求具体设定,在此不做详细赘述。现在技术中,对报文替换编辑方法中,通常情况下,根据替换编辑请求的偏移量,采用穷举法将可能的字段均进行替换,最后挑出期望的结果;然而,由于针对报文的替换编辑请求又较多,导致响应每个替换编辑请求,均需要使用一次穷举法进行报文替换编辑操作。如此,传统的报文替换编辑操作需要消耗大量的逻辑资源,而且在后端实现时会产生布线拥塞,影响芯片的实现。
技术实现思路
本专利技术的目的在于提供一种以太网报文替换编辑的方法及系统。为实现上述目的之一,本专利技术一实施方式的以太网报文替换编辑的方法,所述方法包括:获取并解析转发的原始的以太网报文,所述以太网报文的组成格式包括报文头以及负载,所述报文头包括三层,依次为二层头、三层头、四层头;依据所述以太网报文的应用类型,将所述以太网报文头分解为三个预估子部分,分别为第一预估子部分、第二预估子部分和第三预估子部分;所述第一预估子部分包括至少包括二层头,所述第二预估子部分包括至少包括三层头,所述第三预估子部分包括至少包括四层头;从各个所述预估子部分中临时抽离出其对应的有效子部分;所述有效子部分依次为:第一有效子部分、第二有效子部分以及第三有效子部分;接收替换编辑请求,分别在所述三个预估子部分的基础上,对其对应的有效子部分进行替换编辑;所述替换编辑请求包括:指定替换部分的位置,替换字段的偏移量,以及替换内容;在完成全部的替换编辑请求后,从各个经过替换编辑后的所述预估子部分中抽离出各自的有效子部分,并将三个有效子部分按照分解顺序重新拼装,形成替换编辑后的以太网报文。作为本专利技术一实施方式的进一步改进,“依据所述以太网报文的应用类型,将所述以太网报文头分解为三个预估子部分”具体包括:分别获取原始的以太网报文头中每层报文头的起始数据段,以及每层报文头对应的最大限制长度;分别以每层报文头对应的起始数据段以及最大限制长度获取对应的预估子部分。作为本专利技术一实施方式的进一步改进,“分别以每层报文头对应的起始数据段标识以及最大限制长度获取对应的预估子部分”具体包括:获取的所述二层头的起始数据段为报文传递的第一个数据,最大限制长度为Length2,所述三层头的起始数据段为L3Offset,最大限制长度为Length3,所述四层头的起始数据段为L4Offset,最大限制长度为Length4;则所述第一预估子部分的数据包括报文传递的第一个数据以及其之后Length2-1个数据,所述第二预估子部分的数据包括L3Offset以及其之后Length3-1个数据,所述第三预估子部分的数据包括L4Offset以及其之后Length4-1个数据。作为本专利技术一实施方式的进一步改进,“从各个所述预估子部分中临时抽离出其对应的有效子部分”具体包括:获取每层报文头对应的下一层报文头的起始数据段的地址,以及当前的以太网报文的报文头编辑的最大限制长度,根据其分别获得各个所述预估子部分对应的有效子部分的长度;依据各个有效子部分的长度从所述预估子部分中抽离其对应的有效子部分。作为本专利技术一实施方式的进一步改进,所述方法具体包括:获取所述二层头的下一层报文头的起始数据段的地址为L3Offset的地址L3Offsetad,所述三层头的下一层报文头的起始数据段标识地址为L4Offset的地址L4Offsetad,当前的以太网报文的报文头编辑的最大限制长度Lengthall;则所述第一有效子部分的长度为L2HdrLen=L3Offsetad-1,所述第二有效子部分的长度为L3HdrLen=L4Offsetad-L3Offsetad,所述第三有效子部分的长度为L4HdrLen=Lengthall-L4Offsetad+1;依据各个有效子部分的长度从所述预估子部分的第一个数据开始,依次抽离对应的有效数据形成各个有效子部分。为实现上述目的之一,本专利技术一实施方式的以太网报文替换编辑的系统,所述系统包括:所述系统包括:数据获取解析模块,用于获取并解析转发的原始的以太网报文,所述以太网报文的组成格式包括报文头以及负载,所述报文头包括三层,依次为二层头、三层头、四层头;数据分解模块,用于依据所述以太网报文的应用类型,将所述以太网报文头分解为三个预估子部分,分别为第一预估子部分、第二预估子部分和第三预估子部分;所述第一预估子部分包括至少包括二层头,所述第二预估子部分包括至少包括三层头,所述第三预估子部分包括至少包括四层头;数据抽离模块,用于从各个所述预估子部分中临时抽离出其对应的有效子部分;所述有效子部分依次为:第一有效子部分、第二有效子部分以及第三有效子部分;数据替换模块,用于接收替换编辑请求,分别在所述三个预估子部分的基础上,对其对应的有效子部分进行替换编辑;所述替换编辑请求包括:指定替换部分的位置,替换字段的偏移量,以及替换内容;数据拼接模块,用于在完成全部的替换编辑请求后,从各个经过替换编辑后的所述预估子部分中抽离出各自的有效子部分,并将三个有效子部分按照分解顺序重新拼装,形成替换编辑后的以太网报文。作为本专利技术一实施方式的进一步改进,所述数据分解模块具体用于:分别获取原始的以太网报文头中每层报文头的起始数据段,以及每层报文头对应的最大限制长度;分别以每层报文头对应的起始数据段以及最大限制长度获取对应的预估子部分。作为本专利技术一实施方式的进一步改进,所述数据分解模块具体用于:获取的所述二层头的起始数据段为报文传递的第一个数据,最大限制长度为Length2,所述三层头的起始数据段为L3Offset,最大限制长度为Length3,所述四层头的起始数据段为L4Offset,最大限制长度为Length4;则所述第一预估子部分的数据包括报文传递的第一个数据以及其之后Length2-1个数据,所述第二预估子部分的数据包括L3Offset以及其之后Length3-1个数据,所述第三预估子部分的数据包括L4Offset以及其之后Length本文档来自技高网
...
以太网报文替换编辑的方法及系统

【技术保护点】
一种以太网报文替换编辑的方法,其特征在于,所述方法包括:获取并解析转发的原始的以太网报文,所述以太网报文的组成格式包括报文头以及负载,所述报文头包括三层,依次为二层头、三层头、四层头;依据所述以太网报文的应用类型,将所述以太网报文头分解为三个预估子部分,分别为第一预估子部分、第二预估子部分和第三预估子部分;所述第一预估子部分包括至少包括二层头,所述第二预估子部分包括至少包括三层头,所述第三预估子部分包括至少包括四层头;从各个所述预估子部分中临时抽离出其对应的有效子部分;所述有效子部分依次为:第一有效子部分、第二有效子部分以及第三有效子部分;接收替换编辑请求,分别在所述三个预估子部分的基础上,对其对应的有效子部分进行替换编辑;所述替换编辑请求包括:指定替换部分的位置,替换字段的偏移量,以及替换内容;在完成全部的替换编辑请求后,从各个经过替换编辑后的所述预估子部分中抽离出各自的有效子部分,并将三个有效子部分按照分解顺序重新拼装,形成替换编辑后的以太网报文。

【技术特征摘要】
1.一种以太网报文替换编辑的方法,其特征在于,所述方法包括:获取并解析转发的原始的以太网报文,所述以太网报文的组成格式包括报文头以及负载,所述报文头包括三层,依次为二层头、三层头、四层头;依据所述以太网报文的应用类型,将所述以太网报文头分解为三个预估子部分,分别为第一预估子部分、第二预估子部分和第三预估子部分;所述第一预估子部分包括至少包括二层头,所述第二预估子部分包括至少包括三层头,所述第三预估子部分包括至少包括四层头;从各个所述预估子部分中临时抽离出其对应的有效子部分;所述有效子部分依次为:第一有效子部分、第二有效子部分以及第三有效子部分;接收替换编辑请求,分别在所述三个预估子部分的基础上,对其对应的有效子部分进行替换编辑;所述替换编辑请求包括:指定替换部分的位置,替换字段的偏移量,以及替换内容;在完成全部的替换编辑请求后,从各个经过替换编辑后的所述预估子部分中抽离出各自的有效子部分,并将三个有效子部分按照分解顺序重新拼装,形成替换编辑后的以太网报文。2.根据权利要求1所述的以太网报文替换编辑的方法,其特征在于,“依据所述以太网报文的应用类型,将所述以太网报文头分解为三个预估子部分”具体包括:分别获取原始的以太网报文头中每层报文头的起始数据段,以及每层报文头对应的最大限制长度;分别以每层报文头对应的起始数据段以及最大限制长度获取对应的预估子部分。3.根据权利要求2所述的以太网报文替换编辑的方法,其特征在于,“分别以每层报文头对应的起始数据段标识以及最大限制长度获取对应的预估子部分”具体包括:获取的所述二层头的起始数据段为报文传递的第一个数据,最大限制长度为Length2,所述三层头的起始数据段为L3Offset,最大限制长度为Length3,所述四层头的起始数据段为L4Offset,最大限制长度为Length4;则所述第一预估子部分的数据包括报文传递的第一个数据以及其之后Length2-1个数据,所述第二预估子部分的数据包括L3Offset以及其之后Length3-1个数据,所述第三预估子部分的数据包括L4Offset以及其之后Length4-1个数据。4.根据权利要求3所述的以太网报文替换编辑的方法,其特征在于,“从各个所述预估子部分中临时抽离出其对应的有效子部分”具体包括:获取每层报文头对应的下一层报文头的起始数据段的地址,以及当前的以太网报文的报文头编辑的最大限制长度,根据其分别获得各个所述预估子部分对应的有效子部分的长度;依据各个有效子部分的长度从所述预估子部分中抽离其对应的有效子部分。5.根据权利要求4所述的以太网报文替换编辑的方法,其特征在于,所述方法具体包括:获取所述二层头的下一层报文头的起始数据段的地址为L3Offset的地址L3Offsetad,所述三层头的下一层报文头的起始数据段标识地址为L4Offset的地址L4Offsetad,当前的以太网报文的报文头编辑的最大限制长度Lengthall;则所述第一有效子部分的长度为L2HdrLen=L3Offsetad-1,所述第二有效子部分的长度为L3HdrLen=L4Offsetad-L3Offsetad,所述第三有效子部分的长度为L4HdrLen=Lengthall-L4Offsetad+1;依据各个有效子部分的长度从所述预估子部分的第一个数据开始,依次抽离对应的有...

【专利技术属性】
技术研发人员:耿磊龚源泉蔡晓艳
申请(专利权)人:盛科网络苏州有限公司
类型:发明
国别省市:江苏,32

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

1