CN101764759B - 基于开放最短路径优先报文网际协议路径主动测量方法 - Google Patents
基于开放最短路径优先报文网际协议路径主动测量方法 Download PDFInfo
- Publication number
- CN101764759B CN101764759B CN201010108992.1A CN201010108992A CN101764759B CN 101764759 B CN101764759 B CN 101764759B CN 201010108992 A CN201010108992 A CN 201010108992A CN 101764759 B CN101764759 B CN 101764759B
- Authority
- CN
- China
- Prior art keywords
- message
- variable
- perhaps
- value
- thread
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
基于开放最短路径优先报文网际协议路径主动测量方法。不通过构造和发送探测报文获得网络路径或拓扑的方法称为被动测量方法。本发明方法包括四个步骤:步骤1设置本进程或线程标识变量、路径最大跳数阈值Max_hop、每跳发送探测报文数阈值各为一个正整数;步骤2针对给定的探测目标地址,设置报文编号变量为一个正整数、生存时间变量为一个不超过Max_hop的正整数;步骤3构造封装开放最短路径优先协议报文的网际协议报文然后发出该探测报文;步骤4在给定时间内收到对应的响应报文,则根据响应报文类型实施对响应报文的处理;或者在给定时间内没有收到对应的响应报文,则实施等待时间超时处理。本发明用于因特网中抗过滤的测量。
Description
技术领域:
本发明涉及一种基于开放最短路径优先OSPF报文的网际协议IP路径主动测量所用的方法,具体涉及一种基于开放最短路径优先报文网际协议路径主动测量方法。
背景技术:
不需要通过构造和发送探测报文而获得网络路径或拓扑的方法称为被动测量方法。通过构造和发送探测报文而获得网络路径的方法称为主动测量方法。
以主动测量方式探测网络拓扑路径主要是采用类似traceroute的方法,首先,从测量源点S向某个测量目标D发出生存时间TTL=1的传输控制协议TCP或者用户数据报协议UDP或者因特网控制报文协议ICMP探测报文,收到返回的ICMP超时报文,或者等待预先给定的时间t0(例如5秒)后,再发出生存时间TTL=2的报文,依此类推,直到收到探测目标返回的表明到达目标的报文,或者生存时间TTL增长到预先给定阈值(例如Max_hop=30)。这时针对测量目标D的路径探测过程结束。根据依次返回的报文中所包含的源IP地址,从而得到从测量源点S到测量目标D的拓扑路径。1988年出现采用ICMP回响请求报文和UDP高端口报文探测IP路径的方法,13年后即2001年才出现采用TCP SYN报文(即TCP报文中的SYN控制比特置为1)探测IP路径的方法。传统上,采用ICMP回响请求报文、UDP高端口报文、TCP SYN报文探测时,容易被识别为测量路径的行为或拒绝服务攻击行为,从而破坏了对路径测量的完整性。
开放最短路径优先OSPF协议是一种被路由器广泛支持的基于链路状态的动态路由选择协议,它既不同于因特网控制报文协议,即ICMP协议,也不同于针对端到端通信的面向连接的TCP协议和无连接的UDP协议。OSPF路由协议主要功能是根据网络的状态确定网络路由,它有5种不同的路由协议报文类型,分别是问候Hello报文、数据库描述(DatabaseDescription)报文、链路状态请求(Link State Request)报文、链路状态更新(Link State Update)报文以及链路状态确认(Link State Acknowledgment)报文;它通过OSPF Hello报文发现和保持邻居路由器之间的活跃连接状态,通过OSPF的数据库描述报文、链路状态请求报文、链路状态更新报文以及链路状态确认报文进行链路状态通告(Link State Advertisements,LSAs)、路由信息的交换与路由表维护。已存在采用OSPF路由表构造网络路径和发现网络拓扑的被动测量方法,但该方法只适用于构造和发现一个管理域内部的网络路径和拓扑,构造和发现跨管理域的网络路径和拓扑时,基于OSPF路由表的被动测量方法无能为力。
发明内容:
本发明的目的是提供一种基于OSPF报文的IP路径主动测量方法。这种IP路径主动测量方法在路由器的基于目的网络地址的负载平衡和基于流的负载平衡机制的影响的情况下,发送的探测报文是OSPF报文,使探测报文抗识别和过滤,从而保证了路径测量的完整性。
上述的目的通过以下的技术方案实现:
基于开放最短路径优先报文网际协议路径主动测量方法,所述的测量方法包括四个步骤:步骤1设置本测量进程或线程标识变量ident为一个正整数;设置路径最大跳数阈值Max_hop、每跳发送的探测报文数阈值max_p_hop各为一个不超过255的正整数;步骤2针对给定的探测目标地址D,设置报文编号变量p_seq为一个正整数初值;设置生存时间变量TTL为一个不超过前述路径最大跳数阈值Max_hop的正整数初值;步骤3构造封装OSPF路由协议报文的IP报文然后发出该探测报文;步骤4在给定时间内收到对应的响应报文,则根据响应报文类型实施对响应报文的处理;或者在给定时间内没有收到对应的响应报文,则实施等待时间超时处理。
所述的基于开放最短路径优先报文网际协议路径主动测量方法,所述的步骤1,设置本测量进程或线程标识变量ident为一个正整数;设置路径最大跳数阈值Max_hop为一个不超过255的正整数;设置每跳发送的探测报文数阈值max_p_hop为一个不超过255的正整数;
所述的步骤2,针对给定的探测目标地址D,设置报文编号变量p_seq为一个正整数初值;设置生存时间变量TTL为一个不超过前述Max_hop的正整数初值;
所述的步骤3,构造封装OSPF路由协议报文的IP报文;其中IP报文首部中的生存时间TTL字段记录生存时间变量TTL的值,协议号字段记录数值89,表明封装的是OSPF协议报文,源IP地址字段记录发送本报文的主机IP地址,目的IP地址字段记录给定的探测目标地址D;当本进程或线程标识变量ident值或报文编号变量p_seq值大于255时,IP报文标识IP_ID字段记录本进程或线程标识变量ident值,或者记录操作系统给本进程或线程分配的本进程或线程标识getpid();当本进程或线程标识变量ident值和报文编号变量p_seq值都小于256时,IP报文标识IP_ID字段记录本进程或线程标识变量ident值,或者记录操作系统给本进程或线程分配的本进程或线程标识getpid(),或者同时记录本进程或线程标识变量ident和报文编号变量p_seq的值,其它字段按照IP协议规定的格式填写,并使发向同一探测目标地址D的各IP报文中的服务类型ToS字段保持相同;
IP报文的数据部分封装为OSPF路由协议报文,其中类型字段type记录所采用的OSPF路由协议报文类型的数值;路由器标识router_ID字段记录发送本报文的主机IP地址,或者记录本进程或线程标识变量ident值,或者记录操作系统给本进程或线程分配的本进程或线程标识getpid(),或者同时记录本进程或线程标识变量ident和报文编号变量p_seq的值,或者同时记录操作系统给本进程或线程分配的本进程或线程标识getpid()和报文编号变量p_seq的值,其它字段按相应的OSPF报文类型规定的格式填写;完整的IP报文构造完毕后发出该探测报文;
所述的步骤4,在给定时间内收到对应的响应报文,则根据响应报文类型实施对响应报文的处理;或者在给定时间内没有收到对应的响应报文,则实施等待时间超时处理。
所述的基于开放最短路径优先报文网际协议路径主动测量方法,所述的设置本测量进程或线程标识变量ident为一个正整数,是指本测量进程或线程标识可以不采用操作系统给本进程或线程分配的本进程或线程标识getpid(),而采用自己设定的值;所述的当本进程或线程标识变量ident值或报文编号变量p_seq值大于255时,IP报文标识IP_ID字段记录本进程或线程标识变量ident值,或者记录操作系统给本进程或线程分配的本进程或线程标识getpid();当本进程或线程标识变量ident值和报文编号变量p_seq值都小于256时,IP报文标识IP_ID字段记录本进程或线程标识变量ident值,或者记录操作系统给本进程或线程分配的本进程或线程标识getpid(),或者同时记录本进程或线程标识变量ident和报文编号变量p_seq的值,是指采用IP报文首部的IP报文标识IP_ID字段记录本进程或线程标识,或者同时记录本进程或线程标识以及报文编号。
所述的基于开放最短路径优先报文网际协议路径主动测量方法,所述的路由器标识router_ID字段记录发送本报文的主机IP地址,或者记录本进程或线程标识变量ident值,或者记录操作系统给本进程或线程分配的本进程或线程标识getpid(),或者同时记录本进程或线程标识变量ident和报文编号变量p_seq的值,或者同时记录操作系统给本进程或线程分配的本进程或线程标识getpid()和报文编号变量p_seq的值,是指还能够采用OSPF报文首部的路由器标识router_ID字段记录本进程或线程标识,或者同时记录本进程或线程标识以及报文编号。
所述的基于开放最短路径优先报文网际协议路径主动测量方法,所述的路由器标识router_ID字段记录发送本报文的主机IP地址,或者记录本进程或线程标识变量ident值,或者记录操作系统给本进程或线程分配的本进程或线程标识getpid(),或者同时记录本进程或线程标识变量ident和报文编号变量p_seq的值,或者同时记录操作系统给本进程或线程分配的本进程或线程标识getpid()和报文编号变量p_seq的值,是指还能够采用OSPF报文首部的路由器标识router_ID字段记录本进程或线程标识,或者同时记录本进程或线程标识以及报文编号。
所述的基于开放最短路径优先报文网际协议路径主动测量方法,所述的在给定时间内收到对应的响应报文则根据响应报文类型实施对响应报文的处理是:
a该对应的响应报文是“ICMP生存时间超时”报文,并且探测还没有达到预定跳数阈值Max_hop,则生存时间变量TTL加1,报文编号变量p_seq加1,然后转权利要求1中的步骤3继续探测;
b该对应的响应报文是ICMP不可达类型报文,则中止针对该目标地址的探测;
c该对应的响应报文是OSPF路由协议报文,则中止针对该目标地址的探测。
所述的基于开放最短路径优先报文网际协议路径主动测量方法,所述的在给定时间内没有收到对应的响应报文则实施等待时间超时处理是:探测达到预定跳数的阈值Max_hop,则中止针对该目标地址的探测;探测没有达到预定跳数的阈值Max_hop,则:
或者若本跳已发出的探测报文数量没有达到给定阈值max_p_hop,则报文编号变量p_seq加1,然后转权利要求1中的步骤3继续探测,若本跳已发出的探测报文数量达到给定阈值max_p_hop,则生存时间变量TTL加1,报文编号变量p_seq加1,然后转权利要求1中的步骤3继续探测;
或者出现连续k跳没有收到任何响应报文使探测等待超时,则中止针对该目标地址的探测,这里k取值正整数,可由用户指定;
或者正在测量的路径中出现“...ABAB...”这种情形,则中止针对该目标地址的探测,其中A、B分别代表一个IP地址。
本发明有益效果:
1、本发明的方法不同于已有的基于OSPF路由表的被动测量网络路径或拓扑的方法而是一种通过构造和发送封装OSPF路由协议报文的IP报文进行IP路径测量的主动测量方法,从而保证了本方法具有新颖性、创造性和实用性,具体实施方式也表明本方法切实可行。
2、本发明的方法不同于发送ICMP报文、UDP报文或TCP报文进行IP路径测量的主动测量方法,而是一种通过构造和发送封装OSPF路由协议报文的IP报文进行IP路径测量的主动测量方法,这是将原本在于发现和保持相邻路由器之间的活跃连接状态、链路状态通告、路由信息交换与路由表维护的OSPF路由选择协议报文用来进行IP路径主动测量中,一方面使得采用OSPF路由协议报文显著降低了被识别为测量路径的行为或攻击行为的程度,不易被过滤,显著增强了探测能力;另一方面,扩展了IP路径测量方法的测量空间。这些特征保证了本方法具有新颖性、创造性和实用性,具体实施方式也表明本方法切实可行。
3、本发明的方法不同于传统的采用操作系统分配的本进程或线程标识getpid()标记本测量进程或线程的方法,其作用在于能够在发出的探测报文的IP报文标识IP_ID字段中同时记录本进程或线程号以及报文编号信息,用于本进程或线程能够正确接收相应的响应报文。这是针对操作系统分配的本进程或线程标识getpid()大于255而不能在探测报文中有效使用的问题给出的一种解决办法,从而保证了本方法具有新颖性、创造性和实用性,具体实施方式也表明本方法切实可行。
4、本发明的也考虑了路由器的基于目的网络地址的负载平衡和基于流的负载平衡机制对探测路径的影响,针对某一目标地址D的各跳探测报文IP首部中的服务类型ToS字段和协议号字段保持不变,保证通向同一测量目标的探测报文的路径同一性。
本发明的具体实施方式:
实施例1:
一种基于OSPF报文的IP路径主动测量方法,设置本测量进程或线程标识变量ident值为3,设置路径最大跳数阈值Max_hop为30,设置每跳发送的探测报文数阈值max_p_hop为3;
针对给定的探测目标地址D,设置报文编号变量p_seq初值为1,设置生存时间变量TTL初值为1;
构造封装OSPF Hello报文的IP报文作为探测报文,其中IP报文首部中的生存时间TTL字段记录生存时间变量TTL的值,协议号字段记录数值89,表明封装的是OSPF协议报文,源IP地址字段记录发送本报文的主机IP地址,目的IP地址字段记录给定的探测目标地址D;IP报文标识IP_ID字段记录本进程或线程标识变量ident左移8个二进制位再加上报文编号变量p_seq的值,其它字段按照IP协议规定的格式填写,并使发向同一探测目标地址D的IP报文中的服务类型ToS字段保持相同;
IP报文的数据部分封装为OSPF Hello报文,其中类型字段type记录数值1,表明是OSPFHello报文,路由器标识router_ID字段记录发送本报文的主机IP地址,其它字段按OSPFHello报文规定的格式填写。
完整的IP报文构造完毕后发出该探测报文。
在给定时间内收到对应的“ICMP生存时间超时”响应报文,且探测还没有达到预定的最大跳数阈值Max_hop,则生存时间变量TTL加1,报文编号变量p_seq加1,然后转权利要求1中的步骤3继续探测;收到对应的ICMP不可达类型报文,则中止针对该目标地址的探测;收到对应的OSPF路由协议报文,则中止针对该目标地址的探测。
在给定时间内没有收到对应的响应报文,探测达到预定的最大跳数阈值Max_hop,则中止针对该目标地址的探测;探测没有达到预定的最大跳数阈值Max_hop,则或者若本跳已发出的探测报文数量没有达到给定阈值max_p_hop,则报文编号变量p_seq加1,然后转权利要求1中的步骤3继续探测,若本跳已发出的探测报文数量达到给定阈值max_p_hop,则生存时间变量TTL加1,报文编号变量p_seq加1,然后转权利要求1中的步骤3继续探测;或者出现连续3跳没有收到任何响应报文使探测等待超时则中止针对该目标地址的探测;或者正在测量的路径中出现“...ABAB...”这种情形,则中止针对该目标地址的探测,其中A、B分别代表一个IP地址。
实施例2:
一种基于OSPF报文的IP路径主动测量方法,设置本测量进程或线程标识变量ident值为5,设置路径最大跳数阈值Max_hop为32,设置每跳发送的探测报文数阈值max_p_hop为2;
针对给定的探测目标地址D,设置报文编号变量p_seq初值为1,设置生存时间变量TTL初值为3;
构造封装OSPF链路状态确认(Link State Acknowledgment)报文的IP报文作为探测报文,其中IP报文首部中的生存时间TTL字段记录生存时间变量TTL的值,协议号字段记录数值89,表明封装的是OSPF协议报文,源IP地址字段记录发送本报文的主机IP地址,目的IP地址字段记录给定的探测目标地址D;IP报文标识IP_ID字段记录报文编号变量p_seq左移8个二进制位再加上本进程或线程标识变量ident的值,其它字段按照IP协议规定的格式填写,并使发向同一探测目标地址D的IP报文中的服务类型ToS字段保持相同
IP报文的数据部分封装为OSPF链路状态确认报文,其中类型字段type记录数值5,表明是链路状态确认报文,路由器标识router_ID字段记录发送本报文的主机IP地址,其它字段按OSPF链路状态确认报文规定的格式填写。
完整的IP报文构造完毕后发出该探测报文。
在给定时间内收到对应的“ICMP生存时间超时”响应报文,且探测还没有达到预定的最大跳数阈值Max_hop,则生存时间变量TTL加1,报文编号变量p_seq加1,然后转权利要求1中的步骤3继续探测;收到对应的ICMP不可达类型报文,则中止针对该目标地址的探测;收到对应的OSPF路由协议报文,则中止针对该目标地址的探测。
在给定时间内没有收到对应的响应报文,探测达到预定的最大跳数阈值Max_hop,则中止针对该目标地址的探测;探测没有达到预定的最大跳数阈值Max_hop,则或者若本跳已发出的探测报文数量没有达到给定阈值max_p_hop,则报文编号变量p_seq加1,然后转权利要求1中的步骤3继续探测,若本跳已发出的探测报文数量达到给定阈值max_p_hop,则生存时间变量TTL加1,报文编号变量p_seq加1,然后转权利要求1中的步骤3继续探测;或者出现连续3跳没有收到任何响应报文使探测等待超时则中止针对该目标地址的探测;或者正在测量的路径中出现“...ABAB...”这种情形,则中止针对该目标地址的探测,其中A、B分别代表一个IP地址。
实施例3:
一种基于OSPF报文的IP路径主动测量方法,设置本测量进程或线程标识变量ident值为2,设置路径最大跳数阈值Max_hop为33,设置每跳发送的探测报文数阈值max_p_hop为5;
针对给定的探测目标地址D,设置报文编号变量p_seq初值为3,设置生存时间变量TTL初值为1;
构造封装OSPF Hello报文的IP报文作为探测报文,其中IP报文首部中的生存时间TTL字段记录生存时间变量TTL的值,协议号字段记录数值89,表明封装的是OSPF协议报文,源IP地址字段记录发送本报文的主机IP地址,目的IP地址字段记录给定的探测目标地址D;IP报文标识IP_ID字段记录本进程或线程标识变量ident左移8个二进制位再加上报文编号变量p_seq的值,其它字段按照IP协议规定的格式填写,并使发向同一探测目标地址D的IP报文中的服务类型ToS字段保持相同;
IP报文的数据部分封装为OSPF Hello报文,其中类型字段type记录数值1,表明是OSPFHello报文,路由器标识router_ID字段记录操作系统给本进程或线程分配的本进程或线程标识getpid()左移16个二进制位再加上报文编号变量p_seq的值,或者记录报文编号变量p_seq左移16个二进制位再加上操作系统给本进程或线程分配的本进程或线程号标识getpid()的值,其它字段按OSPF Hello报文规定的格式填写。
完整的IP报文构造完毕后发出该探测报文。
在给定时间内收到对应的“ICMP生存时间超时”响应报文,且探测还没有达到预定的最大跳数阈值Max_hop,则生存时间变量TTL加1,报文编号变量p_seq加1,然后转权利要求1中的步骤3继续探测;收到对应的ICMP不可达类型报文,则中止针对该目标地址的探测;收到对应的OSPF路由协议报文,则中止针对该目标地址的探测。
在给定时间内没有收到对应的响应报文,探测达到预定的最大跳数阈值Max_hop,则中止针对该目标地址的探测;探测没有达到预定的最大跳数阈值Max_hop,则或者若本跳已发出的探测报文数量没有达到给定阈值max_p_hop,则报文编号变量p_seq加1,然后转权利要求1中的步骤3继续探测,若本跳已发出的探测报文数量达到给定阈值max_p_hop,则生存时间变量TTL加1,报文编号变量p_seq加1,然后转权利要求1中的步骤3继续探测;或者出现连续3跳没有收到任何响应报文使探测等待超时则中止针对该目标地址的探测;或者正在测量的路径中出现“...ABAB...”这种情形,则中止针对该目标地址的探测,其中A、B分别代表一个IP地址。
实施例4:
一种基于OSPF报文的IP路径主动测量方法,设置本测量进程或线程标识变量ident值为7,设置路径最大跳数阈值Max_hop为31,设置每跳发送的探测报文数阈值max_p_hop为2;
针对给定的探测目标地址D,设置报文编号变量p_seq初值为1,设置生存时间变量TTL初值为5;
构造封装OSPF链路状态请求(Link State Request)报文的IP报文作为探测报文,其中IP报文首部中的生存时间TTL字段记录生存时间变量TTL的值,协议号字段记录数值89,表明封装的是OSPF协议报文,源IP地址字段记录发送本报文的主机IP地址,目的IP地址字段记录给定的探测目标地址D;IP报文标识IP_ID字段记录报文编号变量p_seq左移8个二进制位再加上本进程或线程标识变量ident的值,其它字段按照IP协议规定的格式填写,并使发向同一探测目标地址D的IP报文中的服务类型ToS字段保持相同;
IP报文的数据部分封装为OSPF链路状态请求报文,其中类型字段type记录数值3,表明是链路状态请求报文,路由器标识router_ID字段记录本进程或线程标识变量ident左移8个或者16个或者24个二进制位再加上报文编号变量p_seq的值,或者记录报文编号变量p_seq左移8个或者16个或者24个二进制位再加上本进程或线程标识变量ident的值,其它字段按OSPF链路状态请求报文规定的格式填写。
完整的IP报文构造完毕后发出该探测报文。
在给定时间内收到对应的“ICMP生存时间超时”响应报文,且探测还没有达到预定的最大跳数阈值Max_hop,则生存时间变量TTL加1,报文编号变量p_seq加1,然后转权利要求1中的步骤3继续探测;收到对应的ICMP不可达类型报文,则中止针对该目标地址的探测;收到对应的OSPF路由协议报文,则中止针对该目标地址的探测。
在给定时间内没有收到对应的响应报文,探测达到预定的最大跳数阈值Max_hop,则中止针对该目标地址的探测;探测没有达到预定的最大跳数阈值Max_hop,则或者若本跳已发出的探测报文数量没有达到给定阈值max_p_hop,则报文编号变量p_seq加1,然后转权利要求1中的步骤3继续探测,若本跳已发出的探测报文数量达到给定阈值max_p_hop,则生存时间变量TTL加1,报文编号变量p_seq加1,然后转权利要求1中的步骤3继续探测;或者出现连续3跳没有收到任何响应报文使探测等待超时则中止针对该目标地址的探测;或者正在测量的路径中出现“...ABAB...”这种情形,则中止针对该目标地址的探测,其中A、B分别代表一个IP地址。
实施例5:
一种基于OSPF报文的IP路径主动测量方法,设置本测量进程或线程标识变量ident值为11,设置路径最大跳数阈值Max_hop为37,设置每跳发送的探测报文数阈值max_p_hop为2;
针对给定的探测目标地址D,设置报文编号变量p_seq初值为3,设置生存时间变量TTL初值为2;
构造封装OSPF数据库描述(Database Description)报文的IP报文作为探测报文,其中IP报文首部中的生存时间TTL字段记录生存时间变量TTL的值,协议号字段记录数值89,表明封装的是OSPF协议报文,源IP地址字段记录发送本报文的主机IP地址,目的IP地址字段记录给定的探测目标地址D;IP报文标识IP_ID字段记录本进程或线程标识变量ident的值,其它字段按照IP协议规定的格式填写,并使发向同一探测目标地址D的IP报文中的服务类型ToS字段保持相同;
IP报文的数据部分封装为OSPF数据库描述报文,其中类型字段type记录数值2,表明是数据库描述报文,路由器标识router_ID字段记录本进程或线程标识变量ident左移8个或者16个或者24个二进制位再加上报文编号变量p_seq的值,或者记录报文编号变量p_seq左移8个或者16个或者24个二进制位再加上本进程或线程标识变量ident的值,其它字段按OSPF数据库描述报文规定的格式填写。
完整的IP报文构造完毕后发出该探测报文。
在给定时间内收到对应的“ICMP生存时间超时”响应报文,且探测还没有达到预定的最大跳数阈值Max_hop,则生存时间变量TTL加1,报文编号变量p_seq加1,然后转权利要求1中的步骤3继续探测;收到对应的ICMP不可达类型报文,则中止针对该目标地址的探测;收到对应的OSPF路由协议报文,则中止针对该目标地址的探测。
在给定时间内没有收到对应的响应报文,探测达到预定的最大跳数阈值Max_hop,则中止针对该目标地址的探测;探测没有达到预定的最大跳数阈值Max_hop,则或者若本跳已发出的探测报文数量没有达到给定阈值max_p_hop,则报文编号变量p_seq加1,然后转权利要求1中的步骤3继续探测,若本跳已发出的探测报文数量达到给定阈值max_p_hop,则生存时间变量TTL加1,报文编号变量p_seq加1,然后转权利要求1中的步骤3继续探测;或者出现连续3跳没有收到任何响应报文使探测等待超时则中止针对该目标地址的探测;或者正在测量的路径中出现“...ABAB...”这种情形,则中止针对该目标地址的探测,其中A、B分别代表一个IP地址。
实施例6:
一种基于OSPF报文的IP路径主动测量方法,设置本测量进程或线程标识变量ident值为9,设置路径最大跳数阈值Max_hop为30,设置每跳发送的探测报文数阈值max_p_hop为2;
针对给定的探测目标地址D,设置报文编号变量p_seq初值为1,设置生存时间变量TTL初值为5;
构造封装OSPF链路状态更新(Link State Update)报文的IP报文作为探测报文,其中IP报文首部中的生存时间TTL字段记录生存时间变量TTL的值,协议号字段记录数值89,表明封装的是OSPF协议报文,源IP地址字段记录发送本报文的主机IP地址,目的IP地址字段记录给定的探测目标地址D;IP报文标识IP_ID字段记录操作系统给本进程或线程分配的本进程或线程标识getpid()的值,其它字段按照IP协议规定的格式填写,并使发向同一探测目标地址D的IP报文中的服务类型ToS字段保持相同;
IP报文的数据部分封装为OSPF链路状态更新报文,其中类型字段type记录数值4,表明是链路状态更新报文,路由器标识router_ID字段记录本进程或线程标识变量ident左移8个或者16个或者24个二进制位再加上报文编号变量p_seq的值,或者记录报文编号变量p_seq左移8个或者16个或者24个二进制位再加上本进程或线程标识变量ident的值,其它字段按OSPF链路状态更新报文规定的格式填写。
完整的IP报文构造完毕后发出该探测报文。
在给定时间内收到对应的“ICMP生存时间超时”响应报文,且探测还没有达到预定的最大跳数阈值Max_hop,则生存时间变量TTL加1,报文编号变量p_seq加1,然后转权利要求1中的步骤3继续探测;收到对应的ICMP不可达类型报文,则中止针对该目标地址的探测;收到对应的OSPF路由协议报文,则中止针对该目标地址的探测。
在给定时间内没有收到对应的响应报文,探测达到预定的最大跳数阈值Max_hop,则中止针对该目标地址的探测;探测没有达到预定的最大跳数阈值Max_hop,则或者若本跳已发出的探测报文数量没有达到给定阈值max_p_hop,则报文编号变量p_seq加1,然后转权利要求1中的步骤3继续探测,若本跳已发出的探测报文数量达到给定阈值max_p_hop,则生存时间变量TTL加1,报文编号变量p_seq加1,然后转权利要求1中的步骤3继续探测;或者出现连续3跳没有收到任何响应报文使探测等待超时则中止针对该目标地址的探测;或者正在测量的路径中出现“...ABAB...”这种情形,则中止针对该目标地址的探测,其中A、B分别代表一个IP地址。
Claims (3)
1.一种基于开放最短路径优先报文网际协议路径主动测量方法,其特征是: 所述的测量方法包括四个步骤:
步骤1设置本测量进程或线程标识变量ident为一个正整数;设置路径最大跳数阈值Max_hop、每跳发送的探测报文数阈值max_p_hop各为一个不超过255的正整数;
步骤2针对给定的探测目标地址D,设置报文编号变量p_seq为一个正整数初值;设置生存时间变量TTL为一个不超过前述路径最大跳数阈值Max_hop的正整数初值;
步骤3构造封装OSPF路由协议报文的IP报文然后发出该探测报文;
步骤4在给定时间内收到对应的响应报文,则根据响应报文类型实施对响应报文的处理;或者在给定时间内没有收到对应的响应报文,则实施等待时间超时处理;
所述的步骤1,设置本测量进程或线程标识变量ident为一个正整数;设置路径最大跳数阈值Max_hop为一个不超过255的正整数;设置每跳发送的探测报文数阈值max_p_hop为一个不超过255的正整数;
所述的步骤2,针对给定的探测目标地址D,设置报文编号变量p_seq为一个正整数初值;设置生存时间变量TTL为一个不超过前述Max_hop的正整数初值;
所述的步骤3,构造封装OSPF路由协议报文的IP报文;其中IP报文首部中的生存时间TTL字段记录生存时间变量TTL的值,协议号字段记录数值89,表明封装的是OSPF协议报文,源IP地址字段记录发送本报文的主机IP地址,目的IP地址字段记录给定的探测目标地址D;当本进程或线程标识变量ident值或报文编号变量p_seq值大于255时,IP报文标识IP_ID字段记录本进程或线程标识变量ident值,或者记录操作系统给本进程或线程分配的本进程或线程标识getpid();当本进程或线程标识变量ident值和报文编号变量p_seq值都小于256时,IP报文标识IP_ID字段记录本进程或线程标识变量ident值,或者记录操作系统给本进程或线程分配的本进程或线程标识getpid(),或者同时记录本进程或线程标识变量ident和报文编号变量p_seq的值,其它字段按照IP协议规定的格式填写,并使发向同一探测目标地址D的各IP报文中的服务类型ToS字段保持相同;
IP报文的数据部分封装为OSPF路由协议报文,其中类型字段type记录所采用的OSPF路由协议报文类型的数值;路由器标识router_ID字段记录发送本报文的主机IP地址,或者记录本进程或线程标识变量ident值,或者记录操作系统给本进程或线程分配的本进程或线程标识getpid(),或者同时记录本进程或线程标识变量ident和报文编号变量p_seq的值,或者同时记录操作系统给本进程或线程分配的本进程或线程标识getpid()和报文编号变量p_seq的值,其它字段按相应的OSPF报文类型规定的格式填写;完整的IP报文构造完毕后发出该探测报文;
所述的步骤4,在给定时间内收到对应的响应报文,则根据响应报文类型实施对响应报文的处理;或者在给定时间内没有收到对应的响应报文,则实施等待时间超时处理;
所述的在给定时间内收到对应的响应报文则根据响应报文类型实施对响应报文的处理是:
a 该对应的响应报文是“ICMP 生存时间超时”报文,并且探测还没有达到预定跳数阈值Max_hop,则生存时间变量TTL加1,报文编号变量p_seq加1,然后转的步骤3继续探测;
b 该对应的响应报文是ICMP不可达类型报文,则中止针对该目标地址的探测;
c 该对应的响应报文是OSPF路由协议报文,则中止针对该目标地址的探测;
所述的在给定时间内没有收到对应的响应报文,则实施等待时间超时处理:探测达到预定跳数的阈值Max_hop,则中止针对该目标地址的探测;探测没有达到预定跳数的阈值Max_hop,则:
或者若本跳已发出的探测报文数量没有达到给定阈值max_p_hop,则报文编号变量p_seq加1,然后转步骤3继续探测,若本跳已发出的探测报文数量达到给定阈值max_p_hop,则生存时间变量TTL加1,报文编号变量p_seq加1,然后转步骤3继续探测;
或者出现连续k跳没有收到任何响应报文使探测等待超时,则中止针对该目标地址的探测,这里k取值正整数,由用户指定;
或者正在测量的路径中出现“…ABAB…”这种情形,则中止针对该目标地址的探测,其中A、B分别代表一个IP地址。
2.根据权利要求1所述的基于开放最短路径优先报文网际协议路径主动测量方法,其特征是:所述的设置本测量进程或线程标识变量ident为一个正整数,是指本测量进程或线程标识不采用操作系统给本进程或线程分配的本进程或线程标识getpid(),而采用自己设定的值;所述的当本进程或线程标识变量ident值或报文编号变量p_seq值大于255时,IP报文标识IP_ID字段记录本进程或线程标识变量ident值,或者记录操作系统给本进程或线程分配的本进程或线程标识getpid();当本进程或线程标识变量ident值和报文编号变量p_seq值都小于256时,IP报文标识IP_ID字段记录本进程或线程标识变量ident值,或者记录操作系统给本进程或线程分配的本进程或线程标识getpid(),或者同时记录本进程或线程标识变量ident和报文编号变量p_seq的值,是指采用IP报文首部的IP报文标识IP_ID字段记录本进程或线程标识,或者同时记录本进程或线程标识以及报文编号。
3.根据权利要求1或2所述的基于开放最短路径优先报文网际协议路径主动测量方法,其特征是:所述的路由器标识router_ID字段记录发送本报文的主机IP地址,或者记录本进程或线程标识变量ident值,或者记录操作系统给本进程或线程分配的本进程或线程标识getpid(),或者同时记录本进程或线程标识变量ident和报文编号变量p_seq的值,或者同时记录操作系统给本进程或线程分配的本进程或线程标识getpid()和报文编号变量p_seq的值,是指还能够采用OSPF报文首部的路由器标识router_ID字段记录本进程或线程标识,或者同时记录本进程或线程标识以及报文编号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010108992.1A CN101764759B (zh) | 2010-02-10 | 2010-02-10 | 基于开放最短路径优先报文网际协议路径主动测量方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010108992.1A CN101764759B (zh) | 2010-02-10 | 2010-02-10 | 基于开放最短路径优先报文网际协议路径主动测量方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101764759A CN101764759A (zh) | 2010-06-30 |
CN101764759B true CN101764759B (zh) | 2012-07-25 |
Family
ID=42495751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010108992.1A Expired - Fee Related CN101764759B (zh) | 2010-02-10 | 2010-02-10 | 基于开放最短路径优先报文网际协议路径主动测量方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101764759B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103220161B (zh) * | 2012-01-18 | 2016-02-24 | 深圳市腾讯计算机系统有限公司 | 一种服务器状态的探测方法和装置 |
US10878323B2 (en) | 2014-02-28 | 2020-12-29 | Tyco Fire & Security Gmbh | Rules engine combined with message routing |
US9792129B2 (en) | 2014-02-28 | 2017-10-17 | Tyco Fire & Security Gmbh | Network range extender with multi-RF radio support for plurality of network interfaces |
US10050865B2 (en) * | 2014-02-28 | 2018-08-14 | Tyco Fire & Security Gmbh | Maintaining routing information |
US9513364B2 (en) | 2014-04-02 | 2016-12-06 | Tyco Fire & Security Gmbh | Personnel authentication and tracking system |
CN106130827B (zh) * | 2016-08-30 | 2019-06-07 | 杭州迪普科技股份有限公司 | 网络设备可达性的检测方法和装置 |
CN110430080B (zh) * | 2019-08-07 | 2021-02-05 | 国家计算机网络与信息安全管理中心 | 网络拓扑探测方法及装置 |
CN114821936A (zh) * | 2022-03-21 | 2022-07-29 | 慧之安信息技术股份有限公司 | 基于边缘计算的违法犯罪行为检测方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1747466A (zh) * | 2004-09-10 | 2006-03-15 | 华为技术有限公司 | 一种获取链路对端接口详细信息的方法 |
WO2008045632A1 (en) * | 2006-10-05 | 2008-04-17 | Cisco Technology, Inc. | Network routing to the socket |
-
2010
- 2010-02-10 CN CN201010108992.1A patent/CN101764759B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1747466A (zh) * | 2004-09-10 | 2006-03-15 | 华为技术有限公司 | 一种获取链路对端接口详细信息的方法 |
WO2008045632A1 (en) * | 2006-10-05 | 2008-04-17 | Cisco Technology, Inc. | Network routing to the socket |
Also Published As
Publication number | Publication date |
---|---|
CN101764759A (zh) | 2010-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101764759B (zh) | 基于开放最短路径优先报文网际协议路径主动测量方法 | |
US9253021B2 (en) | Hierarchical schema to provide an aggregated view of device capabilities in a network | |
US8515433B2 (en) | Load management in wireless mesh communications networks | |
US7940669B2 (en) | Route and link evaluation in wireless mesh communications networks | |
US8189577B2 (en) | Network utilities in wireless mesh communications networks | |
US6914886B2 (en) | Controlling traffic on links between autonomous systems | |
CN104106240B (zh) | 覆盖网络中转发和地址解析的平衡 | |
US20090003356A1 (en) | Node discovery and culling in wireless mesh communications networks | |
JP5813879B2 (ja) | 性能ベースのルーティング方法および装置 | |
US9596164B1 (en) | Application visibility in layer 3 networks | |
CN102498694A (zh) | 通信系统、转发节点、路径管理服务器、通信方法和程序 | |
RO125809B1 (ro) | Metodă şi sistem pentru asigurarea unei reţele şi a protocoalelor de direcţionare pentru servicii de utilităţi | |
Galvez et al. | Responsive on-line gateway load-balancing for wireless mesh networks | |
US10333790B2 (en) | Method and system for selective route download in network devices | |
Chang et al. | Inbound traffic engineering for multihomed ASs using AS path prepending | |
TWI543567B (zh) | 在電腦網路中進行封包的多路徑路由選擇的裝置及其方法 | |
Oliveira et al. | Geographically informed inter-domain routing | |
WO2014016864A1 (ja) | ノードおよび通信方法 | |
JP2011244312A (ja) | ノード装置、最適パス決定方法及びプログラム | |
CN101888310A (zh) | 一种基于udp报文的ip路径主动测量方法 | |
Taggu et al. | TraceGray: An application-layer scheme for intrusion detection in MANET using mobile agents | |
JP2024500161A (ja) | メッシュネットワークにおけるタイムクリティカルトラフィックのための最適化されたルート | |
US11863423B2 (en) | Hybrid data routing with burst pulse measurements in a peer-to-peer computer network | |
JP7472989B2 (ja) | 遅延測定器、遅延測定方法、および、遅延測定プログラム | |
Zeng et al. | SRP: A routing protocol for data center networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120725 Termination date: 20170210 |
|
CF01 | Termination of patent right due to non-payment of annual fee |