CN110730116B - 局域网内的通信设备的操作方法、通信设备及网关设备 - Google Patents
局域网内的通信设备的操作方法、通信设备及网关设备 Download PDFInfo
- Publication number
- CN110730116B CN110730116B CN201910999596.3A CN201910999596A CN110730116B CN 110730116 B CN110730116 B CN 110730116B CN 201910999596 A CN201910999596 A CN 201910999596A CN 110730116 B CN110730116 B CN 110730116B
- Authority
- CN
- China
- Prior art keywords
- communication
- area network
- local area
- sub
- udp
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2807—Exchanging configuration information on appliance services in a home automation network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Automation & Control Theory (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开涉及局域网内的通信设备的操作方法,所述通信设备为位于所述局域网的第一子局域网中的第一通信设备,所述第一子局域网还包括一个或多个第二通信设备,其中,所述操作方法包括:根据预定的规则将所述第一通信设备确定为所述第一子局域网内的主通信单元;将所述第一通信设备的TCP配置为打开状态,并将所述第二通信设备的TCP配置为关闭状态;在所述第一子局域网内发送UDP组播报文;以及接收来自所述第二通信设备的UDP单播报文,并与所述第二通信设备建立UDP通信。本公开还涉及通信设备和网关设备。
Description
技术领域
本公开涉及通信领域,具体来说,涉及局域网内的通信设备的操作方法、局域网内的通信设备、以及用于家居网络的网关设备。
背景技术
随着智能家居行业的发展,人们越来越注重时效性、安全性的要求,希望得到更快的相应,更安全隐私的服务,这就势必要求一些处理在家居网络的局域网中完成,而不必传输给外部实体(例如云端服务器),以实现边缘计算或分布式计算。在一些情况下,当家居网络无法连接外部网络时,能够在家居网络的局域网中完成一些处理就更显重要。但由于家居网络的局域网中的网关设备通常是嵌入式系统,处理能力有限,在复杂的应用环境下难以满足计算要求,因此,需要多台网关设备协同工作。网关设备间的互联是各网关设备之间协同工作的前提。
发明内容
本公开的目的之一是提供局域网内的通信设备的操作方法、局域网内的通信设备、以及用于家居网络的网关设备。
根据本公开的第一方面,提供了一种局域网内的通信设备的操作方法,所述通信设备为位于所述局域网的第一子局域网中的第一通信设备,所述第一子局域网还包括一个或多个第二通信设备,其中,所述操作方法包括:根据预定的规则将所述第一通信设备确定为所述第一子局域网内的主通信单元;将所述第一通信设备的TCP配置为打开状态,并将所述第二通信设备的TCP配置为关闭状态;在所述第一子局域网内发送UDP组播报文;以及接收来自所述第二通信设备的UDP单播报文,并与所述第二通信设备建立UDP通信。
根据本公开的第二方面,提供了一种局域网内的通信设备的操作方法,所述通信设备为位于所述局域网的第一子局域网中的第一通信设备,所述第一子局域网还包括一个或多个第二通信设备,所述局域网还包括第一路由器和第二子局域网,所述第二子局域网包括第三通信设备,所述第一和第二子局域网被配置为经由所述第一路由器互相通信,其中,所述操作方法包括:根据预定的规则将所述第一通信设备确定为所述第一子局域网内的主通信单元;将所述第一通信设备的TCP配置为打开状态;在所述第一子局域网内发送UDP组播报文,接收来自所述第二通信设备的UDP单播报文,并与所述第二通信设备建立UDP通信;以及监听来自所述第二子局域网的TCP握手请求,响应于接收到来自所述第三通信设备的第一TCP握手请求,所述第一通信设备向所述第三通信设备发送第一TCP握手响应,并与所述第三通信设备建立第一TCP连接。
根据本公开的第三方面,提供了一种局域网内的通信设备,包括:处理器;以及存储器,被配置为存储一系列计算机可执行的指令,其中,当所述一系列计算机可执行的指令被所述处理器执行时,使得所述处理器进行如上所述的操作方法。
根据本公开的第四方面,提供了一种局域网内的通信设备,包括电路,所述电路被配置为执行如上所述的操作方法。
根据本公开的第五方面,提供了一种用于家居网络的网关设备,所述家居网络包括第一子局域网,所述第一子局域网包括所述网关设备,所述网关设备能够连接家居设备,其中,所述网关设备包括TCP通信模块,被配置为:在所述网关设备被确定为所述第一子局域网内的主通信单元的情况下打开;以及在所述网关设备被确定为所述第一子局域网内的次通信单元的情况下关闭。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1是示意性地示出根据本公开实施例的局域网内的通信设备的操作方法所适用的系统的框图。
图2A是示意性地示出根据本公开一个实施例的局域网内的通信设备的操作方法的一部分的交互流程图。
图2B是示意性地示出根据本公开又一个实施例的局域网内的通信设备的操作方法的一部分的交互流程图。
图3是示意性地示出根据本公开又一个实施例的局域网内的通信设备的操作方法的又一部分的交互流程图。
图4是示意性地示出根据本公开实施例的局域网内的通信设备的操作方法所能够建立的局域网的框图。
图5是示意性地示出根据本公开实施例的用于家居网络的网关设备、或局域网内的通信设备的框图。
图6是示意性地示出根据本公开实施例的用于家居网络的网关设备、或局域网内的通信设备的框图。
具体实施方式
以下将参照附图描述本公开,其中的附图示出了本公开的若干实施例。然而应当理解的是,本公开可以以多种不同的方式呈现出来,并不局限于下文描述的实施例;事实上,下文描述的实施例旨在使本公开的公开更为完整,并向本领域技术人员充分说明本公开的保护范围。还应当理解的是,本文公开的实施例能够以各种方式进行组合,从而提供更多额外的实施例。
应当理解的是,在所有附图中,相同的附图标记表示相同的元件。在附图中,为清楚起见,某些特征的尺寸可以进行变形。
应当理解的是,本文中的用语仅用于描述特定的实施例,并不旨在限定本公开。本文使用的所有术语(包括技术术语和科学术语)除非另外定义,均具有本领域技术人员通常理解的含义。为简明和/或清楚起见,公知的功能或结构可以不再详细说明。
在本文中,用语“连接”意图包含一个特征与另一个特征的物理、电性、和/或通信连接,并且这一个特征与另一个特征之间可以存在也可以不存在中间特征。当连接为通信连接时,即使提及A与B“直接连接”,只是意图强调A与B的连接之间不存在本公开所强调的一个或多个特征,但并不代表限制A与B之间不经过任何元件而连接,本领域技术人员应理解,A与B之间可以通过线缆、路由器、网关、信道、链路、网络等相连接。需要说明的是,在本公开的附图中,A与B之间的无论是直接连接还是间接连接都通过连接在A与B之间的直线来表示。
在本文中,用语“A或B”包括“A和B”以及“A或B”,而不是排他地仅包括“A”或者仅包括“B”,除非另有特别说明。
在本文中,用语“示例性的”意指“用作示例、实例或说明”,而不是作为将被精确复制的“模型”。在此示例性描述的任意实现方式并不一定要被解释为比其它实现方式优选的或有利的。而且,本公开不受在上述技术领域、背景技术、发明内容或具体实施方式中所给出的任何所表述的或所暗示的理论所限定。
在本文中,用语“基本上”意指包含由设计或制造的缺陷、器件或元件的容差、环境影响和/或其它因素所致的任意微小的变化。用语“基本上”还允许由寄生效应、噪声以及可能存在于实际的实现方式中的其它实际考虑因素所致的与完美的或理想的情形之间的差异。
另外,仅仅为了参考的目的,还可以在本文中使用“第一”、“第二”等类似术语,并且因而并非意图限定。例如,除非上下文明确指出,否则涉及结构或元件的词语“第一”、“第二”和其它此类数字词语并没有暗示顺序或次序。
还应理解,“包括/包含”一词在本文中使用时,说明存在所指出的特征、整体、步骤、操作、单元和/或组件,但是并不排除存在或增加一个或多个其它特征、整体、步骤、操作、单元和/或组件以及/或者它们的组合。
应当注意,在本文中,当提供多个相同或相似的元件时,可以使用两部分的附图标记(例如网关设备112-1)在附图中标记它们。这些元件在本文中可以通过它们的全部附图标记(例如网关设备112-1)单独地指代,并且可以由它们的附图标记的第一部分(例如网关设备112)共同地指代。
图1是示意性地示出根据本公开实施例的局域网内的通信设备的操作方法所适用的系统的框图。虽然本公开附图中将局域网内的通信设备示出为网关设备(即以通信设备的下位概念为例示出),本领域技术人员应理解,根据本公开实施例的方法中所涉及的通信设备不限于狭义的网关设备,即不限于网间连接器、协议转换器等,而是包括能够适用在根据本公开实施例的方法中的任何具备通信功能的电子设备。系统包括局域网100,局域网100可以是家居网络、家居网络的一部分、或者其他的局域网。局域网100可以包括一个或多个子局域网,在图中所示的例子中,局域网100包括子局域网110、120、130,其中,子局域网110通过路由器111与子局域网120通信、并且通过路由器111和121与子局域网130通信,子局域网120通过路由器121与子局域网130通信。应当理解,局域网100还可以包括其他的子局域网,例如还可以包括通过路由器131与子局域网130通信的其他子局域网(未示出)。
每个子局域网可以包括一个或多个网关设备,每个网关设备可以与一个或多个终端设备通信。终端设备可以是局域网内的通信终端,例如个人计算机、移动电话等;还可以是家居网络中的终端设备,例如照明设备、门禁设备、报警设备、取暖设备等。在图中所示的例子中,子局域网110包括网关设备112-1和112-2、以及终端设备113-1至113-6。其中,终端设备113-1至113-3与网关设备112-1通信,终端设备113-4至113-6与网关设备112-2通信。每个网关设备112连接到总线141,从而可以与同样连接到总线141的路由器111或其他实体(例如外部实体303)直接通信。此外,路由器111还连接到总线142,因此,路由器111可以与同样连接到总线142的其他实体(例如路由器121、网关设备122)直接通信。子局域网120包括网关设备122-1和122-2、以及终端设备123-1至123-6。其中,终端设备123-1至123-3与网关设备122-1通信,终端设备123-4至123-6与网关设备122-2通信。每个网关设备122连接到总线142,从而可以与同样连接到总线142的路由器111、121或其他实体直接通信。此外,路由器121还连接到总线143,因此,路由器121可以与同样连接到总线143的其他实体(例如路由器131、网关设备132)直接通信。子局域网130包括网关设备132-1和132-2、以及终端设备133-1至133-6。其中,终端设备133-1至133-3与网关设备132-1通信,终端设备133-4至133-6与网关设备132-2通信。每个网关设备132连接到总线143,从而可以与同样连接到总线143的路由器131或其他实体直接通信。此外,尽管未示出,路由器131还可以连接到其他总线或实体。应当理解,如果局域网100不包括其他的子局域网或其他的实体,则局域网100也可以不包括路由器131。
在图中所示的例子中,局域网包括三个子局域网,每个子局域网均包括两个网关设备,每个网关设备均与三个终端设备相通信。应当理解,附图仅仅是示意性的,局域网可以包括更多或更少个子局域网,每个子局域网可以包括更多或更少个网关设备,每个网关设备可以与更多或更少个终端设备相通信。在图中所示的例子中,每个子局域网均具有总线型拓扑结构。应当理解,附图仅仅是示意性的,每个子局域网还可以具有其他类型的拓扑结构,例如,星型、树型、环状、网状等的拓扑结构。
局域网100还可以与外部实体通信。应当理解,本文所称的外部实体是指位于局域网100之外的通信实体,可以包括局域网100的用户、运营者、管理者等操作的各种设备/装置等,例如,服务器、云端服务器、操作/控制终端等。局域网100可以以各种方式与外部实体相通信,从而外部实体可以对局域网100内的各个实体的状态进行查询、对各个实体进行控制、对各个实体进行配置等。在图中所示的例子中,局域网100通过路由器101连接到互联网200(例如因特网),同时外部实体301也连接到互联网200,从而局域网100可以通过互联网200和路由器101与外部实体301相通信。外部实体还可以不连接到互联网200,例如外部实体302通过连接到路由器101可以与局域网100相通信。外部实体还可以直接连接到局域网100,例如外部实体303连接到局域网100中的任一条总线,例如总线141,从而与局域网100通信。
根据本公开的局域网内的通信设备的操作方法,即使在局域网100与路由器101之间的连接L1断开和/或路由器101与互联网200之间的连接L2断开的情况下,整个局域网100内的各个网关设备之间也能够互相通信。下面分多个过程来描述根据本公开的局域网内的通信设备的操作方法。
同一个子局域网内通信设备之间的通信建立
根据本公开的局域网内的通信设备的操作方法,子局域网若包括多个网关设备,则先根据预定的规则将多个网关设备之中的一个网关设备确定为该子局域网内的主通信单元(本文以下简称为主单元),将其他的网关设备确定为该子局域网内的次通信单元(本文以下简称为次单元),每个次单元均可以与主单元通信。若该子局域网只包括一个网关设备,则该网关设备是该子局域网内的主单元。该子局域网内的主单元通过下文描述的方法连接到至少另一个子局域网的主单元。从而,该子局域网中的任一个网关设备均可以与其他子局域网中的网关设备通信(次单元通过主单元来通信)。
预定的规则可以是由任一个外部实体预先配置给该子局域网中的每个网关设备的规则,也可以是网关设备的默认配置(例如出厂配置)中的规则等。配置给每个网关设备的预定的规则可以包括,例如,将子局域网中MAC地址最小的网关设备确定为主单元并将其他网关设备确定为次单元,或由外部实体指定该子局域网中哪个网关设备为主单元并将该子局域网中的其他网关设备确定为次单元等。
以子局域网110为例,位于子局域网110内的各个网关设备112均连接到总线141,因此各个网关设备112之间可以直接地通信。根据预定的规则,可以将子局域网110内的例如网关设备112-1确定为主单元,而网关设备112-2确定为次单元。如图2A所示,作为主单元的网关设备112-1在子局域网110内的组播信道发送UDP组播报文,以发送网关设备112-1的设备信息(可以包括例如IP地址和端口号)。作为次单元的网关设备112-2监听子局域网110内的组播信道。若网关设备112-2接收到网关设备112-1发送的UDP组播报文,则根据UDP组播报文中的设备信息向网关设备112-1发送UDP单播报文,以将网关设备112-2的设备信息(可以包括例如IP地址和端口号)发送给网关设备112-1。网关设备112-1在接收到来自网关设备112-2的UDP单播报文之后,与网关设备112-2建立UDP通信。UDP通信的建立、以及之后通过建立的该UDP通信进行数据报文的传输,均符合标准的UDP协议,本文不做赘述。响应于建立UDP通信,网关设备112-1和网关设备112-2存储建立的该UDP通信的信息,可以包括通信双方的IP地址和端口号。
为了示出在包括有多个次单元的子局域网内部建立通信的操作,将参照图2B描述根据本公开又一个实施例的局域网内的通信设备的操作方法中的在子局域网中建立通信的过程。子局域网110包括作为主单元操作的网关设备112-1和作为次单元的网关设备112-2、112-3。尽管图2B所描绘的实施例中,子局域网110中只包括两个次单元,应当理解,子局域网110中可以包括更多个次单元,每个次单元可以进行与其他次单元类似的操作。作为主单元的网关设备112-1在子局域网110内的组播信道发送UDP组播报文,以发送网关设备112-1的设备信息(可以包括例如IP地址和端口号)。作为次单元的每个网关设备112-2、112-3均监听子局域网110内的组播信道。网关设备112-2、112-3分别接收到网关设备112-1发送的UDP组播报文,并分别向网关设备112-1发送UDP单播报文,以将各自的设备信息(可以包括例如各自的IP地址和端口号)发送给网关设备112-1。网关设备112-1在接收到分别来自网关设备112-2、112-3的UDP单播报文之后,与网关设备112-2、112-3分别建立UDP通信。响应于建立UDP通信,通信的双方分别存储建立的该UDP通信的信息,可以包括通信双方的IP地址和端口号。
通过上述过程,在子局域网内,作为主单元的网关设备能够发现该子局域网内所有可连接的网关设备(次单元),并与这些次单元中的每个建立直接的通信。
此外,在建立了一个UDP通信之后,还可以将该UDP通信的信息进行共享。共享的UDP通信的信息至少可以包括通信双方的IP地址,还可以包括端口号。在一些实施例中,作为主单元的网关设备112-1可以将所建立的UDP通信的信息在子局域网110内进行组播。作为次单元的网关设备112-2在收到这些所组播的信息之后,将这些信息进行保存,例如,存储在网关设备112-2的存储器中,以便之后查询。通过这个过程,子局域网110内的每个网关设备都知道子局域网110内的所有建立的网关设备的之间的UDP通信的信息。此外,还可以通过子局域网110主单元将这些UDP通信的信息在整个局域网100内进行共享,这样,整个局域网100内的每个网关设备均能够知道整个局域网100内的任何一个网关设备的所建立的UDP通信的信息。在一些实施例中,作为主单元的网关设备112-1可以在整个局域网100内广播子局域网110内所建立的UDP通信的信息。整个局域网100内的除网关设备112-1之外的任何一个网关设备在收到这些信息之后,将这些信息进行保存。如此,整个局域网100内的每个网关设备均能够知道整个局域网100内的任何一个网关设备所建立的UDP通信的信息。在一些实施例中,建立了UDP通信的双方均可以对外共享这些信息,即作为主单元的网关设备112-1和作为次单元的网关设备112-2均可以在子局域网110内组播、或者在整个局域网100内广播各自所建立的UDP通信的信息。
尽管在本文的例子中将网关设备112-1确定为子局域网110内的主单元而网关设备112-2确定为子局域网110内的次单元,但应当理解,在每个网关设备既可以操作为主单元也可以操作为次单元的情况下,子局域网110内的任一个网关设备都可以也可能被确定为主单元而其他的网关设备被确定为次单元,例如,可以将网关设备112-2确定为子局域网110内的主单元,而网关设备112-1确定为次单元。
同一个子局域网内通信设备之间的通信维护
子局域网内的作为次单元操作的网关设备(本文也称作次单元)与作为主单元操作的网关设备(本文也称作主单元)之间建立通信之后,可能出现一些情况导致通信丢失。例如,通信双方中任一方的IP地址改变、任一方由于断电、死机等导致的离线等。因此,为了在通信建立之后对该通信进行维护,通信双方中的至少一方周期性地发送心跳数据给对方,对方周期性地监听该心跳数据,以监视该通信的状态。如果在预定的时间段内未监听到该心跳数据,则双方尝试重新建立通信。若尝试重新建立通信成功,则在子局域网内组播或在整个局域网内广播重新建立的通信的信息。若尝试重新建立通信失败,则在子局域网内组播或在整个局域网内广播该通信丢失,还可以向外部实体报告未按周期发送心跳数据的一方离线。
在一些实施例中,由次单元周期性地发送心跳数据给主单元,主单元周期性地监听该心跳数据。在一些实施例中,由主单元周期性地发送心跳数据给次单元,次单元周期性地监听该心跳数据。在一些实施例中,主单元和次单元均周期性地发送心跳数据,并且主单元和次单元均周期性地监听对方的心跳数据。
下面以主单元监听次单元为例来详细描述。在子局域网110内作为主单元的网关设备112-1和作为次单元的网关设备112-2之间建立通信之后,网关设备112-2周期性地向网关设备112-1发送心跳数据,网关设备112-1周期性地监听该心跳数据。若网关设备112-1在预定的时间段内未监听到网关设备112-2的心跳数据,则再次在子局域网110内发送UDP组播报文。
若是由于网关设备112-2的IP改变引起的连接断开从而未监听到心跳,则此时的网关设备112-2由于监听子局域网110内的组播信道,可以收到来自网关设备112-1的UDP组播报文。收到UDP组播报文之后,网关设备112-2可以向网关设备112-1发送UDP单播报文。在网关设备112-1接收到来自网关设备112-2的UDP单播报文之后,网关设备112-1和112-2之间可以重新建立UDP通信。在重新建立UDP通信之后,可以将该重新建立的UDP通信的信息进行保存和共享。保存重新建立的UDP通信的信息可以包括,网关设备112-1和112-2将已经保存的双方的信息进行更新。共享重新建立的UDP通信的信息可以类似于在上述连接建立的过程中的信息共享过程,包括主单元和/或次单元在子局域网内组播和/或在整个局域网内广播该重新建立的UDP通信的信息(即UDP通信的更新的信息),因此在此处不再重复描述。
若是由于网关设备112-2的离线引起的连接断开从而未监听到心跳,则此时的网关设备112-2不会再监听子局域网110内的组播信道,因此,网关设备112-1不会收到来自网关设备112-2的UDP单播报文。网关设备112-1在再次发送UDP组播报文之后,若未接收到(例如在预定的时间段内未接收到)来自网关设备112-2的UDP单播报文,则删除已经存储的与网关设备112-2之间的UDP通信的信息,并在子局域网内组播和/或在整个局域网内广播网关设备112-1和112-2之间的UDP通信丢失。此外,网关设备112-1还可以向至少一个外部实体报告网关设备112-2离线。如此,作为外部实体的服务器、操作/控制终端等能够得知整个局域网100(例如智能家具网络)内的各个网关设备的在线/离线情况。
不同的子局域网之间的通信设备之间的连接建立
由每个子局域网内作为主单元操作的网关设备负责与其他子局域网建立通信连接,例如,一个子局域网内的主单元与另一个子局域网内的主单元建立通信连接,因此两个子局域网之间的主单元之间可以进行通信。在一些实施例中,主单元之间建立连接的两个子局域网可以是相邻的子局域网。此处相邻是指两个子局域网之间只经由一个路由器相互通信。由于在每个子局域网内,所有作为从单元操作的网关设备与本子局域网内作为主单元操作的网关设备建立了通信连接,因此,一个子局域网内的次单元可以经由本局域网的主单元与另一个子局域网内的主单元进行通信,以及一个子局域网内的次单元可以经由本局域网的主单元以及另一个子局域网内的主单元与另一个子局域网内的次单元进行通信。从而,可以在整个局域网内实现所有网关设备之间的互相通信。
在一些实施例中,位于整个局域网100内较下层的子局域网内的主单元可以主动发起与位于较上层的子局域网内的主单元建立通信连接。例如,子局域网130内的主单元网关设备132-1可以主动发起与子局域网120内的主单元网关设备122-1建立通信连接,和/或子局域网120内的主单元网关设备122-1可以主动发起与子局域网110内的主单元网关设备112-1建立通信连接。在一些实施例中,位于整个局域网100内较上层的子局域网内的主单元可以主动发起与位于较下层的子局域网内的主单元建立通信连接。例如,子局域网110内的主单元网关设备112-1可以主动发起与子局域网120内的主单元网关设备122-1建立通信连接,和/或子局域网120内的主单元网关设备122-1可以主动发起与子局域网130内的主单元网关设备132-1建立通信连接。
下面以子局域网120内的网关设备122-1主动发起与子局域网110内的网关设备112-1建立通信连接为例来详细描述。如图3所示,子局域网120内的网关设备122-1向其较上层并与之相邻的子局域网110内的所有网关设备112-1、112-2的特定TCP端口发送TCP握手请求。例如,网关设备122-1可以基于其默认网关和WAN口子网掩码来计算特定网段,然后向特定网段内的所有网关设备的特定TCP端口发送TCP握手请求。在一个具体的示例中,网关设备122-1的WAN口IP地址是192.168.31.154、子网掩码是255.255.255.0、默认网关是192.168.31.1。将其子网掩码与默认网关进行“与”计算,即可得到一个网络号192.168.31.0,该网络号即是其上一级路由器(即路由器111)的LAN侧的网络号。那对这个网络号的网段内的所有网关设备进行TCP扫描(即向该网段内的所有网关设备的特定TCP端口发送TCP握手请求),便可以找到能够与其建立TCP连接的网关设备。
根据本公开的实施例,在每个子局域网中,操作为主单元的网关设备的TCP通信模块被配置为打开状态,而操作为次单元的网关设备的TCP通信模块被配置为关闭状态。例如,在子局域网120中,作为主单元的网关设备122-1的TCP通信模块被配置为打开状态,而作为次单元的网关设备122-2的TCP通信模块被配置为关闭状态,因此,在子局域网120内只有网关设备122-1会向其上一层的子局域网(即子局域网110)内的所有网关设备发送TCP握手请求。另一方面,在子局域网110中,作为主单元的网关设备112-1的TCP通信模块被配置为打开状态(例如监听状态),而作为次单元的网关设备112-2的TCP通信模块被配置为关闭状态,因此,在子局域网110内只有网关设备112-1能收到来自其他子局域网的TCP握手请求。
网关设备112-1在通过其特定TCP端口接收到网关设备122-1发送的TCP握手请求之后,会向网关设备122-1回复TCP握手响应。而子局域网110内的其他网关设备(即作为次单元操作的网关设备)不会收到该TCP握手请求,因而也不会回复TCP握手响应。网关设备122-1接收到网关设备112-1发送的TCP握手响应之后,与网关设备112-1建立TCP通信连接。建立通信连接的过程可以符合标准的TCP协议,例如,可以如图3所示,由位于较下层子局域网120中的主单元网关设备122-1向位于较上层子局域网110中的主单元网关设备112-1发送TCP连接确认,从而在这两个网关设备之间建立TCP通信连接。如此,子局域网120内的主单元网关设备122-1能够发现其上一层的子局域网110内的所有可以与之建立通信连接的网关设备,即子局域网110内的主单元网关设备112-1,并与之建立直接的通信连接。
此外,在建立了该通信连接之后,可以将该通信连接的连接关系的信息进行保存和共享。网关设备112-1和122-1可以将在其间建立的通信连接的连接关系信息保存在各自的存储器上。共享该连接关系的信息可以包括网关设备112-1和122-1可以在各自的子局域网110和120内对连接关系信息进行组播,各自的子局域网110和120内作为次单元操作的网关设备在接收到组播的信息之后将其保存在各自的存储器中。此外,网关设备112-1和122-1还可以在整个局域网100内广播该连接关系信息,其他子局域网(例如子局域网130)内的网关设备(包括主单元和次单元)在接收到组播的信息之后将其保存在各自的存储器中。如此,整个局域网100内的每个网关设备均能够知道整个局域网100内的任何一个网关设备的连接关系。
尽管在说明书的以上描述中,是先描述在同一个子局域网内的网关设备之间建立通信,再描述在不同的子局域网之间的主单元网关设备之间建立通信连接,但本领域技术人员应理解,这两个过程是不互相依赖的,并没有先后的限制。可以先建立不同子局域网之间的通信连接、再建立同一个子局域网内的通信,也可以先建立同一个子局域网内的通信、再建立不同子局域网之间的通信连接,还可以同时建立同一个子局域网内的通信、以及不同子局域网之间的通信连接。
不同的子局域网之间的通信设备之间的连接维护
与上述在同一个子局域网内的网关设备之间的通信维护的过程类似,建立TCP通信连接的两个主单元网关设备之间可以通过监听心跳数据来监视彼此之间的通信连接的状态。可以是由位于较下层子局域网中的主单元来监听位于较上层子局域网中的主单元的心跳数据,也可以是由位于较上层子局域网中的主单元来监听位于较下层子局域网中的主单元的心跳数据。
下面以位于较下层子局域网中的主单元监听位于较上层子局域网中的主单元的心跳为例来详细描述。在子局域网120内作为主单元的网关设备122-1和在子局域网110内作为主单元的网关设备112-1之间建立连接之后,网关设备112-1周期性地向网关设备122-1发送心跳数据,网关设备122-1周期性地监听该心跳数据。若网关设备122-1在预定的时间段内未监听到网关设备112-1的心跳数据,例如可能是网关设备112-1的IP地址改变或者离线等,则网关设备122-1再次向子局域网110内的所有网关设备的特定TCP端口发送TCP握手请求。
若是由于网关设备112-1的IP改变引起的连接断开从而未监听到其心跳,则此时的网关设备112-1会再次接收到来自网关设备122-1的TCP握手请求。在接收到网关设备122-1发送的TCP握手请求之后,网关设备112-1可以向网关设备122-1回复TCP握手响应。网关设备122-1在接收到网关设备112-1再次发送的TCP握手响应之后,与网关设备112-1重新建立通信连接。在重新建立通信连接之后,可以将该重新建立的通信连接的信息进行保存和共享。保存重新建立的通信连接的信息可以包括,网关设备122-1和112-1将已经保存的该连接的信息(至少包括连接双方的IP地址)进行更新。共享重新建立的通信连接的信息可以类似于在上述连接建立的过程中的信息共享过程,在此处不再重复描述。
若是由于网关设备112-1的离线引起的连接断开从而未监听到心跳,则此时的子局域网110内会重新确定作为主单元的网关设备。例如,根据预定的规则,将网关设备112-2确定为子局域网110内的主单元。此时,作为主单元的网关设备112-2的TCP通信模块被配置为打开状态,因此,在网关设备122-1再次发送TCP握手请求之后,网关设备112-2会接收到该握手请求并会回复TCP握手响应。网关设备122-1接收到来自网关设备112-2的TCP握手响应之后,与网关设备112-2建立新的TCP通信连接。在建立该新的通信连接(例如网关设备112-2与122-1之间的连接)之后,删除已经保存的子局域网110和120之间的连接信息(例如网关设备112-1与122-1之间的连接),并将该新的通信连接的信息进行保存和共享。若网关设备112-1是子局域网110内唯一的网关设备,在其离线之后,子局域网110内再无法确定新的主单元。因此,在网关设备122-1再次发送TCP握手请求之后,不会收到来自子局域网110内的任何网关设备的TCP握手响应,则删除已经存储的该通信连接(例如网关设备112-1与122-1之间的连接)的信息,并在子局域网内组播和/或在整个局域网内广播该通信连接丢失。此外,网关设备122-1还可以向至少一个外部实体报告网关设备112-1离线。
经过上述过程可以由各网关设备自主地(即不需要人工干预)形成并维护局域网内的网关设备之间的互联系统。局域网包括多个子局域网,每个子局域网包括一个主单元和一个或多个次单元,每个次单元均与其所在的子局域网的主单元相通信。每两个相邻的子局域网的主单元之间互相通信连接。从而该局域网内的任一个网关设备都可以在不连接外部网络的情况下与该局域网内的另一个网关设备相通信。这使得局域网内的多台网关设备可以在不连接外部网络的情况下协同工作(例如分布式计算、触发联动等),这样就可以在局域网内部完成计算和联动等工作,以减少对云服务的依赖,从而可以节省到外部网络的流量、和/或提高网关设备之间的响应速度。
通信设备之间的报文发送
当任何一个子局域网中的任何一个次单元网关设备想发送报文给任何一个其他的网关设备时,只需要将报文发送给与其通信的主单元网关设备即可。当任何一个子局域网中的任何一个主单元网关设备想发送报文给本子局域网内的次单元网关设备时,只需要将报文发送给与其通信的该次单元网关设备即可。当任何一个子局域网的主单元网关设备想发送报文给位于其较下层的任何一个子局域网中的任何一个网关设备时,只需要将报文发送给位于其较下层的并与其相邻的子局域网(即其下一层的子局域网)内的主单元网关设备即可。类似地,当任何一个子局域网的主单元网关设备想发送报文给位于其较上层的任何一个子局域网中的任何一个网关设备时,只需要将报文发送给位于其较上层的并与其相邻的子局域网(即其上一层的子局域网)内的主单元网关设备即可。每个网关设备的报文发送均可以带有确认和重发机制。例如,任何一个网关设备在发送了报文之后,需要得到接收方的确认;若在预定时间段内没有接收到接收方的确认,则重新发送该报文。
当任何一个子局域网中的任何一个次单元网关设备接收到任何一个报文后,判断该报文的目的地(即目标设备,例如可以通过报文中的目的IP地址来判断),若目的地为该次单元自身,则对该报文进行处理;若目的地非该次单元自身,则将该报文发送给与其连接的主单元网关设备。当任何一个子局域网中的主单元网关设备接收到任何一个报文后,判断该报文的目的地,若目的地为该主单元自身,则对该报文进行处理;若目的地非该主单元自身,则根据该报文的目的地将该报文进行发送,发送的方法如上所述。
在图4所示的示例中,局域网包括子局域网10至30,子局域网10包括作为主单元操作的网关设备11和作为次单元操作的网关设备12-1至12-3,每个网关设备12均与网关设备11通信。子局域网20包括作为主单元操作的网关设备21和作为次单元操作的网关设备22-1至22-3,每个网关设备22均与网关设备21通信。子局域网30包括作为主单元操作的网关设备31和作为次单元操作的网关设备32-1至32-3,每个网关设备32均与网关设备31通信。子局域网10的主单元网关设备11与子局域网20的主单元网关设备21相连接,子局域网20的主单元网关设备21与子局域网30的主单元网关设备31相连接。
以下仅以一些具体的示例来说明上述数据的发送和接收过程。
子局域网10内的次单元网关设备12想要向其他的任何一个网关设备发送报文时,只需要将该报文发送给子局域网10内的主单元网关设备11即可。
子局域网10内的主单元网关设备11想要向子局域网20内的网关设备21或是任何一个网关设备22发送报文时,只需要将该报文发送给子局域网20内的主单元网关设备21即可。子局域网10内的主单元网关设备11若想要向与之非相邻的子局域网30内的网关设备31或是任何一个网关设备32发送报文时,还是将该报文发送给与之相邻的子局域网20内的主单元网关设备21即可。
子局域网30内的主单元网关设备31想要向子局域网20内的网关设备21或是任何一个网关设备22发送报文时,只需要将该报文发送给子局域网20内的主单元网关设备21即可。子局域网30内的主单元网关设备31若想要向与之非相邻的子局域网10内的网关设备11或是任何一个网关设备12发送报文时,还是将该报文发送给与之相邻的子局域网20内的主单元网关设备21即可。
子局域网20内的次单元网关设备22在接收到一个报文之后,先判断该报文的目的地。若目的地为网关设备22,则对该报文进行处理。若目的地不为网关设备22,则将该报文发送给子局域网20内的主单元网关设备21。
子局域网20内的主单元网关设备21在接收到一个报文之后,也判断该报文的目的地。若目的地为网关设备21,则对该报文进行处理。若目的地不为网关设备21并且目的地为子局域网20的较上层的子局域网(例如子局域网10或子局域网10之上的其他未示出的子局域网)内的网关设备,则将该报文发送给子局域网10内的主单元网关设备11。若目的地为子局域网20的较下层的子局域网(例如子局域网30或子局域网30之下的其他未示出的子局域网)内的网关设备,则将该报文发送给子局域网30内的主单元网关设备31。
通信设备的结构
如图5所示,为根据本公开实施例的网关设备40(或通信设备40)的结构。网关设备40包括TCP通信模块41、主次单元确定模块42、心跳监听模块43、存储模块44、广播模块45、外部通信模块46、报文收发模块47、以及UDP通信模块48。
TCP通信模块41可以用于上文描述的不同的子局域网之间的网关设备之间的TCP连接建立过程。例如,在网关设备40基于预定的规则被确定为其所在的第一子局域网内的主单元的情况下,TCP通信模块41向位于第一子局域网的上一层的第二子局域网(如果存在的话)内的所有网关设备的特定TCP端口发送握手请求,并接收来自第二子局域网的可能的握手响应,以及在之后与第二子局域网的主单元建立TCP连接。其中,TCP通信模块41基于网关设备40的默认网关和WAN口子网掩码来计算在第二子局域网中的需要进行TCP端口扫描的特定网段。此外,在网关设备被确定为其所在的第一子局域网内的主单元的情况下,TCP通信模块41还通过网关设备40的特定TCP端口接收来自其下一层的第三子局域网(如果存在的话)中的主单元网关设备的TCP握手请求,并在接收到该握手请求之后向第三子局域网中的主单元网关设备的发送TCP握手响应,以及在之后与第三子局域网的主单元建立TCP连接。
TCP通信模块41还可以用于上文描述的不同的子局域网之间的网关设备之间的连接维护过程。若网关设备40在预定的时间段内未监听到与其连接的主单元网关设备的心跳,则TCP通信模块41再次向第二子局域网内的所有网关设备的特定TCP端口发送握手请求并接收握手响应;或者TCP通信模块41再次通过网关设备40的特定TCP端口接收来自第三子局域网中的主单元网关设备的握手请求,并在接收到之后发送握手响应。
主次单元确定模块42可以用于上文描述的根据预定的规则确定一个子局域网内的主通信单元和次通信单元。预定的规则可以是由任一个外部实体(例如云端服务器)预先配置给该子局域网中的每个网关设备40中的主次单元确定模块42的规则,也可以是网关设备40的默认配置(例如出厂配置)中的规则等。配置给每个网关设备40中的主次单元确定模块42的预定的规则可以包括,例如,将子局域网中MAC地址最小的网关设备确定为主单元并将其他网关设备确定为次单元,或由外部实体指定该子局域网中哪个网关设备为主单元并将该子局域网中的其他网关设备确定为次单元等。
UDP通信模块48可以用于上文描述的同一个子局域网内的网关设备之间的通信建立过程。例如,在网关设备40的主次单元确定模块42基于预定的规则将其确定为其所在的第一子局域网内的主单元的情况下,UDP通信模块48在第一子局域网内发送(或者再次发送)UDP组播报文,并尝试接收可能的作为响应的UDP单播报文。在网关设备40主次单元确定模块42基于预定的规则将其确定为第一子局域网内的次单元的情况下,UDP通信模块48监听第一子局域网内的组播信道,在组播信道上监听到UDP组播报文之后,UDP通信模块48向该主单元发送UDP单播报文。
在一个通信或连接建立之后,作为通信或连接一方的网关设备40(既可能是操作为主单元也可能是操作为次单元的网关设备)的心跳监听模块43周期性地监听该通信或连接的另一方的网关设备(通过其自身的心跳监听模块)周期性地发送的心跳数据。
存储模块44用于通信或连接信息的保存、更新和删除等。在建立了一个通信或连接之后,通信或连接双方的网关设备中的存储模块均保存该通信或连接的信息。在重新建立了一个通信或连接之后,通信或连接双方的网关设备中的存储模块均更新已经存储的该通信或连接的信息,例如,更新已经存储的该通信或连接的信息中的至少一方的IP地址等。在一个通信连接丢失之后,通信或连接双方的网关设备中的存储模块均删除已经存储的该通信或连接的信息。
广播模块45用于通信或连接信息的共享。在建立或重新建立了一个通信或连接之后,广播模块45在网关设备40所在的子局域网内组播和/或者在整个局域网内广播该通信或连接的信息,从而使得整个局域网内的所有网关设备都能够获知该通信或连接的信息。在一个通信或连接丢失之后,广播模块45在网关设备40所在的子局域网内组播或者在整个局域网内广播该通信或连接丢失的信息,从而使得整个局域网内的所有网关设备都能够获知该通信或连接丢失。
外部通信模块46用于向局域网的外部实体报告局域网内部的网关设备的在线和离线的情况。例如,当由于与网关设备40通信连接的网关设备离线导致网关设备40与其的连接丢失时,外部通信模块46向外部实体报告该网关设备离线。
报文收发模块47用于网关设备40的报文接收和报文发送(包括重新发送)。当网关设备40作为第一子局域网内的次单元操作时,在网关设备40需要向其他任何一个子局域网内的任一个网关设备发送报文的情况下,报文收发模块47将报文发送给第一子局域网内的主单元。报文收发模块47还被配置为接收报文,在接收到报文之后,报文收发模块47判断该报文的目的地,若目的地为网关设备40,则将报文转送给网关设备40的其他模块(例如未示出的报文产生和处理模块);若目的地不是网关设备40,则报文收发模块47将报文发送给第一子局域网内的主单元。
当网关设备40作为第一子局域网内的主单元操作时,在网关设备40需要向其他任何一个较上层(或较下层)的子局域网内的任一个网关设备发送报文的情况下,报文收发模块47将报文发送给与第一子局域网相邻的那个较上层(或较下层)的子局域网内的主单元;在网关设备40需要向第一子局域网内的次单元发送报文的情况下,报文收发模块47直接将该报文发送给该次单元。在报文收发模块47接收到报文之后,判断该报文的目的地,若目的地为网关设备40,则将报文转送给网关设备40的其他模块(例如未示出的报文产生和处理模块);若目的地是其他任何一个较上层(或较下层)的子局域网内的任一个网关设备,则报文收发模块47将报文发送给与第一子局域网相邻的那个较上层(或较下层)的子局域网内的主单元;若目的地是第一子局域网内的次单元,则报文收发模块47直接将该报文发送给该次单元。
如图6所示,为根据本公开实施例的网关设备50(或通信设备50)的结构,网关设备50包括处理器51和存储器52。其中,存储器52被配置为存储一系列计算机可执行的指令521,这些指令521可以被处理器51执行。当这些指令521被处理器51执行时,使得处理器51进行根据上述实施例所描述的各种方法和过程。存储器52还被配置为存储数据522。数据522可以包括如上文所描述的UDP通信的信息、以及TCP连接的信息等,还可以包括处理器51执行指令521所需要的所有数据(例如指令集等)。
另外,本公开的实施方式还可以包括以下示例:
1.一种局域网内的通信设备的操作方法,所述通信设备为位于所述局域网的第一子局域网中的第一通信设备,所述第一子局域网还包括一个或多个第二通信设备,其中,所述操作方法包括:根据预定的规则将所述第一通信设备确定为所述第一子局域网内的主通信单元;将所述第一通信设备的TCP配置为打开状态,并将所述第二通信设备的TCP配置为关闭状态;在所述第一子局域网内发送UDP组播报文;以及接收来自所述第二通信设备的UDP单播报文,并与所述第二通信设备建立UDP通信。
2.根据1所述的操作方法,其特征在于,所述局域网还包括第一路由器和第二子局域网,所述第一和第二子局域网被配置为经由所述第一路由器互相通信,其中,所述第二子局域网至少包括第三通信设备,所述操作方法还包括:在将所述第一通信设备的TCP配置为打开状态之后,向所述第二子局域网所包括的所有通信设备发送第一TCP握手请求;以及接收来自所述第二子局域网的TCP握手响应,以及响应于接收到来自所述第三通信设备的第一TCP握手响应,与所述第三通信设备建立第一TCP连接。
3.根据2所述的操作方法,其特征在于,所述局域网被配置为与外部实体通信,其中,所述第一子局域网经由所述第二子局域网与外部实体通信,所述第二子局域网不经由所述第一子局域网与外部实体通信。
4.根据2所述的操作方法,其特征在于,向所述第二子局域网所包括的所有通信设备发送第一TCP握手请求包括:所述第一通信设备基于其默认网关和WAN口子网掩码来计算特定网段;以及向所述特定网段内的所有通信设备发送TCP握手请求。
5.根据2所述的操作方法,其特征在于,还包括:在建立所述第一TCP连接之后,在所述局域网内广播所述第一TCP连接的信息,所述TCP连接的信息至少包括连接双方的IP地址。
6.根据5所述的操作方法,其特征在于,还包括:在建立所述第一TCP连接之后,周期性地监听所述第三通信设备的心跳,若在预定的时间段内未监听到,则向所述第二子局域网所包括的所有通信设备发送第二TCP握手请求;响应于接收到来自所述第三通信设备的第二TCP握手响应,与所述第三通信设备建立第二TCP连接,并且在所述局域网内广播将所述第一TCP连接的信息更新为所述第二TCP连接的信息;以及若未接收到来自所述第三通信设备的TCP握手响应,则在所述局域网内广播所述第一TCP连接丢失。
7.根据6所述的操作方法,其特征在于,所述局域网被配置为与外部实体通信,所述操作方法还包括:在发送所述第二TCP握手请求之后,若未接收到来自所述第三通信设备的TCP握手响应,则向所述外部实体报告所述第三通信设备离线。
8.根据2所述的操作方法,其特征在于,还包括:当想要向位于所述第二子局域网内的任一个通信设备发送第一报文的情况下,将所述第一报文发送给所述第三通信设备;以及当接收到第二报文之后,判断所述第二报文的目的地,若所述目的地为所述第一通信设备,则对所述第二报文进行处理;若所述目的地为所述第二通信设备,则将所述第二报文发送给所述第二通信设备;以及若所述目的地为位于所述第二子局域网内的任一个通信设备,则将所述第二报文发送给所述第三通信设备。
9.根据8所述的操作方法,其特征在于,所述局域网还包括第三子局域网和第二路由器,所述第三子局域网被配置为经由所述第一和第二路由器与所述第一子局域网通信并且经由所述第二路由器但不经由所述第一路由器与所述第二子局域网通信,其中,所述操作方法还包括:当想要向位于所述第三子局域网内的任一个通信设备发送第一报文的情况下,将所述第一报文发送给所述第三通信设备;以及当接收到第二报文之后,判断所述第二报文的目的地,若所述目的地为位于所述第三子局域网内的任一个通信设备,则将所述第二报文发送给所述第三通信设备。
10.根据1所述的操作方法,其特征在于,还包括:在建立所述UDP通信之后,存储并在所述局域网内广播所述UDP通信的信息,所述信息至少包括通信双方的IP地址。
11.根据10所述的操作方法,其特征在于,还包括:在建立所述UDP通信之后,周期性地监听所述第二通信设备的心跳,若在预定的时间段内未监听到,则再次在所述第一子局域网内发送UDP组播报文;以及在接收到来自所述第二通信设备的UDP单播报文之后,则与所述第二通信设备重新建立所述UDP通信。
12.根据11所述的操作方法,其特征在于,还包括:在重新建立所述UDP通信之后,更新已存储的所述UDP通信的信息并在所述局域网内广播重新建立的所述UDP通信的信息。
13.根据11所述的操作方法,其特征在于,还包括:在再次发送UDP组播报文之后,若未接收到来自所述第二通信设备的UDP单播报文,则删除已存储的所述UDP通信的信息并在所述局域网内广播所述UDP通信丢失。
14.根据11所述的操作方法,其特征在于,所述局域网被配置为与外部实体通信,所述操作方法还包括:在再次发送UDP组播报文之后,若未接收到来自所述第二通信设备的UDP单播报文,则向所述外部实体报告所述第二通信设备离线。
15.根据1所述的操作方法,其特征在于,所述预定的规则包括:将所述第一子局域网中MAC地址最小的通信设备确定为所述主通信单元;或根据与所述局域网连接的外部实体的指定来确定所述主通信单元。
16.根据6所述的操作方法,其特征在于,还包括:在接收到在所述局域网内广播的关于通信设备之间的连接的信息之后,存储所述信息,其中所述信息至少包括连接双方的IP地址;在接收到在所述局域网内广播的关于通信设备之间的重新建立的连接的信息之后,更新已经存储的所述连接的信息;以及在接收到关于通信设备之间的连接丢失的广播之后,将已经存储的所述连接的信息删除。
17.一种局域网内的通信设备的操作方法,所述通信设备为位于所述局域网的第一子局域网中的第一通信设备,所述第一子局域网还包括一个或多个第二通信设备,所述局域网还包括第一路由器和第二子局域网,所述第二子局域网包括第三通信设备,所述第一和第二子局域网被配置为经由所述第一路由器互相通信,其中,所述操作方法包括:根据预定的规则将所述第一通信设备确定为所述第一子局域网内的主通信单元;将所述第一通信设备的TCP配置为打开状态;在所述第一子局域网内发送UDP组播报文,接收来自所述第二通信设备的UDP单播报文,并与所述第二通信设备建立UDP通信;以及监听来自所述第二子局域网的TCP握手请求,响应于接收到来自所述第三通信设备的第一TCP握手请求,所述第一通信设备向所述第三通信设备发送第一TCP握手响应,并与所述第三通信设备建立第一TCP连接。
18.根据17所述的操作方法,其特征在于,所述局域网被配置为与外部实体通信,其中,所述第一子局域网不经由所述第二子局域网与外部实体通信,所述第二子局域网经由所述第一子局域网与外部实体通信。
19.根据17所述的操作方法,其特征在于,还包括:在建立所述第一TCP连接之后,在所述局域网内广播所述第一TCP连接的信息,所述TCP连接的信息至少包括连接双方的IP地址。
20.根据19所述的操作方法,其特征在于,还包括:在建立所述第一TCP连接之后,周期性地监听所述第三通信设备的心跳,若在预定的时间段内未监听到,则监听来自所述第三通信设备的TCP握手请求,若在预定时间段内接收到来自所述第三通信设备的第二TCP握手请求,则向所述第三通信设备发送第二TCP握手响应,并与所述第三通信设备建立第二TCP连接,并且在所述局域网内广播将所述第一TCP连接的信息更新为所述第二TCP连接的信息;以及若在预定时间段内未接收到来自所述第三通信设备的第二TCP握手请求,则在所述局域网内广播所述第一TCP连接丢失。
21.根据20所述的操作方法,其特征在于,所述局域网被配置为与外部实体通信,所述操作方法还包括:若在预定时间段内未接收到来自所述第三通信设备的第二TCP握手请求,则还向所述外部实体报告所述第三通信设备离线。
22.根据17所述的操作方法,其特征在于,还包括:当想要向位于所述第二子局域网内的任一个通信设备发送第一报文的情况下,将所述第一报文发送给所述第三通信设备;以及当接收到第二报文之后,判断所述第二报文的目的地,若所述目的地为所述第一通信设备,则对所述第二报文进行处理;若所述目的地为所述第二通信设备,则将所述第二报文发送给所述第二通信设备;以及若所述目的地为位于所述第二子局域网内的任一个通信设备,则将所述第二报文发送给所述第三通信设备。
23.根据22所述的操作方法,其特征在于,所述局域网还包括第三子局域网和第二路由器,所述第三子局域网被配置为经由所述第一和第二路由器与所述第一子局域网通信并且经由所述第二路由器但不经由所述第一路由器与所述第二子局域网通信,其中,所述操作方法还包括:当想要向位于所述第三子局域网内的任一个通信设备发送第一报文的情况下,将所述第一报文发送给所述第三通信设备;以及当接收到第二报文之后,若判断所述第二报文的目的地为位于所述第三子局域网内的任一个通信设备,则将所述第二报文发送给所述第三通信设备。
24.根据17所述的操作方法,其特征在于,还包括:在建立所述UDP通信之后,存储并在所述局域网内广播所述UDP通信的信息,所述信息至少包括通信双方的IP地址。
25.根据24所述的操作方法,其特征在于,还包括:在建立所述UDP通信之后,周期性地监听所述第二通信设备的心跳,若在预定的时间段内未监听到,则再次在所述第一子局域网内发送UDP组播报文;以及在接收到来自所述第二通信设备的UDP单播报文之后,则与所述第二通信设备重新建立所述UDP通信。
26.根据25所述的操作方法,其特征在于,还包括:在重新建立所述UDP通信之后,更新已存储的所述UDP通信的信息并在所述局域网内广播重新建立的所述UDP通信的信息。
27.根据25所述的操作方法,其特征在于,还包括:在再次发送UDP组播报文之后,若未接收到来自所述第二通信设备的UDP单播报文,则删除已存储的所述UDP通信的信息并在所述局域网内广播所述UDP通信丢失。
28.根据25所述的操作方法,其特征在于,所述局域网被配置为与外部实体通信,所述操作方法还包括:在再次发送UDP组播报文之后,若未接收到来自所述第二通信设备的UDP单播报文,则向所述外部实体报告所述第二通信设备离线。
29.根据17所述的操作方法,其特征在于,所述预定的规则包括:将所述第一子局域网中MAC地址最小的通信设备确定为所述主通信单元;或根据与所述局域网连接的外部实体的指定来确定所述主通信单元。
30.根据20所述的操作方法,其特征在于,还包括:在接收到在所述局域网内广播的关于通信设备之间的连接的信息之后,存储所述信息,其中所述信息至少包括连接双方的IP地址;在接收到在所述局域网内广播的关于通信设备之间的重新建立的连接的信息之后,更新已经存储的所述连接的信息;以及在接收到关于通信设备之间的连接丢失的广播之后,将已经存储的所述连接的信息删除。
31.一种局域网内的通信设备,包括:处理器;以及存储器,被配置为存储一系列计算机可执行的指令,其中,当所述一系列计算机可执行的指令被所述处理器执行时,使得所述处理器进行如1-30中任一项所述的操作方法。
32.一种局域网内的通信设备,包括电路,所述电路被配置为执行如1-30中任一项所述的操作方法。
33.一种用于家居网络的网关设备,所述家居网络包括第一子局域网,所述第一子局域网包括所述网关设备,所述网关设备能够连接家居设备,其中,所述网关设备包括TCP通信模块,被配置为:在所述网关设备被确定为所述第一子局域网内的主通信单元的情况下打开;以及在所述网关设备被确定为所述第一子局域网内的次通信单元的情况下关闭。
34.根据33所述的网关设备,其特征在于,所述家居网络还包括所述一子局域网的上一层子局域网,所述TCP通信模块还被配置为:在所述网关设备与所述上一层子局域网内的设备无TCP连接、并且所述TCP通信模块打开的情况下,向所述上一层子局域网所包括的所有设备发送TCP握手请求,并监听来自所述上一层子局域网的TCP握手响应;以及响应于接收到所述TCP握手响应,与所述TCP握手响应的发送方建立第一TCP连接。
35.根据34所述的网关设备,其特征在于,所述家居网络还包括所述一子局域网的下一层子局域网,所述TCP通信模块还被配置为:在所述网关设备与所述下一层子局域网内的设备无TCP连接、并且所述TCP通信模块打开的情况下,监听来自所述下一层子局域网的TCP握手请求;以及响应于接收到所述TCP握手请求,向所述TCP握手请求的发送方发送TCP握手响应,以便与所述TCP握手请求的发送方建立第二TCP连接。
36.根据35所述的网关设备,其特征在于,还包括广播模块,被配置为:响应于所述TCP通信模块建立所述第一和/或第二TCP连接,在所述局域网内广播所述第一和/或第二TCP连接的信息。
37.根据36所述的网关设备,其特征在于,还包括心跳监听模块,被配置为:在建立所述第一TCP连接之后,监听所述第一TCP连接的另一方的心跳,其中,所述TCP通信模块还被配置为:若所述心跳监听模块在预定的时间段内未监听到所述第一TCP连接的另一方的心跳,则向所述上一层子局域网所包括的所有设备发送TCP握手请求,并监听来自所述上一层子局域网的TCP握手响应,响应于接收到所述TCP握手响应并且所述连接确认的发送方为所述第一TCP连接的另一方,与所述TCP握手响应的发送方重新建立所述第一TCP连接;以及响应于接收到所述TCP握手响应并且所述连接确认的发送方不是所述第一TCP连接的另一方,与所述TCP握手响应的发送方建立第三TCP连接,所述广播模块还被配置为:响应于所述TCP通信模块重新建立所述第一TCP连接,在所述局域网内广播所述第一TCP连接的更新的信息;响应于所述TCP通信模块建立第三TCP连接,在所述局域网内广播所述第三TCP连接的信息,并广播所述第一TCP连接丢失;以及响应于所述TCP通信模块未接收到来自所述上一层子局域网的TCP握手响应,则在所述局域网内广播所述第一TCP连接丢失。
38.根据37所述的网关设备,其特征在于,所述心跳监听模块还被配置为:在建立所述第二TCP连接之后,监听所述第二TCP连接的另一方的心跳,其中,所述TCP通信模块还被配置为:若所述心跳监听模块在预定的时间段内未监听到所述第二TCP连接的另一方的心跳,则监听来自所述下一层子局域网的TCP握手请求,响应于接收到所述TCP握手请求并且所述连接请求的发送方为所述第二TCP连接的另一方,向所述TCP握手请求的发送方发送TCP握手响应,以便与所述TCP握手请求的发送方重新建立所述第二TCP连接;以及响应于接收到所述TCP握手请求并且所述连接请求的发送方不是所述第二TCP连接的另一方,向所述TCP握手请求的发送方发送TCP握手响应,以便与所述TCP握手请求的发送方建立第四TCP连接,所述广播模块还被配置为:响应于所述TCP通信模块重新建立所述第二TCP连接,在所述局域网内广播所述第二TCP连接的更新的信息;响应于所述TCP通信模块建立第四TCP连接,在所述局域网内广播所述第四TCP连接的信息,并广播所述第二TCP连接丢失;以及响应于所述TCP通信模块未接收到来自所述下一层子局域网的TCP握手请求,则在所述局域网内广播所述第二TCP连接丢失。
39.根据38所述的网关设备,其特征在于,还包括UDP通信模块,被配置为:
在所述网关设备被确定为所述第一子局域网内的主通信单元的情况下,在所述第一子局域网内发送UDP组播报文,并在所述第一子局域网内监听UDP单播报文,以及响应于接收到UDP单播报文,与所述UDP单播报文的发送方建立第一UDP通信;以及
在所述网关设备被确定为所述第一子局域网内的次通信单元的情况下,监听所述第一子局域网内的UDP组播信道,若接收到UDP组播报文,则向所述UDP组播报文的发送方发送UDP单播报文,以便与所述UDP组播报文的发送方建立第二UDP通信。
40.根据39所述的网关设备,其特征在于,所述广播模块还被配置为:响应于所述UDP通信模块建立所述第一和/或第二UDP通信,在所述局域网内广播所述第一和/或第二UDP通信的信息。
41.根据40所述的网关设备,其特征在于,所述心跳监听模块还被配置为:在建立所述第一UDP通信之后,监听所述第一UDP通信的另一方的心跳,其中,
所述UDP通信模块还被配置为:若所述心跳监听模块在预定的时间段内未监听到所述第一UDP通信的另一方的心跳,则在所述第一子局域网内发送UDP组播报文,并在所述第一子局域网内监听UDP单播报文,
响应于接收到UDP单播报文并且所述UDP单播报文的发送方为所述第一UDP通信的另一方,与所述UDP单播报文的发送方重新建立所述第一UDP通信;以及
响应于接收到UDP单播报文并且所述UDP单播报文的发送方不是所述第一UDP通信的另一方,与所述UDP单播报文的发送方建立第三UDP通信,
所述广播模块还被配置为:
响应于所述UDP通信模块重新建立所述第一UDP通信,在所述局域网内广播所述第一UDP通信的更新的信息;
响应于所述UDP通信模块建立第三UDP通信,在所述局域网内广播所述第三UDP通信的信息,并广播所述第一UDP通信丢失;
以及
响应于所述UDP通信模块未接收到来自所述第一子局域网的UDP单播报文,则在所述局域网内广播所述第一UDP通信丢失。
42.根据41所述的网关设备,其特征在于,所述心跳监听模块还被配置为:在建立所述第二UDP通信之后,监听所述第二UDP通信的另一方的心跳,其中,
所述UDP通信模块还被配置为:若所述心跳监听模块在预定的时间段内未监听到所述第二UDP通信的另一方的心跳,则监听所述第一子局域网内的UDP组播信道,
响应于接收到UDP组播报文并且所述UDP组播报文的发送方为所述第二UDP通信的另一方,则向所述UDP组播报文的发送方发送UDP单播报文,以便与所述UDP组播报文的发送方重新建立所述第二UDP通信;以及
响应于接收到UDP组播报文并且所述UDP组播报文的发送方不是所述第二UDP通信的另一方,则向所述UDP组播报文的发送方发送UDP单播报文,以便与所述UDP组播报文的发送方建立第四UDP通信,
所述广播模块还被配置为:
响应于所述UDP通信模块重新建立所述第二UDP通信,在所述局域网内广播所述第二UDP通信的更新的信息;
响应于所述UDP通信模块建立第四UDP通信,在所述局域网内广播所述第四UDP通信的信息,并广播所述第二UDP通信丢失;
以及
响应于所述UDP通信模块未接收到来自所述第一子局域网的UDP组播报文,则在所述局域网内广播所述第二UDP通信丢失。
43.根据42所述的网关设备,其特征在于,还包括存储模块,被配置为:响应于所述TCP通信模块建立TCP连接,存储所述TCP连接的信息;响应于所述UDP通信模块建立UDP通信,存储所述UDP通信的信息;响应于所述广播模块接收到TCP连接和/或UDP通信的信息,存储所述TCP连接和/或UDP通信的信息;响应于所述广播模块接收到TCP连接和/或UDP通信的更新的信息,更新已经存储的所述TCP连接和/或UDP通信的信息;以及响应于所述广播模块接收到TCP连接和/或UDP通信丢失的广播,删除已经存储的所述TCP连接和/或UDP通信的信息。
44.根据43所述的网关设备,其特征在于,还包括报文收发模块,被配置为:在所述网关设备想要发送第一报文的情况下,
若所述第一报文的目标设备位于所述第一子局域网内,则将所述第一报文发送给所述UDP通信模块以便将所述第一报文发送给所述目标设备;
若所述第一报文的目标设备位于所述第一子局域网的任一个较上层的子局域网内,则将所述第一报文发送给所述TCP通信模块以便通过所述第一TCP连接将所述第一报文发送给所述目标设备;以及
若所述第一报文的目标设备位于所述第一子局域网的任一个较下层的子局域网内,则将所述第一报文发送给所述TCP通信模块以便通过所述第二TCP连接将所述第一报文发送给所述目标设备。
45.根据44所述的网关设备,其特征在于,所述报文收发模块还被配置为:从所述TCP通信模块和/或所述UDP通信模块接收第二报文,
若所述第二报文的目标设备为位于所述第一子局域网内的其他设备,则将所述第二报文发送给所述UDP通信模块以便将所述第二报文发送给所述目标设备;
若所述第二报文的目标设备位于所述第一子局域网的任一个较上层的子局域网内,则将所述第二报文发送给所述TCP通信模块以便通过所述第一TCP连接将所述第二报文发送给所述目标设备;以及
若所述第二报文的目标设备位于所述第一子局域网的任一个较下层的子局域网内,则将所述第二报文发送给所述TCP通信模块以便通过所述第二TCP连接将所述第二报文发送给所述目标设备。
46.根据45所述的网关设备,其特征在于,还包括报文处理模块,其中,所述报文收发模块还被配置为:若所述第二报文的目标设备为所述网关设备,则将所述第二报文发送给所述报文处理模块。
47.根据46所述的网关设备,其特征在于,还包括外部通信模块,被配置为与所述家居网络外部的实体相通信,以及响应于TCP连接丢失,向所述实体报告所述TCP连接的另一方离线;和/或响应于UDP通信丢失,向所述实体报告所述UDP通信的另一方离线。
48.根据47所述的网关设备,其特征在于,还包括主次单元确定模块,被配置为:
判断所述网关设备的MAC地址是否是所述第一子局域网中所有网关设备中MAC地址最小的,若是,则将所述网关设备确定为所述第一子局域网内的主通信单元;若否,则将所述网关设备确定为所述第一子局域网内的次通信单元;或根据与所述局域网连接的外部实体的指定来确定所述网关设备为所述第一子局域网内的主通信单元或次通信单元。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。在此公开的各实施例可以任意组合,而不脱离本公开的精神和范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本公开的范围和精神。本公开的范围由所附权利要求来限定。
Claims (44)
1.一种局域网内的通信设备的操作方法,所述通信设备为位于所述局域网的第一子局域网中的第一通信设备,所述第一子局域网还包括一个或多个第二通信设备,其中,所述操作方法包括:
根据预定的规则将所述第一通信设备确定为所述第一子局域网内的主通信单元;
将所述第一通信设备的TCP配置为打开状态,并将所述第二通信设备的TCP配置为关闭状态;
在所述第一子局域网内发送UDP组播报文;以及
接收来自所述第二通信设备的UDP单播报文,并与所述第二通信设备建立UDP通信;
所述局域网还包括第一路由器和第二子局域网,所述第一和第二子局域网被配置为经由所述第一路由器互相通信,其中,所述第二子局域网至少包括第三通信设备,所述操作方法还包括:
在将所述第一通信设备的TCP配置为打开状态之后,向所述第二子局域网所包括的所有通信设备发送第一TCP握手请求;以及
接收来自所述第二子局域网的TCP握手响应,以及响应于接收到来自所述第三通信设备的第一TCP握手响应,与所述第三通信设备建立第一TCP连接;
当想要向位于所述第二子局域网内的任一个通信设备发送第一报文的情况下,将所述第一报文发送给所述第三通信设备;以及
当接收到第二报文之后,判断所述第二报文的目的地,
若所述目的地为所述第一通信设备,则对所述第二报文进行处理;
若所述目的地为所述第二通信设备,则将所述第二报文发送给所述第二通信设备;以及
若所述目的地为位于所述第二子局域网内的任一个通信设备,则将所述第二报文发送给所述第三通信设备。
2.根据权利要求1所述的操作方法,其特征在于,所述局域网被配置为与外部实体通信,其中,所述第一子局域网经由所述第二子局域网与外部实体通信,所述第二子局域网不经由所述第一子局域网与外部实体通信。
3.根据权利要求1所述的操作方法,其特征在于,向所述第二子局域网所包括的所有通信设备发送第一TCP握手请求包括:
所述第一通信设备基于其默认网关和WAN口子网掩码来计算特定网段;以及
向所述特定网段内的所有通信设备发送TCP握手请求。
4.根据权利要求1所述的操作方法,其特征在于,还包括:
在建立所述第一TCP连接之后,在所述局域网内广播所述第一TCP连接的信息,所述TCP连接的信息至少包括连接双方的IP地址。
5.根据权利要求4所述的操作方法,其特征在于,还包括:
在建立所述第一TCP连接之后,周期性地监听所述第三通信设备的心跳,若在预定的时间段内未监听到,则向所述第二子局域网所包括的所有通信设备发送第二TCP握手请求;
响应于接收到来自所述第三通信设备的第二TCP握手响应,与所述第三通信设备建立第二TCP连接,并且在所述局域网内广播将所述第一TCP连接的信息更新为所述第二TCP连接的信息;以及
若未接收到来自所述第三通信设备的TCP握手响应,则在所述局域网内广播所述第一TCP连接丢失。
6.根据权利要求5所述的操作方法,其特征在于,所述局域网被配置为与外部实体通信,所述操作方法还包括:
在发送所述第二TCP握手请求之后,若未接收到来自所述第三通信设备的TCP握手响应,则向所述外部实体报告所述第三通信设备离线。
7.根据权利要求1所述的操作方法,其特征在于,所述局域网还包括第三子局域网和第二路由器,所述第三子局域网被配置为经由所述第一和第二路由器与所述第一子局域网通信并且经由所述第二路由器但不经由所述第一路由器与所述第二子局域网通信,其中,所述操作方法还包括:
当想要向位于所述第三子局域网内的任一个通信设备发送第一报文的情况下,将所述第一报文发送给所述第三通信设备;以及
当接收到第二报文之后,判断所述第二报文的目的地,若所述目的地为位于所述第三子局域网内的任一个通信设备,则将所述第二报文发送给所述第三通信设备。
8.根据权利要求1所述的操作方法,其特征在于,还包括:
在建立所述UDP通信之后,存储并在所述局域网内广播所述UDP通信的信息,所述信息至少包括通信双方的IP地址。
9.根据权利要求8所述的操作方法,其特征在于,还包括:
在建立所述UDP通信之后,周期性地监听所述第二通信设备的心跳,若在预定的时间段内未监听到,则再次在所述第一子局域网内发送UDP组播报文;以及
在接收到来自所述第二通信设备的UDP单播报文之后,则与所述第二通信设备重新建立所述UDP通信。
10.根据权利要求9所述的操作方法,其特征在于,还包括:
在重新建立所述UDP通信之后,更新已存储的所述UDP通信的信息并在所述局域网内广播重新建立的所述UDP通信的信息。
11.根据权利要求9所述的操作方法,其特征在于,还包括:
在再次发送UDP组播报文之后,若未接收到来自所述第二通信设备的UDP单播报文,则删除已存储的所述UDP通信的信息并在所述局域网内广播所述UDP通信丢失。
12.根据权利要求9所述的操作方法,其特征在于,所述局域网被配置为与外部实体通信,所述操作方法还包括:
在再次发送UDP组播报文之后,若未接收到来自所述第二通信设备的UDP单播报文,则向所述外部实体报告所述第二通信设备离线。
13.根据权利要求1所述的操作方法,其特征在于,所述预定的规则包括:
将所述第一子局域网中MAC地址最小的通信设备确定为所述主通信单元;或
根据与所述局域网连接的外部实体的指定来确定所述主通信单元。
14.根据权利要求5所述的操作方法,其特征在于,还包括:
在接收到在所述局域网内广播的关于通信设备之间的连接的信息之后,存储所述信息,其中所述信息至少包括连接双方的IP地址;
在接收到在所述局域网内广播的关于通信设备之间的重新建立的连接的信息之后,更新已经存储的所述连接的信息;以及
在接收到关于通信设备之间的连接丢失的广播之后,将已经存储的所述连接的信息删除。
15.一种局域网内的通信设备的操作方法,所述通信设备为位于所述局域网的第一子局域网中的第一通信设备,所述第一子局域网还包括一个或多个第二通信设备,所述局域网还包括第一路由器和第二子局域网,所述第二子局域网包括第三通信设备,所述第一和第二子局域网被配置为经由所述第一路由器互相通信,其中,所述操作方法包括:
根据预定的规则将所述第一通信设备确定为所述第一子局域网内的主通信单元;
将所述第一通信设备的TCP配置为打开状态;
在所述第一子局域网内发送UDP组播报文,接收来自所述第二通信设备的UDP单播报文,并与所述第二通信设备建立UDP通信;以及
监听来自所述第二子局域网的TCP握手请求,响应于接收到来自所述第三通信设备的第一TCP握手请求,所述第一通信设备向所述第三通信设备发送第一TCP握手响应,并与所述第三通信设备建立第一TCP连接;
当想要向位于所述第二子局域网内的任一个通信设备发送第一报文的情况下,将所述第一报文发送给所述第三通信设备;以及
当接收到第二报文之后,判断所述第二报文的目的地,
若所述目的地为所述第一通信设备,则对所述第二报文进行处理;
若所述目的地为所述第二通信设备,则将所述第二报文发送给所述第二通信设备;以及
若所述目的地为位于所述第二子局域网内的任一个通信设备,则将所述第二报文发送给所述第三通信设备。
16.根据权利要求15所述的操作方法,其特征在于,所述局域网被配置为与外部实体通信,其中,所述第一子局域网不经由所述第二子局域网与外部实体通信,所述第二子局域网经由所述第一子局域网与外部实体通信。
17.根据权利要求15所述的操作方法,其特征在于,还包括:
在建立所述第一TCP连接之后,在所述局域网内广播所述第一TCP连接的信息,所述TCP连接的信息至少包括连接双方的IP地址。
18.根据权利要求17所述的操作方法,其特征在于,还包括:
在建立所述第一TCP连接之后,周期性地监听所述第三通信设备的心跳,若在预定的时间段内未监听到,则监听来自所述第三通信设备的TCP握手请求,
若在预定时间段内接收到来自所述第三通信设备的第二TCP握手请求,则向所述第三通信设备发送第二TCP握手响应,并与所述第三通信设备建立第二TCP连接,并且在所述局域网内广播将所述第一TCP连接的信息更新为所述第二TCP连接的信息;以及
若在预定时间段内未接收到来自所述第三通信设备的第二TCP握手请求,则在所述局域网内广播所述第一TCP连接丢失。
19.根据权利要求18所述的操作方法,其特征在于,所述局域网被配置为与外部实体通信,所述操作方法还包括:
若在预定时间段内未接收到来自所述第三通信设备的第二TCP握手请求,则还向所述外部实体报告所述第三通信设备离线。
20.根据权利要求15所述的操作方法,其特征在于,所述局域网还包括第三子局域网和第二路由器,所述第三子局域网被配置为经由所述第一和第二路由器与所述第一子局域网通信并且经由所述第二路由器但不经由所述第一路由器与所述第二子局域网通信,其中,所述操作方法还包括:
当想要向位于所述第三子局域网内的任一个通信设备发送第一报文的情况下,将所述第一报文发送给所述第三通信设备;以及
当接收到第二报文之后,若判断所述第二报文的目的地为位于所述第三子局域网内的任一个通信设备,则将所述第二报文发送给所述第三通信设备。
21.根据权利要求15所述的操作方法,其特征在于,还包括:
在建立所述UDP通信之后,存储并在所述局域网内广播所述UDP通信的信息,所述信息至少包括通信双方的IP地址。
22.根据权利要求21所述的操作方法,其特征在于,还包括:
在建立所述UDP通信之后,周期性地监听所述第二通信设备的心跳,若在预定的时间段内未监听到,则再次在所述第一子局域网内发送UDP组播报文;以及
在接收到来自所述第二通信设备的UDP单播报文之后,则与所述第二通信设备重新建立所述UDP通信。
23.根据权利要求22所述的操作方法,其特征在于,还包括:
在重新建立所述UDP通信之后,更新已存储的所述UDP通信的信息并在所述局域网内广播重新建立的所述UDP通信的信息。
24.根据权利要求22所述的操作方法,其特征在于,还包括:
在再次发送UDP组播报文之后,若未接收到来自所述第二通信设备的UDP单播报文,则删除已存储的所述UDP通信的信息并在所述局域网内广播所述UDP通信丢失。
25.根据权利要求22所述的操作方法,其特征在于,所述局域网被配置为与外部实体通信,所述操作方法还包括:
在再次发送UDP组播报文之后,若未接收到来自所述第二通信设备的UDP单播报文,则向所述外部实体报告所述第二通信设备离线。
26.根据权利要求15所述的操作方法,其特征在于,所述预定的规则包括:
将所述第一子局域网中MAC地址最小的通信设备确定为所述主通信单元;或
根据与所述局域网连接的外部实体的指定来确定所述主通信单元。
27.根据权利要求18所述的操作方法,其特征在于,还包括:
在接收到在所述局域网内广播的关于通信设备之间的连接的信息之后,存储所述信息,其中所述信息至少包括连接双方的IP地址;
在接收到在所述局域网内广播的关于通信设备之间的重新建立的连接的信息之后,更新已经存储的所述连接的信息;以及
在接收到关于通信设备之间的连接丢失的广播之后,将已经存储的所述连接的信息删除。
28.一种局域网内的通信设备,包括:
处理器;以及
存储器,被配置为存储一系列计算机可执行的指令,
其中,当所述一系列计算机可执行的指令被所述处理器执行时,使得所述处理器进行如权利要求1-27中任一项所述的操作方法。
29.一种局域网内的通信设备,包括电路,所述电路被配置为执行如权利要求1-27中任一项所述的操作方法。
30.一种用于家居网络的网关设备,所述家居网络包括第一子局域网,所述第一子局域网包括所述网关设备,所述网关设备能够连接家居设备,其中,所述网关设备包括TCP通信模块,被配置为:
在所述网关设备被确定为所述第一子局域网内的主通信单元的情况下打开;以及
在所述网关设备被确定为所述第一子局域网内的次通信单元的情况下关闭;
所述家居网络还包括所述一子局域网的上一层子局域网,所述TCP通信模块还被配置为:
在所述网关设备与所述上一层子局域网内的设备无TCP连接、并且所述TCP通信模块打开的情况下,向所述上一层子局域网所包括的所有设备发送TCP握手请求,并监听来自所述上一层子局域网的TCP握手响应;以及
响应于接收到所述TCP握手响应,与所述TCP握手响应的发送方建立第一TCP连接;
还包括心跳监听模块,被配置为:在建立所述第一TCP连接之后,监听所述第一TCP连接的另一方的心跳,其中,
所述TCP通信模块还被配置为:若所述心跳监听模块在预定的时间段内未监听到所述第一TCP连接的另一方的心跳,则向所述上一层子局域网所包括的所有设备发送TCP握手请求,并监听来自所述上一层子局域网的TCP握手响应,
响应于接收到所述TCP握手响应并且所述连接确认的发送方为所述第一TCP连接的另一方,与所述TCP握手响应的发送方重新建立所述第一TCP连接;以及
响应于接收到所述TCP握手响应并且所述连接确认的发送方不是所述第一TCP连接的另一方,与所述TCP握手响应的发送方建立第三TCP连接。
31.根据权利要求30所述的网关设备,其特征在于,所述家居网络还包括所述一子局域网的下一层子局域网,所述TCP通信模块还被配置为:
在所述网关设备与所述下一层子局域网内的设备无TCP连接、并且所述TCP通信模块打开的情况下,监听来自所述下一层子局域网的TCP握手请求;以及
响应于接收到所述TCP握手请求,向所述TCP握手请求的发送方发送TCP握手响应,以便与所述TCP握手请求的发送方建立第二TCP连接。
32.根据权利要求31所述的网关设备,其特征在于,还包括广播模块,被配置为:
响应于所述TCP通信模块建立所述第一和/或第二TCP连接,在所述局域网内广播所述第一和/或第二TCP连接的信息。
33.根据权利要求32所述的网关设备,其特征在于,所述广播模块还被配置为:
响应于所述TCP通信模块重新建立所述第一TCP连接,在所述局域网内广播所述第一TCP连接的更新的信息;
响应于所述TCP通信模块建立第三TCP连接,在所述局域网内广播所述第三TCP连接的信息,并广播所述第一TCP连接丢失;以及
响应于所述TCP通信模块未接收到来自所述上一层子局域网的TCP握手响应,则在所述局域网内广播所述第一TCP连接丢失。
34.根据权利要求32所述的网关设备,其特征在于,所述心跳监听模块还被配置为:在建立所述第二TCP连接之后,监听所述第二TCP连接的另一方的心跳,其中,
所述TCP通信模块还被配置为:若所述心跳监听模块在预定的时间段内未监听到所述第二TCP连接的另一方的心跳,则监听来自所述下一层子局域网的TCP握手请求,
响应于接收到所述TCP握手请求并且所述连接请求的发送方为所述第二TCP连接的另一方,向所述TCP握手请求的发送方发送TCP握手响应,以便与所述TCP握手请求的发送方重新建立所述第二TCP连接;以及
响应于接收到所述TCP握手请求并且所述连接请求的发送方不是所述第二TCP连接的另一方,向所述TCP握手请求的发送方发送TCP握手响应,以便与所述TCP握手请求的发送方建立第四TCP连接,
所述广播模块还被配置为:
响应于所述TCP通信模块重新建立所述第二TCP连接,在所述局域网内广播所述第二TCP连接的更新的信息;
响应于所述TCP通信模块建立第四TCP连接,在所述局域网内广播所述第四TCP连接的信息,并广播所述第二TCP连接丢失;以及
响应于所述TCP通信模块未接收到来自所述下一层子局域网的TCP握手请求,则在所述局域网内广播所述第二TCP连接丢失。
35.根据权利要求34所述的网关设备,其特征在于,还包括UDP通信模块,被配置为:
在所述网关设备被确定为所述第一子局域网内的主通信单元的情况下,在所述第一子局域网内发送UDP组播报文,并在所述第一子局域网内监听UDP单播报文,以及响应于接收到UDP单播报文,与所述UDP单播报文的发送方建立第一UDP通信;以及
在所述网关设备被确定为所述第一子局域网内的次通信单元的情况下,监听所述第一子局域网内的UDP组播信道,若接收到UDP组播报文,则向所述UDP组播报文的发送方发送UDP单播报文,以便与所述UDP组播报文的发送方建立第二UDP通信。
36.根据权利要求35所述的网关设备,其特征在于,所述广播模块还被配置为:
响应于所述UDP通信模块建立所述第一和/或第二UDP通信,在所述局域网内广播所述第一和/或第二UDP通信的信息。
37.根据权利要求36所述的网关设备,其特征在于,所述心跳监听模块还被配置为:在建立所述第一UDP通信之后,监听所述第一UDP通信的另一方的心跳,其中,
所述UDP通信模块还被配置为:若所述心跳监听模块在预定的时间段内未监听到所述第一UDP通信的另一方的心跳,则在所述第一子局域网内发送UDP组播报文,并在所述第一子局域网内监听UDP单播报文,
响应于接收到UDP单播报文并且所述UDP单播报文的发送方为所述第一UDP通信的另一方,与所述UDP单播报文的发送方重新建立所述第一UDP通信;以及
响应于接收到UDP单播报文并且所述UDP单播报文的发送方不是所述第一UDP通信的另一方,与所述UDP单播报文的发送方建立第三UDP通信,
所述广播模块还被配置为:
响应于所述UDP通信模块重新建立所述第一UDP通信,在所述局域网内广播所述第一UDP通信的更新的信息;
响应于所述UDP通信模块建立第三UDP通信,在所述局域网内广播所述第三UDP通信的信息,并广播所述第一UDP通信丢失;以及
响应于所述UDP通信模块未接收到来自所述第一子局域网的UDP单播报文,则在所述局域网内广播所述第一UDP通信丢失。
38.根据权利要求37所述的网关设备,其特征在于,所述心跳监听模块还被配置为:在建立所述第二UDP通信之后,监听所述第二UDP通信的另一方的心跳,其中,
所述UDP通信模块还被配置为:若所述心跳监听模块在预定的时间段内未监听到所述第二UDP通信的另一方的心跳,则监听所述第一子局域网内的UDP组播信道,
响应于接收到UDP组播报文并且所述UDP组播报文的发送方为所述第二UDP通信的另一方,则向所述UDP组播报文的发送方发送UDP单播报文,以便与所述UDP组播报文的发送方重新建立所述第二UDP通信;以及
响应于接收到UDP组播报文并且所述UDP组播报文的发送方不是所述第二UDP通信的另一方,则向所述UDP组播报文的发送方发送UDP单播报文,以便与所述UDP组播报文的发送方建立第四UDP通信,
所述广播模块还被配置为:
响应于所述UDP通信模块重新建立所述第二UDP通信,在所述局域网内广播所述第二UDP通信的更新的信息;
响应于所述UDP通信模块建立第四UDP通信,在所述局域网内广播所述第四UDP通信的信息,并广播所述第二UDP通信丢失;以及
响应于所述UDP通信模块未接收到来自所述第一子局域网的UDP组播报文,则在所述局域网内广播所述第二UDP通信丢失。
39.根据权利要求38所述的网关设备,其特征在于,还包括存储模块,被配置为:
响应于所述TCP通信模块建立TCP连接,存储所述TCP连接的信息;
响应于所述UDP通信模块建立UDP通信,存储所述UDP通信的信息;
响应于所述广播模块接收到TCP连接和/或UDP通信的信息,存储所述TCP连接和/或UDP通信的信息;
响应于所述广播模块接收到TCP连接和/或UDP通信的更新的信息,更新已经存储的所述TCP连接和/或UDP通信的信息;以及
响应于所述广播模块接收到TCP连接和/或UDP通信丢失的广播,删除已经存储的所述TCP连接和/或UDP通信的信息。
40.根据权利要求39所述的网关设备,其特征在于,还包括报文收发模块,被配置为:在所述网关设备想要发送第一报文的情况下,
若所述第一报文的目标设备位于所述第一子局域网内,则将所述第一报文发送给所述UDP通信模块以便将所述第一报文发送给所述目标设备;
若所述第一报文的目标设备位于所述第一子局域网的任一个较上层的子局域网内,则将所述第一报文发送给所述TCP通信模块以便通过所述第一TCP连接将所述第一报文发送给所述目标设备;以及
若所述第一报文的目标设备位于所述第一子局域网的任一个较下层的子局域网内,则将所述第一报文发送给所述TCP通信模块以便通过所述第二TCP连接将所述第一报文发送给所述目标设备。
41.根据权利要求40所述的网关设备,其特征在于,所述报文收发模块还被配置为:从所述TCP通信模块和/或所述UDP通信模块接收第二报文,
若所述第二报文的目标设备为位于所述第一子局域网内的其他设备,则将所述第二报文发送给所述UDP通信模块以便将所述第二报文发送给所述目标设备;
若所述第二报文的目标设备位于所述第一子局域网的任一个较上层的子局域网内,则将所述第二报文发送给所述TCP通信模块以便通过所述第一TCP连接将所述第二报文发送给所述目标设备;以及
若所述第二报文的目标设备位于所述第一子局域网的任一个较下层的子局域网内,则将所述第二报文发送给所述TCP通信模块以便通过所述第二TCP连接将所述第二报文发送给所述目标设备。
42.根据权利要求41所述的网关设备,其特征在于,还包括报文处理模块,其中,所述报文收发模块还被配置为:若所述第二报文的目标设备为所述网关设备,则将所述第二报文发送给所述报文处理模块。
43.根据权利要求42所述的网关设备,其特征在于,还包括外部通信模块,被配置为与所述家居网络外部的实体相通信,以及
响应于TCP连接丢失,向所述实体报告所述TCP连接的另一方离线;和/或
响应于UDP通信丢失,向所述实体报告所述UDP通信的另一方离线。
44.根据权利要求43所述的网关设备,其特征在于,还包括主次单元确定模块,被配置为:
判断所述网关设备的MAC地址是否是所述第一子局域网中所有网关设备中MAC地址最小的,若是,则将所述网关设备确定为所述第一子局域网内的主通信单元;若否,则将所述网关设备确定为所述第一子局域网内的次通信单元;或
根据与所述局域网连接的外部实体的指定来确定所述网关设备为所述第一子局域网内的主通信单元或次通信单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910999596.3A CN110730116B (zh) | 2019-10-21 | 2019-10-21 | 局域网内的通信设备的操作方法、通信设备及网关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910999596.3A CN110730116B (zh) | 2019-10-21 | 2019-10-21 | 局域网内的通信设备的操作方法、通信设备及网关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110730116A CN110730116A (zh) | 2020-01-24 |
CN110730116B true CN110730116B (zh) | 2021-10-29 |
Family
ID=69220443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910999596.3A Active CN110730116B (zh) | 2019-10-21 | 2019-10-21 | 局域网内的通信设备的操作方法、通信设备及网关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110730116B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111698125B (zh) * | 2020-04-17 | 2022-11-18 | 新华三信息安全技术有限公司 | 一种通信测试方法和装置 |
CN111800320B (zh) * | 2020-07-31 | 2021-09-24 | 睿住科技有限公司 | 嵌入式设备及其组网方法与系统、联动控制方法、介质 |
CN112152864B (zh) * | 2020-11-06 | 2021-05-25 | 北京中电兴发科技有限公司 | 一种基于自定义规则的集群组网方法 |
CN114189567A (zh) * | 2021-12-15 | 2022-03-15 | 广州河东科技有限公司 | 一种智能门禁系统管理方法、装置及电子设备 |
CN116866400B (zh) * | 2023-08-01 | 2024-03-08 | 广东金朋科技有限公司 | 设备控制方法 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1511404A (zh) * | 2001-02-21 | 2004-07-07 | ��������λ�Ƽ���˾ | 互联网协议层中低架空移动率管理协议的方法与系统 |
CN1599344A (zh) * | 2003-09-15 | 2005-03-23 | 电视电声研究所 | 一种家庭网络系统体系结构和实现方法 |
CN101772244A (zh) * | 2010-03-02 | 2010-07-07 | 罗静 | 一种照明场景的控制方法 |
CN101834768A (zh) * | 2010-04-16 | 2010-09-15 | 中山大学 | 数字家庭网络设备间互发现方法 |
CN102025573A (zh) * | 2009-09-15 | 2011-04-20 | 海尔集团公司 | 一种家庭网络系统 |
CN102291283A (zh) * | 2011-08-03 | 2011-12-21 | 中山大学深圳研究院 | 一种数字家庭网络系统 |
CN106534198A (zh) * | 2016-12-22 | 2017-03-22 | 深圳市艾森魏尔科技有限公司 | 一种智能家居网关和控制端在局域网多对多的通信系统及算法 |
CN107528919A (zh) * | 2017-09-25 | 2017-12-29 | 江苏英索纳智能科技有限公司 | 一种局域网设备发现和驱动程序自动安装的方法及装置 |
CN107592364A (zh) * | 2017-09-22 | 2018-01-16 | 中汇信息技术(上海)有限公司 | 一种分布式消息交换方法和系统 |
CN108377210A (zh) * | 2018-01-22 | 2018-08-07 | 厦门亿联网络技术股份有限公司 | 一种局域网多设备识别方法 |
CN109587026A (zh) * | 2018-11-13 | 2019-04-05 | 井冈山大学 | 一种基于Java的大中型企业网络规划设计的方法 |
CN109842537A (zh) * | 2017-11-29 | 2019-06-04 | 上海企想信息技术有限公司 | 智能家居系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7016328B2 (en) * | 2003-06-24 | 2006-03-21 | Tropos Networks, Inc. | Method for allowing a client to access a wireless system |
US8612626B2 (en) * | 2010-12-21 | 2013-12-17 | Cisco Technology, Inc. | Group member detection among nodes of a network |
-
2019
- 2019-10-21 CN CN201910999596.3A patent/CN110730116B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1511404A (zh) * | 2001-02-21 | 2004-07-07 | ��������λ�Ƽ���˾ | 互联网协议层中低架空移动率管理协议的方法与系统 |
CN1599344A (zh) * | 2003-09-15 | 2005-03-23 | 电视电声研究所 | 一种家庭网络系统体系结构和实现方法 |
CN102025573A (zh) * | 2009-09-15 | 2011-04-20 | 海尔集团公司 | 一种家庭网络系统 |
CN101772244A (zh) * | 2010-03-02 | 2010-07-07 | 罗静 | 一种照明场景的控制方法 |
CN101834768A (zh) * | 2010-04-16 | 2010-09-15 | 中山大学 | 数字家庭网络设备间互发现方法 |
CN102291283A (zh) * | 2011-08-03 | 2011-12-21 | 中山大学深圳研究院 | 一种数字家庭网络系统 |
CN106534198A (zh) * | 2016-12-22 | 2017-03-22 | 深圳市艾森魏尔科技有限公司 | 一种智能家居网关和控制端在局域网多对多的通信系统及算法 |
CN107592364A (zh) * | 2017-09-22 | 2018-01-16 | 中汇信息技术(上海)有限公司 | 一种分布式消息交换方法和系统 |
CN107528919A (zh) * | 2017-09-25 | 2017-12-29 | 江苏英索纳智能科技有限公司 | 一种局域网设备发现和驱动程序自动安装的方法及装置 |
CN109842537A (zh) * | 2017-11-29 | 2019-06-04 | 上海企想信息技术有限公司 | 智能家居系统 |
CN108377210A (zh) * | 2018-01-22 | 2018-08-07 | 厦门亿联网络技术股份有限公司 | 一种局域网多设备识别方法 |
CN109587026A (zh) * | 2018-11-13 | 2019-04-05 | 井冈山大学 | 一种基于Java的大中型企业网络规划设计的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110730116A (zh) | 2020-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110730116B (zh) | 局域网内的通信设备的操作方法、通信设备及网关设备 | |
US7739384B2 (en) | System and method for load balancing | |
US9019956B2 (en) | Self-forming VoIP network | |
US20020097732A1 (en) | Virtual private network protocol | |
CN103095749A (zh) | 用于实现跨网段设备发现的方法和系统 | |
CN110635979B (zh) | 局域网内的通信设备之间互联的方法 | |
JP4115354B2 (ja) | ピア・ツー・ピア通信システム | |
CN110601940B (zh) | 局域网内的通信设备之间互联的方法 | |
EP3632081B1 (en) | Session layer communications using an id-oriented network | |
JP4292897B2 (ja) | 中継装置とポートフォワード設定方法 | |
CN110662178A (zh) | Dect网络集群系统及集群方法 | |
US11503164B2 (en) | Media interaction method in DECT network cluster | |
CN109379443B (zh) | 一种面向物联网的分布式消息队列的实现方法 | |
CN111416760B (zh) | 一种信息同步方法、终端及信息同步系统 | |
JP3599476B2 (ja) | ネットワーク間接続方法 | |
CN110971514B (zh) | 一种异频网关设备及异频网络的数据交互方法 | |
JPWO2007114035A1 (ja) | 接続支援サーバ、及び通信機器 | |
CN114466008B (zh) | 一种云边通信系统、方法、装置、电子设备及存储介质 | |
CN113630276B (zh) | 一种主备切换控制方法、装置及dvpn网络系统 | |
CN116708381B (zh) | 跨网络的数据传输方法、装置和存储介质及电子设备 | |
CN112040492B (zh) | 由多个WiFi节点自主建立WiFi网络的方法 | |
CN115883286B (zh) | Igmp报文处理方法、装置、vtep设备及存储介质 | |
CN114051035B (zh) | 一种Wi-Fi P2P短连接的数据协同方法 | |
CN112165735B (zh) | 一种云端一体的Wi-Fi设备自组网方法 | |
CN116382169A (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 |