[发明专利]一种基于ICMP协议的网络连通性能判断方法在审
申请号: | 202111121158.0 | 申请日: | 2021-09-24 |
公开(公告)号: | CN113890838A | 公开(公告)日: | 2022-01-04 |
发明(设计)人: | 王雨龙 | 申请(专利权)人: | 天津津航计算技术研究所 |
主分类号: | H04L43/0811 | 分类号: | H04L43/0811;H04L69/22;H04L43/50 |
代理公司: | 中国兵器工业集团公司专利中心 11011 | 代理人: | 刘二格 |
地址: | 300308 天津*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 icmp 协议 网络 连通 性能 判断 方法 | ||
1.一种基于ICMP协议的网络连通判断方法,其特征在于,包括以下步骤:
S1:设计一个ICMP报文头结构体structICMP_Header;
S2:定义使用的变量以及缓冲区;
S3:建立网络连接套接字;
S4:设置ICMP报文发送的目的信息;
S5:定义一个ICMP协议包头指针pICMP,对该指针所指的各个成员进行赋值;
S6:使用网络数据发送函数sendto发送ICMP数据;
S7:在while中循环等待接收ICMP消息,使用网络数据阻塞接收函数recv()接收数据;
S8:对接收到的ICMP数据进行解析。
2.如权利要求1所述的基于ICMP协议的网络连通判断方法,其特征在于,步骤S1中,报文头结构体struct ICMP_Header包括:①ICMP报文消息类型icmp_type,此类型设置为无符号字符型;②ICMP报文消息代码icmp_code,类型为无符号字符型;③ICMP报文校验和icmp_checksum,类型为无符号短整形;④ICMP报文请求ID号icmp_id,类型为无符号短整形;⑤ICMP报文序列号icmp_sequence,类型为无符号短整形。
3.如权利要求2所述的基于ICMP协议的网络连通判断方法,其特征在于,步骤S1中,定义报文头结构体struct ICMP_Header的相关常量值:①使用宏定义设置目的节点IP地址DestIP的值;②使用宏定义设置源节点IP地址SrcIP的值;③使用宏定义设置目的节点端口号DestPort;④使用宏定义设置源节点端口号SrcPort;使用宏定义设置ICMP_HEADER_SIZE的值,此值使用C语言运算符sizeof()进行计算,传入参数为ICMP报文头结构体structICMP_Header。
4.如权利要求3所述的基于ICMP协议的网络连通判断方法,其特征在于,步骤S2中,定义使用的变量包括:套接字socket类型变量S,定义变量nTimeout,类型设置为整型,初始值设置为1000,表示超时时间为1S;定义一个数据字符数组TrueData,类型设置为无符号字符型,长度为32个字节,使用random()函数生成随机数据填充数组TrueData;设置ICMP数据缓冲区DataBuf,类型设置为字符型,长度为ICMP_HEADER_SIZE+32;定义数据接收缓冲区数组recvPacket,长度值为RECV_SIZE,设置为4096;定义变量RecvBytes,类型设置为整形,初值赋值为0。
5.如权利要求4所述的基于ICMP协议的网络连通判断方法,其特征在于,步骤S3中,建立网络连接套接字,使用网络套接字创建函数socket()创建一个套接字,协议类型设置为IPPROTO_ICMP,表示所选协议为ICMP报文,该函数的返回值赋值到S2中定义的变量S;使用系统套接字设置函数setsockopt()设置网络数据接收超时时间,时间为nTimeout。
6.如权利要求5所述的基于ICMP协议的网络连通判断方法,其特征在于,步骤S4中,设置ICMP报文发送的目的信息,定义套接字地址类型sockaddr_in的变量destaddr,将destaddr中协议族成员sin_family设置为地址族AF_INET,将IP地址成员sin_addr设置为DestIP,将端口号sin_port设置为DestPort,定义套接字地址类型sockaddr_in变量srcaddr,定义变量nLen,表示长度值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津津航计算技术研究所,未经天津津航计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111121158.0/1.html,转载请声明来源钻瓜专利网。