CN108512885B - 用于网络包处理的方法、系统和存储介质 - Google Patents

用于网络包处理的方法、系统和存储介质 Download PDF

Info

Publication number
CN108512885B
CN108512885B CN201711026826.5A CN201711026826A CN108512885B CN 108512885 B CN108512885 B CN 108512885B CN 201711026826 A CN201711026826 A CN 201711026826A CN 108512885 B CN108512885 B CN 108512885B
Authority
CN
China
Prior art keywords
mediation
network
mqtt
subscriber
packet
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.)
Active
Application number
CN201711026826.5A
Other languages
English (en)
Other versions
CN108512885A (zh
Inventor
T·南迪
古鲁·古拉姆·贾纳尔达纳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN108512885A publication Critical patent/CN108512885A/zh
Application granted granted Critical
Publication of CN108512885B publication Critical patent/CN108512885B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/805QOS or priority aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了对被识别为消息队列遥测传输包的网络包执行特定动作。在一些示例中,一种方法包括:通过网络交换设备将经由特定端口接收的网络包识别为消息队列遥测传输(MQTT)包,其中该MQTT包在中介设备与订户设备之间传送;通过该网络交换设备执行深度包检测(DPI),以识别与中介代理设备对应的网络地址;通过网络交换设备应用在特定于中介设备和订户设备中的至少一个的策略引擎中定义的网络策略,其中中介设备和订户设备中的至少一个不是静态地配置在策略引擎中;以及通过所述网络交换设备基于所应用的网络策略执行特定动作。

Description

用于网络包处理的方法、系统和存储介质
技术领域
本公开的实施例总体涉及网络技术,并且具体涉及用于网络包处理的方法、系统和存储介质。
背景技术
目前存在多种物联网(IoT)协议用于物联网网络中的通信。IoT网络通常是指相互关联的物或装置的网络,其嵌有传感器、软件、网络连接和电子设备,使相互关联的物或装置能够收集和交换数据。各种IoT设备通常与不同类型的协议通信。一个IoT协议的示例是消息队列遥测传输(MQTT)协议。MQTT协议允许对所识别的资源执行特定的动作。然而,目前,网络交换设备既不能跟踪IoT设备之间的通信,也不能识别作为IoT设备的特定设备。因此,网络交换设备不能对特定设备执行任何特定的动作。
发明内容
在本公开的第一方面,提供了一种方法。该方法包括通过网络交换设备将经由特定端口接收的网络包识别为消息队列遥测传输(MQTT)包,其中所述MQTT包在中介设备与订户设备之间传送;通过所述网络交换设备执行深度包检测(DPI),以识别与所述中介设备相对应的网络地址;通过所述网络交换设备应用在特定于所述中介设备和所述订户设备中的至少一个的策略引擎中定义的网络策略,其中所述中介设备和所述订户设备中的所述至少一个不是静态地配置在所述策略引擎中;以及通过所述网络交换设备基于所应用的网络策略执行特定动作。
在本公开的第二方面,提供了一种系统。该系统至少包括:订户设备,包括第一硬件处理器;中介设备,包括第二硬件处理器;以及网络交换设备,包括执行操作的第三硬件处理器,所述操作包括:将经由特定端口接收的网络包识别为消息队列遥测传输(MQTT)包,其中所述MQTT包在所述中介设备与所述订户设备之间传送;检查所述MQTT包;从所述MQTT包中识别与所述中介相对应的网络地址;应用在特定于所述中介设备或所述订户设备的策略引擎中定义的网络策略,其中所述中介设备或所述订户设备不是静态地配置在所述策略引擎中;并且基于所述网络策略执行特定于所述中介设备或所述订户设备的动作。
在本公开的第三方面,提供了一种被编码有由网络交换设备的至少一个处理器可执行的指令的非暂时性机器可读存储介质,所述机器可读存储介质包括指令,用于:拦截在中介设备与订户设备之间传送并经由所述网络交换设备处的特定端口接收的网络包;将所述网络包识别为消息队列遥测传输(MQTT)包;执行深度包检测(DPI),以识别与所述中介设备相对应的网络地址;从特定于所述中介设备或所述订户设备的策略引擎中检索网络策略,其中所述中介设备和所述订户设备不是静态地配置在所述策略引擎中;以及基于所述网络策略执行流量整形动作。
附图说明
以下详细描述参考了附图,其中:
图1是用于对被识别为MQTT包的网络包执行特定动作的示例体系结构的框图;
图2是对被识别为MQTT包的网络包执行特定动作的示例过程的流程图;
图3是对被识别为MQTT包的网络包执行特定动作的示例处理的流程图;
图4是对被识别为MQTT包的网络包执行特定动作的示例处理的流程图;
图5是对被识别为MQTT包的网络包执行特定动作的示例网络设备的框图;以及
图6是对被识别为MQTT包的网络包执行特定动作的示例网络设备的框图。
具体实施方式
为了应对上述挑战,这里的解决方案涉及一种识别网络中的IoT设备并对它们执行特定动作的方法。特定动作可以是例如应用策略或修改服务质量(QoS)。可选地,网络交换设备可以将信息导出到第三方设备,这可以对所识别的IoT设备采取特定动作。
一种示例性IoT协议是消息队列遥测传输(MQTT)协议。MQTT协议通常是指在TCP(传输控制协议)/IP(因特网协议)的顶部使用的基于发布订阅的轻量消息协议。其发布订阅消息模式涉及消息中介代理。中介通常负责根据消息的主题向有兴趣的客户端分发消息。MQTT协议可用于定义动词(也称为“方法”),以指示要对所识别的资源执行的特定动作。
在该解决方案中,网络交换设备可以通过执行深度包检测来将接收的网络包识别为MQTT包。因此,发送MQTT包的设备可以被识别为IoT设备。此外,网络交换设备可以识别IoT设备在MQTT协议中的角色(例如订购者、中介代理、发布者等)。然后,基于IoT设备的角色,网络交换设备可以与策略引擎通信,以应用特定策略和/或执行特定动作。具体来说,网络交换设备可以充当中介代理、为中介提供冗余或负载平衡、将QoS级别分配给特定类型的流量、对主题或设备进行分析等。
架构
图1是用于对被识别为MQTT包的网络包执行特定动作的示例体系结构的框图。具体地,图1包括与策略引擎160通信耦合的交换设备140。另外,图1还包括多个IoT设备,诸如客户端设备1 110、客户端设备2 120,客户端设备3 130和中介设备150。
交换设备140通常包括任一计算机联网设备,计算机联网设备可以将计算机网络中的设备连接在一起、处理数据并向目标设备发送数据。例如,交换设备140可以是网络交换机、无线控制器、服务控制器等。
策略引擎160可以是通过有线和/或无线IoT基础设施提供基于角色和/或设备的网络访问控制的任何网络策略管理器。策略引擎160可以提供灵活的策略配置和实施、客户端设备安全配置、用户/客户认证以及许多其他功能。策略引擎160可以位于包括网络服务器或控制器的任何网络设备上。在一些示例中,策略引擎160可以是物理上位于网络交换设备140上的组件。
客户端设备(例如客户端设备1 110、客户端设备2 120,客户端设备3 130)通常是指通过IoT网络访问任何服务的计算机设备。多个IoT设备可以包括客户端设备和服务器设备。服务器设备可以充当中介代理的角色。此外,客户端设备可以充当不同的角色,例如订购者或发布者。以下部分将详细讨论MQTT协议。
MQTT协议
MQTT协议通常指的是客户端-服务器发布/订阅消息传输协议。因为其是轻量级的、开放的、简单且容易实现的,所以它可以用在受限环境中,例如用在其中使用小的代码内存和/或网络带宽非常珍贵的机器对机器(M2M)和物联网(IoT)环境的通信中。
MQTT客户端可以包括发布者或订户。发布者(例如客户端设备3 130)通常是指发布主题的MQTT客户端设备,而订户(例如客户端设备1 110和客户端设备2 120)通常是指订阅主题的MQTT客户端设备。注意,通常,MQTT客户端可以同时是发布者和订户。MQTT客户端设备可以是从微控制器到成熟的服务器的任何设备,其运行MQTT库并通过网络连接到MQTT中介。MQTT客户端的轻松实现使得MQTT适合于小型设备。
MQTT中介(例如,中介设备150)通常是指发布/订阅协议中的集中式实体。在订户和发布者之间传送的每条消息将通过MQTT中介。因此,中介设备150可以同时与大量的MQTT客户端设备通信并控制MQTT组件之间的流量。中介设备150通常负责接收消息、过滤消息、确定哪些客户端设备对特定消息感兴趣,然后将消息发送到订阅的客户端设备。
此外,中介设备150维持持久客户端的会话,包括订阅和错过的消息。由于在MQTT协议下订户和发布者之间没有直接通信,因此中介设备150与每个订户设备(例如客户端设备1 110和客户端设备2 120)以及每个发布者设备(例如客户端设备3 130)维持单独的会话。然后,中介设备将其与订户维持的会话连接到其与发布者维持的会话。
在示例中,工业IoT网络包括服务提供商和许多IoT设备。服务提供商可以是发布者,并且其服务的IoT设备可以是使用MQTT协议的订户。
在某些情况下,MQTT组件的角色可随时间而变化。作为一个主题的订户的客户端设备可以是另一个主题的发布者。此外,客户端设备可以在一时间段内作为发布者,并且可以在不同的时间段内充当订户。因此,不能通过静态配置来在策略引擎160中配置MQTT组件(例如订户、发布者或中介代理)的角色。本文公开的解决方案可以用于识别IoT设备,例如,使用MQTT作为其通信协议的IoT网络中的中介设备,然后在IoT设备上应用特定动作。
IoT设备识别
为了识别IoT设备,交换设备140可以对接收到的网络包执行深度包检查(DPI)。通常,MQTT包是发送到特定端口(例如端口号1833)的TCP包。在一个示例中,客户端设备可以是无线设备,并且可以经由无线局域网(WLAN)中的接入点来接收网络包。因此,交换设备140可以拦截从绑定在端口号1833上的套接字接收到的包。
如本文所使用的,“接入点(AP)”通常指的是任何已知的或随后可变得已知的便利无线接入技术的接收点。具体来说,术语“AP”不旨在限于基于IEEE 802.11的AP。AP通常用作适于允许无线设备经由各种通信标准连接到有线网络的电子设备。如本文所使用的,“无线局域网(WLAN)”通常是指使用一些无线分发方法(例如扩频或正交频分复用无线电)来连接两个或更多个设备并且通常通过接入点将连接提供至互联网从而为用户提供在本地覆盖区域内移动的移动性并且仍然维持与网络的连接的通信网络。
然后,交换设备140可以在这些包上应用DPI,并且确定那些包的目的地IP地址。基于包类型和目的地IP地址,交换设备140可以识别中介设备150。例如,MQTT消息可以包括各种包类型,诸如连接消息、连接确认消息、订阅消息、订阅-确认消息、发布消息、Ping请求消息、Ping响应消息等。这些包类型可以基于字段“消息类型”在MQTT包的报头中被识别。
注意,可以捕获发送到中介设备150或从中介设备150发出的任何MQTT包,以识别中介设备150的地址。具体地,可以通过至少两种方式来识别MQTT中介(例如中介设备150):首先,中介设备150可以被静态地配置在交换设备140中。其次,通过检查经由交换设备140发送到中介设备150的发布者/订户消息,交换设备140可以通过识别在发布者/订户消息中的目的地IP地址来识别中介设备150。下面的表1示出了用于识别中介设备150的示例源代码。
Figure GDA0002742583290000051
Figure GDA0002742583290000061
Figure GDA0002742583290000071
表1
此外,可以使用探测消息来识别MQTT中介的状态。如果MQTT中介设备150关闭,则MQTT中介设备150与其他MQTT组件(例如客户端设备1 110至客户端设备3 130)之间的TCP会话将终止,这是因为目的地IP地址不再有效。利用这里描述的解决方案,可以减少流量停机时间,因为对中介设备150的任何新请求可以由充当中介代理的交换设备140来处理。此外,对中介设备150的识别允许对中介流量执行特定动作。例如,在MQTT消息通信中,中介流量的优先级可高于其他流量。
对IoT流量的操作
一旦中介设备150被识别,交换设备140就可以对IoT流量执行各种特定动作。例如,交换设备140可以阻止来自客户端设备(例如,客户端设备1 110)的针对特定主题的流量。在一些示例中,交换设备140可以完全阻止来自特定客户端设备的流量。在一些示例中,交换设备140可以阻止来自发布者的针对特定主题的流量。在一些示例中,交换设备140可以完全阻止来自特定发布者的流量。上述实施例仅用于说明目的。交换设备140可以允许或阻止特定于任何MQTT组件、MQTT消息类型和/或MQTT主题的任何类型的流量。
在一些示例中,中介流量可以被给予比其他类型的流量高的优先级。此外,可以应用各种网络策略。在一些示例中,网络管理员可以通过命令行界面配置网络策略。在一些示例中,网络策略可以存储在策略引擎160中,并基于MQTT组件的角色在MQTT消息上动态应用。
此外,基于云的监测可以应用于MQTT流量。还可以捕获客户端消息,以查找有关客户端设备的信息,例如其物理位置。然后,可以基于发布者和订户的位置来应用各种安全和访问级别的策略。
中介代理
在一些示例中,交换设备140可以充当中介代理。具体地说,交换设备140可以代表中介设备150响应来自内部和/或外部高速缓存的订阅消息。例如,如果检测到中介设备150在网络中不可用,则当客户端设备(例如客户端设备1 110)向中介设备150发送新的订阅请求时,交换设备140可以代表中介设备150响应来自客户端设备(订户)的订阅请求。在一些示例中,交换设备140可以通过周期性地向中介设备150发送健康监测包并且基于来自中介设备150的响应来评估网络健康度量,来监测与中介设备150相关联的网络健康度量。一旦交换设备140确定中介设备150不能在健康模式下操作,则交换设备140可以开始充当中介设备150的中介代理。因此,只要网络健康度量指示中介代理的使用,即使当中介设备150在网络中可用,中介代理也可以是有效的。
通常,中介设备150在高速缓存中存储会话信息,包括每个发布者向订户发布的主题。通过截取和分析MQTT包,交换设备140可以提取主题信息。此外,交换设备140可以跟踪在IoT网络中有效的并由特定中介(例如,中介设备150)维持的会话以及对应于那些会话的发布者/订户信息。交换设备140将其从截获的网络包中提取的MQTT会话信息存储在本地高速缓存中。当中介设备150在IoT网络中备份时,交换设备140可以将有效会话传送回中介设备150,以用于将来的MQTT会话管理。
在一些示例中,当用作中介设备150的中介代理时,交换设备140可以代表中介设备150接收发布者消息并创建新的主题。此外,交换设备140可以针对新的主题与发布者(例如客户端设备3 130)创建新的会话。此外,交换设备140可以与订阅新的主题的多个订户(例如客户端设备1 110和客户端设备2 120)建立新的会话。交换设备140可以作为中介代理维持新的会话,直到中介设备150在IoT网络中变得可用。然后,交换设备140可以启动会话传送过程,以将针对新发布的主题新创建的会话传送到中介设备150。
在一些示例中,交换设备140可以为中介设备150提供中介冗余。具体地,可以在交换设备140内部构建中介代理。中介代理可以发布虚拟IP地址,其将被用作实际中介代理的前端网络地址。当交换设备140接收到指向虚拟IP地址的MQTT消息时,该消息可以由交换设备140和中介设备150处的中介代理处理。因此,交换设备140将维持与中介设备150相同的会话信息。作为冗余中介代理的中介可以提高IoT系统的稳健性。
在一些示例中,交换设备140可以在后端为多个中介设备提供中介负载平衡。具体来说,可以在交换设备140内构建中介代理。中介代理可以发布可由多个后端中介设备共享的虚拟IP地址。当交换设备140接收到指向虚拟IP地址的MQTT消息时,消息可以应用负载平衡方案来确定用于处理接收到的MQTT消息的特定后端中介设备。负载平衡方案可以是轮询方案,或者可以是基于MQTT消息中源地址和目的地址组合的散列方案。此外,源地址和目的地址可以是IP地址或媒体访问控制(MAC)地址。此外,中介代理可以确保属于同一会话的MQTT消息将被转发到同一个后端中介设备。
在一些示例中,交换设备140可以将收集的MQTT数据导出到外部实体用于数据分析。在一些示例中,交换设备140可以与策略引擎160协作以应用存储在策略引擎160中的不同策略。注意,策略可以动态地应用于中介设备、发布者设备和/或订户设备,即使这种设备角色不能在策略引擎160中静态地配置。在从策略引擎160检索适用的策略之后,交换设备140可以动态地确定应该应用策略的MQTT组件(例如设备或设备组)。
对被识别为MQTT包的网络包执行特定动作的处理
在讨论图2-4时,可以参考图1中的部件以提供上下文的例子。在一个实施方式中,图1中描述的交换设备140执行操作210-240、310-350和410-450,以对被识别为MQTT包的网络包执行特定动作。此外,虽然图2-4被描述为由网络设备实现,不过其可以在其他合适的设备或组件上执行。例如,图2-4可以以如图5所示的机器可读存储介质520上的可执行指令的形式来实现。此外,可执行指令可以存储在如图6所示的网络交换设备630中的存储器640上。
图2是对被识别为MQTT包的网络包执行特定动作的示例处理的流程图。首先,网络交换设备可以将经由特定端口接收的网络包识别为消息队列遥测传输(MQTT)包(操作210)。MQTT包可以在中介设备与订户设备之间传输。接下来,网络交换设备可以执行深度包检测(DPI),以识别对应于中介设备的网络地址(操作220)。然后,网络交换设备可以应用在特定于中介设备和订户设备中的至少一个的策略引擎中定义的网络策略(操作230)。这里,中介设备和/或订户设备不能在策略引擎中静态地配置。此外,网络交换设备可以基于所应用的网络策略来执行特定动作(操作240)。
图3是对被识别为MQTT包的网络包执行特定动作的另一示例性处理的流程图。在该示例中,网络交换设备首先可以将经由特定端口接收的网络包识别为消息队列遥测传输(MQTT)包(操作310)。MQTT包可以在中介设备与订户设备之间传输。接下来,网络交换设备可以检查MQTT包(操作320)。此外,网络交换设备可以从MQTT包识别与中介相对应的网络地址(操作330)。此外,网络交换设备可以应用在特定于中介设备或订户设备的策略引擎中定义的网络策略,其中中介设备或订户设备不是静态地配置在策略引擎中(操作340)。最后,网络交换设备可以基于网络策略来执行特定于中介设备或订户设备的动作(操作350)。
图4是对被识别为MQTT包的网络包执行特定动作的另一示例性处理的流程图。这里,网络交换设备首先可以拦截在中介设备和订户设备之间传输并经由网络交换设备上的特定端口接收的网络包(操作410)。然后,网络交换设备可以将网络包识别为消息队列遥测传输(MQTT)包(操作420)。此外,网络交换设备可以执行深度包检测(DPI)来识别对应于中介设备的网络地址(操作430)。此外,网络交换设备可以从特定于中介设备或订户设备的策略引擎检索网络策略(操作440)。请注意,中介设备和订户设备在策略引擎中不可静态配置。此外,网络交换设备可以基于网络策略来执行流量整形动作。
在一些示例中,中介设备可以接收由发布者设备发布的多个主题。然后,中介设备可以将多个主题服务于多个订户设备。请注意,中介设备、发布者设备和订阅设备针对每个主题动态地充当其相应的角色。
在一些示例中,网络交换设备可以进一步捕获向中介设备发送和从中介设备发送的MQTT包。然后,交换设备可以给予发送到中介设备和从中介设备发送的MQTT包高的的优先级。在一些示例中,交换设备可以捕获向订户设备发送和从订户设备发送的客户端消息。然后,交换设备可以从捕获的客户端消息中提取信息,其可以包括订户设备的位置。
在一些示例中,交换设备还可以创建用于高速缓存由中介设备维持的有效会话的中介代理。此外,交换设备可以在有效会话中的一个中直接响应来自订户设备的消息,而不将消息传送到中介设备。
在一些示例中,中介代理可以进一步监测中介设备的行为并且响应于指示中介设备不可用的行为来替换中介设备。中介代理和中介设备可以共享单个虚拟因特网协议(IP)地址,以允许中介代理为中介设备提供中介冗余。此外,中介代理可以使用单个虚拟因特网协议(IP)地址与订户设备进行通信。另一方面,中介代理可以与多个中介设备通信,以在多个中介设备之间执行负载平衡。
在一些示例中,基于所应用的网络策略执行特定动作可以包括阻止来自客户端设备的针对选择的主题的流量;阻止来自发布者设备的针对选择的主题的流量;为订阅选择的主题的多个订户设备改变服务质量(QoS)级别;阻止来自属于特定中介组的中介设备的流量;等等。
中介代理可以用作对应于中介设备的备用中介设备、对应于中介设备的冗余中介设备或者跨多个中介设备执行负载平衡的网关中介设备。这里的网络交换设备可以是网络交换机、无线控制器、服务控制器等。
对被识别为MQTT包的网络包执行特定动作的网络设备
图5是具有至少一个处理器510的示例网络设备的框图,处理器510用于执行机器可读存储介质和/或存储器520内的指令530-590以对被识别为MQTT包的网络包执行特定动作。如此处所使用,“网络设备”通常包括适于发送和/或接收信令并且处理这样的信令内的信息的设备,例如站(例如任何数据处理装置,如计算机、便携式电话、个人数字助理、平板设备等)、接入点、数据传输设备(例如网络交换机、路由器、控制器等)等。
尽管网络设备500包括至少一个处理器510和机器可读存储介质520,但是它也可以包括适合于本领域技术人员的其它组件。例如,网络设备500可以包括附加的处理组件和/或存储器。在另一实现中,网络设备执行指令530-590。网络设备500是具有能够执行指令530-590的至少一个处理器510的电子设备,并且网络设备500的这种实现包括移动设备、服务器、数据中心、网络设备、客户端设备、计算机、物联网设备或能够执行指令530-590的其他类型的电子设备。指令530-590可以被实现为存储在存储介质520上的机器可读指令所实现的方法、功能、操作和其他过程,存储介质520可以是非暂时性的,诸如硬件存储设备(例如随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程ROM、电可擦除ROM、硬盘驱动器和闪存)。机器可读存储介质和/或存储器520包括用于处理器510获取、解码和执行的指令530-590。
图6是示例性计算系统600的框图,其包括订户设备610、中介设备620和用以对被识别为MQTT包的网络包执行特定动作的网络交换设备630。订户设备610可以包括处理器615。中介设备620可以包括处理器625。同样地,网络交换设备630可以包括处理器635和存储器640。存储器640可以是电子、磁或光存储器、存储器、闪存-驱动或包含或存储可执行指令650-690的其他物理设备。因此,存储器640可以包括例如随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM)、存储驱动器、存储器高速缓存、网络存储器、压缩盘只读存储器(CDROM)等。因此,存储器640可以包括应用和/或固件,其可以独立地和/或与至少一个处理器610结合使用以获取、解码和/或执行存储器640的指令。应用和/或固件可以被存储在存储器640上和/或存储在计算系统600的另一个位置上。
处理器510(或处理器635)可以执行指令530-590(或650-690)以对被识别为MQTT包的网络包执行特定动作。具体地说,至少一个处理器510(或处理器635)可以执行指令530-590(或指令650-690):拦截在中介设备和订户设备之间传输并经由网络交换设备处的特定端口接收的网络包;将经由特定端口接收的网络包识别为消息队列遥测传输(MQTT)包,其中该MQTT包在中介设备和订户设备之间传送;检查MQTT包;从MQTT包中识别与该中介相对应的网络地址;执行深度包检测(DPI),以识别与中介设备相对应的网络地址;应用在特定于中介设备和订户设备中的至少一个的策略引擎中定义的网络策略,其中中介设备和订户设备中的至少一个不是在策略引擎中静态配置的;等等。
此外,至少一个处理器510(或处理器635)可以进一步执行指令530-590(或指令650-690),以:从特定于中介设备或订户设备的策略引擎检索网络策略,其中中介设备和订户设备不是在策略引擎中静态配置的;根据网络策略执行流量整形动作;根据应用的网络策略执行特定的动作;基于网络策略执行特定于中介设备或订户设备的动作;捕获发送到中介设备和从中介设备发送的MQTT包;给发送到中介设备和从中介设备发送的MQTT包提供高优先级;捕获发送到订户设备和从订户设备发送的客户端消息;从所捕获的客户端消息中提取包括订户设备的位置的信息;创建用于缓存由中介设备维持的有效会话的中介代理;在一个有效会话中直接响应来自订户设备的消息,而不将消息传送到中介设备;使用单个虚拟因特网协议(IP)地址与订户设备通信,并且其中中介代理与多个中介设备通信;在多个中介设备之间执行负载平衡;阻止来自客户端设备的针对选择的主题的流量;阻止来自发布者设备的针对选择的主题的流量;为订阅选择的主题的多个订户设备改变服务质量(QoS)级别;阻止来自属于特定中介组的中介设备的流量;监测中介设备的行为;响应于指示中介设备不可用的行为来替换中介设备;与中介设备共享单个虚拟因特网协议(IP)地址,以允许网络交换设备为中介设备提供中介冗余等等。

Claims (20)

1.一种网络包处理的方法,包括:
通过网络交换设备将经由特定端口接收的网络包识别为消息队列遥测传输MQTT包,其中所述MQTT包在中介设备与订户设备之间传送,其中所述中介设备和所述订户设备是分别具有中介和订户的角色的MQTT组件;
通过所述网络交换设备执行深度包检测DPI,以识别与所述中介设备相对应的网络地址和在MQTT协议中的MQTT组件的角色;
通过所述网络交换设备,基于所述MQTT组件的所述角色来动态地应用在策略引擎中定义的网络策略,其中所述网络策略特定于所述中介设备和所述订户设备中的至少一个;以及
通过所述网络交换设备基于所应用的网络策略执行特定动作。
2.根据权利要求1所述的方法,其中所述中介设备接收由发布者设备发布的多个主题并将所述多个主题服务于多个订户设备,并且其中所述中介设备、所述发布者设备和所述订户设备针对每个主题动态地充当它们相应的角色。
3.根据权利要求1所述的方法,进一步包括:
通过所述网络交换设备捕获被传送到所述中介设备和从所述中介设备传送的MQTT包;以及
通过所述网络交换设备给予被传送到所述中介设备和从所述中介设备传送的所述MQTT包高的优先级。
4.根据权利要求1所述的方法,进一步包括:
通过所述网络交换设备捕获传送到所述订户设备和从所述订户设备传送的客户端消息;以及
通过所述网络交换设备从所捕获的客户端消息中提取包括所述订户设备的位置的信息。
5.根据权利要求1所述的方法,进一步包括:
在所述网络交换设备上创建用于高速缓存由所述中介设备维持的有效会话的中介代理;以及
通过所述网络交换设备在所述有效会话中的一个中直接响应来自所述订户设备的消息,而不向所述中介设备传递所述消息。
6.根据权利要求5所述的方法,其中所述中介代理进一步监测所述中介设备的行为,并且响应于指示所述中介设备不可用的行为而替换所述中介设备。
7.根据权利要求6所述的方法,其中所述中介代理和中介设备共享单个虚拟因特网协议IP地址,以允许所述中介代理为所述中介设备提供中介冗余。
8.根据权利要求6所述的方法,其中所述中介代理使用单个虚拟因特网协议IP地址与所述订户设备进行通信,并且其中所述中介代理与多个中介设备通信,以在所述多个中介设备之间执行负载平衡。
9.根据权利要求1所述的方法,其中基于所应用的网络策略执行特定动作包括以下之一:阻止来自客户端设备的针对选择的主题的流量;阻止来自发布者设备的针对所述选择的主题的流量;为订阅所述选择的主题的多个订户设备改变服务质量QoS级别;以及阻止来自属于特定中介组的中介设备的流量。
10.根据权利要求1所述的方法,其中所述网络交换设备包括网络交换机、无线控制器和服务控制器中的一个。
11.一种用于网络包处理的系统,至少包括:
订户设备,包括第一硬件处理器;
中介设备,包括第二硬件处理器;以及
网络交换设备,包括执行操作的第三硬件处理器,所述操作包括:
将经由特定端口接收的网络包识别为消息队列遥测传输MQTT包,其中所述MQTT包在所述中介设备与所述订户设备之间传送,其中所述中介设备和所述订户设备是分别具有中介和订户的角色的MQTT组件;
从所述MQTT包中识别与所述中介设备相对应的网络地址和在MQTT协议中的MQTT组件的角色;
基于所述MQTT组件的所述角色来动态地应用在策略引擎中定义的网络策略,其中所述网络策略特定于所述中介设备或所述订户设备;并且
基于所述网络策略执行特定于所述中介设备或所述订户设备的动作。
12.根据权利要求11所述的系统,其中由所述第三硬件处理器执行的操作进一步包括:
创建用于高速缓存由所述中介设备维持的有效会话的中介代理;以及
在所述有效会话中的一个中直接响应从所述订户设备接收的消息,而不通过所述中介代理将所述消息传递到所述中介设备。
13.根据权利要求11所述的系统,其中由所述第三硬件处理器执行的操作进一步包括:
监测所述中介设备的行为;以及
响应于指示所述中介设备不可用的行为而替换所述中介设备。
14.根据权利要求11所述的系统,其中由所述第三硬件处理器执行的操作进一步包括:
与所述中介设备共享单个虚拟因特网协议IP地址,以允许所述网络交换设备为所述中介设备提供中介冗余。
15.根据权利要求11所述的系统,其中由所述第三硬件处理器执行的操作进一步包括:
使用单个虚拟因特网协议IP地址与所述订户设备进行通信;以及
在多个中介设备之间执行负载平衡。
16.根据权利要求11所述的系统,其中由所述第三硬件处理器执行的操作进一步包括:
阻止来自客户端设备的针对选择的主题的流量;
阻止来自发布者设备的针对所述选择的主题的流量;
为订阅所述选择的主题的多个订户设备改变服务质量QoS级别;以及
阻止来自属于特定中介组的中介设备的流量。
17.一种被编码有由网络交换设备的至少一个处理器可执行的指令的非暂时性机器可读存储介质,所述机器可读存储介质包括指令,用于:
拦截在中介设备与订户设备之间传送并经由所述网络交换设备处的特定端口接收的网络包,其中所述中介设备和所述订户设备是分别具有中介和订户的角色的消息队列遥测传输MQTT组件;
将所述网络包识别为MQTT包;
执行深度包检测DPI,以识别与所述中介设备相对应的网络地址和在MQTT协议中的MQTT组件的角色;
从策略引擎中检索网络策略,其中所述网络策略特定于所述中介设备或所述订户设备;
基于所述MQTT组件的所述角色来动态地应用所述网络策略;以及
基于所述网络策略执行流量整形动作。
18.根据权利要求17所述的非暂时性机器可读存储介质,其中所述流量整形动作包括:
阻止来自客户端设备的针对选择的主题的流量;
阻止来自发布者设备的针对所述选择的主题的流量;
为订阅所述选择的主题的多个订户设备改变服务质量QoS级别;以及
阻止来自属于特定中介组的中介设备的流量。
19.根据权利要求17所述的非暂时性机器可读存储介质,其中所述机器可读存储介质进一步包括指令,用于:
创建用于高速缓存由所述中介设备维持的有效会话的中介代理;以及
在由所述中介代理高速缓存的有效会话中的一个中响应于所述订户设备,而不向所述中介设备传递所述消息。
20.根据权利要求19所述的非暂时性机器可读存储介质,其中所述中介代理被用作对应于所述中介设备的备用中介设备、对应于所述中介设备的冗余中介设备、执行包含所述中介设备的多个中介设备之间的负载平衡的网关中介设备中的一个。
CN201711026826.5A 2017-02-28 2017-10-27 用于网络包处理的方法、系统和存储介质 Active CN108512885B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/445,512 US10432535B2 (en) 2017-02-28 2017-02-28 Performing a specific action on a network packet identified as a message queuing telemetry transport (MQTT) packet
US15/445,512 2017-02-28

Publications (2)

Publication Number Publication Date
CN108512885A CN108512885A (zh) 2018-09-07
CN108512885B true CN108512885B (zh) 2021-08-24

Family

ID=60201341

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711026826.5A Active CN108512885B (zh) 2017-02-28 2017-10-27 用于网络包处理的方法、系统和存储介质

Country Status (3)

Country Link
US (1) US10432535B2 (zh)
EP (1) EP3367627B1 (zh)
CN (1) CN108512885B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10708360B2 (en) * 2017-03-14 2020-07-07 Infiswift Technologies, Inc. Method for transport agnostic communication between internet of things client and broker
CN109391500B (zh) * 2017-08-11 2021-08-31 华为技术有限公司 一种配置管理方法、装置及设备
US10833881B1 (en) * 2017-11-06 2020-11-10 Amazon Technologies, Inc. Distributing publication messages to devices
US10897471B2 (en) * 2018-01-30 2021-01-19 Hewlett Packard Enterprise Development Lp Indicating malicious entities based on multicast communication patterns
US11070562B2 (en) * 2018-04-25 2021-07-20 Vmware, Inc. Fine-grained IoT access control via device proxies and SDN-based micro-segmentation
CN109327513B (zh) * 2018-09-21 2021-12-17 京东方科技集团股份有限公司 交互方法、装置及计算机可读存储介质
WO2020148330A1 (en) * 2019-01-18 2020-07-23 Nokia Solutions And Networks Oy Method and apparatus for protecting pdu sessions in 5g core networks
CN109672591B (zh) * 2019-01-21 2022-05-17 中国科学技术大学 实时可编程的抽样带内网络遥测的方法
CN110336736B (zh) * 2019-05-27 2021-04-06 四川长虹电器股份有限公司 基于mqtt服务器集群实现共享订阅的方法
CN110381023B (zh) * 2019-06-14 2022-02-18 浪潮软件股份有限公司 一种基于mqtt协议的消息存储方法
US11393005B2 (en) * 2019-07-30 2022-07-19 Optiks Solutions, Inc. System and method for secure communication
US11720944B2 (en) * 2019-07-30 2023-08-08 Optiks Solutions, Inc. System and method for secure communication
GB2588107B (en) 2019-10-07 2022-11-02 British Telecomm Secure publish-subscribe communication methods and apparatus
CN113259258B (zh) * 2021-05-12 2022-11-04 广东美房智高机器人有限公司 机器人状态信息实时显示方法、系统、设备及介质
US11477303B1 (en) * 2021-05-17 2022-10-18 Microsoft Technology Licensing, Llc Broker cell for distributed message system
EP4131005A1 (en) * 2021-08-04 2023-02-08 Siemens Aktiengesellschaft A method to query mom objects using mqtt over websocket
CN114095546B (zh) * 2021-10-27 2024-03-01 许昌许继软件技术有限公司 一种基于mqtt协议的报文监视方法及装置
CN114866504B (zh) * 2022-03-25 2024-02-23 安徽南瑞中天电力电子有限公司 一种基于mqtt消息协议的能源控制器进程间的通信方法
CN115913983B (zh) * 2022-12-20 2023-05-23 东方空间技术(北京)有限公司 运载火箭地面测控网络拓扑结构的构建方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010040010A1 (en) * 2008-10-01 2010-04-08 Twilio Inc Telephony web event system and method
CN101960815A (zh) * 2008-02-28 2011-01-26 阿尔卡特朗讯公司 用于桥接集成移动深度包检测(dpi)的压缩ip流识别
CN104468253A (zh) * 2013-09-23 2015-03-25 中兴通讯股份有限公司 一种深度包检测控制方法及装置
CN104813644A (zh) * 2012-11-22 2015-07-29 瑞典爱立信有限公司 针对特定于设备的业务流导向而识别NATed设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8458467B2 (en) 2005-06-21 2013-06-04 Cisco Technology, Inc. Method and apparatus for adaptive application message payload content transformation in a network infrastructure element
US8392555B2 (en) * 2009-06-01 2013-03-05 International Business Machines Corporation Push-back mechanism for pub/sub brokers
US20160156614A1 (en) 2014-11-28 2016-06-02 Hcl Technologies Limited Provisioning a device over an internet of things
US20160205106A1 (en) 2015-01-12 2016-07-14 Verisign, Inc. Systems and methods for providing iot services
US9633197B2 (en) 2015-03-06 2017-04-25 Verisign, Inc. Systems and methods for device detection and authorization in a IOT framework
US10212178B2 (en) 2015-04-07 2019-02-19 Zingbox, Ltd. Packet analysis based IoT management
US20160323283A1 (en) 2015-04-30 2016-11-03 Samsung Electronics Co., Ltd. Semiconductor device for controlling access right to resource based on pairing technique and method thereof
US10630731B2 (en) * 2015-10-08 2020-04-21 Verizon Patent And Licensing Inc. Establishing media sessions via MQTT and SIP
US10432704B2 (en) * 2016-03-23 2019-10-01 Sap Se Translation of messages using sensor-specific and unified protocols
KR102504850B1 (ko) * 2016-05-12 2023-03-02 인터디지탈 패튼 홀딩스, 인크 가상화된 모바일 코어 네트워크들에의 접속
US10560407B2 (en) * 2016-10-06 2020-02-11 Sap Se Payload description for computer messaging

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101960815A (zh) * 2008-02-28 2011-01-26 阿尔卡特朗讯公司 用于桥接集成移动深度包检测(dpi)的压缩ip流识别
WO2010040010A1 (en) * 2008-10-01 2010-04-08 Twilio Inc Telephony web event system and method
CN104813644A (zh) * 2012-11-22 2015-07-29 瑞典爱立信有限公司 针对特定于设备的业务流导向而识别NATed设备
CN104468253A (zh) * 2013-09-23 2015-03-25 中兴通讯股份有限公司 一种深度包检测控制方法及装置

Also Published As

Publication number Publication date
US10432535B2 (en) 2019-10-01
US20180248804A1 (en) 2018-08-30
CN108512885A (zh) 2018-09-07
EP3367627A1 (en) 2018-08-29
EP3367627B1 (en) 2020-07-01

Similar Documents

Publication Publication Date Title
CN108512885B (zh) 用于网络包处理的方法、系统和存储介质
US20200344208A1 (en) Method and apparatus for processing service request
US11381667B1 (en) Methods and systems for implementing a regionally contiguous proxy service
EP1892887A1 (en) Communication method between communication devices and communication apparatus
WO2018009815A1 (en) Methods to monitor resources through http/2
US10367893B1 (en) Method and apparatus of performing peer-to-peer communication establishment
US11665263B2 (en) Network multi-path proxy selection to route data packets
Park et al. Smart base station-assisted partial-flow device-to-device offloading system for video streaming services
CN113692753B (zh) 网络装置和在网络装置中实现的搜索边缘服务的方法
CN111211933B (zh) 一种确定传输链路的质量的方法及装置
WO2013159492A1 (zh) 信息上报与下载的方法及系统
CN112787975A (zh) 一种接入设备类型确定方法、设备及系统
Nalayini et al. Block link flooding algorithm for TCP SYN flooding attack
US20240147272A1 (en) Technique for Collecting Analytics Data
CN113660174B (zh) 一种业务类型确定方法及相关设备
Ivanisenko Methods and Algorithms of load balancing
Moon et al. Cedos: a network architecture and programming abstraction for delay-tolerant mobile apps
Khandaker et al. On-path vs off-path traffic steering, that is the question
CN115967679A (zh) 数据请求方法、通信装置和通信系统
CN104580003B (zh) 并联模式p2p扰码方法、装置及系统
WO2024123594A1 (en) Systems and methods for uniquely identifying user equipment with a wireless network
CN111049754A (zh) 数据通信方法、装置、设备和计算机可读存储介质
CA3090132A1 (en) Application service virtual circuit
CN108259211A (zh) 一种设备管理方法及装置

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