[发明专利]一种ICMP差错报文快速生成方法有效

专利信息
申请号: 201410360267.1 申请日: 2014-07-25
公开(公告)号: CN104135439B 公开(公告)日: 2017-05-31
发明(设计)人: 李静玲;周诠;黎军;呼延烺;张怡;崔涛;魏佳圆;粱薇 申请(专利权)人: 西安空间无线电技术研究所
主分类号: H04L12/741 分类号: H04L12/741
代理公司: 中国航天科技专利中心11009 代理人: 安丽
地址: 710100 陕*** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种ICMP差错报文快速生成方法,在高速查表的交换网络中,需将不定长的IP数据报拆分为几个甚至几百个数量不等的定长信元数据进行高速查表,该方法针对查表失败的信元数据,通过直接提取及处理信元数据中的有效信息,生成ICMP差错报文,解决了信元数据查表失败生成ICMP差错报文时需进行信元重组的问题。采用本发明方法对查表失败的信元数据可以直接生成ICMP差错报文,从而达到快速响应的目的,对于一个IP数据报,最多只需处理其拆分得到的前两个信元数据,即可生成ICMP差错报文,从而降低了生成ICMP报文的处理复杂度,并节约了系统实现的软/硬件资源。
搜索关键词: 一种 icmp 差错 报文 快速 生成 方法
【主权项】:
一种ICMP差错报文快速生成方法,其特征在于步骤如下:(1)从IP交换网络中接收IP数据报;(2)对步骤(1)接收的IP数据报的首部信息进行判断,将步骤(1)中首部信息正确的IP数据报拆分为适用于高速查表的固定长度的信元数据;(3)根据高速查表网络的转发表信息,对步骤(2)所得到的信元数据进行查表,若在转发表中无法查找到信元数据中目的IP地址所对应的信息,转到步骤(4),若在转发表中可以查找到信元数据中目的IP地址所对应的信息,转到步骤(5);(4)对步骤(3)在转发表中无法查找到的信元数据进行路由表查表,若在路由表中无法查找到信元数据中目的IP地址所对应的信息,转到步骤(6),若在路由表中可以查找到信元数据中目的IP地址所对应的信息,转到步骤(5);(5)根据转发表或路由表中查找到信元数据中目的IP地址所对应的信息,将步骤(3)或步骤(4)中查表成功的信元数据输出;(6)记录信元数据在步骤(4)中查找路由表失败的具体错误类型,将与该错误类型相应的ICMP错误类型字段及代码字段填充至该信元数据的第63、64字节,转到步骤(7);(7)接收步骤(6)中填充ICMP错误类型字段及代码字段后的信元数据,该信元数据包括首部信息、载荷及尾部信息,其中首部信息包括头标识、尾标识和拆分序号,对接收到的第1个信元数据首部信息进行判断,若该信元数据首部信息中头标识和尾标识同时为“1”,转到步骤(8),若信元数据首部信息中头标识和尾标识不同时为“1”,转到步骤(10);(8)接收步骤(7)中满足条件信元数据,提取该信元数据第63字节和第64字节中的ICMP错误类型字段及代码字段和信元数据载荷中的IP首部信息中的首部长度字段,转到步骤(9);(9)根据步骤(8)的首部长度字段,提取信元数据载荷中的IP首部信息、IP载荷前8字节信息,转到步骤(18);(10)接收步骤(7)中信元数据首部信息中头标识和尾标识不同时为“1”的信元数据,若接收到的第1个信元数据首部信息中的头标识为“1”,接收到的第2个信元数据首部信息中的拆分序号为“2”,表示这两个信元为原始IP数据报拆分得到的第1个信元数据和第2个信元数据,已经包含生成ICMP差错报文所需信息,转到步骤(11);若接收到的第1个信元数据首部信息中头标识不为“1”或第2个信元数据首部信息中的拆分序号不为“2”,转到步骤(13);(11)接收步骤(10)中满足条件信元数据,提取第1个信元数据的第63字节和第64字节中的ICMP错误类型字段及代码字段和第1个信元数据载荷中的IP首部信息中的首部长度,转到步骤(12);(12)接收步骤(10)中满足条件信元数据,将第1个信元数据的载荷和第2个信元数据的载荷依次组合后存储,根据步骤(11)所提取的IP首部信息中的首部长度,提取组合后存储的载荷中的IP首部信息、IP载荷前8字节信息,转到步骤(18);(13)接收步骤(10)中第1个信元数据首部信息的头标识不为“1”或第2个信元数据首部信息的拆分序号不为“2”的信元数据,若第1个信元数据首部信息中的头标识为“1”,第2个信元数据首部信息中的拆分序号不为“2”,转到步骤(14)处理第1个信元数据,转到步骤(17)处理第2个信元数据;若不满足第1个信元数据首部信息中的头标识为“1”且第2个信元数据首部信息中的拆分序号不为“2”,则该信元数据为拆分得到的中间信元或尾部信元,转到步骤(17);(14)接收步骤(13)中第1个信元数据首部信息中的头标识为“1”,第2个信元数据首部信息中的拆分序号不为“2”条件下的第1个信元数据,提取该信元数据的第63字节和第64字节中的ICMP错误类型字段及代码字段和该信元数据载荷中的IP首部信息中的首部长度字段,转到步骤(15);(15)判断步骤(14)接收到的信元数据载荷中的IP首部信息中的首部长度是否小于等于40,若是,则该信元数据已经包含生成ICMP差错报文所需信息,转到步骤(16),若该IP首部长度大于40,转到步骤(17);(16)根据步骤(15)接收到的信元数据载荷中的IP首部信息中的首部长度字段,提取该信元数据载荷中的IP首部信息、IP载荷前8字节信息,转到步骤(18);(17)接收步骤(13)中第1个信元数据首部信息中的头标识为“1”,第2个信元数据首部信息中的拆分序号不为“2”条件下的第2个信元数据,以及步骤(13)中不满足第1个信元数据首部信息中的头标识为“1”,第2个信元数据首部信息中的拆分序号不为“2”条件下的第1个信元数据和第2个信元数据,以及步骤(15)中IP首部长度大于40的信元数据,将接收到的信元数据置为“0”,并输出该数据;(18)ICMP目的地不可达差错报文包括错误类型字段、代码字段、检验和字段及原始IP数据报的首部信息及IP载荷前8字节信息,根据ICMP目的地不可达差错报文格式,填入步骤(9)或步骤(12)或步骤(16)的IP首部信息、IP载荷前8字节信息和步骤(8)或步骤(11)或步骤(14)的ICMP错误类型字段及代码字段到差错报文,检验和字段置为“0”,得到未进行检验和计算的ICMP差错报文,转到步骤(19);(19)根据步骤(18)得到的未进行检验和计算的ICMP差错报文,计算ICMP差错报文检验和;(20)将步骤(19)得到的ICMP差错报文检验和填入步骤(18)得到的未进行检验和计算的ICMP差错报文中的检验和字段,生成ICMP目的地不可达差错报文;(21)将步骤(20)所生成的ICMP差错报文封装为IP数据报,并发送该IP数据报。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安空间无线电技术研究所,未经西安空间无线电技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201410360267.1/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top