CN113395366A - 一种网络地址分配方法及装置 - Google Patents

一种网络地址分配方法及装置 Download PDF

Info

Publication number
CN113395366A
CN113395366A CN202010176511.4A CN202010176511A CN113395366A CN 113395366 A CN113395366 A CN 113395366A CN 202010176511 A CN202010176511 A CN 202010176511A CN 113395366 A CN113395366 A CN 113395366A
Authority
CN
China
Prior art keywords
network address
address
network
allocated
identifier
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
Application number
CN202010176511.4A
Other languages
English (en)
Inventor
宋建民
朱仕耿
魏家宏
张锡权
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010176511.4A priority Critical patent/CN113395366A/zh
Publication of CN113395366A publication Critical patent/CN113395366A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5038Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请实施例公开了一种网络地址分配方法及装置,具体为,主设备向从设备广播第一报文,该第一报文中包括地址列表,该地址列表中包括N个已分配的网络地址。对于新增的从设备,其在接收到第一报文后,根据第一报文中的地址列表确定出未被分配的第一网络地址,并通过第二报文将第一网络地址发送给主设备。主设备在接收到第二报文后,确认第一网络地址可分配,向该从设备发送第三报文,以便该从设备根据第三报文确认所分配的第一网络地址。可见,通过本申请实施提供的分配方法,从设备在选择网络地址时,可以根据主设备发送的地址列表确定出未被分配的网络地址,从而避免所分配的网络地址存在冲突的问题。

Description

一种网络地址分配方法及装置
技术领域
本申请涉及通信技术领域,尤其涉及一种网络地址分配方法及装置。
背景技术
总线通信协议(modbus protocol)是一种串行通信协议,该协议主要应用于主从(master/slave)网络架构。在master/slave架构中,一个节点被设置为主设备,即master节点,其他使用modbus协议参与通信的节点为从设备,即slave节点。每个slave节点都配置唯一的地址。主设备向需要通信的从设备发送请求消息。从设备接收到请求消息后,发送响应消息,该响应消息包括该从设备的地址,以便主设备根据响应消息获知响应的从设备。目前的master节点与slave节点之间的地址分配方式无法解决地址冲突的问题。
发明内容
本申请实施例提供了一种网络地址分配方法及装置,有助于避免从设备的地址冲突。
第一方面,本申请实施例提供了一种网络地址分配方法,该方法可以由主设备执行,主设备广播第一报文,其中,第一报文包括地址列表,该地址列表包括N个已分配的网络地址,N为大于或等于1的整数。对于新增的从设备,当其接收到第一报文后,根据第一报文中的地址列表将未被分配的一个网络地址作为第一网络地址,并将包括第一网络地址的第二报文发送给主设备。主设备在接收从设备发送的第二报文后,根据第二报文可以获知从设备所选择的第一网络地址,并向该从设备发送第三报文,以利用第三报文确认为该从设备分配的第一网络地址。由此可见,利用本申请实施例中的技术方案,从设备在选择网络地址时,可以根据主设备发送的地址列表确定出未被分配的网络地址,从而避免主设备为从设备所分配的网络地址存在冲突的问题。
在一种可能的实现方式中,主设备在发送第三报文之前,主设备可以根据第二报文中的第一网络地址以及地址列表,确认第一网络地址为未分配的网络地址,以将第一网络地址分配给从设备。进一步地,主设备还可以为第一网络地址分配对应的标识。主设备根据第一网络地址和与其对应的标识,生成第三报文。
在一种可能的实现方式中,为标识网络地址已被分配,主设备还可以为被分配的网络地址配置对应的标识,以利用该标识来标识某网络地址已分配。即,第三报文包括第一网络地址和与第一网络地址对应的标识,该与第一网络地址对应的标识用于标识第一网络地址被分配。当从设备接收到第三报文后,不仅可以确认所分配的第一网络地址,还能够获取与第一网络地址对应的标识。
在一种可能的实现方式中,当为已分配的网络地址配置对应的标识时,该N个已分配的网络地址包括N个网络地址和N个标识,其中,N个网络地址中的网络地址与N个标识中的标识一一对应,与N个网络地址中的网络地址对应的标识用于标识与其对应的网络地址被分配。即,N个已分配的网络地址中每个网络地址均对应一个标识。
在一种可能的实现方式中,为使得从设备可以获知为其分配网络地址的主设备,第一报文还可以包括主设备的标识,其中,主设备的标识用于标识广播N个已分配的网络地址的主设备。
在一种可能的实现方式中,第三报文还包括主设备的标识,主设备的标识用于标识分配所述第一网络地址的主设备。当从设备接收到第三报文时,可以根据主设备的标识确定为其分配第一网络地址的主设备。
在一种可能的实现方式中,主设备广播第一报文之前,预先获取地址列表,具体为主设备广播第四报文,该第四报文用于查询已分配的网络地址;主设备从N个从设备获取N个已分配的网络地址,该N个从设备中的从设备与N个已分配的网络地址中的已分配的网络地址一一对应;主设备根据N个已分配的网络地址获取地址列表。在该实现方式中,主设备可以通过广播第四报文的方式,获取当前已分配网络地址的各个从设备所分配的网络地址,从而根据各个从设备所分配的网络地址获取地址列表。
在一种可能的实现方式中,当主设备可以为已分配的网络地址配置对应的标识时,主设备在获取N个从设备各自所分配的网络地址时,主设备还可以向N个从设备中的任一从设备发送与任一从设备分配的网络地址对应的标识,其中,与任一从设备的网络地址对应的标识用于标识该从设备的网络地址被分配。
第二方面,本申请实施例提供了一种网络地址分配方法,该方法由从设备执行,具体为,从设备接收主设备广播的第一报文,该第一报文包括地址列表,地址列表包括N个已分配的网络地址,其中,N为大于或等于1的整数。从设备根据地址列表确定未分配的网络地址,并将未分配的网络地址中的一个网络地址作为第一网络地址。从设备将包括第一网络地址的第二报文发送给主设备,以便主设备可以获取从设备所确定的第一网络地址,并向从设备发送第三报文。从设备根据所述主设备发送的第三报文确认主设备为其分配第一网络地址。由此可见,利用本申请实施例中的技术方案,从设备在选择网络地址时,可以根据主设备发送的地址列表确定出未被分配的网络地址,从而避免主设备为从设备所分配的网络地址存在冲突的问题。
在一种可能的实现方式中,为标识网络地址已被分配,主设备还可以为被分配的网络地址配置对应的标识,以利用该标识来确认某网络地址已分配。即,第三报文包括第一网络地址和与第一网络地址对应的标识,该与第一网络地址对应的标识用于标识第一网络地址被分配。
在一种可能的实现方式中,从设备在接收到第三报文后,可以将第三报文中的第一网络地址以及与第一网络地址对应的标识进行存储。
在一种可能的实现方式中,当为已分配的网络地址配置对应的标识时,N个已分配的网络地址包括N个网络地址和N个标识,其中,N个网络地址中的一个网络地址与N个标识中的一个标识对应,与N个网络地址中的一个网络地址对应的标识用于标识与其对应的网络地址被分配。
在一种可能的实现方式中,从设备可以根据以下两种方式确定第一网络地址,一种是从设备根据地址列表,获取未包含于N个已分配的网络地址中的第一网络地址,其中,N个已分配的网络地址不包括与第一网络地址对应的标识。当N个已分配的网络地址包括N个网络地址和N个标识时,从设备在根据地址列表确定第一网络地址时,所确定的第一网络地址对应的标识不存在于N个已分配的网络地址中,从而保证所确定的第一网络地址为未分配的网络地址。另一种是,第一报文还包括主设备的标识,当从设备确定N个已分配的网络地址包括从设备的第二网络地址和与第二网络地址对应的标识,且主设备的标识与第二网络地址对应的主设备的标识不同时,从设备根据地址列表,获取未包含于N个已分配的网络地址中的第一网络地址。也就是,当新增的从设备自身存储有第二网络地址以及与第二网络地址对应的标识时,该从设备根据地址列表判断出N个已分配的网络地址包括自身所存储的第二网络地址以及与第二网络地址对应的标识,但该分配第二网络地址的主设备的标识与第一报文中的主设备的标识不同,表明该第二网络地址已被分配,则根据地址列表确定一未分配的网络地址作为第一网络地址。
在一种可能的实现方式中,从设备可以通过以下两种方式确定第一网络地址,一种是从设备根据第一随机数和地址列表,选择一个网络地址作为第一网络地址,其中第一网络地址未包含于所述N个已分配的网络地址。即,从设备在确定第一网络地址时,利用第一随机数进行确定。该实现方式可以应用于存在多个从设备根据地址列表确定各自网络地址的场景,各个从设备通过利用各自对应的不同随机数从未分配的网络地址中选择一个网络地址作为第一网络地址,通过利用随机数的随机性,避免多个从设备所确定的网络地址存在冲突的问题。
另一种是,当第一报文还包括主设备的标识,当从设备确定N个已分配的网络地址包括从设备的第二网络地址和与第二网络地址对应的标识,且第一报文包括的主设备的标识与第二网络地址对应的主设备的标识不同时,从设备根据第一随机数和地址列表,选择一个网络地址作为第一网络地址,其中,第一网络地址未包含于N个已分配的网络地址。也就是,当新增的从设备自身存储有第二网络地址以及与第二网络地址对应的标识时,该从设备根据地址列表判断出N个已分配的网络地址包括自身所存储的第二网络地址以及与第二网络地址对应的标识,但该分配第二网络地址的主设备的标识与第一报文中的主设备的标识不同,表明该第二网络地址已被分配,则从设备根据第一随机数以及地址列表确定一未分配的网络地址作为第一网络地址。该实现方式可以应用于存在多个从设备根据地址列表确定各自网络地址的场景,各个从设备通过利用各自对应的不同随机数选择一个未分配的网络地址作为第一网络地址,通过利用随机数的随机性,避免多个从设备所确定的网络地址存在冲突的问题。
在一种可能的实现方式中,从设备在想主设备发送第二报文时,还可以根据第二随机数确定发送时刻,以根据该发送时刻想主设备发送第二报文。该实现方式,可以应用于多个从设备需要向主设备发送报文的场景,考虑主设备的处理能力有限,为减轻主设备的负载,每个从设备可以根据各自对应不同的随机数确定发送报文的发送时刻,从而避免多个从设备同时向主设备发送报文的情况。
第三方面,本申请实施例提供了一种网络地址分配装置,所述装置设于主设备,包括:广播单元、第一接收单元和第一发送单元。广播单元用于广播第一报文,所述第一报文包括地址列表,所述地址列表包括N个已分配的网络地址,所述N为大于或等于1的整数;第一接收单元用于接收从设备发送的第二报文,所述第二报文包括第一网络地址,所述第一网络地址为根据所述地址列表确定的未被分配的地址;第一发送单元用于向所述从设备发送第三报文,所述第三报文用于确认分配所述第一网络地址。
在一种可能的实现方式中,该装置还包括:确认单元和分配单元。确认单元用于根据第二报文中的第一网络地址以及地址列表,确认第一网络地址为未分配的网络地址,以将第一网络地址分配给从设备;分配单元用于为第一网络地址分配对应的标识。
在一种可能的实现方式中,该装置还包括生成单元。生成单元用于根据第一网络地址和与第一网络地址对应的标识,生成第三报文。
在一种可能的实现方式中,所述第三报文包括所述第一网络地址和与所述第一网络地址对应的标识,所述与所述第一网络地址对应的标识用于标识所述第一网络地址被分配。
在一种可能的实现方式中,所述N个已分配的网络地址包括N个网络地址和N个标识,所述N个网络地址中的网络地址与所述N个标识中的标识一一对应,与所述N个网络地址中的一个网络地址对应的标识用于标识与其对应的网络地址被分配。
在一种可能的实现方式中,所述第一报文还包括所述主设备的标识,所述主设备的标识用于标识广播所述N个已分配的网络地址的主设备。
在一种可能的实现方式中,所述第三报文还包括所述主设备的标识,所述主设备的标识用于标识分配所述第一网络地址的主设备。
在一种可能的实现方式中,所述装置还包括:第一获取单元和第二获取单元。广播单元还用于在广播所述第一报文之前,广播第四报文,所述第四报文用于查询已分配的网络地址;第一获取单元用于从N个从设备获取所述N个已分配的网络地址,所述N个从设备中的从设备与N个已分配的网络地址中的已分配的网络地址一一对应;第二获取单元,用于根据所述N个已分配的网络地址获取所述地址列表。
在一种可能的实现方式中,所述装置还包括:第二发送单元。第二发送单元用于向所述N个从设备中的任一从设备发送与所述任一从设备分配的网络地址对应的标识。
第四方面,在本申请实施例提供了一种网络地址分配装置,所述装置设于从设备,包括:第二接收单元、确定单元、第三发送单元和第三接收单元。第二接收单元用于接收广播的第一报文,所述第一报文包括地址列表,所述地址列表包括N个已分配的网络地址,所述N为大于或等于1的整数;确定单元用于根据所述地址列表确定第一网络地址,所述第一网络地址为根据所述地址列表确定的未被分配的地址;第三发送单元用于向所述主设备发送第二报文,所述第二报文包括所述第一网络地址;第三接收单元用于接收所述主设备发送的第三报文,所述第三报文用于确认分配所述第一网络地址。
在一种可能的实现方式中,所述第三报文包括所述第一网络地址和与所述第一网络地址对应的标识,所述与所述第一网络地址对应的标识用于标识所述第一网络地址被分配。
在一种可能的实现方式中,该装置还可以包括存储单元,该存储单元用于将第三报文中的第一网络地址以及与第一网络地址对应的标识进行存储。
在一种可能的实现方式中,所述N个已分配的网络地址包括N个网络地址和N个标识,所述N个网络地址中的一个网络地址与所述N个标识中的一个标识对应,与所述N个网络地址中的一个网络地址对应的标识用于标识与其对应的网络地址被分配。
在一种可能的实现方式中,所述确定单元具体用于根据所述地址列表,获取未包含于所述N个已分配的网络地址中的第一网络地址,所述N个已分配的网络地址不包括与所述第一网络地址对应的标识;或者,所述第一报文还包括所述主设备的标识,所述确定单元具体用于当确定所述N个已分配的网络地址包括所述从设备的第二网络地址和与所述第二网络地址对应的标识,且所述主设备的标识与所述第二网络地址对应的主设备的标识不同时,根据第一随机数和所述地址列表,选择一个网络地址作为第一网络地址,所述第一网络地址未包含于所述N个已分配的网络地址。
在一种可能的实现方式中,所述确定单元具体用于根据第一随机数和所述地址列表,选择一个网络地址作为第一网络地址,所述第一网络地址未包含于所述N个已分配的网络地址;或者,所述第一报文还包括所述主设备的标识,所述确定单元具体用于当确定所述N个已分配的网络地址包括所述从设备的第二网络地址和与所述第二网络地址对应的标识,且所述主设备的标识与所述第二网络地址对应的主设备的标识不同时,根据第一随机数和所述地址列表,选择一个网络地址作为第一网络地址,所述第一网络地址未包含于所述N个已分配的网络地址。
在一种可能的实现方式中,所述第三发送单元包括:确定子单元和发送子单元。确定子单元用于根据第二随机数确定发送时刻;发送子单元用于根据所述发送时刻,向所述主设备发送所述第二报文。
本申请实施例主设备向其从设备广播第一报文,该第一报文中包括地址列表,该地址列表中包括N个已分配的网络地址,以便从设备可以根据第一报文中的地址列表确定哪些网络地址未被分配。对于新增的从设备,其在接收到第一报文后,根据第一报文中的地址列表确定出未被分配的第一网络地址,并通过第二报文将该第一网络地址发送给主设备。主设备在接收到第二报文后,通过该第二报文可以获取从设备所选择的第一网络地址,并向该从设备发送第三报文,以便该从设备根据第三报文确认所分配的第一网络地址。可见,通过本申请实施提供的网络地址分配方法,从设备在选择网络地址时,可以根据主设备发送的地址列表确定出未被分配的网络地址,从而避免从设备所分配的网络地址存在冲突的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请实施例提供的一种网络地址分配信令交互图;
图3为本申请实施例提供的另一种网络地址分配信令交互图;
图4为本申请实施例提供的又一种网络地址分配信令交互图;
图5为本申请实施例提供的一种应用场景示意图;
图6为本申请实施例提供的一种网络地址分配装置结构示意图;
图7为本申请实施例提供的另一种网络地址分配装置结构示意图;
图8为本申请实施例提供的一种网络设备的结构示意图。
具体实施方式
本申请实施例提供了一种网络地址分配方法及装置,用于解决从设备地址冲突的问题。
通常,为避免所部署的master/slave网络架构中从设备所分配的网络地址冲突,主要采用以下两种方式进行地址分配:一种是在设备出厂前通过预先写入网络地址的方式来避免不同从设备之间地址冲突。当利用不同厂家的设备组建网络拓扑结构时,会出现多个从设备预先写入的网络地址存在冲突问题。另一种是厂家开放设备的地址写入接口,***集成商在现场通过地址写入方式为各个从设备分配地址,从而保证地址不冲突。然而,在实际应用中,现场施工条件可能不具备,地址写入***需要单独携带,增加了施工部署环节,增加部署成本。而且,当***遇到新终端扩展接入时,除了终端厂商外,还需要相关支持人员同步支持,并且要保证前后地址分配的一致性,增加了施工的复杂度。
为实现Modbus协议下网络地址自动分配且避免地址冲突的问题,本申请实施例提供了一种网络地址分配方法,其中,主设备控制所有地址的资源和地址分配权限,并通过周期性的广播第一报文,使得各个新增从设备通过第一报文中的地址列表可以获知哪些网络地址已被分配,进而选择未被分配的网络地址,从而保证主设备为从设备分配的网络地址不存在冲突的问题。
参见图1,该图为本申请实施例提供的一种应用场景示意图。
在图1所示的网络拓扑B包括主设备100、从设备201和从设备202。其中,从设备201为图1所示的网络拓扑B已包括的从设备。从设备202为新加入图1所示的网络拓扑B的从设备。主设备100为图1所示的网络拓扑B中的从设备201分配网络地址a1,主设备100获取的地址列表中包括从设备201的网络地址a1。主设备100周期性广播第一报文,该第一报文包括地址列表。从设备201接收到第一报文后,可根据地址列表、自身存储的网络地址a1,确定无需再次从主设备获取网络地址,可不响应来自主设备100的第一报文。对于新加入图1所示的网络拓扑B的从设备202,其可以根据主设备100广播的地址列表获取未被图1所示的网络拓扑B中的从设备使用的网络地址,即第一网络地址。从设备202将该第一网络地址发送给主设备100。主设备100向从设备202发送第三报文,以确认将第一网络地址分配给从设备202,从而实现所分配的网络地址不存在地址冲突的问题。
参见图2,该图为本申请实施例提供的一种网络地址分配信令交互图。下面结合图1和图2,对本申请实施例提供的方法进行说明。
S201:主设备广播第一报文。
举例说明,主设备可以在其所属的网络拓扑中周期性地广播第一报文,该第一报文中包括地址列表,该地址列表中包括N个已分配的网络地址,其中,N为大于或等于1的整数。主设备通过周期性的广播第一报文,使得主设备所属的网络拓扑中的从设备获知已被分配的网络地址,以避免新加入网络拓扑的从设备所选择的网络地址与其所属的网络拓扑中包括的从设备的网络地址之间存在地址冲突。
举例说明,第一报文的格式遵循Modbus协议所规定的报文格式。Modbus协议中的报文可以包括地址域、功能码、数据和差错校验等字段。其中,地址域(field)用于寻址。当某一报文的地址域所携带的网络地址为0时,该报文为广播报文。当某一报文的地址域所携带的网络地址为非0值,比如为一具体的网络地址时,该报文为单播报文。该单播报文会被发送至地址域中的网络地址所对应的从设备。地址域也可称为地址字段。功能码用于指示所要执行的操作。功能码用十六进制进行表示。例如,功能码为0x06,表示写单个寄存器。功能码为0x10,表示写入多个保持寄存器。功能码为0x03,表示读取保持寄存器,其中,保持寄存器为能够进行读或写操作的寄存器。
在具体实现时,为使得主设备可以查询各个从设备所分配的网络地址,新增一个功能码,即地址查询功能码。其中,地址查询功能码对应的十六进制可以从当前所保留的十六进制中选择。例如,从当前所保留的十六进制0x16~0x40中选择一个十六进制作为地址查询功能码。具体地,主设备在查询从设备所分配的网络地址时,其广播的第四报文中功能码字段为地址查询功能码。从设备在接收到第四报文后,通过解析第四报文识别出地址查询功能码,将自身分配的网络地址发送给主设备。也就是,主设备可以通过广播带有查询功能码的第四报文来获取当前网络拓扑中各个从设备的网络地址。
举例说明,在主设备广播第一报文之前,主设备广播第四报文,该第四报文用于查询已分配的网络地址;主设备从N个从设备获取N个已分配的网络地址,N个从设备中的从设备与N个已分配的网络地址中的已分配的网络地址一一对应,比如N个从设备包括第一从设备和第二从设备,N个已分配的网络地址包括第一从设备被分配的网络地址和第二从设备被分配的网络地址;主设备根据N个已分配的网络地址获取地址列表,即主设备将获取的N个从设备分别对应的网络地址添加至地址列表中。
S202:从设备根据地址列表确定第一网络地址,该第一网络地址为根据地址列表确定的未被分配的地址。
举例说明,从设备根据第一报文中的地址列表确定出未被分配的网络地址,将其作为第一网络地址。本实施例中根据地址列表确定第一网络地址的从设备为新加入该网络拓扑的从设备。从设备可以根据预先设定的规则确定第一网络地址,例如,将未分配的网络地址中首个网络地址确定为第一网络地址;也可以利用第一随机数从未分配的网络地址中选择第一网络地址。本申请实施例中的地址列表还可包括多个未被分配的地址,从设备根据第一随机数和地址列表,选择与第一随机数匹配的网络地址作为第一网络地址,有助于降低和其它从设备发生地址冲突的概率。与第一随机数匹配的网络地址可以是由第一随机数确定被选择的网络地址在未分配的网络地址(地址列表中包括的未分配的网络地址)中的顺序。
S203:从设备向主设备发送第二报文,该第二报文包括第一网络地址。
举例说明,从设备根据第一网络地址生成第二报文,第二报文包括第一网络地址。从设备向主设备发送第二报文。
在图1所示的场景中,若网络拓扑B包括多个新加入的从设备,该多个新加入的从设备向主设备发送各自选择的网络地址。多个新加入的从设备包括从设备202,从设备202可利用第二随机数确定其选择的网络地址的发送时刻。从设备202根据所确定的发送时刻向主设备100发送其选择的网络地址,以提高主设备100的处理效率。
S204:主设备向从设备发送第三报文,该第三报文用于确认分配的第一网络地址。
举例说明,主设备确认可将第二报文的第一网络地址分配给从设备,则向从设备发送第三报文。第三报文的目的地址为第一网络地址。第三报文中还包括与第一网络地址匹配的标识。
举例说明,对于新加入网络拓扑的从设备获取第一网络地址的方法,可包括以下三种场景:
第一种场景,新加入网络拓扑的从设备未存储或被配置任何网络地址,该从设备加入图1所示的网络拓扑B后,则根据地址列表确定第一网络地址。
第二种场景,新加入网络拓扑的从设备经过初始化后被配置有初始化的网络地址,即第二网络地址。该从设备根据第一报文包括的地址列表判断第二网络地址是否被其它从设备采用。如果该第二网络地址未被其它从设备采用,则从设备将该第二网络地址作为第一网络地址。如果该第二网络地址已经被分配,则从设备根据地址列表确定第一网络地址。具体地,从设备在判断第二网络地址是否已分配时,可以判断第二网络地址是否存在于地址列表中,如果不存在,表明该第二网络地址未分配。如果该第二网络地址存在地址列表中,仅表明该第二网络地址已分配,那么该第二网络地址是已分配给该从设备,还是已分配给其它从设备,是无法确认的。
基于此,主设备可以为每个已分配的网络地址分别配置相应的标识,该网络地址对应的标识用于标识其对应的网络地址已被分配。具体地,主设备在获取地址列表时,主设备向N个从设备中的任一从设备发送与该任一从设备分配的网络地址对应的标识。对于地址列表中所包括的N个已分配的网络地址,该N个已分配的网络地址包括N个网络地址和N个标识,N个网络地址中的网络地址与N个标识中的标识一一对应,与N个网络地址中的一个网络地址对应的标识用于标识与其对应的网络地址被分配。其中,该标识可以为序列号、顺序码或其它可用来标识网络地址被分配的信息,本申请实施在此不做限定。例如主设备100获取从设备202所选择的网络地址a2,并为该网络地址a2分配对应的标识b2。主设备100将网络地址a2以及标识b2发送给从设备202,以便从设备202根据标识b2确认自身被分配了网络地址a2,并存储标识b2。
基于第二种场景,从设备根据地址列表确定第一网络地址可以为:当从设备接收到第一报文后,判断第二网络地址是否存在于地址列表中,如果该第二网络地址存在于地址列表中但该从设备未存储有与第二网络地址对应的标识,表明该第二网络地址已分配给当前网络拓扑中的其它从设备。该新增的从设备根据地址列表确定第一网络地址。具体地,从设备可以通过以下方式确定第一网络地址:一种是,从设备根据地址列表,获取未包含于N个已分配的网络地址中的第一网络地址,该N个已分配的网络地址不包括与第一网络地址对应的标识;另一种是,从设备根据第一随机数和地址列表,选择一个网络地址作为第一网络地址,该第一网络地址未包含于N个已分配的网络地址。如果该第二网络地址未存在于地址列表中,表明该第二网络地址未分配,则将其作为第一网络地址。
第三种场景,该新加入网络拓扑(图1所示的网络拓扑B)的从设备为从其它网络拓扑转入该网络拓扑的从设备。该新加入网络拓扑的从设备存储有从其它网络拓扑中获取的网络地址、与其网络地址对应的标识以及分配该网络地址的主设备(其它网络拓扑中的主设备)的标识。如果该新加入网络拓扑的从设备所存储的其它网络拓扑中获取的网络地址和与其网络地址对应的标识包含于地址列表的N个已分配的网络地址,则该新加入网络拓扑结构的从设备认为不存在地址冲突,而实际上并非为新加入的网络拓扑中的主设备为其分配的网络地址和与其网络地址对应的标识。例如,从设备202原部署于网络拓扑A中,其分配网络地址a1且该网络地址a1对应标识b1。此时,由于业务需求,将从设备202部署于网络拓扑B中,而网络拓扑B中的从设备201已被分配了网络地址a1和与该网络地址a1对应的标识b1。网络拓扑B中主设备100广播的地址列表中包括网络地址a1和标识b1。加入到网络拓扑B的从设备202根据地址列表、网络地址a1和标识b1,确定不选择新的网络地址,但从设备201和从设备202存在地址冲突。其中,网络拓扑A和网络拓扑B均为master/slave这种网络结构。网络拓扑A和网络拓扑B在物理上是分离。网络拓扑A对应的地址池和网络拓扑B对应的地址池可以完全相同或部分相同。也就是,网络拓扑A中主设备可分配的多个网络地址与网络拓扑B中主设备可以分配的多个网络地址之间存在相同的网络地址。
对于第三种场景,主设备在为从设备分配网络地址时,将自身的标识发送给从设备,以便从设备根据主设备的标识确定为其分配网络地址的主设备。当从设备确定其网络地址和与网络地址对应的标识包含于主设备广播的地址列表中,则从设备还可以进一步判断为其分配网络地址的主设备的标识与广播地址列表的主设备的标识是否相同,如果不相同,则确认存在地址冲突,从设备需要从通过广播接收的地址列表中选择第一网络地址。可选地,第一报文中还可以包括主设备的标识,该主设备的标识用于标识广播N个已分配的网络地址的主设备。从设备在接收到第一报文后,确定第一报文包括的地址列表包含存储的网络地址和与网络地址对应标识,进一步确定第一报文包括的主设备的标识与存储的主设备的标识是否相同。如果相同,则从设备不再选择新的网络地址。如果不相同,则从设备根据地址列表确定第一网络地址。其中,从设备根据地址列表确定第一网络地址的方法可参见前述从设备确定第一网络地址的方法,在此不再赘述。在第三种场景下,主设备向从设备发送的第三报文还包括主设备的标识,该主设备的标识用于标识分配第一网络地址的主设备。
图3为本申请实施例提供的另一种网络地址分配信令交互图。该交互过程中,地址列表包括N个已分配的网络地址,该N个已分配的网络地址包括N个网络地址和N个标识。该实施例是对上述第二场景中的主设备和从设备间的交互进行说明。
S301:主设备向从设备广播第一报文,其中,第一报文包括地址列表,该地址列表中包括N个已分配的网络地址。
具体可参见图2对应的实施例中的S201。
S302:从设备根据第一报文确定第二网络地址是否存在冲突,如果存在网络地址冲突,执行S303;否则,执行S304。
对于新加入网络拓扑的从设备,当接收到第一报文后判断自身当前所存储的第二网络地址是否存在地址列表中,如果该新增从设备的第二网络地址存在于地址列表中,但该地址列表不包括与该第二网络地址对应的标识,表明该第二网络地址已经被分配给其他从设备,则执行S303。如果该新增从设备的第二网络地址不存在于地址列表中,表明该第二网络地址未被分配,执行S304。
S303:从设备根据地址列表确定未被分配的网络地址为第一网络地址。
从设备根据地址列表确定第一网络地址的具体实现可以参见S202的实现,本实施例在此不再赘述。该步骤之后执行S305。
S304:从设备将第二网络地址确定为第一网络地址。
S305:从设备向主设备发送第二报文,其中,第二报文包括第一网络地址。
从设备发送第二报文的具体实现可参见S203的相应内容。
S306:主设备根据第二报文为第一网络地址分配对应的标识。
举例说明,主设备接收到从设备发送的第二报文后,为该第二报文中的第一网络地址分配对应标识。其中,与第一网络地址对应的标识可以为序列号、顺序码或者其它可以标识第一网络地址被分配的形式。
可选地,当主设备为第一网络地址分配对应的标识后,还可以将该第一网络地址和对应的标识记录在地址列表中。由于主设备可以周期性地广播第一报文,因此,当下一个广播周期到来时,主设备重新广播第一报文,该第一报文中所包括的地址列表中包括第一网络地址以及与第一网络地址对应的标识。
S307:主设备向从设备发送第三报文,其中,第三报文包括第一网络地址和与第一网络地址对应的标识。
主设备发送第三报文的实现方式可参见S204的相应内容。
S308:从设备根据第三报文,获取与第一网络地址对应的标识。
举例说明,从设备从第三报文中获取第一网络地址和与第一网络地址对应的标识,实现了避免地址冲突。可选地,从设备可保存第一网络地址和与第一网络地址对应的标识。
图4为本申请实施例提供的又一种网络地址分配信令交互图。该实施例中包括两个从设备,比如第一从设备和第二从设备,且两个从设备的地址存在地址冲突。该实施例是对上述第三种场景下从设备和主设备的交互进行说明。
S401:主设备广播第一报文,其中,第一报文包括地址列表和主设备标识,该地址列表中包括N个已分配的网络地址。
其中,主设备广播第一报文的具体实现可以参见图3对应的实施例中的S301。
S402:第一从设备根据第一报文确定第二网络地址存在冲突时,根据第一随机数和地址列表确定第一网络地址,并根据第二随机数确定第一发送时刻,之后执行S404。
对于新加入网络拓扑的第一从设备,当接收到第一报文后确定自身当前所存储的第二网络地址以及与第二网络地址对应的标识包含在地址列表中,且第一报文包括的主设备的标识与存储的主设备的标识不同,则表明第二网络地址已被分配给其它从设备,则根据第一随机数和地址列表确定出第一网络地址,并根据第二随机数确定发送第二报文的时刻。
举例说明,第一从设备可以产生两个随机数,即第一随机数和第二随机数。第一从设备首先根据地址列表确定未分配的网络地址,再利用第一随机数从未分配的网络地址中选择一个网络地址作为第一网络地址。第一从设备可以根据第二随机数以及延时函数确定第一时长,例如,将第二随机数作为延时函数的自变量获得第一时长,再根据第一时长以及当前时刻(第一从设备确定第一网络地址的时刻)获得第一发送时刻。
S403:第二从设备根据第一报文确定第四网络地址存在冲突时,根据第三随机数和地址列表确定第三网络地址,并根据第四随机数确定第二发送时刻,之后执行S408。
对于新加入网络拓扑的第二从设备,当接收到第一报文后确定自身当前所存储的第四网络地址以及与第四网络地址对应的标识包含在地址列表中,且第一报文包括的主设备的标识与存储的主设备的标识不同,则表明第四网络地址已被分配给其它从设备,则根据第三随机数和地址列表确定出第三网络地址,并根据第四随机数确定发送第五报文的第二发送时刻。
举例说明,第二从设备可以产生两个随机数,即第三随机和第四随机数。该第二从设备首先根据地址列表确定出尚未分配的网络地址,并利用第三随机数从未分配的网络地址中确定一个网络地址作为第三网络地址。第二从设备可以根据第四随机数以及延时函数确定第二时长,再根据第二时长以及当前时刻(第二从设备确定第三网络地址的时刻)获得第二发送时刻。
需要说明的是,在具体实现时,S402和S403的执行顺序不受上述限制,也可以先执行S403,再执行S402,或者,S402和S403同时执行。
其中,第一从设备和第二从设备利用各自生成的不同随机数从未分配的网络地址中确定各自所选择的网络地址,利用随机性原理来避免二者选择同一网络地址。第一从设备确定第一网络地址所利用的第一随机数与第二从设备确定第三网络地址所利用的第三随机数是不相同的。第一从设备确定第一发送时刻所利用的第二随机数和第二从设备确定第二发送时刻利用的第四随机数是不相同的。下面以第一发送时刻早于第二发送时刻为例进行说明。
S404:第一从设备根据第一发送时刻向主设备发送第二报文。
举例说明,第一从设备根据第一网络地址生成第二报文,该第二报文的源地址为第一网络地址。第一从设备在第一发送时刻向主设备发送第二报文。其中,第一从设备向主设备发送第二报文的具体实现可以参见S305的相应内容。
S405:主设备为第一网络地址分配第一标识。
举例说明,主设备可根据地址列表中N个已分配的网络地址,确认可将第一网络地址分配给第一从设备。主设备为第一网络地址分配对应的第一标识。其中,主设备为第一网络地址分配第一标识的具体实现可以参见上述方法实施例中S306的实现,本实施例在此不再赘述。
S406:主设备向第一从设备发送第三报文。
举例说明,主设备根据第一网络地址、第一标识和主设备的标识,生成第三报文,第三报文的目的地址是第一网络地址。主设备向从设备发送第三报文的方法可参见S307的相应内容。
S407:第一从设备从第三报文获取主设备的标识、第一网络地址以及第一标识,之后结束第一从设备获取网络地址的流程。
举例说明,第一从设备可存储从第三报文获取的主设备的标识、第一网络地址以及第一标识。
S408:第二从设备根据第二发送时刻向主设备发送第五报文。
举例说明,第二从设备根据第三网络地址生成第五报文,该第五报文的源地址为第三网络地址。第二从设备在第二发送时刻,向主设备发送第五报文。,其中,第二从设备向主设备发送第五报文的具体实现可以参见S305中发送第二报文的具体实现。
S409:主设备为第三网络地址分配对应的第二标识。
举例说明,主设备根据地址列表和第三网络地址,确认可将第三网络地址分配给第二从设备。主设备为第三网络地址分配对应的第二标识。其中,主设备为第三网络地址分配第二标识的具体实现可以参见上述方法实施例中S306的实现,本实施例在此不再赘述。
S410:主设备向第二从设备发送第六报文。
举例说明,主设备根据第三网络地址、第二标识以及主设备的标识,生成第六报文。第六报文的目的地址为第三网络地址。主设备向第二从设备发送第六报文的方式可参见上述S307中主设备向从设备发送第三报文的方式。
S411:第二从设备从第六报文获取主设备的标识、第三网络地址以及第二标识。
举例说明,第二从设备可存储从第六报文获取的主设备的标识、第三网络地址和第二标识。
即,当存在多个从设备需要进行网络地址分配时,各个从设备可以利用各自对应的不同随机数选择网络地址,从而避免各个从设备所选择的网络地址冲突。同时,为减轻主设备的负载,各个从设备可以利用各自对应的不同随机数确定发送报文的时刻,以便主设备可以分开处理。
该实施例中主设备通过广播第四报文来获取地址列表中N个已分配的网络地址的方法可参见图2对应的实施例中的相应内容,在此不再赘述。
本申请实施例提供的技术方案可以应用于各种涉及网络地址分配的应用场景,例如智慧灯杆场景等。下面将以智慧灯杆为例进行说明。
参见图5所示智慧灯杆应用场景示意图,智慧灯杆的网关不仅连接本灯杆环境传感器,还可以通过RS485连接方式接入其他传感器,例如水污检测传感器、水位检测传感器、井盖检测传感器等。其中,RS485连接方式是指采用一条总线将各个设备串接起来。目前传感器采用预置写入方式来避免地址冲突,然而当灯杆增加新传感器时,需为该新增的传感器配置网络地址,以便进行通信。此时,需要查询当前已存在的各个传感器已分配的网络地址,如果由于各种原因导致没有记录已存在传感器所分配的网络地址,必须去现场才能查询;或者现场配置条件不具备等原因无法为新增的传感器配置网络地址。通过本申请实施例提供的方法,灯杆可以通过网关配置主设备,将其接入的各种传感器或射频终端作为从设备,主设备统一管理各个从设备的网络地址分配。对于新加入网络拓扑的设备,例如传感器、射频终端等,主设备可以利用本申请实施例提供的网络地址分配方法为其分配网络地址,不仅实现网络地址的灵活配置,还能够避免地址冲突。
本申请上述实施例中提及的任一网络地址为modbus的地址。
基于以上实施例提供的网络地址分配方法,本申请实施例还提供了对应的装置,下面将结合附图进行说明。
参见图6,该图为本身实施例提供的一种网络地址分配装置结构示意图。如图6所示,该装置应用于主设备,该装置600可以包括:广播单元601、第一接收单元602和第一发送单元603。其中,广播单元601用于执行上述方法实施例中的S201,第一接收单元602用于接收S203中从设备所发送的第二报文,第一发送单元603用于执行上述方法实施例中的S204。
具体地,广播单元601,用于所述主设备广播第一报文,所述第一报文包括地址列表,所述地址列表包括N个已分配的网络地址,所述N为大于或等于1的整数;
第一接收单元602,用于接收所述从设备发送的第二报文,所述第二报文包括第一网络地址,所述第一网络地址为根据所述地址列表确定的未被分配的地址;
第一发送单元603,用于向所述从设备发送第三报文,所述第三报文用于确认分配所述第一网络地址。
在一种可能的实现方式中,该装置还包括:确认单元604和分配单元605。确认单元604,用于根据第二报文中的第一网络地址以及地址列表,确认第一网络地址为未分配的网络地址,以将第一网络地址分配给从设备;分配单元605,用于为第一网络地址分配对应的标识。
在一种可能的实现方式中,该装置还可以包括:记录单元(未在图6中示出)。该记录单元与分配单元605连接,用于将第一网络地址和分配单元605为第一网络地址所分配的标识记录在地址列表中。
在一种可能的实现方式中,该装置还可以包括生成单元(图6中未示出)。生成单元可根据确认单元604所确认的第一网络地址和分配单元605所分配的与第一网络地址对应的标识,生成第三报文。
在一种可能的实现方式中,所述第三报文包括所述第一网络地址和与所述第一网络地址对应的标识,所述与所述第一网络地址对应的标识用于标识所述第一网络地址被分配。
在一种可能的实现方式中,所述N个已分配的网络地址包括N个网络地址和N个标识,所述N个网络地址中的一个网络地址与所述N个标识中的一个标识对应,与所述N个网络地址中的一个网络地址对应的标识用于标识与其对应的网络地址被分配。
在一种可能的实现方式中,所述第一报文还包括所述主设备的标识,所述主设备的标识用于标识广播所述N个已分配的网络地址的主设备。
在一种可能的实现方式中,所述第三报文还包括所述主设备的标识,所述主设备的标识用于标识分配所述第一网络地址的主设备。
在一种可能的实现方式中,所述装置还包括:
所述广播单元,还用于在广播所述第一报文之前,广播第四报文,所述第四报文用于查询已分配的网络地址;
第一获取单元,用于从N个从设备获取所述N个已分配的网络地址;
第二获取单元,用于根据所述N个已分配的网络地址获取所述地址列表。
在一种可能的实现方式中,所述装置还包括:
第二发送单元,用于向所述N个从设备中的任一从设备发送与所述任一从设备分配的网络地址对应的标识。
本实施例中,各个单元的实现可以参见上述方法实施例中主设备的具体实现过程,此处不再赘述。
参见图7,该图为本申请实施例提供的另一种网络地址分配装置结构示意图。该装置应用于从设备,具体,该分配装置700可以包括:第二接收单元701、确认单元702、第三发送单元703和第三接收单元704。其中,第二接收单元701用于接收S201中主设备所广播的第一报文,确定单元702用于执行上述方法实施例中S202,第三发送单元用于执行上述方法实施例中S203,第三接收单元用于接收上述方法实施例中S204主设备所发送的第三报文。
第二接收单元701,用于接收广播的第一报文,所述第一报文包括地址列表,所述地址列表包括N个已分配的网络地址,所述N为大于或等于1的整数;
确定单元702,用于根据所述地址列表确定第一网络地址,所述第一网络地址为根据所述地址列表确定的未被分配的地址;
第三发送单元703,用于向所述主设备发送第二报文,所述第二报文包括所述第一网络地址;
第三接收单元704,用于接收所述主设备发送的第三报文,所述第三报文用于确认分配所述第一网络地址。
在一种可能的实现方式中,所述第三报文包括所述第一网络地址和与所述第一网络地址对应的标识,所述与所述第一网络地址对应的标识用于标识所述第一网络地址被分配。
在一种可能的实现方式中,该装置还可以包括存储单元705。该存储单元705,用于存储第三报文中的第一网络地址以及与第一网络地址对应的标识。
在一种可能的实现方式中,所述N个已分配的网络地址包括N个网络地址和N个标识,所述N个网络地址中的一个网络地址与所述N个标识中的一个标识对应,与所述N个网络地址中的一个网络地址对应的标识用于标识与其对应的网络地址被分配。
在一种可能的实现方式中,所述确定单元,具体用于当所述从设备所存储的网络地址包含于所述地址列表且未存储有与所述网络地址对应的标识时,所述从设备根据所述地址列表,获取未包含于所述N个已分配的网络地址中的第一网络地址,所述N个已分配的网络地址不包括与所述第一网络地址对应的标识;或者
所述第一报文还包括所述主设备的标识,当所述从设备所存储的网络地址以及与所述网络地址对应的标识包含于所述地址列表且所述网络地址对应的主设备的标识与所述第一报文中的主设备的标识不同时,所述从设备根据第一随机数和所述地址列表,选择一个网络地址作为第一网络地址,所述第一网络地址未包含于所述N个已分配的网络地址。
在一种可能的实现方式中,所述确定单元,具体用于当所述从设备所存储的网络地址包含于所述地址列表且未存储有与所述网络地址对应的标识时,所述从设备根据第一随机数和所述地址列表,选择一个网络地址作为第一网络地址,所述第一网络地址未包含于所述N个已分配的网络地址;或者
所述第一报文还包括所述主设备的标识,当所述从设备所存储的网络地址以及与所述网络地址对应的标识包含于所述地址列表中且所述网络地址对应的主设备的标识与所述第一报文中的主设备的标识不同时,所述从设备根据第一随机数和所述地址列表,选择一个网络地址作为第一网络地址,所述第一网络地址未包含于所述N个已分配的网络地址。
具体地,确定单元可以执行上述方法实施例中的S303或S402。
在一种可能的实现方式中,所述第三发送单元,包括:
确定子单元,用于根据第二随机数确定发送时刻;
发送子单元,用于根据所述发送时刻,向所述主设备发送所述第二报文。
具体地,第三发送单元可以执行上述方法实例中S402和S404。
本实施例中,各个单元的实现可以参见上述方法实施例中从设备的具体实现过程,此处不再赘述。
前述提及的装置600和装置700,其硬件结构可以为如图8所示的结构,图8为本申请实施例提供的一种设备的结构示意图。
请参阅图8所示,设备800包括:处理器810、通信接口820和和存储器830。其中设备800中的处理器810的数量可以一个或多个,图8中以一个处理器为例。本申请实施例中,处理器810、通信接口820和存储器830可通过总线***或其它方式连接,其中,图8中以通过总线***840连接为例。
处理器810可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。处理器810还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器830可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(random-access memory,RAM);存储器830也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器830还可以包括上述种类的存储器的组合。
可选地,存储器830存储有操作***和程序、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,程序可包括各种操作指令,用于实现各种操作。操作***可包括各种***程序,用于实现各种基础业务以及处理基于硬件的任务。处理器810可以读取存储器830中的程序,实现本申请实施例提供的网络地址分配方法。
总线***840可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线***840可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例还提供了一种计算机可读存储介质,包括指令或计算机程序,当其在计算机上运行时,使得计算机执行以上实施例提供的用于网络地址分配的方法。
本申请实施例还提供了一种包含指令或计算机程序的计算机程序产品,当其在计算机上运行时,使得计算机执行以上实施例提供的用于网络地址分配的方法。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑业务划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各业务单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件业务单元的形式实现。
集成的单元如果以软件业务单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的业务可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些业务存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已。
以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (26)

1.一种网络地址分配方法,其特征在于,包括:
所述主设备广播第一报文,所述第一报文包括地址列表,所述地址列表包括N个已分配的网络地址,所述N为大于或等于1的整数;
所述主设备接收从设备发送的第二报文,所述第二报文包括第一网络地址,所述第一网络地址为根据所述地址列表确定的未被分配的地址;
所述主设备向所述从设备发送第三报文,所述第三报文用于确认分配所述第一网络地址。
2.根据权利要求1所述的方法,其特征在于,所述第三报文包括所述第一网络地址和与所述第一网络地址对应的标识,所述与所述第一网络地址对应的标识用于标识所述第一网络地址被分配。
3.根据权利要求1或2所述的方法,其特征在于,所述N个已分配的网络地址包括N个网络地址和N个标识,所述N个网络地址中的网络地址与所述N个标识中的标识一一对应,与所述N个网络地址中的网络地址对应的标识用于标识与其对应的网络地址被分配。
4.根据权利要求1至3任一所述的方法,其特征在于,所述第一报文还包括所述主设备的标识,所述主设备的标识用于标识广播所述N个已分配的网络地址的主设备。
5.根据权利要求1至4任一所述的方法,其特征在于,所述第三报文还包括所述主设备的标识,所述主设备的标识用于标识分配所述第一网络地址的主设备。
6.根据权利要求1至5任一所述的方法,其特征在于,所述主设备广播第一报文之前,所述方法还包括:
所述主设备广播第四报文,所述第四报文用于查询已分配的网络地址;
所述主设备从N个从设备获取所述N个已分配的网络地址,所述N个从设备中的从设备与N个已分配的网络地址中的已分配的网络地址一一对应;
所述主设备根据所述N个已分配的网络地址获取所述地址列表。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述主设备向所述N个从设备中的任一从设备发送与所述任一从设备分配的网络地址对应的标识。
8.一种网络地址分配方法,其特征在于,包括:
从设备接收广播的第一报文,所述第一报文包括地址列表,所述地址列表包括N个已分配的网络地址,所述N为大于或等于1的整数;
所述从设备根据所述地址列表确定第一网络地址,所述第一网络地址为根据所述地址列表确定的未被分配的地址;
所述从设备向所述主设备发送第二报文,所述第二报文包括所述第一网络地址;
所述从设备接收所述主设备发送的第三报文,所述第三报文用于确认分配所述第一网络地址。
9.根据权利要求8所述的方法,其特征在于,所述第三报文包括所述第一网络地址和与所述第一网络地址对应的标识,所述与所述第一网络地址对应的标识用于标识所述第一网络地址被分配。
10.根据权利要求8或9所述的方法,其特征在于,所述N个已分配的网络地址包括N个网络地址和N个标识,所述N个网络地址中的一个网络地址与所述N个标识中的一个标识对应,与所述N个网络地址中的一个网络地址对应的标识用于标识与其对应的网络地址被分配。
11.根据权利要求8至10任一所述的方法,其特征在于,所述从设备根据所述地址列表确定第一网络地址包括:
所述从设备根据所述地址列表,获取未包含于所述N个已分配的网络地址中的第一网络地址,所述N个已分配的网络地址不包括与所述第一网络地址对应的标识;或者
所述第一报文还包括所述主设备的标识,当所述从设备确定所述N个已分配的网络地址包括所述从设备的第二网络地址和与所述第二网络地址对应的标识,且所述主设备的标识与所述第二网络地址对应的主设备的标识不同时,所述从设备根据所述地址列表,获取未包含于所述N个已分配的网络地址中的第一网络地址。
12.根据权利要求8至10任一所述的方法,其特征在于,所述从设备根据所述地址列表确定第一网络地址包括:
所述从设备根据第一随机数和所述地址列表,选择一个网络地址作为第一网络地址,所述第一网络地址未包含于所述N个已分配的网络地址;或者
所述第一报文还包括所述主设备的标识,当所述从设备确定所述N个已分配的网络地址包括所述从设备的第二网络地址和与所述第二网络地址对应的标识,且所述主设备的标识与所述第二网络地址对应的主设备的标识不同时,所述从设备根据第一随机数和所述地址列表,选择一个网络地址作为第一网络地址,所述第一网络地址未包含于所述N个已分配的网络地址。
13.根据权利要求8至12任一所述的方法,其特征在于,所述从设备向所述主设备发送第二报文包括:
所述从设备根据第二随机数确定发送时刻;
所述从设备根据所述发送时刻,向所述主设备发送所述第二报文。
14.一种网络地址分配装置,其特征在于,所述装置设于主设备,包括:
广播单元,用于广播第一报文,所述第一报文包括地址列表,所述地址列表包括N个已分配的网络地址,所述N为大于或等于1的整数;
第一接收单元,用于接收从设备发送的第二报文,所述第二报文包括第一网络地址,所述第一网络地址为根据所述地址列表确定的未被分配的地址;
第一发送单元,用于向所述从设备发送第三报文,所述第三报文用于确认分配所述第一网络地址。
15.根据权利要求14所述的装置,其特征在于,所述第三报文包括所述第一网络地址和与所述第一网络地址对应的标识,所述与所述第一网络地址对应的标识用于标识所述第一网络地址被分配。
16.根据权利要求14或15所述的装置,其特征在于,所述N个已分配的网络地址包括N个网络地址和N个标识,所述N个网络地址中的网络地址与所述N个标识中的标识一一对应,与所述N个网络地址中的一个网络地址对应的标识用于标识与其对应的网络地址被分配。
17.根据权利要求14至16任一所述的装置,其特征在于,所述第一报文还包括所述主设备的标识,所述主设备的标识用于标识广播所述N个已分配的网络地址的主设备。
18.根据权利要求14至17任一所述的装置,其特征在于,所述第三报文还包括所述主设备的标识,所述主设备的标识用于标识分配所述第一网络地址的主设备。
19.根据权利要求14至18任一所述的装置,其特征在于,所述装置还包括:
所述广播单元,还用于在广播所述第一报文之前,广播第四报文,所述第四报文用于查询已分配的网络地址;
第一获取单元,用于从N个从设备获取所述N个已分配的网络地址,所述N个从设备中的从设备与N个已分配的网络地址中的已分配的网络地址一一对应;
第二获取单元,用于根据所述N个已分配的网络地址获取所述地址列表。
20.根据权利要求19所述的装置,其特征在于,所述装置还包括:
第二发送单元,用于向所述N个从设备中的任一从设备发送与所述任一从设备分配的网络地址对应的标识。
21.一种网络地址分配装置,其特征在于,所述装置设于从设备,包括:
第二接收单元,用于接收广播的第一报文,所述第一报文包括地址列表,所述地址列表包括N个已分配的网络地址,所述N为大于或等于1的整数;
确定单元,用于根据所述地址列表确定第一网络地址,所述第一网络地址为根据所述地址列表确定的未被分配的地址;
第三发送单元,用于向所述主设备发送第二报文,所述第二报文包括所述第一网络地址;
第三接收单元,用于接收所述主设备发送的第三报文,所述第三报文用于确认分配所述第一网络地址。
22.根据权利要求21所述的装置,其特征在于,所述第三报文包括所述第一网络地址和与所述第一网络地址对应的标识,所述与所述第一网络地址对应的标识用于标识所述第一网络地址被分配。
23.根据权利要218或22所述的装置,其特征在于,所述N个已分配的网络地址包括N个网络地址和N个标识,所述N个网络地址中的一个网络地址与所述N个标识中的一个标识对应,与所述N个网络地址中的一个网络地址对应的标识用于标识与其对应的网络地址被分配。
24.根据权利要求21至23任一所述的装置,其特征在于,所述确定单元具体用于根据所述地址列表,获取未包含于所述N个已分配的网络地址中的第一网络地址,所述N个已分配的网络地址不包括与所述第一网络地址对应的标识;或者
所述第一报文还包括所述主设备的标识,所述确定单元具体用于当确定所述N个已分配的网络地址包括所述从设备的第二网络地址和与所述第二网络地址对应的标识,且所述主设备的标识与所述第二网络地址对应的主设备的标识不同时,根据第一随机数和所述地址列表,选择一个网络地址作为第一网络地址,所述第一网络地址未包含于所述N个已分配的网络地址。
25.根据权利要求21至23任一所述的装置,其特征在于,所述确定单元具体用于根据第一随机数和所述地址列表,选择一个网络地址作为第一网络地址,所述第一网络地址未包含于所述N个已分配的网络地址;或者
所述第一报文还包括所述主设备的标识,所述确定单元具体用于当确定所述N个已分配的网络地址包括所述从设备的第二网络地址和与所述第二网络地址对应的标识,且所述主设备的标识与所述第二网络地址对应的主设备的标识不同时,根据第一随机数和所述地址列表,选择一个网络地址作为第一网络地址,所述第一网络地址未包含于所述N个已分配的网络地址。
26.根据权利要求21至25任一所述的装置,其特征在于,所述第三发送单元,包括:
确定子单元,用于根据第二随机数确定发送时刻;
发送子单元,用于根据所述发送时刻,向所述主设备发送所述第二报文。
CN202010176511.4A 2020-03-13 2020-03-13 一种网络地址分配方法及装置 Pending CN113395366A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010176511.4A CN113395366A (zh) 2020-03-13 2020-03-13 一种网络地址分配方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010176511.4A CN113395366A (zh) 2020-03-13 2020-03-13 一种网络地址分配方法及装置

Publications (1)

Publication Number Publication Date
CN113395366A true CN113395366A (zh) 2021-09-14

Family

ID=77616118

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010176511.4A Pending CN113395366A (zh) 2020-03-13 2020-03-13 一种网络地址分配方法及装置

Country Status (1)

Country Link
CN (1) CN113395366A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114866516A (zh) * 2022-04-21 2022-08-05 重庆瑞盾科技发展有限公司 多智能设备地址设置方法及多智能设备通信***

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114866516A (zh) * 2022-04-21 2022-08-05 重庆瑞盾科技发展有限公司 多智能设备地址设置方法及多智能设备通信***

Similar Documents

Publication Publication Date Title
CN106603735B (zh) 一种分配智能仪表通信地址的方法、装置和***
EP1864227B1 (en) Simple installation of devices on a network
TW201933853A (zh) 使用者終端和設備的綁定方法、裝置和系統
CN106357838B (zh) 一种ip地址的分配方法和装置
EP2611077A1 (en) Controlling HDMI Devices Via Intelligent Emulation of Consumer Electronics Control (CEC) Protocol
EP3422655B1 (en) Method for managing address of meter device, and acquisition terminal and meter device
KR20210071008A (ko) 모바일 장치 및 방법
CN110708400B (zh) 网络地址分配方法、装置、节点设备及存储介质
US20120008627A1 (en) Method and apparatus for assigning device identifier with collision avoidance
CN113395366A (zh) 一种网络地址分配方法及装置
CN102025797A (zh) 地址前缀处理方法、装置、***及网络设备
RU2010111754A (ru) Сетевая система
US9661597B2 (en) Method and device for deregistering terminal peripheral
CN106413125B (zh) 数据传输方法及装置
CN108134858B (zh) 组网方法、服务器、客户机和网络***
US7583690B2 (en) Allocation of station addresses to communication users in a bus system
CN112243042B (zh) 分配方法、安全通信方法、检测装置、网关模块及***
CN110611589B (zh) 区域控制***的控制方法及装置、空调***
CN117201460A (zh) 一种地址的分配方法、装置、电子设备及介质
CN114866111B (zh) 一种地址绑定方法、***、主控节点和设备节点
KR20190135052A (ko) Ip 주소 설정 방법 및 장치
CN110233909B (zh) 一种无线网关及网络设备的地址码分配方法及装置
EP3179376A1 (en) Communication terminal device and transmission/reception method therefor, and recording medium containing computer program
CN111064599B (zh) 一种监控插件迁移的方法及***
CN114205236A (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