一种信息收集方法、装置、设备及机器可读存储介质与流程

文档序号:16630492发布日期:2019-01-16 06:31阅读:106来源:国知局
一种信息收集方法、装置、设备及机器可读存储介质与流程
本公开涉及通信
技术领域
,尤其是涉及一种信息收集方法、装置、设备及机器可读存储介质。
背景技术
:在mpls(multi-protocollabelswitching,多协议标签交换)网络中,可以在入口(ingress)节点与出口(egress)节点之间创建隧道(如lsp(labelswitchedpath,标签交换路径)隧道或者te(trafficengineering,流量工程)隧道等)。入口节点可以使用mplstracert(跟踪路由)技术,收集从入口节点到出口节点所经过的各节点的信息(如ip地址、标签等),定位出发生故障的节点。具体的,入口节点可以先发送ttl(timetolive,生存时间)值为1的请求报文,并接收第一个节点返回的回应报文,并从该回应报文中收集到第一个节点的信息。然后,入口节点发送ttl值为2的请求报文,并接收第二个节点返回的回应报文,并从该回应报文中收集到第二个节点的信息,以此类推。在实际的组网中,若入口节点与出口节点之间存在等价路径,则入口节点在使用mplstracert技术收集各节点的信息时,可能会无法收集到节点的信息。技术实现要素:本公开提供一种信息收集方法,应用于入口节点,所述方法包括:生成用于收集第一个节点的信息的请求报文;发送请求报文,接收针对所述请求报文的回应报文;若从所述回应报文获取到节点信息和下一跳信息,则记录所述节点信息和下一跳信息的对应关系;若接收到至少两个针对所述请求报文的回应报文,则利用至少两个回应报文重新生成请求报文,该请求报文包括至少两个回应报文中的下一跳信息;返回执行发送请求报文,接收针对所述请求报文的回应报文的操作。本公开提供一种信息收集方法,应用于入口节点与出口节点之间的转发节点,且所述转发节点存在至少两个下一跳,所述方法包括:接收所述入口节点发送的请求报文;若本节点是所述请求报文的目标节点,则向入口节点发送回应报文;所述回应报文携带本节点的节点信息、所述至少两个下一跳对应的下一跳信息;若本节点不是所述请求报文的目标节点,则获得所述至少两个请求报文,并向所述至少两个下一跳分别发送获得的请求报文。本公开提供一种信息收集装置,应用于入口节点,所述装置包括:生成模块,用于生成用于收集第一个节点的信息的请求报文;发送模块,用于发送请求报文;接收模块,用于接收针对所述请求报文的回应报文;处理模块,用于从所述回应报文获取到节点信息和下一跳信息,并记录所述节点信息和下一跳信息的对应关系;所述生成模块,还用于当接收到至少两个针对所述请求报文的回应报文时,则利用至少两个回应报文重新生成请求报文,该请求报文包括至少两个回应报文中的下一跳信息;由所述发送模块发送重新生成的请求报文。本公开提供一种信息收集装置,应用于入口节点与出口节点之间的转发节点,且所述转发节点存在至少两个下一跳,所述装置包括:接收模块,用于接收所述入口节点发送的请求报文;发送模块,用于当本节点是所述请求报文的目标节点时,则向入口节点发送回应报文;所述回应报文携带本节点的节点信息、所述至少两个下一跳对应的下一跳信息;当本节点不是所述请求报文的目标节点时,则获得所述至少两个请求报文,并向所述至少两个下一跳分别发送获得的请求报文。本公开提供一种电子设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;其中,所述处理器执行所述机器可执行指令,以实现上述的方法步骤。本公开提供一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现上述的方法步骤。基于上述技术方案,本公开实施例中,当入口节点与出口节点之间存在等价路径时,可以使用mplstracert技术收集各节点的节点信息、下一跳信息,利用各节点的节点信息、下一跳信息准确解析入口节点与出口节点之间的路径。附图说明为了更加清楚地说明本公开实施例或者现有技术中的技术方案,下面将对本公开实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本公开实施例的这些附图获得其他的附图。图1是本公开一种实施方式中的信息收集方法的流程图;图2是本公开另一种实施方式中的信息收集方法的流程图;图3是本公开一种实施方式中的应用场景示意图;图4是本公开一种实施方式中的信息收集装置的结构图;图5是本公开一种实施方式中的入口节点的硬件结构图;图6是本公开另一种实施方式中的信息收集装置的结构图;图7是本公开一种实施方式中的转发节点的硬件结构图。具体实施方式在本公开使用的术语仅仅是出于描述特定实施例的目的,而非限制本公开。本公开和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。本公开实施例提出一种信息收集方法,该方法可以应用于包括入口(ingress)节点、转发节点和出口(egress)节点的网络,如mpls网络。在mpls网络中,入口节点与出口节点之间创建有隧道(如lsp隧道或者te隧道等),入口节点与出口节点之间的节点为转发节点。入口节点可以使用mplstracert技术,收集转发节点的节点信息(如ip地址、标签等)和下一跳信息、出口节点的节点信息(如ip地址、标签等)。基于这些信息可以定位出发生故障的节点。在上述应用场景下,参见图1所示,为本公开实施例中提出的信息收集方法的流程图,该方法可以应用于入口节点,该方法可以包括以下步骤:步骤101,生成用于收集第一个节点的信息的请求报文。步骤102,发送请求报文,并接收针对该请求报文的回应报文;若从该回应报文获取到节点信息(如转发节点的ip地址、标签等)和下一跳信息(如转发节点的下一跳的ip地址等),则记录该节点信息和该下一跳信息的对应关系。在一个例子中,入口节点需要使用mplstracert技术,收集转发节点的节点信息时,可以生成用于收集第一个节点的信息的请求报文,并发送请求报文。在入口节点发送请求报文后,若该请求报文的目标节点是转发节点,则转发节点在接收到该请求报文后,可以向入口节点发送针对该请求报文的回应报文,该回应报文可以携带本转发节点的节点信息和下一跳信息。这样,入口节点在接收到该回应报文之后,可以从该回应报文获取到该节点信息和该下一跳信息,并在本地记录该节点信息和该下一跳信息的对应关系。在另一个例子中,入口节点在发送请求报文后,若该请求报文的目标节点是出口节点,则出口节点在接收到该请求报文后,可以向入口节点发送针对该请求报文的回应报文,该回应报文可以携带本出口节点的节点信息;由于出口节点没有对应的下一跳,因此,该回应报文未携带本出口节点的下一跳信息。进一步的,入口节点在接收到针对该请求报文的回应报文后,可以从该回应报文中获取到出口节点的节点信息,并在本地记录出口节点的节点信息。由于该回应报文未携带下一跳信息,因此,入口节点没有从该回应报文中获取到出口节点的下一跳信息,也就不用在本地记录出口节点的下一跳信息。进一步的,入口节点在接收到出口节点发送的回应报文后,则已经收集到转发节点的节点信息和下一跳信息、出口节点的节点信息,因此,入口节点停止请求报文的发送操作,即不再发送请求报文,可以结束信息收集流程。步骤103,若接收到至少两个针对该请求报文的回应报文,则利用至少两个回应报文重新生成请求报文,该请求报文包括至少两个回应报文中的下一跳信息。然后,返回执行发送请求报文,接收针对该请求报文的回应报文的操作。在一个例子中,入口节点在发送请求报文后,还可以为该请求报文启动超时定时器,该超时定时器的超时时间可以根据经验进行配置。在超时定时器超时后,则入口节点可以统计接收到的针对该请求报文的回应报文。其中,若回应报文是至少两个回应报文,即接收到至少两个针对该请求报文的回应报文,则利用所有回应报文重新生成请求报文,在重新生成的请求报文中,可以同时携带所有回应报文中的下一跳信息,然后,返回步骤102。若回应报文是一个回应报文,即只接收到针对该请求报文的一个回应报文,则利用所述一个回应报文重新生成请求报文,在重新生成的请求报文中,可以只携带所述一个回应报文中的下一跳信息然后,然后,返回步骤102。在上述实施例中,当入口节点与出口节点之间的转发节点需要转发接收到的请求报文时,若存在至少两个下一跳,则可以向至少两个下一跳分别发送该请求报文。具体的,针对入口节点与出口节点之间的转发节点,若该转发节点存在至少两个下一跳,则:该转发节点在接收到入口节点发送的请求报文后,若本转发节点是该请求报文的目标节点,则可以向入口节点发送回应报文,该回应报文可以携带本转发节点的节点信息、至少两个下一跳对应的下一跳信息。若本转发节点不是该请求报文的目标节点,则获得至少两个请求报文(请求报文数量与下一跳数量相同),并向至少两个下一跳分别发送获得的请求报文。其中,当转发节点不是请求报文的目标节点时,则需要转发该请求报文。在上述实施例中,所述请求报文可以包括但不限于mplsechorequest(回送请求)报文,所述回应报文可以包括但不限于mplsechoreply(回送应答)报文。基于上述技术方案,本公开实施例中,当入口节点与出口节点之间存在等价路径时,可以使用mplstracert技术收集各节点的节点信息、下一跳信息,利用各节点的节点信息、下一跳信息准确解析入口节点与出口节点之间的路径。基于与上述方法同样的构思,参见图2所示,为本公开实施例中提出的另一个信息收集方法的流程图,该方法可以应用于入口节点与出口节点之间的转发节点,且该转发节点存在至少两个下一跳,该方法可以包括以下步骤:步骤201,接收入口节点发送的请求报文;若本节点是该请求报文的目标节点,则执行步骤202;若本节点不是该请求报文的目标节点,则执行步骤203。步骤202,向入口节点发送针对该请求报文的回应报文;其中,该回应报文可以携带本节点的节点信息、所述至少两个下一跳对应的下一跳信息。步骤203,获得至少两个请求报文,并向至少两个下一跳分别发送获得的请求报文。其中,转发节点获得的请求报文的数量与下一跳的数量相同。在一个例子中,转发节点在接收到所述请求报文后,若该请求报文携带的ttl值是指定数值(如1),则确定本节点是该请求报文的目标节点;若该请求报文携带的ttl值不是指定数值,则确定本节点不是该请求报文的目标节点。在上述实施例中,所述请求报文可以包括但不限于mplsechorequest(回送请求)报文,所述回应报文可以包括但不限于mplsechoreply(回送应答)报文。基于上述技术方案,本公开实施例中,当入口节点与出口节点之间存在等价路径时,可以使用mplstracert技术收集各节点的节点信息、下一跳信息,利用各节点的节点信息、下一跳信息准确解析入口节点与出口节点之间的路径。以下结合图3所示的应用场景,对上述信息收集方法进行说明。参见图3所示,网络设备301是入口节点,网络设备302-网络设备305是转发节点,网络设备306是出口节点。此外,网络设备302存在两个下一跳(即网络设备303和网络设备304),而网络设备303-网络设备305均只存在一个下一跳。如图3所示,网络设备301的管理ip地址为1.1.1.1,接口3011的接口ip地址为11.1.1.1。网络设备302的管理ip地址为2.2.2.2,接口3021的接口ip地址为11.1.1.2,接口3022的接口ip地址为12.1.1.1,接口3023的接口ip地址为14.1.1.1;其它网络设备的管理ip地址和接口ip地址,参见图3,在此不再赘述。在上述应用场景下,为了收集转发节点(如网络设备301到网络设备305)的节点信息(如ip地址、标签等)和下一跳信息、出口节点(如网络设备306)的节点信息(如ip地址、标签等),则信息收集方法可以包括以下步骤:步骤a、网络设备301发送请求报文1,并为请求报文1启动超时定时器1。在网络设备301使用mplstracert技术收集转发节点的节点信息和下一跳信息、出口节点的节点信息时,生成请求报文1,并通过接口3011发送请求报文1。其中,请求报文1的报文类型为udp(userdatagramprotocol,用户数据报协议)类型。在请求报文1的ip头中,源ip地址为接口3011的接口ip地址11.1.1.1,目的ip地址为127.0.0.1(表示一个本机地址),ttl值为1。在请求报文1的udp头中,源端口为可变值x(可以根据需要动态调整,对此不做限制),目的端口为固定值(如3503),这个目的端口表示请求报文1用于执行lspping(labelswitchingpathping,标记交换路径检测),即正在采用mplstracert技术收集各节点的信息。此外,请求报文1还可以携带mplsecho信息,该mplsecho信息可以包括隧道信息,如接口3011对应的标签信息,这个标签信息是网络设备301-网络设备306之间的隧道(如lsp隧道或者te隧道)的标签信息。此外,该mplsecho信息还可以包括接口3021的接口ip地址11.1.1.2。其中,网络设备301在发送请求报文1后,还可以为请求报文1启动超时定时器1,超时定时器1的超时时间可以根据经验进行配置。在超时定时器1超时之后,网络设备301可以统计本设备接收到的针对请求报文1的回应报文。步骤b、网络设备302在接收到请求报文1后,将请求报文1的ttl值减1,由于修改后的ttl值为0,且目的端口为固定值(如3503),因此,确定请求报文1用于执行lspping,并向网络设备301发送针对请求报文1的回应报文1。其中,由于网络设备302通过接口3021接收到请求报文1,且请求报文1中携带有接口3021的接口ip地址11.1.1.2,因此网络设备302发送回应报文1。其中,回应报文1的报文类型为udp类型。在回应报文1的ip头中,源ip地址为接口3021的接口ip地址11.1.1.2,目的ip地址为接口3011的接口ip地址11.1.1.1(请求报文1的源ip地址),ttl值为255。在回应报文1的udp头中,源端口为固定值(如3503),这个源端口表示回应报文1用于执行lspping,目的端口为可变值x(可以根据需要动态调整)。此外,回应报文1还可以携带mplsecho信息,mplsecho信息可以包括网络设备302的节点信息(如网络设备302的管理ip地址、接口ip地址、接口的标签等,对此节点信息不做限制)、网络设备302的下一跳信息,该下一跳信息也可以称为downstream信息。其中,网络设备302的下一跳信息可以包括:接口3022对应的下一跳的ip地址,即网络设备303的接口3031的接口ip地址12.1.1.2;以及,接口3023对应的下一跳的ip地址,即网络设备304的接口3041的接口ip地址14.1.1.2。其中,网络设备302可以基于请求报文1携带的隧道信息(如接口3011对应的标签信息),从本地获取到网络设备302的下一跳信息,对此不做限制。步骤c、在超时定时器1超时后,网络设备301统计接收到的针对请求报文1的回应报文。由于只接收到回应报文1,因此从回应报文1中获取网络设备302的节点信息和下一跳信息,记录节点信息和下一跳信息的对应关系,并利用回应报文1生成请求报文2,发送请求报文2,并为请求报文2启动超时定时器2。其中,网络设备301可以从回应报文1中获取网络设备302的节点信息(如接口3021的接口ip地址11.1.1.2、管理ip地址2.2.2.2、接口3021的标签等)、下一跳信息12.1.1.2和14.1.1.2,并记录表1所示的对应关系。在表1中,是以节点信息为接口ip地址11.1.1.2为例进行说明,对此对应关系的内容不做限制。表1基于表1,ttl为1表示网络设备301的下一跳,11.1.1.2为下一跳的接口ip地址,下一跳到出口节点存在两个下一跳,接口ip地址为12.1.1.2和14.1.1.2。其中,针对利用回应报文1生成请求报文2的过程,该请求报文2中可以携带回应报文1中的下一跳信息,如请求报文2携带12.1.1.2和14.1.1.2。其中,请求报文2的内容与请求报文1的内容类似,不同之处在于:请求报文2的ttl值为2;请求报文2的mplsecho信息包括回应报文1中的下一跳信息,即12.1.1.2和14.1.1.2。对此请求报文2的内容,在此不再重复赘述。步骤d、网络设备302在接收到请求报文2之后,将请求报文2的ttl值减1,得到请求报文3,由于请求报文3的ttl值为1,因此,网络设备302不是请求报文3的目标节点,需要继续转发请求报文3。在转发请求报文3时,由于网络设备302存在两个下一跳(即网络设备303和网络设备304),因此,网络设备302通过接口3022发送请求报文3,并通过接口3023发送请求报文3。其中,网络设备302从请求报文3中解析出目的端口为固定值(如3503)时,确定请求报文3用于执行lspping,并确定需要继续转发请求报文3。其中,网络设备302可以复制(n-1)个请求报文3,在加上将请求报文2的ttl值减1后得到的请求报文3,从而得到n个请求报文3,n为网络设备302的下一跳数量。这样,网络设备302可以向每个下一跳发送一个请求报文3。步骤e、网络设备303在接收到请求报文3后,将请求报文3的ttl值减1,由于修改后的ttl值为0,且目的端口为固定值(如3503),因此,确定请求报文3用于执行lspping,并向网络设备301发送针对请求报文3的回应报文2。网络设备304在接收到请求报文3后,将请求报文3的ttl值减1,由于修改后的ttl值为0,且目的端口为固定值(如3503),因此,确定请求报文3用于执行lspping,并向网络设备301发送针对请求报文3的回应报文3。其中,由于网络设备303通过接口3031接收到请求报文3,且请求报文3中携带有接口3031的接口ip地址12.1.1.2,因此网络设备303发送回应报文2。同理,由于网络设备304通过接口3041接收到请求报文3,且请求报文3中携带有接口3041的接口ip地址14.1.1.2,因此网络设备304发送回应报文2。其中,回应报文2的内容与回应报文1的内容类似,二者的不同之处可以在于:回应报文2的源ip地址为接口3031的接口ip地址12.1.1.2,回应报文2携带的mplsecho信息可以包括网络设备303的节点信息(如管理ip地址、接口ip地址、接口的标签等)、网络设备303的下一跳信息(如接口3032对应的下一跳的ip地址,即网络设备305的接口3051的接口ip地址13.1.1.2)。此外,回应报文3的内容与回应报文1的内容类似,二者的不同之处可以在于:回应报文3的源ip地址为接口3041的接口ip地址14.1.1.2,回应报文3携带的mplsecho信息可以包括网络设备304的节点信息(如管理ip地址、接口ip地址、接口的标签等)、网络设备304的下一跳信息(如接口3042对应的下一跳的ip地址,即网络设备305的接口3052的接口ip地址15.1.1.2)。步骤f、在超时定时器2超时后,网络设备301统计接收到的针对请求报文2的回应报文。由于接收到回应报文2和回应报文3,因此,从回应报文2中获取网络设备303的节点信息和下一跳信息,并记录该节点信息和该下一跳信息的对应关系,从回应报文3中获取网络设备304的节点信息和下一跳信息,并记录该节点信息和该下一跳信息的对应关系。然后,利用回应报文2和回应报文3生成请求报文4,发送请求报文4,并为请求报文4启动超时定时器3。其中,网络设备301获取到网络设备303的节点信息、下一跳信息,网络设备304的节点信息、下一跳信息后,对应关系表参见表2,对此不做限制。表2ttl节点信息下一跳信息111.1.1.212.1.1.2和14.1.1.2212.1.1.213.1.1.2214.1.1.215.1.1.2其中,针对利用回应报文2和回应报文3生成请求报文4的过程,该请求报文4中可以携带回应报文2中的下一跳信息,即13.1.1.2,并可以携带回应报文3中的下一跳信息,即15.1.1.2,例如,请求报文4携带13.1.1.2和15.1.1.2。其中,请求报文4的内容可以与请求报文1的内容类似,其不同之处可以在于:请求报文4的ttl值为3;请求报文4的mplsecho信息包括回应报文2和回应报文3中的下一跳信息,即13.1.1.2和15.1.1.2,对此不再重复赘述。步骤g、网络设备302在接收到请求报文4后,将请求报文4的ttl值减1,得到请求报文5,通过接口3022发送请求报文5,通过接口3023发送请求报文5。网络设备303接收到请求报文5后,将请求报文5的ttl值减1,得到请求报文6,通过接口3032发送请求报文6。网络设备304在接收到请求报文5后,将请求报文5的ttl值减1,得到请求报文7,通过接口3042发送请求报文7。步骤h、网络设备305在接收到请求报文6后,将请求报文6的ttl值减1,由于修改后的ttl值为0,且目的端口为固定值(如3503),因此,向网络设备301发送针对请求报文6的回应报文4。网络设备305在接收到请求报文7后,将请求报文7的ttl值减1,由于修改后的ttl值为0,且目的端口为固定值(如3503),因此,向网络设备301发送针对请求报文7的回应报文5。其中,由于网络设备305通过接口3051接收到请求报文6,且请求报文6中携带有接口3051的接口ip地址13.1.1.2,因此网络设备305发送回应报文4。同理,由于网络设备305通过接口3052接收到请求报文7,且请求报文7中携带有接口3052的接口ip地址15.1.1.2,因此网络设备305发送回应报文5。其中,回应报文4的内容与回应报文1的内容类似,不同之处在于:回应报文4的源ip地址为接口3051的接口ip地址13.1.1.2,回应报文4携带的mplsecho信息可以包括网络设备305的节点信息、网络设备305的下一跳信息(如接口3053对应的下一跳的ip地址,即网络设备306的接口3061的接口ip地址16.1.1.2)。回应报文5的内容与回应报文4的内容类似,只是源ip地址为15.1.1.2。步骤i、在超时定时器3超时后,网络设备301统计接收到的针对请求报文4的回应报文。由于接收到回应报文4和回应报文5,因此,从回应报文4中获取网络设备305的节点信息和下一跳信息,并记录该节点信息和该下一跳信息的对应关系,从回应报文5中获取网络设备305的节点信息和下一跳信息,并记录该节点信息和该下一跳信息的对应关系。然后,利用回应报文4和回应报文5生成请求报文8,发送请求报文8,并为请求报文8启动超时定时器4。其中,网络设备301重新生成的对应关系表参见表3所示,对此不做限制。表3ttl节点信息下一跳信息111.1.1.212.1.1.2和14.1.1.2212.1.1.213.1.1.2214.1.1.215.1.1.2313.1.1.216.1.1.2315.1.1.216.1.1.2其中,针对利用回应报文4和回应报文5生成请求报文8的过程,由于回应报文4和回应报文5携带的下一跳信息均是16.1.1.2,因此请求报文8携带的是16.1.1.2。请求报文8的内容与请求报文1的内容类似,其不同之处可以在于:请求报文8的ttl值为4,且携带下一跳信息16.1.1.2,对此不再重复赘述。步骤j、网络设备302在接收到请求报文8后,将请求报文8的ttl值减1,通过接口3022和接口3023分别发送修改后的请求报文8。网络设备303/网络设备304接收到请求报文后,将请求报文的ttl值减1,通过接口3032/接口3042发送修改后的请求报文。网络设备305接收到请求报文(两个请求报文)后,将请求报文的ttl值减1,通过接口3053发送修改后的请求报文。最终,网络设备306接收到两个请求报文,将两个请求报文称为请求报文9和请求报文10。步骤k、网络设备306在接收到请求报文9后,将请求报文9的ttl值减1,由于ttl值为0,目的端口为固定值,因此向网络设备301发送针对请求报文9的回应报文6。同理,向网络设备301发送针对请求报文10的回应报文7。其中,由于网络设备306通过接口3061接收到请求报文9/10,且请求报文9/10中携带接口3061的接口ip地址16.1.1.2,因此发送回应报文6/回应报文7。其中,回应报文6/7的内容与回应报文1的内容类似,不同之处在于:回应报文6/7的源ip地址为接口3061的接口ip地址16.1.1.2,回应报文6/7携带的mplsecho信息可以包括网络设备306的节点信息,且为携带下一跳信息。步骤l、在超时定时器4超时后,网络设备301统计接收到的针对请求报文8的回应报文。由于接收到回应报文6和回应报文7,且回应报文6与回应报文7的内容相同,因此,从回应报文6中获取网络设备306的节点信息,并记录该节点信息,网络设备301重新生成的对应关系表参见表4所示,对此不做限制。表4ttl节点信息下一跳信息111.1.1.212.1.1.2和14.1.1.2212.1.1.213.1.1.2214.1.1.215.1.1.2313.1.1.216.1.1.2315.1.1.216.1.1.2416.1.1.2由于回应报文6/7没有携带下一跳信息,因此,16.1.1.2就是出口节点的节点信息,停止请求报文的发送操作,结束信息收集流程。至此,网络设备301收集到转发节点的节点信息和下一跳信息、出口节点的节点信息,如表4所示。在上述实施例中,在超时定时器超时后,若网络设备301没有接收到针对请求报文的回应报文,则认为当前这一跳(即ttl值对应的网络设备)不可达,将ttl值加1得到新的请求报文,并发送新的请求报文,继续探测下一跳。在上述实施例中,为不同请求报文启动的超时定时器,各超时定时器的超时时间可以相同,也可以不同。例如,各超时定时器的超时时间与请求报文的ttl值有关,当请求报文的ttl值越大时,则超时定时器的超时时间越大。与上述方式不同的是,在另一个例子中,步骤d中,网络设备302不是通过接口3022和接口3023发送请求报文,而是采用哈希算法,从接口3022和接口3023中选择一个接口,假设选择接口3022发送请求报文,这样,只有网络设备303会发送回应报文,网络设备301再次发送请求报文时,携带的是网络设备303的下一跳信息13.1.1.2,而不会携带网络设备304的下一跳信息15.1.1.2。当网络设备302再次发送请求报文时,可以采用哈希算法,从接口3022和接口3023中选择一个接口,假设选择接口3023发送请求报文。这样,网络设备305通过接口3052接收到请求报文,由于请求报文携带的是接口3051的接口ip地址13.1.1.2,而不是接口3052的接口ip地址15.1.1.2,因此,不会发送正确的回应报文给网络设备301,导致无法正确收集网络设备305的信息。基于与上述方法同样的构思,本公开实施例还提出一种信息收集装置,该装置可以应用于入口节点,如图4所示,为该装置的结构图,该装置可以包括:生成模块401,用于生成用于收集第一个节点的信息的请求报文;发送模块402,用于发送请求报文;接收模块403,用于接收针对所述请求报文的回应报文;处理模块404,用于从所述回应报文获取到节点信息和下一跳信息,并记录所述节点信息和下一跳信息的对应关系;所述生成模块401,还用于当接收到至少两个针对所述请求报文的回应报文时,则利用至少两个回应报文重新生成请求报文,该请求报文包括至少两个回应报文中的下一跳信息;由所述发送模块402发送重新生成的请求报文。所述生成模块401,还用于在所述发送模块402发送请求报文后,为所述请求报文启动超时定时器;在超时定时器超时后,统计接收到的针对所述请求报文的回应报文;若回应报文是至少两个回应报文,则利用至少两个回应报文重新生成请求报文;若回应报文是一个回应报文,则利用所述一个回应报文重新生成请求报文,该请求报文包括所述一个回应报文中的下一跳信息。所述处理模块404,还用于从所述回应报文中获取到所述出口节点的节点信息,并记录所述出口节点的节点信息,并停止请求报文的发送操作。本公开实施例提供的电子设备(如入口节点),从硬件层面而言,其硬件架构示意图可以参见图5所示。包括:机器可读存储介质和处理器,其中:机器可读存储介质:存储有能够被所述处理器执行的机器可执行指令。处理器:与机器可读存储介质通信,读取和执行机器可读存储介质中存储的所述机器可执行指令,实现本公开上述示例公开的信息收集操作。这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:ram(radomaccessmemory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。基于与上述方法同样的构思,本公开实施例还提出一种信息收集装置,该装置可以应用于入口节点与出口节点之间的转发节点,且所述转发节点存在至少两个下一跳,如图6所示,为该装置的结构图,该装置可以包括:接收模块601,用于接收所述入口节点发送的请求报文;发送模块602,用于当本节点是所述请求报文的目标节点时,则向入口节点发送回应报文;所述回应报文携带本节点的节点信息、所述至少两个下一跳对应的下一跳信息;当本节点不是所述请求报文的目标节点时,则获得所述至少两个请求报文,并向所述至少两个下一跳分别发送获得的请求报文。在一个例子中,所述信息收集装置还包括(在图中未视出):确定模块,用于在接收到所述请求报文后,若所述请求报文携带的ttl值是指定数值,则确定本节点是所述请求报文的目标节点;若所述请求报文携带的ttl值不是指定数值,则确定本节点不是所述请求报文的目标节点。本公开实施例提供的电子设备(如转发节点),从硬件层面而言,其硬件架构示意图可以参见图7所示。包括:机器可读存储介质和处理器,其中:机器可读存储介质:存储有能够被所述处理器执行的机器可执行指令。处理器:与机器可读存储介质通信,读取和执行机器可读存储介质中存储的所述机器可执行指令,实现本公开上述示例公开的信息收集操作。这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:ram(radomaccessmemory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本公开时可以把各单元的功能在同一个或多个软件和/或硬件中实现。本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。本领域技术人员应明白,本公开的实施例可提供为方法、系统或计算机程序产品。因此,本公开可以采用完全硬件实施例、完全软件实施例、或者结合软件和硬件方面的实施例的形式。而且,本公开可以采用在一个或者多个其中包含有计算机可用程序代码的计算机可用存储介质(可以包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。以上所述仅为本公开的实施例而已,并不用于限制本公开。对于本领域技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的权利要求范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1