CN113765807A - 网络流量可视化的方法、装置、系统、及介质 - Google Patents
网络流量可视化的方法、装置、系统、及介质 Download PDFInfo
- Publication number
- CN113765807A CN113765807A CN202011047500.2A CN202011047500A CN113765807A CN 113765807 A CN113765807 A CN 113765807A CN 202011047500 A CN202011047500 A CN 202011047500A CN 113765807 A CN113765807 A CN 113765807A
- Authority
- CN
- China
- Prior art keywords
- monitoring
- forwarding
- network
- message
- network device
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了一种网络流量可视化的方法。所述方法包括:获取数据报文经过N个网络设备传输时由N个所述网络设备各自发送的监控报文,以得到N个所述监控报文;其中,一个所述监控报文包括所述数据报文达到一个所述网络设备的进入接口时与所述进入接口对应的进接口MAC地址,以及所述数据报文从所述网络设备的转发接口转发出去时与所述转发接口的转发目的地对应的转发地MAC地址,其中,N为大于1的整数;以及基于不同的所述监控报文中的所述进接口MAC地址和所述转发地MAC地址的对比,确定N个所述网络设备的连接关系,以得到所述数据报文经N个所述网络设备传输的传输路径。本公开还提供了一种网络流量可视化的装置、系统、及计算机可读存储介质。
Description
技术领域
本公开涉及互联网技术领域,更具体地,涉及一种网络流量可视化的方法、装置、系统、及介质。
背景技术
网络流量可视化可以展示流量在网络内部各个网络设备之间的传输路径,可以用于排查问题,方便运维定位网络运行状态。现有技术中在实现网络流量可视化时,通常需要预先获知网络的物理拓扑,根据网络的物理拓扑再结合传输数据报文所使用到的网络设备,得到数据报文经过网络设备的先后顺序。然而,获取网络的物理拓扑存在一定的复杂性和开发量,给获知网络流量可视化带来了困难。
发明内容
有鉴于此,本公开实施例提供了一种不需要依赖网络的物理拓扑就可以得到数据报文的传输路径的网络流量可视化的方法、装置、系统、及计算机可读存储介质。
本公开实施例的第一方面,提供了一种网络流量可视化的方法,应用于监控服务器。所述方法包括:获取数据报文经过N个网络设备传输时由N个所述网络设备各自发送的监控报文,以得到N个所述监控报文;其中,一个所述监控报文包括所述数据报文达到一个所述网络设备的进入接口时与所述进入接口对应的进接口MAC地址,以及所述数据报文从所述网络设备的转发接口转发出去时与所述转发接口的转发目的地对应的转发地MAC地址,其中,N为大于1的整数;以及基于不同的所述监控报文中的所述进接口MAC地址和所述转发地MAC地址的对比,确定N个所述网络设备的连接关系,以得到所述数据报文经N个所述网络设备传输的传输路径。
根据本公开的实施例,所述基于不同的所述监控报文中的所述进接口MAC地址和所述转发地MAC地址的对比,确定N个所述网络设备的连接关系包括:以N个所述监控报文中的任意一个报文作为第一监控报文,从N个所述监控报文中除所述第一监控报文之外的N-1个所述监控报文中,确定出与所述第一监控报文中的所述进接口MAC地址和所述转发地MAC地址中的任意一个MAC地址的信息相同的R个第二监控报文,其中,R为整数,且0≤R≤2;以及确定发送所述第一监控报文的第一网络设备和发送R个所述第二监控报文的R个第二网络设备属于同一个物理连接,其中,所述第一网络设备和R个所述第二网络设备属于N个所述网络设备。
根据本公开的实施例,所述确定发送所述第一监控报文的第一网络设备和发送R个所述第二监控报文的R个第二网络设备属于同一个物理连接包括:当所述第二监控报文中的所述转发地MAC地址与所述第一监控报文中的所述进接口MAC地址的信息相同时,确定发送所述第二监控报文的所述第二网络设备为所述第一网络设备的上游设备;以及当所述第二监控报文中的所述进接口MAC地址与所述第一监控报文中的所述转发地MAC地址的信息相同时,确定发送所述第二监控报文的所述第二网络设备为所述第一网络设备的下游设备。
根据本公开的实施例,所述确定发送所述第一监控报文的第一网络设备和发送R个所述第二监控报文的R个第二网络设备属于同一个物理连接,包括当R=1且不存在与所述第一监控报文中的所述进接口MAC地址的信息相同的所述监控报文时,将所述第一网络设备作为所述物理连接的第一跳网络设备。
根据本公开的实施例,所述确定发送所述第一监控报文的第一网络设备和发送R个所述第二监控报文的R个第二网络设备属于同一个物理连接,包括当R=1且不存在与所述第一监控报文中的所述转发地MAC地址的信息相同的所述监控报文时,将所述第一网络设备作为所述物理连接的最后一跳网络设备。
根据本公开的实施例,每个所述监控报文还包括所述数据报文的五元组信息。所述方法还包括基于每个所述监控报文中包含的所述数据报文的五元组信息,识别出N个所述网络设备针对同一个所述数据报文发送的N个所述监控报文。
本公开实施例的第二方面,提供了一种网络流量可视化的方法,应用于网络设备。所述方法包括:响应于数据报文的转发,生成监控报文,所述监控报文包括所述数据报文达到所述网络设备的进入接口时与所述进入接口对应的进接口MAC地址,以及所述数据报文从所述网络设备的转发接口转发出去时与所述转发接口的转发目的地对应的转发地MAC地址;以及向监控服务器发送所述监控报文。
本公开实施例的第三方面,提供了一种网络流量可视化的装置。所述装置设置于监控服务器,包括监控报文获取模块和传输路径确定模块。监控报文获取模块用于获取数据报文经过N个网络设备传输时由N个所述网络设备各自发送的监控报文,以得到N个所述监控报文;其中,一个所述监控报文包括所述数据报文达到一个所述网络设备的进入接口时与所述进入接口对应的进接口MAC地址,以及所述数据报文从所述网络设备的转发接口转发出去时与所述转发接口的转发目的地对应的转发地MAC地址,其中,N为大于1的整数。传输路径确定模块用于基于不同的所述监控报文中的所述进接口MAC地址和所述转发地MAC地址的对比,确定N个所述网络设备的连接关系,以得到所述数据报文经N个所述网络设备传输的传输路径。
根据本公开的实施例,所述装置还可以包括监控报文识别模块。所述监控报文识别模块用于在每个所述监控报文还包括所述数据报文的五元组信息时,基于每个所述监控报文中包含的所述数据报文的五元组信息,识别出N个所述网络设备针对同一个所述数据报文发送的N个所述监控报文。
本公开实施例的第四方面,提供了一种网络流量可视化的装置。所述装置设置于网络设备。所述装置包括监控报文生成模块、以及监控报文发送模块。监控报文生成模块用于响应于数据报文的转发,生成监控报文,所述监控报文包括所述数据报文达到所述网络设备的进入接口时与所述进入接口对应的进接口MAC地址,以及所述数据报文从所述网络设备的转发接口转发出去时与所述转发接口的转发目的地对应的转发地MAC地址。监控报文发送模块用于向监控服务器发送所述监控报文。
本公开实施例的第五方面,提供了一种网络流量可视化的系统。包括N个网络设备和监控服务器。每个所述网络设备执行如上第二方面所述的应用于网络设备的网络流量可视化的方法。所述监控服务器执行如上第一方面所述的应用于监控服务器的网络流量可视化的方法,以得到数据报文经N个所述网络设备传输的传输路径。
本公开实施例的第六方面,提供了一种网络流量可视化的系统。所述系统包括一个或多个存储器、以及一个或多个处理器。所述存储器上存储有计算机可执行指令。所述处理器执行所述指令,以实现如上第一方面或第二方面所述的方法。
本公开实施例的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上第一方面或第二方面所述的方法。
本公开实施例的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上第一方面或第二方面所述的方法。
上述一个或多个实施例具有如下优点或益效果:可以至少部分地解决现有技术中在没有获得网络的物理拓扑的情况下就难以得到数据报文在网络中的传输路径的问题,并因此可以实现不需要依赖网络的物理拓扑就可以得到数据报文传输的可视化路径,降低获取网络物理拓扑的复杂度,减少开发工作的技术效果。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的网络流量可视化的系统的框图;
图2示意性示出了根据本公开实施例的设置于网络设备的网络流量可视化的装置的框图;
图3示意性示出了根据本公开实施例的应用于网络设备的网络流量可视化的方法的流程图;
图4示意性示出了根据本公开实施例的设置于监控服务器的网络流量可视化的装置的框图;
图5示意性示出了根据本公开实施例的应用于监控服务器的网络流量可视化的方法的流程图;
图6示意性示出了根据本公开实施例的网络流量可视化的方法中确定N个所述网络设备的连接关系的方法流程;
图7示意性示出了根据本公开实施例的网络流量可视化的一个应用场景;以及
图8示意性示出了适于实现根据本公开实施例的网络流量可视化的计算机系统的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
图1示意性示出了根据本公开实施例的网络流量可视化的系统100的框图。
如图1所示,该系统100可以包括监控服务器101、以及N个网络设备102(即,网络设备1、网络设备2、…、网络设备N)。
网络设备1、网络设备2、…、网络设备N中的每个网络设备102中可以设置有参考如下图2所描述的网络流量可视化的装置200。每个网络设备102在转发一个数据报文的同时,可以响应于该数据报文的转发,生成监控报文,然后向监控服务器101发送该监控报文。其中,该监控报文可以包括该数据报文达到网络设备102的进入接口时与进入接口对应的进接口MAC地址,以及该数据报文从该网络设备102的转发接口转发出去时与该转发接口的转发目的地对应的转发地MAC地址。
监控服务器101中可以设置有参考如下图3所描述的网络流量可视化的装置400,可以获取到网络设备1、网络设备2、…、网络设备N中的每个网络设备102发送的监控报文,并基于不同的监控报文中的进接口MAC地址和转发地MAC地址的对比,确定网络设备1、网络设备2、…、网络设备N的连接关系,进而得到数据报文经网络设备1、网络设备2、…、网络设备N传输的传输路径。例如,当一个监控报文中的转发地MAC地址与另一个监控报文中的进接口MAC地址的信息一致时,这两个报文对应的网络设备102就属于同一个物理连接,而且在传输该数据报文的过程中处于上下游位置。
以此方式,本公开实施例可以不需要依赖网络的物理拓扑就可以得到数据报文传输的可视化路径,降低获取网络物理拓扑的复杂度,减少开发工作。
图2示意性示出了根据本公开实施例的设置于网络设备的网络流量可视化的装置200的框图。
如图2所示,根据本公开的实施例,该网络流量可视化的装置200可以包括监控报文生成模块210、以及监控报文发送模块220。
监控报文生成模块210用于响应于数据报文的转发,生成监控报文,监控报文包括数据报文达到网络设备的进入接口时与进入接口对应的进接口MAC地址,以及数据报文从网络设备的转发接口转发出去时与转发接口的转发目的地对应的转发地MAC地址。
监控报文发送模块220用于向监控服务器发送监控报文。
图3示意性示出了根据本公开实施例的应用于网络设备的网络流量可视化的方法的流程图。
如图3所示,根据该实施例的方法可以包括操作S301和操作S302。该方法可以由装置200来执行。
首先在操作S301,监控报文生成模块210可以响应于数据报文的转发,生成监控报文,该监控报文包括该数据报文达到该网络设备的进入接口时与该进入接口对应的进接口MAC地址,以及该数据报文从该网络设备的转发接口转发出去时与该转发接口的转发目的地对应的转发地MAC地址。例如,在监控报文的元数据字段(Meta Data)中增加IngressPort mac和Egress Port Dst mac两个字段的信息,其中,Ingress Port mac中记录进接口MAC地址,Egress Port Dst mac中记录转发地MAC地址,从而实现在监控报文中封装进接口MAC地址和转发地MAC地址的目的。
然后在操作S302,监控报文发送模块220可以向监控服务器发送该监控报文。
图4示意性示出了根据本公开实施例的设置于监控服务器的网络流量可视化的装置400的框图。
如图4所示,根据本公开的实施例,该网络流量可视化的装置400可以包括监控报文获取模块410和传输路径确定模块420。根据本公开的另一实施例,该装置400还可以进一步包括监控报文识别模块430。
监控报文获取模块410用于获取数据报文经过N个网络设备传输时由N个网络设备各自发送的监控报文,以得到N个监控报文;其中,一个监控报文包括数据报文达到一个网络设备的进入接口时与进入接口对应的进接口MAC地址,以及数据报文从网络设备的转发接口转发出去时与转发接口的转发目的地对应的转发地MAC地址,其中,N为大于1的整数。
传输路径确定模块420用于基于不同的监控报文中的进接口MAC地址和转发地MAC地址的对比,确定N个网络设备的连接关系,以得到数据报文经N个网络设备传输的传输路径。
监控报文识别模块430用于在每个监控报文还包括数据报文的五元组信息时,基于每个监控报文中包含的数据报文的五元组信息,从监控服务器101获取到的大量监控报文中识别出N个网络设备针对同一个数据报文发送的N个监控报文。
图5示意性示出了根据本公开一实施例的应用于监控服务器的网络流量可视化的方法的流程图。
如图5所示,根据该实施例的网络流量可视化的方法可以包括操作S501~操作S502。
在操作S501,监控报文获取模块410获取数据报文经过N个网络设备传输时由N个网络设备各自发送的监控报文,以得到N个监控报文。其中,一个监控报文包括该数据报文达到一个网络设备的进入接口时与该进入接口对应的进接口MAC地址,以及该数据报文从该网络设备的转发接口转发出去时与该转发接口的转发目的地对应的转发地MAC地址,其中,N为大于1的整数。
在操作S502,传输路径确定模块420可以基于不同的监控报文中的进接口MAC地址和转发地MAC地址的对比,确定N个网络设备的连接关系,以得到数据报文经N个网络设备传输的传输路径。
在一些实施例中,每个监控报文还可以包括数据报文的五元组信息。在操作S501之前还可以由监控报文识别模块430基于每个监控报文中包含的数据报文的五元组信息,从大量的监控报文中识别出N个网络设备针对同一个数据报文发送的N个监控报文。
图6示意性示出了根据本公开实施例的网络流量可视化的方法中操作S502确定N个网络设备的连接关系的方法流程。
如图6所示,根据本公开的实施例操作S502可以包括操作S612和操作S622。
首先在操作S612,以N个监控报文中的任意一个报文作为第一监控报文,从N个监控报文中除第一监控报文之外的N-1个监控报文中,确定出与第一监控报文中的进接口MAC地址和转发地MAC地址中的任意一个MAC地址的信息相同的R个第二监控报文,其中,R为大于等于0并且小于等于2的整数。
然后在操作S622,确定发送第一监控报文的第一网络设备和发送R个第二监控报文的R个第二网络设备属于同一个物理连接,其中,第一网络设备和R个第二网络设备属于N个网络设备。
例如,在操作S622中当第二监控报文中的转发地MAC地址与第一监控报文中的进接口MAC地址的信息相同时,确定发送第二监控报文的第二网络设备为第一网络设备的上游设备。
又例如,在操作S622中当第二监控报文中的进接口MAC地址与第一监控报文中的转发地MAC地址的信息相同时,确定发送第二监控报文的第二网络设备为第一网络设备的下游设备。
再例如,在操作S622中当R=1且不存在与第一监控报文中的进接口MAC地址的信息相同的监控报文时,将第一网络设备作为物理连接的第一跳网络设备。
或者再例如,在操作S622中当R=1且不存在与第一监控报文中的转发地MAC地址的信息相同的监控报文时,将第一网络设备作为物理连接的最后一跳网络设备。
以此方式,例如可以以遍历的方式将N个监控报文中的每个监控报文依次作为第一监控报文,按照图6中操作S612和操作S622的方式进行处理,从而可以确定出N个网络设备之间的连接关系,例如,N个网络设备处于一个物理连接,或者该N个设备处于N个不同的物理连接,以及每个物理连接中的网络设备传输数据报文的先后顺序。进而可以得到数据报文的传输路径。
图7示意性示出了根据本公开实施例的网络流量可视化的一个应用场景700。需要注意的是,图7所示仅为可以应用本公开实施例的一个实施例的应用场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不对本公开构成任何限定。
如图7所示,该应用场景700可以包括监控服务器701、网络设备702-1、702-2、和702-3,以及服务器703和服务器704。服务器703(IP地址192.168.1.10)从port 6000发送数据报文(协议为TCP)到服务器704(IP地址10.1.1.10)的port 8000,形成一条网络数据流。这条数据流会经过网络设备702-1,网络设备702-2,网络设备702-3。同时这三台网络设备702-1、702-2、和702-3可以执行本公开实施例的应用于网络设备的方法,分别发送监控报文711、712、713到监控服务器701。监控服务器701可以执行根据本公开实施例的应用于监控服务器的方法,对监控报文711、712、713的分析处理,可以得到数据流在网络设备702-1、702-2、和702-3之间的传输先后顺序的传输路径。
网络设备702-1、702-2、和702-3可以是交换机、和/或路由器等网络设备,对此本公开不予限定。
监控报文711、712、713可以包括多个字段:ETH MAC字段,记录数据报文传输的mac地址信息;IP(SIP DIP)字段,记录数据报文的源端IP和目的端IP;TCP或UDP字段,记录数据报文传输的TCP或者UDP协议;INT字段,记录INT协议头部;MD字段,记录元数据Meta Data,包括监控报文的设备信息、进出接口信息、队列信息、时间戳等信息。根据本公开的实施例,在MD字段中增加Ingress Port mac和Egress Port Dst mac两个字段的信息,其中,Ingress Port mac中记录进接口MAC地址,Egress Port Dst mac中记录转发地MAC地址,从而可以在监控报文711、712、713中封装各自设备的进接口MAC地址和转发地MAC地址的目的。其中,Ingress Port mac为网络设备接收数据报文的进入接口的mac地址(进接口MAC地址),Egress Port Dst mac为数据报文路由后封装的要转发的目的地的MAC地址(转发地MAC地址地址),可以根据监控报文中的ETH MAC字段获得。
应用场景700中数据报文从服务器703(IP地址192.168.1.10,port6000)发送到到服务器704(IP地址10.1.1.10,port 8000)的具体转发和上送流程描述如下。
第一,数据报文到达网络设备702-1的port2。经过路由,网络设备702-1将数据报文从转发接口port1转发到mac C对应的网络设备702-2的port1。从而网络设备702-1生成的监控报文711中的MD字段的信息包括:网络设备702-1的设备信息,进入接口port2,进接口MAC地址mac A(Ingress Port mac),转发接口port1,转发地MAC地址mac C(Egress PortDst mac)。然后网络设备702-1发送监控报文711到监控服务器701。
第二,数据报文到达网络设备702-2的port1。经过路由,网络设备702-2将数据报文从转发port2转发到mac E对应的网络设备702-3的port1。从而,网络设备702-2生成的监控报文712中的MD字段的信息包括:网络设备702-2的设备信息,进入接口port1,进接口MAC地址mac C(Ingress Port mac),转发接口port2,转发地MAC地址mac E(Egress Port Dstmac)。然后网络设备702-2发送监控报文712到监控服务器701。
第三,数据报文到达网络设备702-3的port1。经过路由,网络设备702-3将数据报文从转发接口port2转发到mac H对应的服务器704。从而,网络设备702-3生成的监控报文713的MD字段的信息包括:网络设备702-3设备信息,进入接口port1,进接口MAC地址mac E(Ingress Port mac),转发接口port2,转发地MAC地址mac H(Egress Port Dst mac)。然后网络设备702-3发送监控报文713到监控服务器701。
第四,监控服务器701对从192.168.1.10port 6000到10.1.1.10port8000(协议为TCP)这条数据流经过的网络设备(网络设备702-1,网络设备702-2,网络设备702-3)而采集到的监控报文711、712、713中的MD字段中的Ingress Port mac和Egress Port Dst mac的mac地址信息进行比较。如果有一致的mac地址信息,则为一条物理连接。
经过比较得出,网络设备702-1转发接口port1的转发地mac C(Egress Port Dstmac)和网络设备702-2进入接口port1对应的mac C(Ingress Port mac)字段一致,从而网络设备702-1port1和网络设备702-2port1属于一条物理连接。网络设备702-2转发接口port2的转发地mac E(Egress Port Dst mac)和网络设备702-3进入接口port1对应的macE(Ingress Port mac)字段一致,从而网络设备702-2port2和网络设备702-3port1为一条物理连接。
第五,以上步骤可以确定网络设备702-1、网络设备702-2、网络设备702-3网络设备之间的物理连接关系。还需要确定数据报文经过的网络设备次序。如果各个监控报文中MD字段中的Ingress Port mac无法和其他网络设备Egress Port Dst mac匹配一致,即Ingress Port mac为第一跳网络设备连接源服务器接口的mac,据此可以确定第一跳网络设备。如下图网络设备702-1mac A,无法和其他网络设备发送的监控报文中的Egress PortDst mac匹配一致,从而网络设备702-1即为第一跳网络设备;如果MD中的Egress Port Dstmac无法和其他网络设备的Ingress Port mac匹配一致,Egress Port Dst mac则为最后一跳网络设备连接的目的服务器的mac。如下图,网络设备702-3的转发地mac H(Egress PortDst mac)无法和其他网络设备Ingress Port mac匹配一致,则网络设备702-3即为最后一跳网络设备(mac H为服务器704的mac)。从而确定网络设备702-1为第一跳网络设备,网络设备702-3为最后一跳网络设备。由此,得到数据报文的传输次序为网络设备702-1,网络设备702-2,网络设备702-3。
由此,可以得到网络之间的物理连接关系和数据报文经过网络设备的次序,得到流量可视化路径,而不需要依赖于物理网络拓扑。
可以理解,场景700中为了简单示意,数据流传输过程中仅经过了三台网络设备702-1、702-2、和702-3。实际应用中数据流传输过程中的网络组成可以非常复杂,拥有的网络设备可以多种多样、数量也可以多种多样,传输路径可能有多种分支等,导致网络的物理拓扑非常复杂而且难以全面获取。本公开实施例可以应用于任意的网络系统中,可以不依赖网络的物理拓扑来获取到数据流在网络中的传输过程。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,监控报文生成模块210、监控报文发送模块220、监控报文获取模块410、传输路径确定模块420、以及监控报文识别模块430中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,监控报文生成模块210、监控报文发送模块220、监控报文获取模块410、传输路径确定模块420、以及监控报文识别模块430中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,监控报文生成模块210、监控报文发送模块220、监控报文获取模块410、传输路径确定模块420、以及监控报文识别模块430中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图8示意性示出了适于实现根据本公开实施例的网络流量可视化的计算机系统800的方框图。图8示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,根据本公开实施例的计算机系统800包括处理器801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。处理器801例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器801还可以包括用于缓存用途的板载存储器。处理器801可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 803中,存储有系统800操作所需的各种程序和数据。处理器801、ROM 802以及RAM 803通过总线804彼此相连。处理器801通过执行ROM 802和/或RAM803中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 802和RAM 803以外的一个或多个存储器中。处理器801也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,系统800还可以包括输入/输出(I/O)接口805,输入/输出(I/O)接口805也连接至总线804。系统800还可以包括连接至I/O接口805的以下部件中的一项或多项:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被处理器801执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 802和/或RAM 803和/或ROM 802和RAM 803以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (12)
1.一种网络流量可视化的方法,应用于监控服务器,其中,所述方法包括:
获取数据报文经过N个网络设备传输时由N个所述网络设备各自发送的监控报文,以得到N个所述监控报文;其中,一个所述监控报文包括所述数据报文达到一个所述网络设备的进入接口时与所述进入接口对应的进接口MAC地址,以及所述数据报文从所述网络设备的转发接口转发出去时与所述转发接口的转发目的地对应的转发地MAC地址,其中,N为大于1的整数;以及
基于不同的所述监控报文中的所述进接口MAC地址和所述转发地MAC地址的对比,确定N个所述网络设备的连接关系,以得到所述数据报文经N个所述网络设备传输的传输路径。
2.根据权利要求1所述的方法,其中,所述基于不同的所述监控报文中的所述进接口MAC地址和所述转发地MAC地址的对比,确定N个所述网络设备的连接关系包括:
以N个所述监控报文中的任意一个报文作为第一监控报文,从N个所述监控报文中除所述第一监控报文之外的N-1个所述监控报文中,确定出与所述第一监控报文中的所述进接口MAC地址和所述转发地MAC地址中的任意一个MAC地址的信息相同的R个第二监控报文,其中,R为整数,且0≤R≤2;以及
确定发送所述第一监控报文的第一网络设备和发送R个所述第二监控报文的R个第二网络设备属于同一个物理连接,其中,所述第一网络设备和R个所述第二网络设备属于N个所述网络设备。
3.根据权利要求2所述的方法,其中,所述确定发送所述第一监控报文的第一网络设备和发送R个所述第二监控报文的R个第二网络设备属于同一个物理连接包括:
当所述第二监控报文中的所述转发地MAC地址与所述第一监控报文中的所述进接口MAC地址的信息相同时,确定发送所述第二监控报文的所述第二网络设备为所述第一网络设备的上游设备;以及
当所述第二监控报文中的所述进接口MAC地址与所述第一监控报文中的所述转发地MAC地址的信息相同时,确定发送所述第二监控报文的所述第二网络设备为所述第一网络设备的下游设备。
4.根据权利要求2所述的方法,其中,所述确定发送所述第一监控报文的第一网络设备和发送R个所述第二监控报文的R个第二网络设备属于同一个物理连接包括:
当R=1且不存在与所述第一监控报文中的所述进接口MAC地址的信息相同的所述监控报文时,将所述第一网络设备作为所述物理连接的第一跳网络设备。
5.根据权利要求2所述的方法,其中,所述确定发送所述第一监控报文的第一网络设备和发送R个所述第二监控报文的R个第二网络设备属于同一个物理连接包括:
当R=1且不存在与所述第一监控报文中的所述转发地MAC地址的信息相同的所述监控报文时,将所述第一网络设备作为所述物理连接的最后一跳网络设备。
6.根据权利要求1所述的方法,其中,每个所述监控报文还包括所述数据报文的五元组信息;所述方法还包括:
基于每个所述监控报文中包含的所述数据报文的五元组信息,识别出N个所述网络设备针对同一个所述数据报文发送的N个所述监控报文。
7.一种网络流量可视化的方法,应用于网络设备,其中,所述方法包括:
响应于数据报文的转发,生成监控报文,所述监控报文包括所述数据报文达到所述网络设备的进入接口时与所述进入接口对应的进接口MAC地址,以及所述数据报文从所述网络设备的转发接口转发出去时与所述转发接口的转发目的地对应的转发地MAC地址;以及
向监控服务器发送所述监控报文。
8.一种网络流量可视化的装置,设置于监控服务器,其中,所述装置包括:
监控报文获取模块,用于获取数据报文经过N个网络设备传输时由N个所述网络设备各自发送的监控报文,以得到N个所述监控报文;其中,一个所述监控报文包括所述数据报文达到一个所述网络设备的进入接口时与所述进入接口对应的进接口MAC地址,以及所述数据报文从所述网络设备的转发接口转发出去时与所述转发接口的转发目的地对应的转发地MAC地址,其中,N为大于1的整数;以及
传输路径确定模块,用于基于不同的所述监控报文中的所述进接口MAC地址和所述转发地MAC地址的对比,确定N个所述网络设备的连接关系,以得到所述数据报文经N个所述网络设备传输的传输路径。
9.一种网络流量可视化的装置,设置于网络设备,其中,所述装置包括:
监控报文生成模块,用于响应于数据报文的转发,生成监控报文,所述监控报文包括所述数据报文达到所述网络设备的进入接口时与所述进入接口对应的进接口MAC地址,以及所述数据报文从所述网络设备的转发接口转发出去时与所述转发接口的转发目的地对应的转发地MAC地址;以及
监控报文发送模块,用于向监控服务器发送所述监控报文。
10.一种网络流量可视化的系统,包括:
N个网络设备,每个所述网络设备执行根据权利要求7所述的方法;以及
监控服务器,所述监控服务器执行根据权利要求1~6任一项所述的方法,以得到数据报文经N个所述网络设备传输的传输路径。
11.一种网络流量可视化的系统,包括:
一个或多个存储器,其上存储有计算机可执行指令;
一个或多个处理器,所述处理器执行所述指令,以实现:
根据权利要求1~6中任一项所述的方法;或者
根据权利要求7所述的方法。
12.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行:
根据权利要求1~6中任一项所述的方法;或者
根据权利要求7所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011047500.2A CN113765807B (zh) | 2020-09-29 | 2020-09-29 | 网络流量可视化的方法、装置、系统、及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011047500.2A CN113765807B (zh) | 2020-09-29 | 2020-09-29 | 网络流量可视化的方法、装置、系统、及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113765807A true CN113765807A (zh) | 2021-12-07 |
CN113765807B CN113765807B (zh) | 2022-12-27 |
Family
ID=78785833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011047500.2A Active CN113765807B (zh) | 2020-09-29 | 2020-09-29 | 网络流量可视化的方法、装置、系统、及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113765807B (zh) |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008071032A1 (fr) * | 2006-12-12 | 2008-06-19 | Zte Corporation | Système de surveillance de trajet de multidiffusion ip et procédé associé |
CN101330405A (zh) * | 2008-07-02 | 2008-12-24 | 北京亿阳信通软件研究院有限公司 | 网络拓扑发现方法及相关设备 |
CN102238040A (zh) * | 2010-04-22 | 2011-11-09 | 杭州华三通信技术有限公司 | 一种对ce进行监控的方法和路由设备 |
CN103067473A (zh) * | 2012-12-21 | 2013-04-24 | 中标软件有限公司 | 一种远程协助转发方法及系统 |
CN103281206A (zh) * | 2013-05-29 | 2013-09-04 | 新浪网技术(中国)有限公司 | 一种连接关系的确定系统、方法及装置 |
CN103354529A (zh) * | 2013-07-10 | 2013-10-16 | 杭州华三通信技术有限公司 | 一种选择路径的方法和设备 |
CN103856579A (zh) * | 2014-03-03 | 2014-06-11 | 国家电网公司 | 基于mac地址匹配的智能变电站网络设备拓扑动态识别方法 |
US20140317279A1 (en) * | 2013-04-19 | 2014-10-23 | Entuity Limited | Identification of the paths taken through a network of interconnected devices |
CN104468365A (zh) * | 2014-07-09 | 2015-03-25 | 北京东土科技股份有限公司 | 一种获取设备间拓扑连接关系的方法、系统及装置 |
CN105519052A (zh) * | 2013-05-09 | 2016-04-20 | 华为技术有限公司 | 报文转发方法、设备和系统 |
CN106130796A (zh) * | 2016-08-29 | 2016-11-16 | 广州西麦科技股份有限公司 | Sdn网络拓扑流量可视化监控方法及控制终端 |
CN106941419A (zh) * | 2017-03-13 | 2017-07-11 | 中国科学院深圳先进技术研究院 | 网络体系结构和网络通信模式的可视分析方法及系统 |
CN107623629A (zh) * | 2016-07-15 | 2018-01-23 | 华为技术有限公司 | 一种流转发路径的还原方法及设备 |
CN108880844A (zh) * | 2017-05-12 | 2018-11-23 | 中兴通讯股份有限公司 | 一种网络拓扑建构的方法和装置 |
CN108881064A (zh) * | 2018-06-26 | 2018-11-23 | 新华三技术有限公司 | 报文信息获取方法和发送方法 |
CN109428741A (zh) * | 2017-08-22 | 2019-03-05 | 中兴通讯股份有限公司 | 一种网络故障的检测方法及装置 |
CN111147372A (zh) * | 2018-11-05 | 2020-05-12 | 华为技术有限公司 | 下行报文发送、转发方法和装置 |
CN111541616A (zh) * | 2020-03-31 | 2020-08-14 | 新华三技术有限公司 | 一种流量控制方法及装置 |
-
2020
- 2020-09-29 CN CN202011047500.2A patent/CN113765807B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008071032A1 (fr) * | 2006-12-12 | 2008-06-19 | Zte Corporation | Système de surveillance de trajet de multidiffusion ip et procédé associé |
CN101330405A (zh) * | 2008-07-02 | 2008-12-24 | 北京亿阳信通软件研究院有限公司 | 网络拓扑发现方法及相关设备 |
CN102238040A (zh) * | 2010-04-22 | 2011-11-09 | 杭州华三通信技术有限公司 | 一种对ce进行监控的方法和路由设备 |
CN103067473A (zh) * | 2012-12-21 | 2013-04-24 | 中标软件有限公司 | 一种远程协助转发方法及系统 |
US20140317279A1 (en) * | 2013-04-19 | 2014-10-23 | Entuity Limited | Identification of the paths taken through a network of interconnected devices |
CN105519052A (zh) * | 2013-05-09 | 2016-04-20 | 华为技术有限公司 | 报文转发方法、设备和系统 |
CN103281206A (zh) * | 2013-05-29 | 2013-09-04 | 新浪网技术(中国)有限公司 | 一种连接关系的确定系统、方法及装置 |
CN103354529A (zh) * | 2013-07-10 | 2013-10-16 | 杭州华三通信技术有限公司 | 一种选择路径的方法和设备 |
CN103856579A (zh) * | 2014-03-03 | 2014-06-11 | 国家电网公司 | 基于mac地址匹配的智能变电站网络设备拓扑动态识别方法 |
CN104468365A (zh) * | 2014-07-09 | 2015-03-25 | 北京东土科技股份有限公司 | 一种获取设备间拓扑连接关系的方法、系统及装置 |
CN107623629A (zh) * | 2016-07-15 | 2018-01-23 | 华为技术有限公司 | 一种流转发路径的还原方法及设备 |
CN106130796A (zh) * | 2016-08-29 | 2016-11-16 | 广州西麦科技股份有限公司 | Sdn网络拓扑流量可视化监控方法及控制终端 |
CN106941419A (zh) * | 2017-03-13 | 2017-07-11 | 中国科学院深圳先进技术研究院 | 网络体系结构和网络通信模式的可视分析方法及系统 |
CN108880844A (zh) * | 2017-05-12 | 2018-11-23 | 中兴通讯股份有限公司 | 一种网络拓扑建构的方法和装置 |
CN109428741A (zh) * | 2017-08-22 | 2019-03-05 | 中兴通讯股份有限公司 | 一种网络故障的检测方法及装置 |
CN108881064A (zh) * | 2018-06-26 | 2018-11-23 | 新华三技术有限公司 | 报文信息获取方法和发送方法 |
CN111147372A (zh) * | 2018-11-05 | 2020-05-12 | 华为技术有限公司 | 下行报文发送、转发方法和装置 |
CN111541616A (zh) * | 2020-03-31 | 2020-08-14 | 新华三技术有限公司 | 一种流量控制方法及装置 |
Non-Patent Citations (2)
Title |
---|
丁娟: "私网STP在公网的透传", 《科学技术与工程》 * |
王磊等: "基于SNMP的铁路信号监督系统网络拓扑发现方法", 《铁路计算机应用》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113765807B (zh) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8789135B1 (en) | Scalable stateful firewall design in openflow based networks | |
US9059926B2 (en) | Performance analysis of virtual private network segment on a per flow basis | |
US10673785B2 (en) | Flow and time based reassembly of fragmented packets by IP protocol analyzers | |
US20150029871A1 (en) | Service level agreement validation via service traffic sample-and-replay | |
CN110324198B (zh) | 丢包处理方法和丢包处理装置 | |
JP2007201966A (ja) | トラフィック制御方式、装置及びシステム | |
US20180048560A1 (en) | Method And Apparatus For Identifying Different Routing Paths Between Networks | |
EP3484102B1 (en) | Cloud computing environment system for automatically determining over-the-top applications and services | |
EP3484101B1 (en) | Automatically determining over-the-top applications and services | |
WO2016169121A1 (zh) | 一种链路分析的方法、设备及系统 | |
Ricart-Sanchez et al. | NetFPGA-based firewall solution for 5G multi-tenant architectures | |
US9917747B2 (en) | Problem detection in a distributed digital network through distributed packet analysis | |
JP5494110B2 (ja) | ネットワークの通信経路推定方法、通信経路推定プログラム及び監視装置 | |
US20160248652A1 (en) | System and method for classifying and managing applications over compressed or encrypted traffic | |
CN113765807B (zh) | 网络流量可视化的方法、装置、系统、及介质 | |
US11356333B2 (en) | Predicting forwarding destinations for packets | |
CN111200561A (zh) | 数据包传输方法和装置、计算机系统和可读存储介质 | |
CN111158864A (zh) | 数据处理方法、装置、系统、介质和程序 | |
US10904123B2 (en) | Trace routing in virtual networks | |
WO2022132208A1 (en) | Performance measurement in a segment routing network | |
JP2012169756A (ja) | 暗号化通信検査システム | |
Polverini et al. | Snoop through traffic counters to detect black holes in segment routing networks | |
WO2023148900A1 (ja) | ネットワーク情報可視化装置、ネットワーク情報可視化方法、ネットワーク情報可視化プログラム及びネットワーク情報可視化システム | |
CN208386586U (zh) | 一种网络传输系统 | |
US11888719B2 (en) | End-to-end distributed network tracing involving cloud edge networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |