本发明涉及通信领域,尤其涉及一种网络路径探测方法、控制器及网络设备。
背景技术:
vxlan(virtualextensiblelocalareanetwork,虚拟可扩展局域网)是一种新的二层网络,控制器对运行vxlan网络的网络设备进行控制,其中任意两个网络设备间都存在多条等价路径,流量就在这些等价路径中负载分担。若在网络运行过程中,对所有正在使用的链路进行探测,就可以预防可能存在的问题并及时解决,将网络风险降低到最小。
现有的路径探测技术,控制器选择两个固定的ip地址,根据这两个ip地址随机构造探测报文的五元组(源ip、目的ip、源4层端口号、目的4层端口号、协议类型),并将该探测报文下发给源网络设备(源ip对应的网络设备)。之后,源网络设备发送探测报文之前将五元组中的源4层端口号进行算法处理确定出一个物理端口,希望从该物理端口发出该探测报文。将该物理端口与目的网络设备(目的ip对应的网络设备)接收该探测报文的物理端口间的路径确定为一条网络路径。
但是,现有五元组是发送报文之前随机构造的,因此根据其确定的端口号,也有可能并非网络中真实转发探测报文的端口,进而根据该端口确定的网络路径并不是探测报文的真实路径。可见,现有路径探测技术并不能完全确定出vxlan网络中的真实路径。
技术实现要素:
本发明实施提供一种网络路径探测方法、控制器及网络设备,收集网络设备真实流量的五元组信息,以至少解决不能完全确定出vxlan网络中的真实路径的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,公开了一种网络路径探测方法,包括:
首先,控制器向所有的网络设备下发探测指令,指示每一个网络设备接收到该探测指令后获取本地接收流量的五元组信息。这里的网络设备指的是控制器管理下运行在vxlan的网络设备,收到探测指令后网络设备对本地每一个端口进行流量采样、分析每一条流量的五元组信息,合并重复的五元组信息,获得本地接收流量的五元组信息。
其次,所述控制器接收所有网络设备上报的五元组信息,根据接收到的五元组信息确定五元组信息集合,即将接收到的五元组信息中重复的五元组信息进行合并,保证五元组信息集合包括的五元组信息互不相同。其中,所述网络设备上报的五元组信息是所述网络设备根据本地接收流量确定的。也就是说,凡是接收到探测指令的网络设备将获得的五元组信息上报给控制器,以便控制器确定五元组信息集合。
最后,所述控制器根据所述五元组信息集合中的每一条五元组信息构造探测报文,即根据每一条五元组信息组一个探测报文,根据每一个探测报文进行网络路径探测。
现有技术中,探测报文包括的五元组信息是发送该报文之前随机构造的,根据其确定的端口号,也有可能并非网络中真实转发探测报文的端口,因此根据该五元组预测的网络路径并非探测报文的真实路径,可见,目前方案预测的探测报文的网络路径并不能完全代表探测报文的真实路径,并不能完全确定出真实流量在网络中的转发路径。
本发明的方法,控制器通过向各个网络设备下发探测指令,收集网络设备真实流量的五元组信息,并根据真实流量的五元组信息组探测报文,由于五元组信息代表网络中的真实流量,因此根据五元组信息构造的探测报文也可以代表网络中的真实流量。根据该探测报文进行网络路径探测,可以保证探测报文与用户真实的流量转发路径、行为完全一致,探测报文一定可以探测到用户报文经过的路径,保证了路径探测的准确性,以解决探测报文的路径不能完全代表真实流量在网络中的转发路径的问题。
结合第一方面,在第一方面的第一种可能的实现方式中,所述控制器 根据所述五元组信息集合中的每一条五元组信息进行网络路径探测具体包括:
所述控制器首先构造包括第一五元组信息的探测报文;所述第一五元组信息是所述五元组信息集合中的任一条五元组信息。进一步地,控制器还可以将探测报文的报文头的reserve字段设置为指定字符,标识该探测报文用于探测网络路径。
所述控制器向所述第一五元组信息对应的源网络设备发送所述探测报文,其中,所述源网络设备是所述第一五元组信息包括的源ip地址对应的网络设备。另外,源ip地址对应的网络设备收到所述探测报文后会将该探测报文转发给第一五元组信息包括的目的ip地址对应的网络设备;
若所述控制器接收到所述第一五元组信息对应的目的网络设备转发的所述探测报文,则确定所述第一五元组信息对应的路径为可达的网络路径。所述目的网络设备是所述第一五元组信息包括的目的ip地址对应的网络设备。
这样,根据真实流量的五元组信息转发探测报文,控制器将探测报文发送给源网络设备(即源ip地址对应的网络设备),当控制器接收到目的网络设备(即目的ip地址对应的网络设备)回传的该探测报文时,可以确定该五元组信息对应的路径示是一条真实可达的网络路径,进而确定该探测报文代表了一条真实的网络路径。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述控制器根据接收到的五元组信息确定五元组信息集合具体包括:
若所述控制器确定接收到的五元组信息中存在重复的五元组信息,则仅保留一条所述重复的五元组信息,使得所述五元组信息集合包括的五元组信息互不相同。
也就是说,控制器需要对重复的五元组信息进行合并,避免根据同样的五元组信息构造探测报文,进而可以避免根据多个携带相同五元组信息的探测报文进行路径探测,避免造成网络资源的浪费。
结合第一方面或第一方面的第一或第二种可能的实现方式,在第一方面的第一种可能的实现方式中,所述探测指令还可以指示网络设备收集本地接收流量的时间长度,具体地,所述探测指令还包括探测时间长度,指示所述所有网络设备在指定时间窗内获取本地接收流量的五元组信息;所述指定时间窗的时间长度为所述探测时间长度。
第二方面,公开了一种网络路径探测方法,包括:
首先,网络设备接收控制器下发的探测指令。
其次,所述网络设备对本地所有端口进行流量采样,获取本地接收流量的五元组信息,若确定获取到的五元组信息中存在重复的五元组信息,则仅保留一条所述重复的五元组信息。即将获取到的五元组信息中重复的五元组信息进行合并。这里的本地接收流量即所述网络设备本地所有端口的接收到的流量。
最后,所述网络设备向所述控制器上报五元组信息,所述网络设备上报的五元组信息互不相同。
现有技术中,探测报文包括的五元组信息是发送该报文之前随机构造的,根据其确定的端口号,也有可能并非网络中真实转发探测报文的端口,因此根据该五元组预测的网络路径并非探测报文的真实路径,可见,目前方案预测的探测报文的网络路径并不能完全代表探测报文的真实路径,并不能完全确定出真实流量在网络中的转发路径。
本发明的方法,控制器通过向各个网络设备下发探测指令,收集网络设备真实流量的五元组信息,并根据真实流量的五元组信息组探测报文,由于五元组信息代表网络中的真实流量,因此根据五元组信息构造的探测报文也可以代表网络中的真实流量。根据该探测报文进行网络路径探测,就可以探测到网络中真实流量的转发路径,以解决探测报文的路径不能完全代表真实流量在网络中的转发路径的问题。
结合第二方面,在第二方面的第一种可能的实现方式中,若所述网络设备为源网络设备,所述方法还包括:
所述源网络设备接收所述控制器发送的探测报文,并向目的网络设备 转发所述探测报文;所述源网络设备为所述探测报文的五元组信息中的源ip地址对应的网络设备,所述目的网络设备是所述探测报文的五元组信息中的目的ip地址对应的网络设备。
这样,根据真实流量的五元组信息转发探测报文,控制器将探测报文发送给源网络设备(即源ip地址对应的网络设备),当控制器接收到目的网络设备(即目的ip地址对应的网络设备)回传的该探测报文时,可以确定该五元组信息对应的路径示是一条真实可达的网络路径,进而确定该探测报文代表了一条真实的网络路径。
结合第二方面,在第二方面的第二种可能的实现方式中,若所述网络设备为目的网络设备,所述方法还包括:
所述目的网络设备接收源网络设备转发的探测报文;所述源网络设备为所述探测报文的五元组信息中的源ip地址对应的网络设备;
所述目的网络设备确定入端口信息;向所述控制器上报所述探测报文以及所述入端口信息。这里的入端口即所述目的网络设备接收所述探测报文的物理端口。目的网络设备将入端口信息上报给控制器,控制器可以将源网络设备发送该探测报文的物理端口与所述入端口信息对应的物理端口间的路径确定为一条真实的网络路径。
同样,控制器将包括真实流量的五元组信息的探测报文发送给源网络设备(即源ip地址对应的网络设备),当控制器接收到目的网络设备(即目的ip地址对应的网络设备)回传的该探测报文时,可以确定该五元组信息对应的路径示是一条真实可达的网络路径,进而确定该探测报文代表了一条真实的网络路径。
第三方面,公开了一种控制器,包括:
发送单元,用于向所有网络设备下发探测指令,指示每一个网络设备获取本地接收流量的五元组信息;
接收单元,用于接收所有网络设备上报的五元组信息;所述网络设备上报的五元组信息是所述网络设备根据本地接收流量确定的;
确定单元,用于根据所述接收单元接收到的五元组信息确定五元组信 息集合,所述五元组信息集合包括的五元组信息互不相同;
路径探测单元,用于根据所述确定单元确定的所述五元组信息集合中的每一条五元组信息构造探测报文,进行网络路径探测。
结合第三方面,在第三方面的第一种可能的实现方式中,所述路径探测单元具体用于,根据所述确定单元确定的第一五元组信息构造探测报文;所述探测报文携带所述第一五元组信息,所述第一五元组信息是所述五元组信息集合中的任一条五元组信息;
通过所述发送单元向所述第一五元组信息对应的源网络设备发送所述探测报文;所述源网络设备是所述第一五元组信息包括的源ip地址对应的网络设备;
若所述接收单元接收到所述第一五元组信息对应的目的网络设备转发的所述探测报文,则确定所述第一五元组信息对应的路径为可达的网络路径;所述目的网络设备是所述第一五元组信息包括的目的ip地址对应的网络设备。
结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述确定单元具体用于,确定接收到的五元组信息中存在重复的五元组信息,则仅保留一条所述重复的五元组信息,使得所述五元组信息集合包括的五元组信息互不相同。
结合第三方面或第三方面的第一或第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述探测指令还包括探测时间长度,指示所述所有网络设备在指定时间窗内获取本地接收流量的五元组信息;所述指定时间窗的时间长度为所述探测时间长度。
第四方面,公开了一种网络设备,包括:
接收单元,用于接收控制器下发的探测指令;
采样单元,用于对本地所有端口进行流量采样,获取本地接收流量的五元组信息;
确定单元,用于确定所述采样单元获取到的五元组信息中存在重复的五元组信息,则仅保留一条所述重复的五元组信息;
发送单元,用于向所述控制器上报所述确定单元确定的五元组信息,所述网络设备上报的五元组信息互不相同。
结合第四方面,在第四方面的第一种可能的实现方式中,若所述网络设备为源网络设备,
所述接收单元还用于,接收所述控制器发送的探测报文;
所述发送单元还用于,向目的网络设备转发所述探测报文;
其中,所述源网络设备为所述探测报文的五元组信息中的源ip地址对应的网络设备,所述目的网络设备是所述探测报文的五元组信息中的目的ip地址对应的网络设备。
结合第四方面,在第四方面的第二种可能的实现方式中,若所述网络设备为目的网络设备,所述接收单元还用于,接收源网络设备转发的探测报文;所述源网络设备为所述探测报文的五元组信息中的源ip地址对应的网络设备;
所述确定单元还用于,确定入端口信息;
所述发送单元还用于,向所述控制器上报所述探测报文以及所述入端口信息。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的vxlan组网示意图;
图2为本发明实施例提供的路径探测系统图;
图3为本发明实施例1提供的网络路径探测方法的流程示意图;
图4为本发明实施例1提供的另一网络路径探测方法的流程示意图;
图5为本发明实施例2提供的控制器的结构框图;
图6为本发明实施例3提供的网络设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
vxlan是一种新的二层协议,主要用于构建大规模二层网络。如图1所示,是vxlan网络的典型组网示意图。通常,vxlan网络规模较大,网络中任意两个网络设备间都存在多条等价的网络路径,两个网络设备间的流量通过这些等价的网络路径进行分流。在网络运行过程中,我们希望可以需要对网络中所有正在使用的链路可能存在的网络路径进行探测,以便确定出存在问题的路径,及时解决,预防可能存在的问题,将其对网络整体的影响降低到最小。
现有的路径探测技术,选择两个固定的ip地址,一般是vxlan节点(即vxlan网络中运行的网络设备)的vtep地址,在这两个ip地址间构造ip单播流量,通过将流量的4层端口号顺序变化,使其按不同的路径时行负载分担。当发送的流量足够多时,通过这种方式可以覆盖大部分路径。
当前的方案,是在探测报文发送之前构造该探测报文的五元组(源ip、目的ip、源4层端口号、目的4层端口号、协议类型),实际上该探测报文有可能不是从该五元组确定的端口发出,因此根据该五元组预测的网络路径,可能并非探测报文在在网络中真实的转发行为。可见,现有技术中探测报文与用户真实的流量转发路径可能不一致,路径探测的准确性不高。
另外,当网络规模庞大,尤其是网络级数较多时(如:三级胖树),就算遍历大量的4层端口号,也无法做到覆盖所有路径。也就是可能网络中某条路径有流量转发,但探测报文却探测不到。
本发明的原理在于,指示网络中的所有网络设备获取本地真实流量的 五元组信息,并向控制器上报获取到的五元组信息。控制器使用五元组信息构造的探测报文的转发路径也就可以覆盖所有用户流量经过的路径,保证探测报文与用户真实的流量转发路径、行为完全一致,保证只要有用户报文经过的路径,探测流量必然可以探测到。另外,只要保证这些路径转发行为正常,就可以保证用户的流量转发正常。
进一步地,图1中的控制器10包括:处理器101、发射器102、接收器103以及存储器104。将一条网络路径对应的两个网络设备区分为源网络设备20以及目的网络设备30。其中,源网络设备20包括:处理器201、发射器202、接收器203以及存储器204;目的网络设备30包括:处理器301、发射器302、接收器303以及存储器304。
参考图2,在本发明提供的网络路径探测方法中:s1.控制器首先通过发射器102向各个网络设备(如:源网络设备20、目的网络设备30)下发探测指令。
s2.接收器203、接收器303接收到探测指令之后,处理器201、处理器301开始分别收集本地端口的流量,获取本地接收流量的五元组信息。
s3.源网络设备20、目的网络设备30分别通过发射器202、发射器302向控制器10发送获取到的五元组信息。控制器10通过接收器103接收到所有网络设备上报的五元组信息。
s4.控制器10的处理器101还会根据接收到的五元组信息确定五元组信息集合,即将接收到的五元组信息中重复的五元组信息进行合并,保证五元组信息集合包括的五元组信息互不相同。
s5.控制器10根据所述五元组信息集合中的每一条五元组信息构造探测报文,即根据每一条五元组信息组一个探测报文,根据每一个探测报文进行网络路径探测。具体实现中,控制器通过发射器102将探测报文发送给源网络设备20,源网络设备20接收到该报文后进行正常的报文转发。
需要说明的是,本发明实施例中的处理器可以为中央处理器(英文:centralprocessingunit,缩写:cpu)。
接收器可以由光接收器,电接收器,无线接收器或其任意组合实现。例如,光接收器可以是小封装可插拔(英文:smallform-factorpluggabletransceiver,缩写:sfp)接收器(英文:transceiver),增强小封装可插拔(英文:enhancedsmallform-factorpluggable,缩写:sfp+)接收器或10吉比特小封装可插拔(英文:10gigabitsmallform-factorpluggable,缩写:xfp)接收器。电接收器可以是以太网(英文:ethernet)网络接口控制器(英文:networkinterfacecontroller,缩写:nic)。无线接收器可以是无线网络接口控制器(英文:wirelessnetworkinterfacecontroller,缩写:wnic)。
同样,发射器可以由光发射器,电发射器,无线发射器或其任意组合实现。例如,光发射器可以是小封装可插拔发射器,增强小封装可插拔发射器或10吉比特小封装可插拔发射器。电发射器可以是以太网(英文:ethernet)网络接口控制器。无线发射器可以是无线网络接口控制器。
存储器,用于存储程序代码,并将该程序代码传输给该处理器,根据程序代码执行下述指令。存储器可以包括易失性存储器(英文:volatilememory),例如随机存取存储器(英文:random-accessmemory,缩写:ram);存储器也可以包括非易失性存储器(英文:non-volatilememory),例如只读存储器(英文:read-onlymemory,缩写:rom),快闪存储器(英文:flashmemory),硬盘(英文:harddiskdrive,缩写:hdd)或固态硬盘(英文:solid-statedrive,缩写:ssd)。存储器还可以包括上述种类的存储器的组合。
这里,处理器可以是上述处理器101或处理器102或处理器101。存储器可以是上述存储器104或存储器204或存储器304。接收器可以是接收器103或接收器203或接收器303。发射器可以是发射器102或发射器202或发射器302。
实施例1:
本发明实施例提供一种网络路径探测方法,为方便理解本实施例以vxlan网络中的一对网络设备(源网络设备、目的网络设备)为例,参考图3,所述方法包括以下步骤:
401、控制器向所有的网络设备下发探测指令,指示每一个网络设备接收到该探测指令后获取本地接收流量的五元组信息。
这里的网络设备指的是控制器管理下运行在vxlan的网络设备,收到探测指令后网络设备对本地每一个端口进行流量采样、分析每一条流量的五元组信息,合并重复的五元组信息,获得本地接收流量的五元组信息。
需要说明的是,所述探测指令还可以指示网络设备收集本地接收流量的时间长度,具体地,所述探测指令还包括探测时间长度,指示所述所有网络设备在指定时间窗内获取本地接收流量的五元组信息;所述指定时间窗的时间长度为所述探测时间长度。
402、网络设备对本地所有端口进行流量采样,获取本地接收流量的五元组信息,并向控制器上报获取到的五元组信息。
这里的网络设备可以是控制器管理下运行在vxlan的网络设备,在本实施例中,为方便理解特指图3所示的源网络设备和目的网络设备。
具体实现中,网络设备以一定比例将采集到的流量上报到本地的处理器进行数据分析,获取到本地真实流量的五元组信息。另外,将重复的五元组信息进行合并。由于这里网络设备是根据本地真实流量获取五元组信息的,因此获取到的五元组信息可以代表网络设备本地的真实流量。
403、控制器接收所有网络设备上报的五元组信息,根据接收到的五元组信息确定五元组信息集合。
具体实现中,控制器将接收到的五元组信息中重复的五元组信息进行合并,保证五元组信息集合包括的五元组信息互不相同。也就是说,若所述控制器确定接收到的五元组信息中存在重复的五元组信息,则仅保留一条所述重复的五元组信息,使得所述五元组信息集合包括的五元组信息互不相同。这样,可以避免根据同样的五元组信息构造探测报文,进而可以避免根据多个携带相同五元组信息的探测报文进行路径探测,避免造成网络资源的浪费。
其中,所述网络设备上报的五元组信息是所述网络设备根据本地接收流量确定的。也就是说,凡是接收到探测指令的网络设备将获得的五元组 信息上报给控制器,以便控制器确定五元组信息集合。另外,由于每个网络设备上报的都是其本地的真实流量的五元组信息,那么控制器根据各个网络设备上报的五元组信息确定的五元组信息集合中的每一条五元组信息也代表网络中的真实流量。
404、控制器根据所述五元组信息集合中的每一条五元组信息进行网络路径探测。
具体实现中,即控制器根据每一条五元组信息构造探测报文,根据每一个探测报文进行路径探测。具体地,并将该探测报文发送给该探测报文对应的源网络设备,即该探测报文包括的五元组信息中的源ip地址对应的网络设备,该网络神接收该探测报文后进行正常报文转发。
进一步地,参考图4,步骤404控制器根据所述五元组信息集合中的每一条五元组信息进行网络路径探测具体包括以下步骤:
4041、控制器首先构造包括第一五元组信息的探测报文。
所述第一五元组信息是所述五元组信息集合中的任一条五元组信息。进一步地,控制器还可以将探测报文的报文头的reserve字段设置为指定字符,标识该探测报文用于探测网络路径。
4042、控制器向所述第一五元组信息对应的源网络设备发送所述探测报文。
其中,所述源网络设备是所述第一五元组信息包括的源ip地址对应的网络设备。
4043、源ip地址对应的网络设备收到所述探测报文后会将该探测报文转发给第一五元组信息对应的目的网络设备。
其中,所述目的网络设备是所述第一五元组信息包括的目的ip地址对应的网络设备。
另外,源ip地址对应的网络设备还会将该探测报文复制,并保存在本地存储器中。
4044、目的网络设备接收源网络设备转发的探测报文,并向所述控制器上报所述探测报文以及所述入端口信息。
4045、若所述控制器接收目的网络设备转发的所述探测报文,则确定所述第一五元组信息对应的路径为可达的网络路径。
这样,根据真实流量的五元组信息转发探测报文,控制器将探测报文发送给源网络设备(即源ip地址对应的网络设备),当控制器接收到目的网络设备(即目的ip地址对应的网络设备)回传的该探测报文时,可以确定该五元组信息对应的路径示是一条真实可达的网络路径,进而确定该探测报文代表了一条真实的网络路径。
本发明提供的方法,控制器通过向各个网络设备下发探测指令,收集网络设备真实流量的五元组信息,并根据真实流量的五元组信息组探测报文,由于五元组信息代表网络中的真实流量,因此根据五元组信息构造的探测报文也可以代表网络中的真实流量。根据该探测报文进行网络路径探测,可以保证探测报文与用户真实的流量转发路径、行为完全一致,探测报文一定可以探测到用户报文经过的路径,保证了路径探测的准确性,以解决探测报文的路径不能完全代表真实流量在网络中的转发路径的问题。
实施例2:
第三方面,公开了一种控制器,如图5所述,所述控制器包括:发送单元501、接收单元502、确定单元503以及路径探测单元504。
发送单元501,用于向所有网络设备下发探测指令,指示每一个网络设备获取本地接收流量的五元组信息;
接收单元502,用于接收所有网络设备上报的五元组信息;所述网络设备上报的五元组信息是所述网络设备根据本地接收流量确定的;
确定单元503,用于根据接收单元502接收到的五元组信息确定五元组信息集合,所述五元组信息集合包括的五元组信息互不相同;
路径探测单元504,用于根据确定单元503确定的所述五元组信息集合中的每一条五元组信息构造探测报文,进行网络路径探测。
所述路径探测单元504具体用于,根据所述确定单元503确定的第一五元组信息构造探测报文;所述探测报文携带所述第一五元组信息,所述第一五元组信息是所述五元组信息集合中的任一条五元组信息;
通过所述发送单元501向所述第一五元组信息对应的源网络设备发送所述探测报文;所述源网络设备是所述第一五元组信息包括的源ip地址对应的网络设备;
若所述接收单元502接收到所述第一五元组信息对应的目的网络设备转发的所述探测报文,则确定所述第一五元组信息对应的路径为可达的网络路径;所述目的网络设备是所述第一五元组信息包括的目的ip地址对应的网络设备。
所述确定单元503具体用于,确定接收到的五元组信息中存在重复的五元组信息,则仅保留一条所述重复的五元组信息,使得所述五元组信息集合包括的五元组信息互不相同。
需要说明的是,所述探测指令还包括探测时间长度,指示所述所有网络设备在指定时间窗内获取本地接收流量的五元组信息;所述指定时间窗的时间长度为所述探测时间长度。
另外,本实施例中的发送单元501可以为控制器的发射器102;接收单元502可以是控制器的接收器103,发射器102也可以与接收器103集成在一起形成收发器。另外。确定单元503可以为单独设立的处理器101,也可以集成在控制器的某一个处理器中实现,此外,也可以程序代码的形式存储于控制器的存储器104中,由控制器的某一个处理器调用并执行以上确定单元503的功能。路径探测单元可以由发射器102与接收器103共同实现,其中发送功能由发射器102实现,接收功能由接收器103实现。
本发明提供的控制器,通过向各个网络设备下发探测指令,收集网络设备真实流量的五元组信息,并根据真实流量的五元组信息组探测报文,由于五元组信息代表网络中的真实流量,因此根据五元组信息构造的探测报文也可以代表网络中的真实流量。根据该探测报文进行网络路径探测,可以保证探测报文与用户真实的流量转发路径、行为完全一致,探测报文一定可以探测到用户报文经过的路径,保证了路径探测的准确性,以解决探测报文的路径不能完全代表真实流量在网络中的转发路径的问题。
实施例3:
本发明实施例提供了一种网络设备,如图6所示,所述网络设备包括:接收单元601、采样单元602、确定单元603以及发送单元604。
接收单元601,用于接收控制器下发的探测指令。
采样单元602,用于对本地所有端口进行流量采样,获取本地接收流量的五元组信息。
确定单元603,用于确定所述采样单元602获取到的五元组信息中存在重复的五元组信息,则仅保留一条所述重复的五元组信息。
发送单元604,用于向所述控制器上报所述确定单元确定的603五元组信息,所述网络设备上报的五元组信息互不相同。
若所述网络设备为源网络设备,所述接收单元601还用于,接收所述控制器发送的探测报文;所述发送单元604还用于,向目的网络设备转发所述探测报文。
其中,所述源网络设备为所述探测报文的五元组信息中的源ip地址对应的网络设备,所述目的网络设备是所述探测报文的五元组信息中的目的ip地址对应的网络设备。
若所述网络设备为目的网络设备,所述接收单元601还用于,接收源网络设备转发的探测报文;所述源网络设备为所述探测报文的五元组信息中的源ip地址对应的网络设备。
所述确定单元603还用于,确定入端口信息。
所述发送单元604还用于,向所述控制器上报所述探测报文以及所述入端口信息。
另外,本实施例中的发送单元604可以为网络设备的发射器;接收单元601可以是网络设备的接收器,发射器也可以与接收器集成在一起形成收发器。另外。采样单元602、确定单元603可以为单独设立的处理器,也可以集成在网络设备的某一个处理器中实现,此外,也可以程序代码的形式存储于网络设备的存储器中,由网络设备的某一个处理器调用并执行以上采样单元602、确定单元603的功能。
本发明提供的网络设备,接收控制器下发的探测指令,收集本地真实 流量的五元组信息,并想控制器上报,以便控制器根据真实流量的五元组信息组探测报文,由于五元组信息代表网络中的真实流量,因此根据五元组信息构造的探测报文也可以代表网络中的真实流量。根据该探测报文进行网络路径探测,可以保证探测报文与用户真实的流量转发路径、行为完全一致,探测报文一定可以探测到用户报文经过的路径,保证了路径探测的准确性,以解决探测报文的路径不能完全代表真实流量在网络中的转发路径的问题。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。