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

专利信息
申请号: 201410360267.1 申请日: 2014-07-25
公开(公告)号: CN104135439B 公开(公告)日: 2017-05-31
发明(设计)人: 李静玲;周诠;黎军;呼延烺;张怡;崔涛;魏佳圆;粱薇 申请(专利权)人: 西安空间无线电技术研究所
主分类号: H04L12/741 分类号: H04L12/741
代理公司: 中国航天科技专利中心11009 代理人: 安丽
地址: 710100 陕*** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 icmp 差错 报文 快速 生成 方法
【权利要求书】:

1.一种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数据报。

2.根据权利要求1所述的一种ICMP差错报文快速生成方法,其特征在于:所述的步骤(21)中的具体步骤如下:

(1)接收生成的ICMP差错报文,根据ICMP报文所携带的原始IP数据报首部信息,设置新的IP数据报首部信息如下:版本字段、首部长度字段、区分服务字段、标识字段、标志字段、分片偏移字段以及生存时间字段与原始IP数据报首部信息中的设置相同,总长度字段为ICMP差错报文长度与原始IP数据报首部信息中的首部长度之和,协议字段设置为“1”(ICMP协议),源IP地址为网络本地地址,目的IP地址为原始IP数据报首部信息中的源IP地址,校验和字段置为“0”,生成新的IP首部信息,转至步骤(2);

(2)根据步骤(1)中新的IP首部信息计算新的IP首部校验和,将该IP首部校验和填入新的IP首部信息中的校验和字段,再将步骤(1)接收到的ICMP差错报文填入新的IP数据报的载荷字段,生成新的IP数据报并输出。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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