CN116346649A - 负载均衡设备的虚服务抓包方法及装置 - Google Patents
负载均衡设备的虚服务抓包方法及装置 Download PDFInfo
- Publication number
- CN116346649A CN116346649A CN202310456203.0A CN202310456203A CN116346649A CN 116346649 A CN116346649 A CN 116346649A CN 202310456203 A CN202310456203 A CN 202310456203A CN 116346649 A CN116346649 A CN 116346649A
- Authority
- CN
- China
- Prior art keywords
- message
- packet
- session
- virtual service
- load balancing
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/20—Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种负载均衡设备的虚服务抓包方法及装置。该方法包括:开启载均衡设备的虚服务抓包功能;由所述载均衡设备的驱动侧获取报文;将所述报文转存到抓包流程;基于所述抓包流程在所述载均衡设备中匹配与所述报文对应的虚拟服务会话;在匹配到虚拟服务会话且为目标会话时,将所述报文储存在预设位置。本申请涉及的负载均衡设备的虚服务抓包方法及装置,能够获取虚服务流程中的完整报文,进而对负载均衡设备的虚服务相关功能进行功能性检测、分析问题、定位问题、解决问题。
Description
技术领域
本公开涉及计算机信息处理领域,具体而言,涉及一种负载均衡设备的虚服务抓包方法及装置。
背景技术
抓包就是将网络传输发送与接收的数据包进行截获、转存等操作,可以用来分析数据、定位问题、进行功能检测。目前常用的抓包一般是基于物理端口进行全部报文的获取或者通过指定五元组进行针对性的报文获取。
随着网络应用的业务访问量不断增多,资源服务器将面临越来越多的挑战。在网站发展早期,可以从单机的角度通过增加硬件处理能力,比如CPU处理能力、内存容量等方面,实现服务器处理能力的提升。但是单机是有性能瓶颈的,一旦触及瓶颈,再想提升付出的成本和代价会极高。为了完成大型网站都要面对的庞大用户量、高并发、海量数据等挑战,解决高访问量导致的资源不足、合理高效的利用服务资源,可以使用应用负载技术,将多台服务器组成集群,通过负载均衡设备,把用户请求调度分摊到多个服务器进行处理,再把相应的数据返回给客户端。服务器提供的服务称为真实服务。负载均衡对客户端提供的服务称为虚服务。
用户需要用抓包分析集群环境是否搭建成功、正常运行。在负载均衡组网中,客户端已知访问的IP是虚服务的IP。客户端请求访问虚服务后,通过虚服务引用真实服务组,再通过调度算法引用真实服务,完成一次访问。虚服务与真实服务报文不走同一个物理接口,基于端口抓取报文只能单次获取访问虚服务报文或引用真实服务报文。而且虚服务到真实服务的过程中,会经过IP地址转换,报文的五元组会发生改变,导致无法根据指定五元组的方式抓包。
因此,需要一种新的负载均衡设备的虚服务抓包方法及装置。
在所述背景技术部分公开的上述信息仅用于加强对本申请的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本申请提供一种负载均衡设备的虚服务抓包方法及装置,能够获取虚服务流程中的完整报文,进而对负载均衡设备的虚服务相关功能进行功能性检测、分析问题、定位问题、解决问题。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请的一方面,提出一种负载均衡设备的虚服务抓包方法,该方法包括:开启载均衡设备的虚服务抓包功能;由所述载均衡设备的驱动侧获取报文;将所述报文转存到抓包流程;基于所述抓包流程在所述载均衡设备中匹配与所述报文对应的虚拟服务会话;在匹配到虚拟服务会话且为目标会话时,将所述报文储存在预设位置。
在本申请的一种示例性实施例中,还包括:在为匹配到虚拟服务会话时,通过五元组过滤的方式确定所述报文是否为目标报文;在所述报文为目标报文时,将所述报文储存在预设位置。
在本申请的一种示例性实施例中,开启载均衡设备的虚服务抓包功能之后,还包括:遍历所述负载均衡设备的现有会话;确定目标会话;为所述目标会话设置抓包会话标记。
在本申请的一种示例性实施例中,确定目标会话,包括:获取本次抓包的源IP和目的IP;将和客户端对应的源IP、和虚服务对应的目的IP作为所述目标会话。
在本申请的一种示例性实施例中,为所述目标会话设置抓包会话标记,包括:基于本地抓包的源IP和目的IP为所述目标会话设置抓包会话标记。
在本申请的一种示例性实施例中,将所述报文转存到抓包流程,还包括:所述报文经过原有业务流程发送。
在本申请的一种示例性实施例中,基于所述抓包流程在所述载均衡设备中匹配与所述报文对应的虚拟服务会话,包括:基于所述抓包流程获取所述报文的源IP和目的IP;基于源IP和目的IP在所述载均衡设备中匹配与所述报文对应的虚拟服务会话。
在本申请的一种示例性实施例中,将所述报文储存在预设位置,包括:判断当前已经捕获的报文的数量;在所述数量小于数量阈值时,将所述报文储存在捕获报文链表中。
在本申请的一种示例性实施例中,在所述报文为目标报文时,将所述报文储存在预设位置,包括:在所述报文为目标报文时,基于所述目标报文的源IP和目的IP建立目标会话。
根据本申请的一方面,提出一种负载均衡设备的虚服务抓包装置,该装置包括:开启模块,用于开启载均衡设备的虚服务抓包功能;获取模块,用于由所述载均衡设备的驱动侧获取报文;转存模块,用于将所述报文转存到抓包流程;匹配模块,用于基于所述抓包流程在所述载均衡设备中匹配与所述报文对应的虚拟服务会话;储存模块,用于在匹配到虚拟服务会话且为目标会话时,将所述报文储存在预设位置。
根据本申请的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本申请的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
根据本申请的负载均衡设备的虚服务抓包方法及装置,通过开启载均衡设备的虚服务抓包功能;由所述载均衡设备的驱动侧获取报文;将所述报文转存到抓包流程;基于所述抓包流程在所述载均衡设备中匹配与所述报文对应的虚拟服务会话;在匹配到虚拟服务会话且为目标会话时,将所述报文储存在预设位置的方式,能够获取虚服务流程中的完整报文,进而对负载均衡设备的虚服务相关功能进行功能性检测、分析问题、定位问题、解决问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
通过参照附图详细描述其示例实施例,本申请的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中的抓包方法示意图。
图2是根据一示例性实施例示出的一种负载均衡设备的虚服务抓包方法的流程图。
图3是根据另一示例性实施例示出的一种负载均衡设备的虚服务抓包方法的流程图。
图4是根据另一示例性实施例示出的一种负载均衡设备的虚服务抓包方法的流程图。
图5是根据一示例性实施例示出的一种负载均衡设备的虚服务抓包装置的框图。
图6是根据一示例性实施例示出的一种电子设备的框图。
图7是根据一示例性实施例示出的一种计算机可读介质的框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本申请将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本申请概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的,因此不能用于限制本申请的保护范围。
本申请涉及的技术缩略语解释如下:
抓包:就是将网络传输发送与接收的数据包进行截获、转存等操作,可以用来分析数据、定位问题、进行功能检测。目前常用的抓包一般是基于物理端口进行全部报文的获取或者通过指定五元组进行针对性的报文获取。
五元组:五元组是通信术语。通常是指源IP地址,源端口,目的IP地址,目的端口和传输层协议。
真实服务:用户提供服务资源的个体,通过IP地址和端口进行唯一标识,多个真实服务可在一台或多台物理服务器上,当设备将用户请求发送至真实服务时,会将目的IP和目的端口修改为真实服务的IP地址和端口。
真实服务组:多个真实服务的集合,虚服务通过引用真实服务组,可确定调度真实服务的范围,以及所使用的调度算法。
虚服务:负载均衡设备对外提供的服务称为虚服务,用户的访问请求到达设备后,将根据IP地址、端口和协议匹配虚服务,并由关联的真实服务组的调度算法调配至真实服务。
调度算法:用户访问虚服务后,真实服务组根据调度算法将请求调配至真实服务。应用负载的调度算法支持轮询、加权轮询、最小流量、加权最小连接和源地址哈希散列等方式。例如,当某虚服务收到多个用户请求时,根据轮询算法将请求依次调配至不同的真实服务。
应用集群:将同一应用部署到多台机器上,组成处理集群,接收负载均衡设备分发的请求,进行处理,并返回相应数据。
负载均衡:将用户访问请求,通过某种算法,分发到集群中的节点。
本案申请人通过对现有技术的研究发现,按照抓包位置可以把抓包大致分为交换芯片抓包和CPU抓包两种。对于负载均衡设备而言,抓包方式为CPU抓包,即对上送CPU的报文进行捕获保存。目前抓包是基于接口抓包,每次只能捕获单一物理口的报文。单一接口的报文如果要做过滤,也只能针对固定五元组。具体实现方式如图1所示:
1、设备开启抓包,设置抓包定时器,在驱动注册抓包。
2、驱动注册抓包后,上送CPU报文复制一份给抓包接口。
3、抓包接口收到报文后,根据过滤条件过滤报文,保存在内核链表中
4、用户选择下载文件,得到报文。
针对负载均衡环境,互联网用户访问某资源的虚拟服务地址,由于虚服务关联了真实服务组,根据应用负载的会话保持和调度算法,将用户请求发送至指定真实服务,以获取服务资源。例如,当多个用户同时访问虚服务地址时,会根据调度算法将用户请求分配至ServerA和ServerB。在这个过程中,请求到达应用负载分担设备以后会被进行目标地址转换和源地址转换,报文的五元组都可能发生变化。
在这种环境中,无法固定捕获虚服务到真实服务的报文。客户端到虚服务的报文通常在测试功能时会有并发,如果想要通过抓包的方式对流量进行分析,只能通过对请求的入接口进行无条件抓包,然后对转存的报文进行人工分析。在大量报文中人工分析需要的报文,对测试进展和功能分析造成很大阻碍。
在应用负载正常的情况下,只能在用户请求的入接口进行抓包,捕获的报文代表用户请求通过网络传输送到了负载均衡设备,获得的报文只是客户端到虚服务的报文。对ip转换之后的负载均衡报文去向不明,不能通过抓包追踪到虚服务与真实服务建立起的连接。测试应用负载功能时,无法通过关注一条具体的报文流量来判断应用负载是否正常。
有鉴于现有技术中的技术缺陷,本申请提出一种负载均衡设备的虚服务抓包方法,根据本申请中的技术,可以追踪负载均衡业务下的一整条访问流量。下面借助于具体的实施例,对本申请的内容进行详细描述。
图2是根据一示例性实施例示出的一种负载均衡设备的虚服务抓包方法的流程图。负载均衡设备的虚服务抓包方法20至少包括步骤S202至S212。
如图2所示,在S202中,开启载均衡设备的虚服务抓包功能。用户可在主页面上进行设置,开启虚服务抓包功能。
在S204中,由所述载均衡设备的驱动侧获取报文。首先在驱动侧注册抓包功能。
一般情况下,报文到设备后会先经过驱动,判断走慢转还是快转流程,只有慢转的报文才会上送CPU处理。这种情况下,快转报文不上送CPU,则无法对其进行抓取。在本申请中,为了避免快转报文抓不到的情况,首先在驱动注册抓包。注册抓包后驱动会在转发流程前把所有报文拷贝一份到本申请设定的抓包流程中。
在S206中,将所述报文转存到抓包流程。所述报文经过原有业务流程发送。在用户开启抓包功能之后,可建立专门的抓包流程用于处理后续步骤。
在S208中,基于所述抓包流程在所述载均衡设备中匹配与所述报文对应的虚拟服务会话。基于所述抓包流程获取所述报文的源IP和目的IP;基于源IP和目的IP在所述载均衡设备中匹配与所述报文对应的虚拟服务会话。
更具体的,虚服务的每条流量都以会话的形式记录,因此虚服务抓包以找到准确的目的会话为核心,只需要保存该会话的流量就可以完成抓包。
在S210中,在匹配到虚拟服务会话且为目标会话时,将所述报文储存在预设位置。判断当前已经捕获的报文的数量;在所述数量小于数量阈值时,将所述报文储存在捕获报文链表中。
在一个具体的实施例中,在保存报文时,先判断当前已捕获报文数量。当报文数量小于设置的抓包数量阈值时,拷贝当前报文到捕获报文的链表中。同时已捕获报文数量+1。保存完报文后,再判断一次当前已捕获报文数量。当报文数量大于等于设置的抓包数量时,停止抓包。
住在一个实施例中,还可以通过开始时设置的抓包条件或手动停止抓包。停止抓包时,关闭驱动上送报文开关,停止会话标记,关闭抓包定时器。
在S212中,在未匹配到虚拟服务会话时,通过五元组过滤的方式确定所述报文是否为目标报文;在所述报文为目标报文时,基于所述目标报文的源IP和目的IP建立目标会话,将所述报文储存在预设位置。
由于经过上文中的设置,在驱动侧注册了抓包服务,这使得负载均衡设备收到的所有报文都上送到了抓包处理流程中。
对于驱动侧获取的所有的报文,存在两种情况。若报文属于已知会话,则查询所属会话是否为目标会话,若是目标会话,就把报文直接上送希望保存在捕获报文链表中。
若报文不属于已知会话,即为首包报文,首包报文在未建立会话时,会通过五元组过滤的方法判断是不是需要捕获的报文。符合抓包源目IP的首包报文即为新建目标会话的首包,会被上送希望保存在捕获报文链表里面。
在一个实施例中,开始抓包后,可开启抓包定时器,抓包定时器与抓包条件中的抓包时间相关;抓包设置最大抓包数量,已捕获报文数量置0,当抓包数量达到设置的阈值时停止抓包。
根据本申请的负载均衡设备的虚服务抓包方法,通过开启载均衡设备的虚服务抓包功能;由所述载均衡设备的驱动侧获取报文;将所述报文转存到抓包流程;基于所述抓包流程在所述载均衡设备中匹配与所述报文对应的虚拟服务会话;在匹配到虚拟服务会话且为目标会话时,将所述报文储存在预设位置的方式,能够获取虚服务流程中的完整报文,进而对负载均衡设备的虚服务相关功能进行功能性检测、分析问题、定位问题、解决问题。
应清楚地理解,本申请描述了如何形成和使用特定示例,但本申请的原理不限于这些示例的任何细节。相反,基于本申请公开的内容的教导,这些原理能够应用于许多其它实施例。
图3是根据另一示例性实施例示出的一种负载均衡设备的虚服务抓包方法的流程图。图3所示的流程30是对图2所示的流程的补充描述。
如图3所示,在S302中,开启载均衡设备的虚服务抓包功能。
在S304中,遍历所述负载均衡设备的现有会话。
在S306中,确定目标会话。用户可在抓包服务开启的时候,设置本次抓包的目标,可具体为本次抓包的源IP和目的IP。
抓包流程可获取本次抓包的源IP和目的IP;将和客户端对应的源IP、和虚服务对应的目的IP作为所述目标会话。
在S308中,为所述目标会话设置抓包会话标记。可基于本地抓包的源IP和目的IP为所述目标会话设置抓包会话标记。
开启虚服务抓包后,会先对负载均衡现有所有会话进行遍历,通过用户设置的本次抓包的源IP与目的IP查找对应的虚服务会话。
其中,源IP与客户端对应,目的IP与虚服务IP对应,找到后对会话标记为目标会话,打上本次抓包的会话标记。
更具体的,可通过本次抓包的源IP,额目的IP相关的信息设置标记,还可例如包括当前的时间戳。每次新的虚服务抓包任务均会会产生一个跟以前不同的标记,避免与其他会话混淆。
在没有找到对应的会话时,此步不做任何处理,抓包时间内对新建会话也会进行一遍检查,避免新建的目标会话被忽略。
在本申请的负载均衡设备的虚服务抓包方法中,负载均衡设备的每条流量会以会话的形式记录,因此以会话为本方案的重点,对目标会话进行标记,表明此会话的报文需要全部抓包保存。
图4是根据另一示例性实施例示出的一种负载均衡设备的虚服务抓包方法的流程图。图4所示的流程40是对图2所示的流程的详细描述。
如图4所示,在S402中,设备收到报文。
在S404中,驱动侧获取报文。
在S406中,是否开启了抓包服务。
在S408中,正常业务流程处理。
在S410中,报文拷贝到抓包流程中,原报文按照正常业务流程处理。
在S412中,查询报文是否属于当前存在的会话。
在S414中,该会话是否为目标会话。
在S416中,拷贝到CPU。
在S418中,丢包。
在S420中,首包报文。
在S422中,拷贝到CPU。
在S424中,是否符合五元组条件。
在S426中,保存报文。
指的一提的是,上文中的抓包流程可针对单一盒式设备设置,此过程可以抓到虚服务对应的报文。若为分布式设备,会话报文在业务板上直接处理完后转发出去,不会上主控的CPU。根据本申请的方案,可对分布式设备的抓包方案进行额外设置。
在一个实施例中,分布式设备抓包可先采用业务板CPU完成捕获筛选的过程,再把符合要求的报文上送主控CPU保存的方式。更具体的流程如下:
1、分布式设备开始抓包后,由主控CPU通知业务板的CPU需要抓虚服务报文。主控CPU开启接收报文的通道,可以收到并保存由业务板CPU上送的带有抓包标记的报文。
2、业务板CPU收到主控的通知后,开启虚服务抓包,具体流程与盒式设备流程相似。
3、业务板抓到的虚服务报文,会打上抓包标记后通过分布式设备的交互通道上送到主控CPU。
4、主控CPU的收包模块有抓包入口的判断,带有抓包标记的报文会被保存到捕获报文链表中保存。
本申请的负载均衡设备的虚服务抓包方法,使得负载均衡设备可以实现基于虚服务的虚服务抓包。通过源目ip精确抓取唯一客户端发送的请求通过负载均衡访问真实服务整个的会话流程。同时提出的分布式设备方案使框式设备可以完成针对虚服务抓包。
本申请的负载均衡设备的虚服务抓包方法,虚服务抓包的关键在于找到期望的会话,获取会话报文。在本申请中,若开始抓包时期望会话已建立,开始抓包同时对所有会话进行遍历,对期望会话进行标记,之后所有该会话的报文会直接保存。若开始抓包时期望会话未建立,首包必然符合抓包IP要求,此时通过五元组抓包的方式对会话首包进行筛选,同时新建的会话会被检查一遍是否为期望会话,是则标记,之后的报文也会捕获保存。
本申请的负载均衡设备的虚服务抓包方法,为分布式设备提供了虚服务抓包方案,通过在业务板CPU完成主要抓包流程的方式,避免了业务报文不上送主控CPU,导致主控CPU抓不到报文。
本申请的负载均衡设备的虚服务抓包方法,还可提供页面开关区分虚服务抓包和普通抓包,用户可以在页面中对普通抓包和虚服务抓包两种功能进行设置,以满足不同应用场景的需求。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本申请提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本申请示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图5是根据一示例性实施例示出的一种负载均衡设备的虚服务抓包装置的框图。如图5所示,负载均衡设备的虚服务抓包装置50包括:开启模块502,获取模块504,转存模块506,匹配模块508,储存模块510。
开启模块502用于开启载均衡设备的虚服务抓包功能;
获取模块504用于由所述载均衡设备的驱动侧获取报文;
转存模块506用于将所述报文转存到抓包流程;
匹配模块508用于基于所述抓包流程在所述载均衡设备中匹配与所述报文对应的虚拟服务会话;匹配模块508还用于基于所述抓包流程获取所述报文的源IP和目的IP;基于源IP和目的IP在所述载均衡设备中匹配与所述报文对应的虚拟服务会话。
储存模块510用于在匹配到虚拟服务会话且为目标会话时,将所述报文储存在预设位置。储存模块510还用于在未匹配到虚拟服务会话时,通过五元组过滤的方式确定所述报文是否为目标报文;在所述报文为目标报文时,将所述报文储存在预设位置。储存模块510还用于判断当前已经捕获的报文的数量;在所述数量小于数量阈值时,将所述报文储存在捕获报文链表中。
根据本申请的负载均衡设备的虚服务抓包装置,通过开启载均衡设备的虚服务抓包功能;由所述载均衡设备的驱动侧获取报文;将所述报文转存到抓包流程;基于所述抓包流程在所述载均衡设备中匹配与所述报文对应的虚拟服务会话;在匹配到虚拟服务会话且为目标会话时,将所述报文储存在预设位置的方式,能够获取虚服务流程中的完整报文,进而对负载均衡设备的虚服务相关功能进行功能性检测、分析问题、定位问题、解决问题。
图6是根据一示例性实施例示出的一种电子设备的框图。
下面参照图6来描述根据本申请的这种实施方式的电子设备600。图6显示的电子设备600仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630、显示单元640等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书中描述的根据本申请各种示例性实施方式的步骤。例如,所述处理单元610可以执行如图2,图3,图4中所示的步骤。
所述存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
所述存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备600’(例如键盘、指向设备、蓝牙设备等)通信,使得用户能与该电子设备600交互的设备通信,和/或该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,如图7所示,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本申请实施方式的上述方法。
总体而言,本公开涉及的负载均衡设备的虚服务抓包方法及装置,在开始抓包后,开启抓包定时器,抓包定时器与抓包条件中是抓包时间相关;抓包设置最大抓包数量,已捕获报文数量置0,当抓包数量达到设置的阈值时停止抓包。开启虚服务抓包后,设备首先在驱动侧注册抓包。在驱动注册抓包的原因是,报文到设备后会先经过驱动,判断走慢转还是快转流程,只有慢转的报文才会上CPU。为了避免快转报文抓不到,注册抓包后驱动会在转发流程前把所有报文拷贝一份到抓包流程。虚服务的每条流量都以会话的形式记录,因此虚服务抓包以找到准确的目的会话为核心,只需要保存该会话的流量就可以完成抓包。开启虚服务抓包后,会先对负载均衡现有所有会话进行遍历,通过抓包的源IP与目的IP查找对应的虚服务会话。源IP与客户端对应,目的IP与虚服务IP对应,找到后对会话标记为目标会话,打上本次抓包的会话标记。会话标记跟本次抓包的源目IP有关,每次新的虚服务抓包会产生一个跟以前不同的标记,避免与其他会话混淆。没有找到对应的会话,此步不做任何处理,抓包时间内对新建会话也会进行一遍检查,避免新建的目标会话被忽略。虚服务抓包收到驱动上送的报文后,会先查会话。由于所有报文都上送了,存在两种情况。若报文属于已知会话,则查询所属会话是否为目标会话,若是目标会话,就把报文直接上送希望保存在捕获报文链表中。若报文不属于已知会话,即为首包报文,首包报文在未建立会话时,会通过五元组过滤的方法判断是不是需要捕获的报文。符合抓包源目IP的首包报文即为新建目标会话的首包,会被上送希望保存在捕获报文链表里面。保存报文时,先判断当前已捕获报文数量。当报文数量小于设置的抓包数量时,拷贝当前报文到捕获报文的链表中。同时已捕获报文数量+1。保存完报文后,再判断一次当前已捕获报文数量。当报文数量大于等于设置的抓包数量时,停止抓包。可以通过开始时设置的抓包条件或手动停止抓包。停止抓包时,关闭驱动上送报文开关,停止会话标记,关闭抓包定时器。针对单一盒式设备,此过程可以抓到虚服务对应的报文。若为分布式设备,会话报文在业务板上直接处理完后转发出去,不会上主控的CPU。需要设计分布式设备的抓包方案。分布式设备抓包采用业务板CPU完成捕获筛选的过程,再把符合要求的报文上送主控CPU保存的方式。分布式设备开始抓包后,由主控CPU通知业务板的CPU需要抓虚服务报文。主控CPU开启接收报文的通道,可以收到并保存由业务板CPU上送的带有抓包标记的报文。业务板CPU收到主控的通知后,开启虚服务抓包,具体流程与盒式设备流程相似。业务板抓到的虚服务报文,会打上抓包标记后通过分布式设备的交互通道上送到主控CPU。主控CPU的收包模块有抓包入口的判断,带有抓包标记的报文会被保存到捕获报文链表中保存。
所述软件产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:开启载均衡设备的虚服务抓包功能;由所述载均衡设备的驱动侧获取报文;将所述报文转存到抓包流程;基于所述抓包流程在所述载均衡设备中匹配与所述报文对应的虚拟服务会话;在匹配到虚拟服务会话且为目标会话时,将所述报文储存在预设位置;在未匹配到虚拟服务会话时,通过五元组过滤的方式确定所述报文是否为目标报文;在所述报文为目标报文时,将所述报文储存在预设位置。该计算机可读介质还可实现如下功能:遍历所述负载均衡设备的现有会话;确定目标会话;为所述目标会话设置抓包会话标记。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本申请实施例的方法。
以上具体地示出和描述了本申请的示例性实施例。应可理解的是,本申请不限于这里描述的详细结构、设置方式或实现方法;相反,本申请意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (10)
1.一种负载均衡设备的虚服务抓包方法,其特征在于,包括:
开启载均衡设备的虚服务抓包功能;
由所述载均衡设备的驱动侧获取报文;
将所述报文转存到抓包流程;
基于所述抓包流程在所述载均衡设备中匹配与所述报文对应的虚拟服务会话;
在匹配到虚拟服务会话且为目标会话时,将所述报文储存在预设位置。
2.如权利要求1所述的方法,其特征在于,还包括:
在未匹配到虚拟服务会话时,通过五元组过滤的方式确定所述报文是否为目标报文;
在所述报文为目标报文时,将所述报文储存在预设位置。
3.如权利要求1所述的方法,其特征在于,开启载均衡设备的虚服务抓包功能之后,还包括:
遍历所述负载均衡设备的现有会话;
确定目标会话;
为所述目标会话设置抓包会话标记。
4.如权利要求3所述的方法,其特征在于,确定目标会话,包括:
获取本次抓包的源IP和目的IP;
将和客户端对应的源IP、和虚服务对应的目的IP作为所述目标会话。
5.如权利要求3所述的方法,其特征在于,为所述目标会话设置抓包会话标记,包括:
基于本地抓包的源IP和目的IP为所述目标会话设置抓包会话标记。
6.如权利要求1所述的方法,其特征在于,将所述报文转存到抓包流程,还包括:
所述报文经过原有业务流程发送。
7.如权利要求1所述的方法,其特征在于,基于所述抓包流程在所述载均衡设备中匹配与所述报文对应的虚拟服务会话,包括:
基于所述抓包流程获取所述报文的源IP和目的IP;
基于源IP和目的IP在所述载均衡设备中匹配与所述报文对应的虚拟服务会话。
8.如权利要求1所述的方法,其特征在于,将所述报文储存在预设位置,包括:
判断当前已经捕获的报文的数量;
在所述数量小于数量阈值时,将所述报文储存在捕获报文链表中。
9.如权利要求2所述的方法,其特征在于,在所述报文为目标报文时,将所述报文储存在预设位置,包括:
在所述报文为目标报文时,基于所述目标报文的源IP和目的IP建立目标会话。
10.一种负载均衡设备的虚服务抓包装置,其特征在于,包括:
开启模块,用于开启载均衡设备的虚服务抓包功能;
获取模块,用于由所述载均衡设备的驱动侧获取报文;
转存模块,用于将所述报文转存到抓包流程;
匹配模块,用于基于所述抓包流程在所述载均衡设备中匹配与所述报文对应的虚拟服务会话;
储存模块,用于在匹配到虚拟服务会话且为目标会话时,将所述报文储存在预设位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310456203.0A CN116346649A (zh) | 2023-04-25 | 2023-04-25 | 负载均衡设备的虚服务抓包方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310456203.0A CN116346649A (zh) | 2023-04-25 | 2023-04-25 | 负载均衡设备的虚服务抓包方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116346649A true CN116346649A (zh) | 2023-06-27 |
Family
ID=86891397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310456203.0A Pending CN116346649A (zh) | 2023-04-25 | 2023-04-25 | 负载均衡设备的虚服务抓包方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116346649A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116016535A (zh) * | 2023-01-04 | 2023-04-25 | 上海弘积信息科技有限公司 | 一种对本地应用控制的负载均衡系统 |
-
2023
- 2023-04-25 CN CN202310456203.0A patent/CN116346649A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116016535A (zh) * | 2023-01-04 | 2023-04-25 | 上海弘积信息科技有限公司 | 一种对本地应用控制的负载均衡系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107911237B (zh) | 一种基于dpdk的用户空间内数据包快速检测方法 | |
US10812358B2 (en) | Performance-based content delivery | |
CN109547580B (zh) | 一种处理数据报文的方法和装置 | |
US9459987B2 (en) | Method and system for comparing different versions of a cloud based application in a production environment using segregated backend systems | |
US9501345B1 (en) | Method and system for creating enriched log data | |
CN111431758B (zh) | 云网络设备的测试方法、装置、存储介质和计算机设备 | |
EP3837604B1 (en) | In situ triggered function as a service within a service mesh | |
CN107135268B (zh) | 基于信息中心网络的分布式任务计算方法 | |
CN110719215B (zh) | 虚拟网络的流信息采集方法及装置 | |
CN113364804B (zh) | 一种流量数据的处理方法和装置 | |
CN108989151B (zh) | 用于网络或应用性能管理的流量采集方法 | |
CN106790593B (zh) | 一种页面处理方法和装置 | |
CN116346649A (zh) | 负载均衡设备的虚服务抓包方法及装置 | |
US20220329565A1 (en) | Increased coverage of application-based traffic classification with local and cloud classification services | |
US20160191368A1 (en) | Information processing device, method, and medium | |
US10009265B2 (en) | Communication control apparatus, communication control method, communication system, and recording medium | |
US20210176302A1 (en) | Apparatus and method for establishing connection and clat aware affinity (caa)-based scheduling in multi-core processor | |
CN112688899A (zh) | 云内安全威胁检测方法、装置、计算设备及存储介质 | |
Chen et al. | Evolving switch architecture toward accommodating in-network intelligence | |
CN113179317A (zh) | 内容重写设备的测试系统及方法 | |
JP2020150335A (ja) | パケット解析プログラム、パケット解析装置およびパケット解析方法 | |
Ras et al. | Proactive digital forensics in the cloud using virtual machines | |
CN113890789B (zh) | 适用于数据中心的udp隧道流量的分流方法、流量转发方法 | |
CN113079524B (zh) | 一种基于信令软采的信令跟踪方法、基站及可读存储介质 | |
US11922161B2 (en) | Scheduling a pausable automated process in a computer network |
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 |