CN1326367C - 路由选择装置及其启动方法 - Google Patents

路由选择装置及其启动方法 Download PDF

Info

Publication number
CN1326367C
CN1326367C CNB038022427A CN03802242A CN1326367C CN 1326367 C CN1326367 C CN 1326367C CN B038022427 A CNB038022427 A CN B038022427A CN 03802242 A CN03802242 A CN 03802242A CN 1326367 C CN1326367 C CN 1326367C
Authority
CN
China
Prior art keywords
router
subnet
net
data
message
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.)
Expired - Fee Related
Application number
CNB038022427A
Other languages
English (en)
Other versions
CN1615610A (zh
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.)
InterDigital Patent Holdings Inc
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN1615610A publication Critical patent/CN1615610A/zh
Application granted granted Critical
Publication of CN1326367C publication Critical patent/CN1326367C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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]
    • 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/2803Home automation networks
    • H04L12/283Processing of data at an internetworking point of a home automation network
    • H04L12/2834Switching of information between an external network and a home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • 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/2803Home automation networks
    • 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/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/4616LAN interconnection over a LAN backbone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing

Abstract

一个路由选择装置连接多个其上连接了包括一个父路由器在内的多个其它路由选择装置的网络。父路由器管理网络标识数据以识别多个网络。每个对应其它路由选择装置分别包括主路由器数据。每个主路由器数据包括识别对应的其它路由选择装置是一个位于到父路由器的路径上的“主路由器”还是除主路由器之外的路由选择装置的“从属路由器”的主路由器标识数据,和识别对应的其它路由选择装置连接到的网络的网络标识数据。当一个路由选择装置启动时,从路由选择装置连接到的网络上的其它路由选择装置获得主路由器数据。根据获得的主路由器数据确定一个路由选择装置的路由器功能是否被允许。

Description

路由选择装置及其启动方法
技术领域
本发明涉及一种用于将多个物理离散网络连接成一个单一系统的路由选择装置。
背景技术
最近提出了将多个电子装置连接到一个网络上的各种不同的家庭网络。连接到这些家庭网络的装置一般是需要高可靠性操作的低价家用器具。连接到这种家庭网络的装置使得能够将网络应用到包括安全系统和遥控系统在内的各种不同应用系统。
图1是一种典型的家庭网络的示意图。如图1中所示,电冰箱1、洗衣机2、空调器3、电视机4、控制器11、等等,连接到电力线通信网15。微波炉5、浴缸(热水器)6、煤气灶7、等等,连接到一个无线通信网16。睡眠传感器8、入口传感器9、电话10、等等,连到一个专用线14。电力线通信网15和专用线14连接到一个路由器12,而电力线通信网15和无线通信网16连接到路由器13。这些网络连接完成了室内网络。
同样可以连接到这个网络的其它装置包括照明设备和其它家用器具。除了电力线之外,也可以使用红外线和其它传输介质,或用它们取代电力线、无线传输、和专用线。也可以使用多个专用服务的控制器来代替图1中所示的单一控制器。
图2是显示连接到这个家庭网络的装置的总体布置的系统图。如图2中所示,子网A 21通过路由器31连接到子网B 22,并且通过路由器32连接到子网C 23。网络装置21a至23d连接到子网21至23。路由器31和32可以是任何具有路由器功能的装置。已经提出了各种有效运行和使用这些网络的标准和概念。这些标准和概念包括,例如,日本电子工业协会(EIAJ)和ECHONET协会提出的ET-2010和ECHONET规范1.00版。
例如,假设图2中所示的路由器31正在操作,并且网络装置21a具有一个指定“Net ID”作为子网标识符的路由器(以下称为“父路由器”)的功能。如果后来将一个新路由器32加入到系统中,那么路由器32必须首先作为子网21和子网23可以分别识别的网络装置21c和23d启动,并且必须随后查询子网21和子网23,以确定对应的子网上是否已经存在一个路由器。如果在每个子网上发现一个路由器,那么路由器32作为两个子网的网络装置启动,而不启动其作为路由器的功能。
如果在多个子网(21和23)中的至少一个子网(21)上具有一个路由器(31),而这些子网中的至少一个子网(23)上没有路由器,那么路由器32查询被检测到的路由器,以获得有关父路由器(即,本例中的网络装置21a)的数据。然后,路由器32请求父路由器(网络装置21a)以获得路由器32发挥功能所需的信息(即,路由器标识符和添加到系统的新的子网的Net ID),并且根据从父路由器(子网装置21a)获得的这个路由器信息,将Net ID传送到分配了一个新Net ID的子网23上所有网络装置23a至23c。
作为子网标识符唯一分配的Net ID和作为唯一地标识一个特定子网上每个装置的标识符分配的节点ID号使得能够在经过路由器链接多个子网形成的整个系统内唯一地定址每个装置。
当路由器以前面使用的相同顺序启动时,常规网络方法和路由器适当地发挥功能。但是,可能回发生下述问题,例如,如果路由器已经将NetID分配给了子网(即,将相同的Net ID分配给了连接到一个特定子网的所有网络装置),那么子网上所有网络装置使用分配的Net ID与域中的其它装置交换数据,并且例如由于停电而使电源突然关闭,发生整个系统范围的重置。
如果在一个具有三个或更多子网的系统中以路由器启动的顺序分配子网标识符(即,Net ID),那么当系统根据路由器的启动顺序重置时,可以分配一个与重置之前分配的子网标识符不同的子网标识符(Net ID)。例如,如果在图2所示的网络构造中,路由器21首先启动,并因此分配了一个标识子网B的Net ID,然后路由器32启动并且被分配了一个标识子网C的Net ID,当由于电源故障,系统重新启动,并且路由器32首先启动,然后路由器31重新启动时,将把路由器32设置为子网B,并且将路由器31设置为子网C。也就是说,当由于停电而使系统重置时,分配给路由器的Net ID可能改变。
此外,如果系统中仅有一个路由器重置或被更换,并且被重置或更换的路由器所属的任何子网上有另一个路由器,那么被重置或更换的路由器将简单地作为子网上的一个不是路由器的网络装置启动,并且它的路由器功能将不重新启动。
当家庭网络上发生短期停电时,这可能导致整个系统重新启动所需的额外时间,用户可能被停电前和停电后不同的装置标识符搞糊涂,从而需要受过训练的技术人员的服务呼叫。
更换路由器也不是一项简单的任务。例如,用户(即,通常是房主)必须通过将一个显示器连接到路由器以显示信息,获得在更换路由器之前的路由器连接形成的子网的子网信息,然后,必须通过,例如,设置开关对更换的路由器重置相同的信息。需要人来干预以进行这些设置导致了可能防止系统正常发挥功能的设置错误的可能性。
与根据上述现有技术的路由器和路由器启动过程有关的一个问题是,当被更换或重置的路由器所属的任何子网上有另一个路由器,并且已经将Net ID分配给了那些子网的时候,被更换或重置的路由器不发挥路由器的功能,而是简单地发挥另一个网络装置的功能。因此,不能与应当通过被更换或重置的路由器连接的子网通信。
与根据上述现有技术的路由器和路由器启动过程有关的另一个问题是,尽管当目标路由器连接到的一个或更多的子网上有另一个路由器,但是不同的一个或更多的子网上没有路由器时,被更换或重置的路由器(此后称为“目标路由器”)将发挥路由器的功能,但是,父路由器给没有路由器的子网分配一个新的Net ID。因此,在路由器被更换或重置之前和之后,Net ID可能是不同的,并且父路由器、子网路由器、和网络装置使用不同的Net ID以唯一地标识网络系统内子网上的每个网络装置。结果,在路由器被更换或重置之前与更换或重置了路由器的子网上的网络装置通信的、另一个子网上的网络装置不能识别出改变了的网络装置标识信息(Net ID),并且由于不能在网络上发现定址的网络装置,因而当试图进行下一次通信时,产生错误。
与根据上述现有技术的路由器和路由器启动过程有关的再一个问题是,如果由于在被更换或重置的目标路由器连接到的一个或更多的子网上有另一个路由器、并且另一个或更多的子网上没有路由器,或由于即使有一个可以操作以作为路由器启动的路由器、父路由器经过数个子网与目标路由器分隔,但是在目标路由器与父路由器之间的某处存在一个不正常工作的路由器,从而不能与父路由器通信,那么目标路由器不能启动它的路由器功能,而只能作为另一个非路由器网络装置启动。以前通过目标路由器连接的子网上的网络装置之间的通信也被禁止,直到整个网络重置。
发明内容
本发明致力于解决这些问题,本发明的目的是要提供一种能够在整个系统重置或更换或独立地重置一个特定路由器时,自动地保持以前的设置,而无需中断部分或整个系统的操作的路由选择装置和这种路由选择装置的启动方法。
根据本发明,一个新连接到子网或重新启动的路由器从路由器连接到的子网上的其它路由器或不是路由器的网络装置获得标识数据,以便唯一地识别网络上的路由器。这使得在更换或重新启动路由器时,路由器能够通过以前的子网标识数据启动。
根据本发明的方法是一种与多个网络相连的第一路由装置的启动方法,所述多个网络与多个第二路由装置相连,其特征在于:每个路由装置存储主路由器数据和网络标识数据,所述主路由器数据向父路由器指示所述路由装置是位于路径上的主路由器,还是除主路由器之外作为路由装置的从路由器,所述父路由器分配用于标识网络的网络标识数据,所述网络标识数据标识路由装置所连接的网络,所述第一路由装置从所述第二路由装置请求所述第一路由装置相连的网络上的主路由器数据,当响应所述第一路由装置的请求,根据所获取的从所述第二路由装置发送的主路由器数据,确定在所述第一路由装置相连的网络上检测到的主路由器的数量是0,或2,或更大时,禁止所述第一路由装置的路由器功能。
当获得的主路由器数据中所有主路由器标识数据都指示从属路由器时,可以禁止路由器功能。
当获得具有指示主路由器的主路由器标识数据的两个或更多的主路由器数据时,可以禁止路由器功能。
当获得一个具有指示主路由器的主路由器标识数据的主路由器数据时,可以带有允许的路由器功能地启动路由选择装置。
当连接到网络的通信装置具有识别该装置连接到的网络的标识数据时,可以从连接到具有指示从属路由器的主路由器标识数据的其它路由选择装置连接到的网络的通信装置获得标识数据。当存在至少一个没有被提供网络标识数据的网络时,可以启动路由选择装置。在这种情况下,可以从具有指示主路由器的主路由器标识数据的其它路由选择装置获得有关父路由器的数据,并且路由选择装置可以向父路由器请求注册。
本发明还提供一种连接多个网络的第一路由装置,所述多个网络上连接了多个第二路由装置,其特征在于:
每个路由装置存储主路由器数据和网络标识数据,所述主路由器数据向父路由器指示所述路由装置是位于路径上的主路由器,还是除主路由器之外作为路由装置的从路由器,所述父路由器分配用于标识网络的网络标识数据,所述网络标识数据标识所述路由装置所连接的网络,和所述第一路由装置包括:用于从所述第二路由装置请求所述第一路由装置相连的网络上的主路由器数据的部分,和当响应所述第一路由装置的请求,根据所获取的从所述第二路由装置发送的主路由器数据,确定在所述第一路由装置相连的网络上检测到的主路由器的数量是0,或2,或更大时,禁止所述第一路由装置的路由器功能的部分。
附图说明
图1是配置了本发明的一个家庭网络的示意图;
图2示出了配置了本发明的家庭网络的构造;
图3是表示根据本发明的路由器的构造的方框图;
图4示出了根据本发明的路由器的路由器数据的数据结构;
图5示出了根据本发明的路由器的父路由器数据的数据结构;
图6A示出了唯一地标识根据本发明的路由器的网络地址,图6B示出了根据本发明的路由器用于通信的消息的典型构造;
图7示出了通过根据本发明的路由器连接的网络的构造;
图8示出了普通路由器的冷启动的启动顺序;
图9示出了普通路由器的热启动的启动顺序;
图10示出了连接到子网的网络装置的构造;
图11A和11B是表示当根据本发明的路由器启动时的设置过程的流程图;
图12是表示当根据本发明的路由器启动时的另一个设置过程的流程图;
图13示出了根据本发明的路由器的路由器数据的一个可选构造;
图14和15是表示当根据本发明的路由器启动时的设置过程的流程图;
图16A至16C是详细地显示图14的流程图中的选择的步骤的流程图;
图17示出了普通网络装置的冷启动的启动顺序;
图18示出了(当对于Net ID读出请求具有响应时)普通网络装置的热启动的启动顺序;和
图19示出了(当对于Net ID读出请求没有响应时)普通网络装置的热启动的启动顺序。
实施实施方式
以下参考附图说明根据本发明的路由选择装置的优选实施例。下述的路由选择装置(下面简称为“路由器”)是一个具有互联如图1所示例子的方式将多个电装置连接在一起的家庭网络中的子网的功能的通信装置。
术语的定义
下面应用的专用术语如下定义和使用。
“目标路由器(target router)”:作为连接到一个新的网络或从(例如)停电恢复的处理过程的结果而为其设置了一个新的子网标识信息的路由器。
“父路由器(parent router)”:具有分配作为子网标识符的Net ID的功能的路由器。
“普通路由器(general router)”:除父路由器外的任何路由器;
“主路由器(master router)”:当一个子网上有多个路由器时,在通向父路由器的路径上的一个路由器(即,子网上的、由父路由器分配了路由器地址的第一路由器)。
“从属路由器(slave router)”:子网内除主路由器外的路由器。
“节点(node)”:由网络地址唯一地标识的网络上的通信功能。这个术语用于指示作为网络上的通信终端的功能。
第一实施例
图3是显示根据本发明的路由器的构造的方框图。路由器启动处理器310在,例如,电源接通或更换路由器时,运行启动路由器的处理过程。所有路由器数据存储单元311存储整个系统中路由器的所有信息。父路由器数据存储单元312存储将子网Net ID分配给路由器的父路由器的信息。子网ID码存储单元313存储根据本发明的路由器的多个子网ID码。
子网ID码请求单元314a和314b由路由器启动处理器310启动,并且运行从每个子网上其它路由器和网络装置请求Net ID的处理过程。子网ID码报告单元315a和315b在另一个路由器请求Net ID时报告路由器31的Net ID。子网ID码确认单元316a和316b确定对于子网ID码请求单元314a和314b的请求的响应。
接收消息解释器317a和317b解释接收的消息,并且将消息提供到指定装置。消息路由选择处理器318负责在不同子网上的装置之间(在本例中,在子网A和子网B之间)传递消息。子网内通信处理器319a和319b处理一个单一子网上的装置之间的闭路通信。
应当注意,运行下述启动序列的本发明的路由器(例如,路由器31,路由器32,路由器R1,...)如图3所示构造。
图4示出了根据本发明的路由器保持的本身数据(路由器数据)的结构的一个例子。路由器数据可以包括路由器属性,例如,指示是否能够提供Net ID或是否提供了路由器功能的数据。路由器标识符41是通过父路由器提供的,并且是一个使得能够在网络系统上唯一地标识路由器的值。连接的子网数量42代表连接到路由器的子网的数量。Net ID 43是连接到路由器的一个子网(在本例中,子网A)的Net ID。Node ID 44代表连接到路由器的一个子网(子网A)中的一个路由器的节点ID。Net ID 45是连接到路由器的另一个子网(在本例中,子网B)的Net ID。Node ID 46代表连接到路由器的其它子网(子网B)中的一个路由器的节点ID。保持的Net ID和Node ID的组合的数量等于连接的子网的数量。
图5举例示出了根据本发明的路由器存储的父路由器数据的结构。父路由器标识符包含父路由器连接到的子网上的父路由器Net ID 51和NodeID 52。这个父路由器数据存储在父路由器数据存储单元312中。
父路由器和普通路由器包括通过从一个网络上的所有路由器收集图4中所示的子网ID码获得的所有路由器数据。所有路由器数据存储在所有路由器数据存储单元311中。有关连接到路由器的子网的路由器数据存储在该路由器的子网ID码存单元313中。下面给出了所有路由器数据的构造的一个例子。
1字节:所有路由器的数量。
2字节或其后字节:具有以下的每个路由器的路由器数据的集合。
所有路由器数据1字节:路由器ID。
2字节:连接的子网的数量。
3至(2×n+2)字节:保持的网络地址数据(n个)。
消息
图6A和6B示出了通信消息协议的一个例子。根据本发明的多个子网上的父路由器、普通路由器、或网络装置的地址是由图6A所示的Net ID和Node ID的组合唯一地定义的。
图6B示出了消息协议的一个示例构造。PR是优先等级码,SA是源地址,DA是目的地址,CC是控制码,BC是消息长度码,DATA是与根据本发明的网络有关的消息存储区,和FCC是消息检验码。PR、SA、DA、CC、BC、DATA、和FCC基于每个子网确定的消息构造,并且在每个闭路子网内定义的网络格式中使用。从而,源地址(SA)和目的地址(DA)是在每个子网内的地址集。
与本发明的网络有关的消息存储在DATA区中。DATA区存储首部(HD),源网络地址(SNA),目的网络地址(DNA),和对象消息(ODATA)。
对象消息(ODATA)区包含对象消息首部(OHD),源对象区分符(SOJ),目的对象区分符(DOJ),对象特性码(OPC),对象业务码(OSV),和对象数据值(ODT)。
在本发明中,SNA存储包含源装置的Net ID和Node ID的网络地址,DNA存储包含目的装置的Net ID和Node ID的网络地址。说明对于Net ID传输请求及对其响应的代码存储到对象业务码(OSV)。响应中的Net ID的值存储到对象数据区(ODT)。
以下说明当第一次接通电源或路由器重置时,图1和2中所示网络中的路由器31操作的例子。在这个实施例中,路由器31连接到子网A(21)和子网B(22)二者。
参考图2和图3,当第一次接通路由器电源或重置路由器时,路由器31的路由器启动处理器310启动子网ID码请求单元314a,以运行从与路由器31同一子网A(21)上的另一个路由器32或网络装置21a或21b获得Net ID的处理过程。子网ID码请求单元314a汇编一个请求来自连接到子网A(21)的所有路由器的Net ID的消息,并且通过子网内通信处理器319a将消息广播到子网A(21)。例如,这个广播的消息的内容请求每个路由器存储的Net ID。
接收到这个请求的路由器32通过它的子网内通信处理器解释接收的消息,然后返回Net ID。接下来,路由器32中的子网ID码报告单元从子网ID码存储单元读出和返回子网A的Net ID。
当接收到子网A的Net ID时,子网内通信处理器319a通过接收消息解释器317a将接收的数据传递到子网ID码确认单元316a。子网ID码确认单元316a将从其它路由器接收的消息中子网的Net ID设置到路由器31本身的子网A的Net ID,并且利用这个值更新存储在子网ID码存储单元313中的子网A的Net ID 43的值。
因此,如果在更换或重置一个路由器之前和之后,网络的物理构造中没有改变,那么可以利用路由器更换或重置之前使用的Net ID启动更换或重置的路由器。因此,可以避免在每次更换或重置路由器时将Net ID重新分配到每个装置。在上面的说明中,在不是路由器的装置之前,对路由器进行请求,从而,当子网上存在一个路由器时,可以减少不是路由器的装置的不必要的通信和负担。
显然,如果在本例中子网上没有路由器,那么将不会返回对于Net ID请求的响应,并且不能获得子网A的Net ID。这产生了当由于某种原因,用不同路由器更换路由器31,或重置具有所有存储的数据的路由器31时,路由器31甚至不能通信的可能性。在这种情况下,子网ID码确认单元316a,316b可以通知路由器启动处理器310,以从一个不是路由器的网络装置获得Net ID。这个通知可以直接发送到子网ID码请求单元314a,314b。
接下来,说明从网络装置获得Net ID的操作。
为了在子网A上建立通信,路由器启动处理器310或在需要时子网ID码确认单元316a首先设置它本身的临时Node ID。由于这是一个临时值,所以优选将Node ID设定到一个诸如子网上可能的最大或最小值之类的值,即,最有可能被另一个装置使用的值。一旦设定了这个临时装置数,子网A内的通信就成为可能。
然后,在子网A上广播消息,以获得子网A上另一个装置存储的NetID。然后,子网内通信处理器319a、接收消息解释器317a、和子网ID码确认单元316a以发送顺序提取这个装置(例如,冰箱1,洗衣机2,或空调器3)的Net ID。可以确认正常发挥功能的路由器31连接到的子网A的Net ID。
由于存在着可能要重置不是路由器的装置的可能性,所以在Net ID的确定中要进行以下的优先等级处理过程。
如果上述获得的多个Net ID包括一个父路由器(控制器11)或普通路由器的Net ID,那么将来自父路由器的Net ID优先识别为连接到路由器31的子网A的Net ID。
如果多个Net ID包括一个父路由器或普通路由器的Net ID并且具有复制的Net ID,那么将最频繁复制的(即,最多的)Net ID识别为子网A的Net ID。例如,如果“01”的Net ID被检测到两次,而“03”的Net ID被检测到一次,那么将“01”取为Net ID。
如果多个Net ID不包括父路由器或普通路由器的Net ID,那么将来自普通装置的最频繁的Net ID识别为子网A的Net ID。然后,将识别的Net ID存储在子网ID码信息存储单元313中为子网A保留的Net ID存储区中。从而,可以与最大数量的装置通信。
通过上述方法,已经完全启动了子网A中的通信,但是,路由器的路由器标识符(Net ID)或Node ID仍然是临时设置。因此,为了完全将子网A恢复到以前的设置,如果存在一个父路由器或其它路由器,那么从父路由器或其它路由器获得所有路由器数据,并且利用以前获得和解释的Net ID重置路由器31的Node ID和路由器标识符。父路由器存在的情况是一种特殊情况。以下说明一个普通子网的,父路由器不在子网上的情况。
根据解释以前获得的子网A上的每个装置的Node ID的结果,寻找不在Node ID序列中的Node ID。例如,如果Node ID是02、03和04,那么进行其中将01取为路由器的临时Node ID的第二临时设置。否则,如果已经使用的Node ID是01,02,和04,那么进行其中将03取为路由器的临时Node ID的第二临时设置。然后,以上述方式获得子网的Net ID。然后,将获得的Net ID存储在子网ID码存储单元313中的子网A存储区中。
在子网B上运行相同的操作以设定Net ID和Node ID。从而路由器31能够与子网A和B上的其它装置通信,并且因此能够在子网A和B之间路由通信。这使得能够功能地连接子网A和B。
应当注意,子网A和B可以是相同或不同类型的网络。子网A或子网B内的通信在有关本发明的通信层以下的一个层上,并且在每个子网内闭路,具有独立的通信协议和寻址系统。显然,在上述的说明中,已经建立了这个低层上的通信,并且子网内通信处理器319a,319b处理这个低层上的通信。
以下详细说明完成上述路由器和网络装置的Net ID和Node ID的请求处理过程和恢复处理过程的通信方法。
首先参考图10说明网络装置21b...的构造。参考图10,子网ID码存储单元713存储分配给网络装置的子网的Net ID。当另一个路由器请求报告Net ID时,子网ID码报告单元715返回存储在装置中的本身的Net ID。子网ID码确认单元716确认图3中所示的路由器的子网ID码请求单元314a,314b请求的信息的内容。接收消息解释器717解释接收的消息并且将结果传送到指定的装置。装置功能处理器718根据接收的消息执行网络装置的功能。子网内通信处理器719处理同一子网内的闭路通信。
以下参考图11A中所示的流程图说明为了获得Net ID路由器(目标路由器)31的操作和处理过程。
当路由器31启动时,不需要识别图4中所示的本身子网的Net ID。因此,目标路由器通过子网A发送请求,以要求Net ID。因此,子网ID码请求单元314a编译一个消息。将存储在子网ID码信息存储单元313中的子网A的Net ID 43和Node ID 44设置到这个消息的SNA字段。但是,子网A的Net ID 43不需要改正。Node ID是一个临时值,例如,最高可能值,即,最不可能已经分配给另一个节点的值。这个临时值可以用不同的方法确定,例如,通过路由器31上的DIP开关预定的值,或重置前存储的值。将目的地址DNA设定到一个指定广播中的子网中的所有装置的值。HD是一个代表广播的标识符。对象特性码(OPC)是一个代表Net ID的标识符。对象业务码(OSV)是一个代表读出请求的标识符。对象数据(ODT)是空。存储到图6中所示的消息构造中的其它字段的值与本发明的这个实施例没有直接关系,因此在这里省略了它们的说明。
接下来,将HD、SNA、DNA、和ODATA传送到子网内通信处理器319a。由于指出了一个广播,所以子网内通信处理器319a将一个代表广播的代码设定到PR,将一个广播通信的地址设定到DA,将HD、SNA、DNA、和ODATA存储到DATA字段,然后通过子网A发送产生的消息。这个操作在图11A中的步骤S11完成。
应当注意,路由器的子网上的用于SA和DA的地址可以在路由器启动之后立即确定。因此,SA和DA中的每一个处于可以正确地发挥功能的操作状态。
一个父路由器、一个普通路由器、和一个网络装置连接到子网A,并且在它们各自的子网内通信处理器中接收消息。以下说明网络装置接收消息的示例操作。应当注意,当接收消息时父路由器和普通路由器也运行相同的操作。
由于广播了接收的消息,网络装置的子网内通信处理器719将消息传送到接收消息解释器717。然后,接收消息解释器717将DNA传送到子网ID码确认单元716,子网ID码确认单元716将存储在子网ID码信息存储单元713中的本身网络地址与接收的DNA比较,以进行检查。尽管如果DNA中的Net ID与本身网络地址中的Net ID匹配,那么不会产生特殊的问题,但是,它们经常不匹配。因此,接收消息解释器717解释OPC和OSV。解释的结果发现,接收的消息指示Net ID请求,因此,接收消息解释器717响应请求,并且产生一个响应消息,而不毁掉接收的消息。
接收到消息的网络装置检查接收的消息的跳跃计数和Net ID。当源的Net ID与本身的Net ID不同时,网络装置可以毁掉接收的消息,即使跳跃计数是0。在这种情况下,路由器递增用于获得子网Net ID的消息中的Net ID,重新发送消息,直到发现网络装置可以接收的Net ID。也可以定义并且添加到消息中一个致使尽管Net ID不匹配也不毁掉消息的专用代码。
然后,接收消息解释器717指令子网ID码报告单元715产生一个响应消息。SNA是存储在子网ID码信息存储单元713中的本身网络地址。DNA是接收的信息的SNA。OPC或OSV是一个代表对Net ID请求的响应的标识符。将本身Net ID写入到ODT。然后,子网ID码报告单元715将HD、SNA、DNA、和ODATA传送到子网内通信处理器719。由于子网内通信处理器719已经知道接收消息的SA和DA,因此,它调换SA和DA的位置,并且将HD、SAN、DNA、和ODATA插入到DATA字段,并且返回响应。
这个操作是在图11A中的步骤S12完成的。
路由器31的子网内通信处理器319a监视子网A上的消息业务,捕获定址到路由器31的消息,并将响应消息中的DATA的内容传送到接收消息解释器317a。
接收消息解释器317a将DNA传送到子网ID码确认单元316a。子网ID码确认单元316a把消息的DNA与Net ID请求消息或存储在子网ID码存储单元313中的子网A的Net ID 43中使用的SNA比较,以确认消息是否定址到路由器。接收消息解释器317a将OPC,OSV解释为对Net ID请求的响应,从ODT提取Net ID,并将它临时存储在子网ID码确认单元316a。这个操作是在图11A的步骤S13中完成的。
由于路由器31发送的Net ID请求消息是一个广播消息,所以,子网A上的所有装置(包括父路由器和普通路由器)接收消息,并且返回装置存储的子网标识符代码信息。
路由器31也通过上述操作把这个Net ID临时存储到子网ID码D码确认单元316a。这个处理过程也是在图11A中的步骤S13完成的。
如上所述,接收多个Net ID的路由器31,以父路由器、普通路由器、和网络装置的顺序,排列选择Net ID的优先次序,选择一个Net ID,并把选择的一个Net ID存储在子网ID码存储单元313中。因此,当没有父路由器时,也能够通过多数决定原则,从多个代码中选择一个Net ID。这使得能够获得最大数量的装置能够进行通信的通信。应当注意,不选择指示还没有将一个Net ID分配给子网的默认Net ID。此外,如果路由器以前存储的Net ID包括在多个Net ID中,那么可以选择这个Net ID。这个操作使得路由器能够使用已经分配并且使用在子网A上的Net ID。这个操作是在图11A的步骤S14中完成的。
接下来,子网ID码确认单元316a检查从子网A上每个装置接收的并且临时存储的网络地址中的Node ID,并且将一个未使用的Node ID作为子网A的Node ID 44写在子网ID码存储单元313中。如上所述,如果Node ID数组包含未使用的(跳过的)值,那么写入这个未使用的值。此外,尽管以前使用过的临时Node ID可以复制另一个Node ID,但是,上述处理过程消除了这种复制的可能性。这个操作是在图11A中的步骤S15完成的。由于通信已经可以进行,所以,步骤S15可以不执行。
应当注意,尽管上述处理过程同时获得Net ID和Node ID,但是,路由器可以要求父路由器、普通路由器、和网络装置。图11B的流程图中示出了这个处理过程,并且在下面简单地说明。目标路由器31首先要求父路由器、普通路由器、和网络装置返回它们的Node ID(步骤S21)。父路由器、普通路由器、和网络装置解释接收的消息,并因此返回它们本身的Node ID(步骤S22)。然后,目标路由器解释返回的消息,并且确认接收的消息是对询问的响应(步骤S23),然后选择和存储一个不是多个返回Node ID中的一个的Node ID(步骤S24)。在这个方法中,定义和使用代表Node ID请求和响应的OPC的标识符就足够了。
路由器31对子网B的装置和路由器运行相同的操作,从而能够获得子网B的Net ID,和一个唯一的(未使用的)Node ID。
路由器产生一个如图5中所示的请求父路由器数据的消息,即,存储在父路由器和其它路由器的父路由器数据存储单元312中的父路由器的Net ID,并且使用上述同样的过程可以在它的父路由器数据存储单元312中获得和存储父路由器数据。通过在OPC中提供一个父路由器数据请求和一个用于响应的标识符就足以完成它。
以下参考图12说明恢复在路由器更换或重置之前分配给子网A和B上的路由器的Node ID的操作和过程。
将以前分配给路由器31的路由器标识符、Net ID、和Node ID用图4中所示的格式存储在父路由器和普通路由器的所有路由器数据存储单元311中。路由器31对父路由器和普通路由器编译一个消息,在这个消息中将请求目标路由器31的Node ID和路由器标识符的标识符写到OPC中,将从上述操作获得的子网A和B的Net ID写到ODT中,并且将通过上述操作获得的目标路由器的Net ID和Node ID存储到SNA中。路由器31将这个信息传播到子网A和子网B。这个操作是在图12的步骤S31中完成的。
子网A和B上的父路由器和普通路由器解释这个消息中的OPC和OSV。当识别出代表路由器Node ID和标识符的请求的标识符时,它们从ODT提取子网A和B的Net ID,然后,在所有路由器数据存储单元中搜索每个路由器的子网标识符代码信息,以查找一个具有相同子网ID的路由器。然后,将路由器标识符、子网A上的Node ID、和子网B上的NodeID返回到目标路由器。为了返回,将一个指示ODT包含路由器的Net ID的标识符用于OPC。返回消息的DNA可以是以前获得的Net ID和从未使用的Node ID选择的Node ID,它们在来自目标路由器的消息的SNA中。这个返回消息也不需要广播,并且可以仅仅被传递到目标路由器。这个操作是在图12中的步骤S32中完成的。
目标路由器的接收消息解释器317a,317b解释接收的消息中的OPC和OSV,以确定该消息是对前面的请求的响应。然后,子网ID码确认单元316a,316b从ODT提取Node ID,并且将它存储到子网ID码存储单元313和所有路由器数据存储单元311。这个操作是在图12中的步骤S33和S34中完成的。
从而,可以重置路由器,以具有目标路由器被更换或重置之前子网A和B上使用的相同的Node ID。因此,目标路由器可以启动,并且带有它的被允许的路由器功能。
如果在上述获得Net ID的处理过程中,确定所有路由器数据包含指出已经存在连接着与目标路由器连接的相同的两个子网的另一个路由器的Net ID,那么父路由器或普通路由器通知目标路由器,另一个路由器已经连接子网A和子网B,使得目标路由器不作为路由器而是仅作为另一个网络装置启动。这将防止形成一个通过多个路由器的环路。
所有路由器数据的内容不需要通过对其发送了请求的父路由器和普通路由器解释。更具体地讲,目标路由器可以请求父路由器和普通路由器返回所有路由器数据。然后,目标路由器可以解释返回的所有路由器数据,以检测以前分配给它自己的Node ID,从而检验路由器环路。这可以通过赋予一个适当的标识符完成。请求和响应可以像前面所述的那样产生,因此,这里省略了进一步的说明。
在上述获得Net ID的处理过程中,如果作为检查所有Net ID的结果确定,指示存在着连接着两个与目标路由器连接的相同的子网的另一个路由器的数据被包括在从其它路由器获得的所有路由器数据中的至少一个Net ID项中,那么目标路由器不作为路由器启动,而仅仅作为另一个网络装置启动。这防止了形成一个通过多个路由器的环路。
当通过向连接到目标路由器的子网上的不是目标路由器的路由器请求获得了连接到子网的路由器的所有路由器数据时,根据有关一个在与连接到目标路由器的子网相同的子网之间位移的路由器的信息,通过将连接到目标路由器的每个子网的Node ID改变到与获得的数据相同,可以启动路由器功能。因此,可以把路由器恢复到更换或重置之前的状态。其它装置可以使用指定路由器之前使用的信息。这不需要额外地改变设置。
在目标路由器改变,或目标路由器的初始启动或重新启动时,当确定连接到目标路由器的至少一个子网中的连接的子网的子网标识符是一个默认值时(没有提供子网值的状态),不能开始消息的路由选择操作,直到从父路由器(一个具有提供子网值的功能的路由选择装置)提供了带有默认值的子网标识符。因此,当父路由器参加到系统时,仅能为一个具有子网标识符的默认值的子网提供一个新的值,而不改变具有已经分配的子网标识符的装置的信息。从而可以取得容易的系统管理。这取得了一个系统,在这个系统中可以在家中减少家庭网络中的使用者的困惑,并且减少对专家的需要,从而取得了容易更换路由器,和抑制了系统的功能的降低。
如果定址到子网上另一个装置的消息被错误地接收并且被不是定址节点的装置执行,那么子网可能根据消息的内容中断。以下说明防止这种情况的一种方法。
例如,用3比特将指示穿过子网数量的跳跃计数包括在消息的首部HD。这个跳跃计数最初是0,并且每次路由器将一个消息传送到另一个子网时递增1。如果接收的消息的源网络地址SNA中的Net ID匹配接收装置和装置本身的Net ID,那么跳跃计数一般是0。因此,当接收的消息的源网络地址SNA中的Net ID不匹配装置的Net ID并且跳跃计数是0时,发生错误,并且将接收的消息毁掉。从而,防止了每个装置接收到错误消息。
但是,当如上所述,目标路由器请求其它路由器或网络装置发送NetID时,可以将一个不同于子网的当前Net ID的Net ID用于源网络地址SNA。这里的问题是,如果应用上述错误处理过程,消息不会被接收到和将被毁掉,并且可能不能知道Net ID。
因此,优选是不毁掉消息,并且如果OPC是代表Net ID请求的标识符,那么返回Net ID。因此,响应消息的SNA是与请求Net ID的路由器使用的Net ID相同的值。从而,不毁掉Net ID请求消息,并且发送一个响应消息。目标路由器能够正常地接收响应,因为接收的消息的SNA中的返回Net ID与目标路由器的Net ID匹配并且跳跃计数是0。
如果由于某种原因而不能运行上述请求Net ID的操作序列,那么可以使用下面的处理过程。
目标路由器发送其中请求Net ID的Net ID请求消息的SNA中的NetID的值顺序地改变的一系列消息。当接收到消息的装置的Net ID不匹配SNA中的Net ID时,由于这相当于上述的错误状态,所以不编译响应消息。但是,当Net ID匹配时,不运行错误处理过程,将一个适当的响应返回到目标路由器,因此,目标路由器可以获得Net ID。响应消息的DNA是接收的消息的SNA,从而目标路由器可以接收响应消息。以这种方式,如果Net ID是8-比特长,那么通过发送Net ID请求最多265次,目标路由器就可以获得Net ID。通过立即建立或发送256个唯一请求,或当在预定时间内没有接收到回答时,通过发送下一个Net ID的请求,可以将请求发送256次。
由于没有对请求Net ID的消息运行错误处理过程,本发明能够正常地迅速确定Net ID,而不用广播多个Net ID请求。
如果接收的消息的SNA中的Net ID是一个诸如0x00之类的特殊的值,那么即使消息中的Net ID与本身的Net ID不匹配,子网上的所有装置或路由器也能根据消息的内容处理接收的消息,而不用毁掉它。可以不管OPC的值,防止消息毁掉。如现有技术的问题中提到的,也可以仅在把OPC设置到一个特殊的值,例如,设置到请求子网标识符代码或Net ID的消息的标识符时,处理消息而不毁掉它。
此外,可以在Net ID请求消息中提供一个专用处理过程指定字段。如果设置了专用处理过程指定字段,那么可以不用检验SNA中Net ID与本身Net ID之间的匹配,或当检验结果检测到不匹配时,返回Net ID,。
此外,可以解释接收的消息的HD、SNA、DNA、OHD、SOJ、DOJ、OPC、和OSV,并且可以在除了消息明显不是定址到接收的装置或路由器时,发送响应。
此外,可以在对Net ID请求消息的响应消息中提供一个专用处理过程指定字段。如果设置了专用处理过程指定字段,那么可以无需检验SNA、和本身Net ID或网络地址中的Net ID之间的匹配,或当检验结果检测到不匹配时,检索和存储接收的Net ID。另外,可以解释接收的消息的HD、SNA、DNA、OHD、SOJ、DOJ、OPC、和OSV,并且在除了消息明显不是定址到接收的装置或路由器的时候,提取和存储Net ID。
如上所述,将系统构造成能够对来自一个Net ID被设置到与连接到路由器的子网的Net ID不同值网络装置的Net ID请求作出响应,其中NetID请求被封闭在连接到这个网络装置的子网中。因此,为了知道连接的子网的Net ID,被更换或重新启动的路由器不需要使用所有子网的NetID,因此可以减小子网中的数据通过量。也可以减小希望知道连接的子网的标识符的路由器的处理过程中的负担。
以上说明了当从路由器请求Net ID和Node ID时消息产生处理过程和接收处理过程的构造和操作。通过向父路由器、普通路由器、和其它网络装置询问Node ID和Net ID,特别是请求以前使用的值,可以将相同的原则应用到将网络装置恢复到以前的状态。
如上所述,当一个路由器向连接到多个连接到这个路由器的子网中的一个子网的网络装置问讯它的Net ID时,即使在路由器的Net ID与装置的Net ID不匹配时,它也返回装置存储的本身Net ID。只要在首部HD中提供一个广播通信标识符就足够了。
上述对象业务码OSV是一个指示对Net ID,或Node ID,父路由器数据,或目的装置的所有路由器数据的请求业务或回答业务的标识符。但是,确定标识符不应当受此限制。可以在对象数据首部OHD、源对象区分符SOJ、目的对象区分符DOJ、和对象特性码OPC的任何一个中,提供一个标识符,以提供上述的标识功能。
此外,也可以提供一个用于将接收者分类成父路由器、普通路由器、或网络装置的标识符,例如,路由器简表或节点简表。例如,可以将这些标识符写在消息的DOJ中。接收消息的装置或路由器仅捕获那些带有一个指示该装置或路由器的标识符的消息。即使在请求消息在整个子网上广播的时候,也能减少响应的数量,因此能够降低网络拥堵。
此外,也可以提供一个用于将源分类成父路由器、普通路由器、或网络装置的、诸如路由器简表或节点简表之类的标识符。例如,如果将这个标识符写在SOJ中,那么可以构造接收响应的装置和路由器,以仅捕获哪些带有一个代表与该装置相同的组的标识符的消息。因此,可以避免不需要的处理响应,和可以减小接收装置上的负担。
也可以提供一个用于将目的地表示为一个属于一个父路由器组、普通路由器组、或网络装置组的标识符。当装置和路由器因此而仅捕获包含对应其本身的标识符的消息时,可以如上所述地有效地恢复Net ID和NodeID。
也就是说,目标路由器首先建立一个消息并传播到请求所有路由器数据的父路由器。如果存在一个父路由器,那么可以从父路由器存储的所有路由器数据获得Net ID和Node ID。如果没有来自父路由器的响应,那么向普通路由器发送对于所有路由器数据的请求。从而可以从一个或更多的路由器返回的所有路由器数据恢复目标路由器的Net ID、Node ID、和路由器标识符。
如果没有来自普通路由器的响应,那么没有路由器在子网上操作,并且将请求子网标识符代码的消息发送到网络装置。然后,可以从网络装置收集的Net ID和Mode ID恢复目标路由器的子网标识符代码(Net ID数据)。
通过以这种顺序进行对于Net ID的请求,即使在广播请求的时候,也可以进一步减少发送的响应的数量,因此能够减小网络的拥堵。
通过在OPC中提供一个标识符,例如,指示请求的或存储在ODT中的信息类型(例如,Net ID或Node ID)的标识符,也可以确定一个特定消息处理的信息类型。当在OSV中提供又一个标识符,以指示信息正在被“请求”或是“报告”,目的装置或路由器可以识别对ODT中的值运行什么处理过程。
熟悉本领域的普通人员也可以知道,尽管本实施例是利用指导两个子网,子网A和B,之间的业务的路由器说明的,但是,通过如上述那样构造每个子网,并且在每个子网上运行相同的处理过程,可以取得一个用于在三个或更多的子网之间路由业务的路由器。显然,在这种情况下,图4中所示的路由器的子网标识符代码将具有三个或更多的Net ID和Node ID的集,并且连接的子网的数量将是3个或更多。
应当知道,可以将图3和图10中所示的每个装置和处理器构造成为执行上述对应操作的专用电子电路。它们也可以通过一个运行实现参考附属的流程图说明上述处理过程的各个步骤的计算机程序的计算机取得。
从以上的说明中,更换或重置路由器之前存在的网络构造可以通过逐渐地扩展通信范围,以恢复直接连接到路由器的子网A和B上的通信、恢复与父路由器(控制器11)或其它普通路由器的通信、和通信所有路由器数据,而完全恢复。
因此,可以用一个表现出改进的性能的路由器、或一个当路由器出现故障时用一个临时服务的以前使用过的旧路由器,更换一个作为基本网络装置的路由器,而不需要装置或网络管理人员重复复杂的配置处理。因此,本发明提供了一种对于用户特别方便和优秀的路由器。
本发明不应限于这个实施例,而是可以应用到没有路由器标识符的、不独立管理Net ID和Node ID的、或需要识别号设置以及Net ID和NodeID的路由器。
更具体地讲,任何获得、分析、和临时设置路由器的Net ID和NodeID,以便首先使得能够与连接的子网通信,然后顺序地改变这些临时路由器设置以利用临时设置逐渐扩展通信范围,直到确定最终设置的方法,包括在本发明的范围内。
此外,任何用于通过类似于正确的数据源的装置,例如,控制器(父路由器)或普通路由器之类的装置,扩展通信范围,然后获得和设定正确的构造设置的装置或方法,也包括在本发明的范围内。
第二实施例
说明在一个包括主路由器和从属路由器的网络中的路由器的启动序列。除了上述路由器标识符、Net ID、和Node ID之外,还将主路由器数据作为路由器数据提供。主路由器数据包括一个Net ID和将路由器标识为主路由器的标记。
当路由器接收到有关路由器简表特性读出请求的消息时,即使跳跃计数是0并且接收的消息的源网络地址SNA中的Net ID与路由器存储的Net ID不同,它也返回响应。在这种情况下,来自路由器的响应的SNA中的Net ID的值是0x00(应当注意,指示即使在SNA中的Net ID与本身Net ID不同时接收方也执行接收处理过程的专用值以下用0x00表示)。
因此,如果具有一个有关诸如Net ID之类的路由器数据、主路由器数据、或所有路由器数据的请求,那么即使消息中的目的Net ID与本身Net ID不同,路由器也能接收消息。(规则A)
在每个装置中,如果跳跃计数是0并且源的Net ID是0x00,那么即使Net ID与装置的Net ID不匹配,它也接收定址到其本身的消息。(规则B)
结果,如果移动装置并且连接到一个物理分离的子网,那么将如下分配一个新的Net ID。
首先,装置向路由器请求Net ID。根据规则A,路由器接受请求。当向装置发送Net ID时,路由器将其本身的源Net ID设置到0x00,然后,装置可以接收响应。
路由器内部地分成一个从属路由器和一个主路由器,如图7中所示。从属路由器是一个更靠近父路由器的路由器,而主路由器是一个远离父路由器的路由器。如果三个或更多的子网连接到一个单一的路由器,那么只有一个从属路由器;所有其它路由器都是主路由器。
当子网上有其它路由器时,路由器在启动序列向同一子网上的每个路由器请求主路由器数据。如果指示路由器是主路由器的主数据包括在从每个路由器发送的主路由器数据中,那么将主路由器的主路由器数据的NetID设置为连接到目标路由器的子网的Net ID。
如果其它路由器中没有主路由器,那么它们全都是从属路由器。因此,不使用返回主路由器数据中的Net ID,并且当子网上没有其它路由器在运行时,运行同一处理过程(以下将进一步说明)。
以下说明当子网上没有其它路由器时,即,当没有来自路由器的响应时,处理过程的运行。
目标路由器向连接到连接目标路由器的子网的所有装置请求Net ID。然后,它将其本身的Net ID与从装置返回的Net ID比较。如果比较结果显示Net ID不匹配,那么目标路由器不作为路由器启动。如果存在一个匹配,那么目标路由器向父路由器询问,以确认从装置接收的Net ID是否可以使用。根据父路由器存储的每个路由器的数据(所有路由器数据),父路由器确认询问的Net ID是否可以使用。如果父路由器返回允许使用Net ID,那么目标路由器使用Net ID。如果父路由器确定Net ID不能使用并且因此禁止使用Net ID,那么它返回0x00作为目标路由器的路由器标识符。在这种情况下,禁止询问路由器作为路由器启动。
应当注意,当子网上存在另一个路由器但是该路由器没有返回响应时,也能使用这个处理过程。
只有主路由器发送Net ID写入请求,Net ID写入请求发送到不是路由器的装置。主路由器仅从父路由器接受写入请求,并且父路由器不接受来自其它路由器的写入请求。
以下说明上述路由器的构造,和根据这种构造设置Net ID和Node ID的操作和过程。参考图14至图16中的流程图说明过程。应当注意,流程图中的虚线指示另一个任务的执行,或等待下一个命令的等待状态。
如上所述,本发明的这个实施例中的路由器包括一个主路由器部分和一个从属路由器部分。同样如上所述,路由器连接到两个或更多的子网。
如果连接两个子网,对应于“靠近父路由器”(或“面对父路由器”)的子网的路由器部分是从属路由器部分,剩下的部分是主路由器部分。因此,哪个部分成为主路由器是根据包括父路由器的位置和如何连接子网在内的总体网络构造确定的。例如,在图7所示的构造中,有一个连接子网A和子网B的路由器R1,并且父路由器Rp连接到子网A。如果路由器R1对于子网B是主路由器,那么路由器R1远离父路由器Rp的一侧是主路由器部分R1m,并且靠近父路由器Rp的一侧是从属路由器部分R1s。
在图3所示的路由器构造中,连接到子网A或子网B的一侧是主路由器。提供路由器属性数据,以标识主和从属路由器。除了图4中所示的子网标识符代码构造之外,为每个子网提供了主路由器数据,即,提供了子网A主路由器数据和子网B主路由器数据。也提供了一个存储主路由器数据的区。也就是说,如图13中所示,除了子网A的Net ID 43和子网A的Node ID 44之外,还提供了子网A的主路由器数据47。除了子网B的Net ID 45和子网B的Node ID之外,也提供了子网B主路由器数据48。将这些子网标识符代码存储到子网ID码信息存储单元313。
所有路由器数据存储单元311将所有路由器的包括这个主路由器数据在内的子网标识符代码存储在,例如,一个表中。父路由器数据存储单元312除了存储父路由器Net ID和Node ID之外,还存储主路由器数据。主路由器数据包括两个值,连接的子网的Net ID和用于识别主路由器和从属路由器的主标识符码。
例如,主路由器部分的路由器属性数据中的Net ID是连接的子网的Net ID,从属路由器部分的主路由器数据中的Net ID是0x00。应当注意,0x00不是一个用作Net ID的值。在一个示例实施例中,路由器属性数据是一个2-字节的值,第一字节存储指示一个主路由器或从属路由器的主路由器标识符(其中,主路由器=0x41,从属路由器=0x42),第二个字节存储Net ID。
图7示出了一个带有与具有一个主路由器部分和一个从属路由器部分的路由器链接的子网A,B,C,D的网络。为了使多个路由器不形成一个环路,将普通路由器R1,R2,R3以朝向父路由器Rp的一个方向布置。在这个路径上的每个路由器的更靠近父路由器Rp的部分是从属路由器,而其它部分是主路由器。在连接到每个子网的多个路由器中,仅有一个连接作为主路由器,所有其它的连接作为从属路由器。如果在一个单一子网上有两个主路由器,那么将产生一个环路。因此,如果检测到两个或更多的主路由器,可以防止路由器启动,可以检测到错误,和强迫到等待状态,或采取其它适当动作。如果路由器正在管理三个或更多的子网之间的业务,那么路由器内部仅有一个从属路由器部分。
每个连接的子网的Net ID存储在每个路由器的主路由器部分的主路由器数据的Net ID中。在图7所示的例子中,每个子网A,B,C,和D的Net ID,即,0x01,0x02,0x03,和0x04存储在主路由器部分的主路由器数据中的Net ID。
如上面参考图6B中所示的消息构造说明的,本实施例中的消息内容存储到DATA字段。DATA字段包含首部HD、源网络地址SNA,目的网络地址NDA,和对象消息ODATA。对象数据ODATA字段存储对象消息首部OHD,源对象区分符SOJ,目的对象区分符DOJ,对象特性码OPC,对象业务码OSV,和对象数据ODT。
提供给目的对象区分符DOJ的是一个代表要处理的路由器数据的路由器简表标识符代码(0x0EF101),或一个代表要处理的节点的网络地址的节点简表标识符代码(0x0EF001)。
提供给对象特性码OPC的是一个代表要处理的主路由器数据的主路由器数据特性(0xE6),代表要处理的Net ID的Net ID特性(0xE1),代表要处理的父路由器数据的父路由器数据特性(0xE3),代表要处理的所有路由器数据的所有路由器数据特性(0xE4),指示要处理的路由器注册请求的路由器注册请求特性(0xE5),代表要处理的本身路由器数据的路由器信息特性(0xE0),和指示要处理的实例变化的实例变化类通知特性(0xD5)。
提供给对象业务码OSV的是读出请求(0x62),报告请求(0x63),写入请求(0x60)和(0x61),和报告(0x73)。
给目的网络地址DNA提供了一个子网内广播(0x01FF)。
以下参考图14和图15中所示的流程图,说明当把由于停电等而处于备用状态的路由器重新连接到子网时,恢复和重新注册网络地址的过程。在以下的说明中,连接到图7中所示的子网A和子网B的路由器是目标路由器。
目标路由器首先通过子网A和B广播一个消息(1),以使子网A和B上包括父路由器在内的所有路由器报告主路由器数据。在这个实例中,将消息(1)定义如下。
SNA:存储在目标路由器中的目标路由器的网络地址;
DNA:代表子网内广播的代码,其中HD代表一个广播;
DOJ:代表路由器简表对象的代码(0x0EF101);
OPC:代表主路由器数据特性的代码(0xE6);
OSV:代表读出请求的代码(0x62);
ODT:任何数据。
如果子网A或子网B上具有其它路由器,那么每个路由器在消息(2)中相互返回一个主路由器数据读出请求。此时,将消息(2)定义如下。
SNA:存储在其它带有设置到0x00的Net ID的路由器中的网络地址;
DNA:来自消息(1)的SNA;
DOJ:代表路由器简表对象的代码(0x0EF101);
OPC:代表主路由器数据特性的代码(0xE6);
OSV:代表读出响应的代码(0x72);
ODT:其它路由器的主路由器数据。
在步骤S41中,目标路由器接收和解释返回的消息(2),以检查收集的主路由器数据。当从两个或更多路由器返回了指示路由器不是从属路由器的主路由器数据时,网络上存在或可能存在环路。因此,目标路由器作为一个简单网络装置启动,或处于待命模式,并且禁止路由器功能。当具有1或0个主路由器时,过程前进到下一个步骤。图16A中的流程图示出了步骤S41的操作的流程图。
应当注意,如果如图16C中指示的,网络上没有其它主路由器,也可以禁止路由器功能。这种情况在下面进一步说明。
当没有消息(2)返回时,网络上没有其它路由器。因此,目标路由器作为一个网络装置启动,或进入待命状态。
当确认子网上的主路由器的数量是0时,运行Net ID恢复例程。在这个例程中,目标路由器请求子网A和B上的所有装置通过广播消息(3)返回它们的Net ID。消息(3)定义如下。
SNA:存储在目标路由器中的Net ID设置为0x00的目标路由器的网络地址;
DNA:代表子网内广播的代码;
DOJ:代表节点简表对象的代码(0x0EF001);
OPC:代表Net ID特性的代码(0xE1);
OSV:代表读出请求的代码(0x62)。
由于消息(3)中的跳跃计数是0并且SNA中的Net ID是0x00,所以子网A和B上的每个装置接收消息(3)并且通过在消息(4)中返回设置在对应装置中的Net ID而响应请求。消息(4)定义如下。
SNA:装置的网络地址;
DNA:消息(3)中的SNA;
DOJ:代表节点简表对象的代码(0x0EF001);
OPC:代表Net ID特性的代码(0xE1);
OSV:代表读出响应的代码(0x72);
ODT:Net ID(可以是包括Node ID的网络地址)。
在步骤S42中,当主路由器的数量是0时,目标路由器将从消息(4)收集的Net ID指示的子网构造与目标路由器存储的子网构造比较。如果那些子网构造不同,那么目标路由器不允许路由器功能。
如果主路由器的数量是0并且存储的子网构造与确认的子网构造相同,那么目标路由器根据存储的构造设置启动,并允许其路由器功能。
如果主路由器的数量是1,那么目标路由器利用消息(5),(6)和消息(7),(8)与主路由器通信,以获得父路由器数据和所有路由器数据。应当注意,主路由器可以是父路由器。
消息(5)定义如下。
SNA:存储在目标路由器中的网络地址,或具有设置到0x00的Net ID的网络地址;
DNA:代表通过消息(2)获得的主路由器的代码;
DOJ:代表路由器简表对象的代码(0x0EF101);
OPC:代表父路由器网络地址特性的代码(0xE3);
OSV:代表读出请求的代码(0x62)。
主路由器接收和解释消息(5),然后编译并发送消息(6)。消息(6)定义如下。SNA存储主路由器的网络地址。DNA存储消息(5)中的SNA。DOJ存储代表路由器简表对象的代码(0x0EF101)。OPC存储代表父路由器网络地址特性的代码(0xE3)。OSV存储读出响应(0x72)。ODT存储父路由器数据。
消息(7)定义如下。SNA存储所存储的网络地址或具有设置到0x00的Net ID的所存储的网络地址。DNA存储代表主路由器的代码。DOJ存储代表路由器简表对象的代码(0x0EF101)。OPC存储代表所有路由器数据特性的代码(0xE4)。OSV存储代表读出请求的代码(0x62)。
主路由器接收并解释消息(7),然后编译和返回消息(8)。消息(8)定义如下。SNA存储主路由器的网络地址。DNA存储消息(7)中的SNA。DOJ存储代表路由器简表对象的代码(0x0EF101)。OPC存储代表所有路由器数据特性的代码(0xE4)。OSV存储代表读出响应的代码(0x72)。ODT存储所有路由器数据。
在步骤S43中,路由器接下来解释消息(6)和消息(8),以获得父路由器数据和所有路由器数据。如果一个连接子网A和B的路由器的网络地址包括在所有路由器数据中,那么路由器使用网络地址并且允许路由器功能。是否包括路由器的网络地址可以从子网A和B的Net ID和从消息(4)或消息(2)和(4)获得的所有路由器数据确定。
如果没有父路由器,那么从主路由器获得所有路由器数据。如果路由器存储的数据和来自主路由器的数据与步骤S42中确认的子网构造匹配,那么路由器利用存储的数据作为路由器启动,并且不再需要步骤S42之后的步骤。如果这三者不匹配,那么不允许路由器功能,不需要其余的序列,并且路由器作为网络装置启动或进入待命状态。
如果主路由器的数量是0,即,子网A和B上没有主路由器,或如果不知道或不确定子网A和B的构造,例如,当主路由器计数是0并且在步骤S42中路由器存储的子网构造与从所有装置节点收集的Net ID指示的子网A和B的构造不匹配时,如果已知父路由器的子网标识符代码,那么路由器向父路由器发送路由器注册请求。为了完成这个处理过程,与父路由器交换以下消息(9),(10),(11),(12),和(13)。
消息(9)如下定义。SNA存储连接到主路由器部分的子网A的NetID。DNA存储代表消息(6)中标识的父路由器的代码。DOJ存储代表路由器简表对象的代码(0x0EF101)。OPC存储代表路由器注册请求特性的代码(0xE5)。OSV存储代表写入请求的代码(0x60)。
父路由器考虑注册请求并且解释所有路由器数据,以确认没有冲突,例如,环形路径。然后,父路由器将一个路由器标识符、Net ID、Node ID、和主路由器数据分配给路由器,并且经过消息(10)响应请求路由器,以请求将数据写入到子网ID码存储单元313。
因此,消息(10)定义如下。SNA存储父路由器的网络地址。DNA存储消息(9)中的SNA。DOJ存储代表路由器简表对象的代码(0x0EF101)。OPC存储代表路由器数据特性的代码(0xE0)。OSV存储代表写入请求的代码(0x61)。ODT存储路由器的本身路由器数据,即,存储路由器标识符、Net ID、Node ID、和连接的网络数量。
然后,路由器接收和解释消息(10),将分配的路由器标识符、Net ID、和Node ID存储到子网ID码存储单元313,和返回消息(11),以通知父路由器数据存储完成。
这个消息(11)定义如下。SNA存储分配的网络地址。DNA存储父路由器的网络地址。DOJ存储代表路由器简表对象的代码(0x0EF101)。OPC存储代表本身路由器数据特性的代码(0xE0)。OSV存储代表写入响应的代码(0x71)。ODT为空。
当父路由器接收到消息(11)时,它在消息(12)中把所有路由器数据发送到路由器。
因此这个消息(12)定义如下。SNA存储父路由器的网络地址。DNA存储分配给路由器的网络地址。DOJ存储代表路由器简表对象的代码(0x0EF101)。OPC存储所有路由器数据特性(0xE4)。OSV存储代表写入请求的代码(0x61)。ODT存储所有路由器数据。
然后,路由器接收和解释消息(12),将所有路由器数据存储到所有路由器数据存储单元311,和返回消息(13),通知父路由器数据存储完成。
因此,这个消息(13)定义如下。SNA存储分配的网络地址。DNA存储父路由器的网络地址。DOJ存储代表路由器简表对象的代码(0x0EF101)。OPC存储代表所有路由器数据特性的代码(0xE4)。OSV存储代表写入响应的代码(0x71)。ODT为空。
从而,路由器在步骤S44中获得路由器数据。
然后,路由器发送消息(14),以将分配的Net ID写入到子网A和B的主侧上的每个装置。
因此,这个消息(14)定义如下。SNA存储子网A或B的网络地址。DNA存储代表子网内广播码的代码(0x01FF)。DOJ存储代表节点简表对象的代码(0x0EF001)。OPC存储代表Net ID特性的代码(0xE1)。OSV存储代表写入请求码的代码(0x60)。ODT存储Net ID。
路由器也通过广播消息(15)通知子网A和B的状态变化。
这个消息(15)定义如下。SNA存储子网A或B的网络地址。DNA存储代表广播覆盖域的代码。DOJ存储代表节点简表对象的代码(0x0EF001)。OPC存储代表指示构造设置中的变化的实例改变类通知特性的代码(0xD5)。OSV存储代表通知的代码(0x73)。ODT存储要存储的实例数据。
如上所述,这种操作使得路由器能够启动和开始正常操作。
应当注意,如图16A和16B中所示,即使在主路由器数量是1的时候,本实施例也从消息(3)和(4)收集子网上每个装置存储的Net ID。但是,如果没有一个主路由器,那么子网A和B可以从主路由器存储的所有路由器数据和父路由器数据知道路由器的Net ID,因此,可以省略处理消息(3)和(4)。
此外,当返回了代表一个主路由器的主路由器数据时,也可以相信包含在主路由器数据中的Net ID,并且通过将该Net ID设置为路由器的NetID,可以省略有关设置Net ID的其它步骤。
如图16B中进一步所示和前面的说明,在主路由器的数量是0的情况下,并且当收集的(返回的)数据和路由器内部存储的数据标识了相同的子网构造时,可以利用存储的信息允许路由器功能。如果构造不同,那么路由器可以作为网络装置启动,而不允许路由器功能。在这种情况下路由器功能被禁止,可以将一个错误消息报告给路由器。
当如图16C中所示,主路由器的数量是0时,也可以不在步骤S41中启动路由器。
也就是说,如果收集的主路由器数据全都指示从属路由器,那么可能没有父路由器或其它路由器,或可能存在路由器故障,并且不能确定到父路由器的路径。因此,路由器作为网络装置启动,或进入待命状态。
应当注意,上述主路由器数据是一个Net ID和一个主标识符码的组合,但是,主路由器数据可以仅仅是由带有设置到0x00的从属路由器部分的Net ID和设置到连接到主路由器部分的子网的Net ID的主路由器部分的Net ID的主标识符码构成的。
同样明显的是,当封闭在每个子网中的一个低层上的网络启动时,Node ID已经被分配,并且在链接到多个本发明所指的子网的网络域内,可以将这些Node ID转换成并且用作子网标识符码中的Node ID。
因此,本发明的这个实施例可以容易地防止路由器形成环路。管理一个子网的路由器作为子网的主路由器操作,并且管理子网标识符码更容易。此外,当将这个路由器新添加到网络(冷启动),或临时从网络取下然后再连接到网络而不重新设置(热启动)时,可以在短时间内将路由器标识符、Net ID、所有路由器数据、和主路由器数据设定或恢复到路由器。
应当注意,记录用于路由器的程序和根据本发明的路由器的设置方法的记录介质包括任何能够记录程序的计算机可读数据存储介质,包括ROM、RAM、软盘、CD-ROM、DVD、存储卡、或硬盘,或者是诸如电话线之类的通信介质或其它传输介质。
第三实施例
上面的实施例说明了用于将Net ID和Node ID分配给新连接的或重新启动的路由器的处理过程。这个用于分配Net ID和Node ID的处理过程也可以应用到对其改变了网络连接的网络装置。以下说明这种对于网络装置的处理过程的应用。
这个实施例应用到连接到一个子网的装置被移动并且连接到一个不同子网的情况,例如,参考图2,当连接到子网B的装置1(22a)被移动,和连接到子网A,并且把Net ID和Node ID分配给处于新连接的装置1(22a)时。
当把装置移动到一个不同子网时,存储在网络装置中的Net ID将与装置新连接到的子网的Net ID不同。此外,由于Node ID必须在一个子网内是唯一的,所以Node ID可能与已经在新子网上使用的另一个NodeID相同。
在这种情况下,装置1(22a)可以向连接到子网A的其它网络装置询问Net ID,以获得一个适当的Net ID。装置1(22a)也可以询问子网A上其它装置,以获得它们的Node ID,从而发现一个未使用的Node ID。
以下更详细地说明这种情况。
当装置1(22a)移动到一个不同的子网时,它首先设置它自己的临时Node ID。这个临时Node ID应当是一个可能尚未在子网上使用过的数。它也设置一个指示“Net ID是未指定的”的临时代码,直到将它本身的Net ID设置到子网A的Net ID。这些临时设置使得装置1(22a)能够与子网A上的其它装置通信。
然后,装置1(22a)询问子网A上其它装置的Net ID。然后,它参考其它装置返回的Net ID设置它本身的Net ID。在这种情况下,装置1(22a)可以利用上述的多数决定原则规定Net ID的优选等级。然后,装置1(22a)同样地询问子网A上其它装置的Node ID,并且将它本身的Node ID设置到一个不会复制一个现有Node ID的值。
应当注意,装置1(22a)可以询问其它装置,以确认在设置临时NodeID之前设置到装置的Node ID是否已经在同一子网上使用。如果仍没有使用,那么装置1(22a)可以继续使用相同的Node ID。
此外,如上所述,将Net ID临时设置到“未指定的”,但是,可以把它设置到一个允许仅在装置连接的同一子网内通信的保留代码。也可以不使用Net ID。
当网络装置改变它的Net ID或Node ID时,它也将变化(改变前的Net ID和Node ID,和改变后的Net ID和Node ID)发送到父路由器和普通路由器,以更新所有路由器数据。
可以通过改变了设置的装置将改变化报告给路由器,而更新路由器数据。作为选择,父路由器或普通路由器可以根据在另一个装置或路由器执行对移动了的网络装置的通信时发生的错误事件,检查每个子网,并且自动地更新有关移动了的网络装置的路由器数据。
也可以将同样的处理过程应用到连接到子网的新装置,并且因此不限于移动到一个不同子网的网络装置。在这种情况下,父路由器不需要分配Net ID和Node ID,装置可以自动地设置它本身的Net ID和Node ID,并且可以减轻父路由器上的处理负担。
当接收的消息的跳跃计数是0并且接收的消息中的源Net ID的值与其本身的网络地址中的Net ID的值不同时,网络装置毁掉接收的消息。但是,当跳跃计数是0并且源Net ID是0x00时,如果消息定址到它本身并且因此接收到消息,那么网络装置不毁掉消息。
此外,如果消息涉及一个路由器数据请求,那么即使源的Net ID与路由器的不同,路由器也接收消息并且回答消息。
第四实施例
以下说明对于普通路由器或不是路由器的普通网络装置的两种类型的启动序列,包括冷启动和热启动。“冷启动”是一种运行一个从以前的启动序列擦除所有网络地址数据的初始化处理过程的启动序列。“热启动”是一种在保持以前的网络地址和初始设置的同时运行一个初始化处理过程的启动序列。
A.普通网络装置的启动序列
以下专门说明普通网络装置的启动序列.
在启动中,网络装置通过获得用于识别和说明本身的网络地址而开始。如上所述,网络地址包括一个Net ID和一个Node ID。下面假设NodeID已经在网络装置开始操作时获得,并且定义两个获得Net ID的序列。
1)用于冷启动的基本序列。
2)用于热启动的基本序列。
冷启动是在其中重置网络地址的网络装置的重置启动。热启动是利用其中保留着已经设置的网络地址的以前设置的Net ID的启动。
在上面的基本序列中,引入了“默认路由器”的概念。网络装置利用识别网络装置的网络地址交换数据,而不注意任何子网。网络地址中具有相同Net ID的装置在相同的子网上,并且通过指定MAC地址,可以将消息直接发送到另一个网络装置。但是,如果一个装置的网络地址的Net ID与其它装置的Net ID不同,那么装置在经过一个路由器连接的不同子网上,并且需要路由选择,以便交换数据。因此,引入默认路由器的概念,以便使每个非路由器网络装置能够更容易地处理发送到其它子网上的网络装置的消息。
在设置Net ID时,每个非路由器网络装置内部存储连接到相同的子网的多个路由器中的一个的网络地址,作为“默认路由器”数据。然后,可以不管目的装置的子网,将发送到另一个子网上的网络装置的消息简单地发送到默认路由器。哪个路由器被定义为一个本身默认路由器没有被专门定义。
A.1.网络装置冷启动的启动序列
在冷启动的过程中,网络装置从一个较低的通信层获得一个Node ID,或一个应用软件上的设置,然后网络装置经过子网获得Net ID。以下说明在冷启动过程中子网上网络装置获得Net ID的基本序列。
图17示出了一个网络装置的基本冷启动序列。这是在设置了Node ID之后(即,在子网内通信被允许之后)运行的基本序列。图17中的消息(1)至(3)设定如下。
                     表1
 消息(1) SNA:默认值(0x00)DNA;子网内广播(0x01FF)DOJ:路由器简表对象(0x0EF101)OPC:Net ID特性(0xE1)OSV:读出请求(0x62)
 消息(2) 单个响应消息SNA:具有设置到0x00的Net ID的路由器网络地址的值DNA:消息(1)中的SNA说明对消息(1)的读出响应(SOJ=0x0EF101,OPC=0xE1,OSV=0x72,ODT=Net ID信息)
 消息(3) SNA:说明具有分配的Net ID的本身网络地址DNA:域内广播(0x00FF)SOJ:节点简表对象(0x0EF001)OPC:实例改变类通知特性(0xD5)OSV:通知(0x73)
 T2 等待消息(2)超时。如果在等待时间T2之后没有接收到消息(2),那么将0x00设置为Net ID。
参考图17,当把一个网络装置新连接到一个子网,并且完成了NodeID的设置(S301)时,在整个子网上广播消息(1)。消息(1)请求读出已经在子网上启动的路由器的Net ID。如果在规定时间T2内从一个路由器接收到响应消息,那么网络装置从响应消息(2)获得Net ID,用获得的Net ID设置其本身Net ID,并且将其本身默认路由器的网络地址设置到一个规定值(S302)。然后,在整个域上广播幀(3),并且通知状态改变。
A.2.网络装置热启动的启动序列
参考图18和图19说明热启动的基本序列。
在把一个具有保持着网络地址数据的网络装置重新连接到子网,或从装置与子网断开的状态或待命状态重新启动的时候,发生热启动。
图18示出了当把Net ID读出请求发送到默认路由器,并且在规定时间T2内接收到对于读出请求的响应消息时运行的序列。图19示出了当在规定时间T2内没有接收到对于读出请求的响应消息时,即,当没有响应时,运行的序列。
首先,说明图18中所示的基本热启动序列。图18中的消息(1)至(3)设定如下。
                        表2
  消息(1)  SNA:已经设置的本身网络地址DNA:默认路由器地址DOJ:路由器简表对象(0x0EF101)OPC:Net ID特性(0xE1)OSV:读出请求(0x62)
  消息(2)  单个响应消息SNA:具有设置到0x00的Net ID的路由器网络地址DNA:消息(1)中的SNA说明对于消息(1)的读出响应(SOJ=0x0EF101,OPC=0xE1,OSV=0x72,ODT=Net ID数据)
  消息(3)  DNA:域内广播(0x00FF)SOJ:节点简表对象(0x0EF001)OPC:实例改变类通知特性(0xD5)OSV:通知(0x73)
  T2  等待消息(2)超时。(60秒:设计指南)
参考图18,当从网络地址已经设置的待命状态将网络装置重新连接到子网时(S401),消息(1)发送到默认路由器,请求读出Net ID。如果在规定时间T2内从默认路由器接收到响应消息(2),那么网络装置检验响应消息(2)中的Net ID是否与装置存储的Net ID匹配(S402)。如果Net ID不匹配,那么运行冷启动序列。如果Net ID匹配,那么在整个域上广播消息(3),并且通知状态改变。
以下说明图19中所示的基本热启动序列。图19中消息(1)至(4)如下设置。
                     表3
消息(1) SNA:已经存储的本身网络地址DNA;默认路由器的地址DOJ:路由器简表对象(0x0EF101)OPC:Net ID特性(0xE1)OSV:读出请求(0x62)
消息(2) DNA:子网内广播其它值与消息(1)中的相同
消息(3) 单个响应消息SNA:路由器的网络地址DNA:消息(1)中的SNA说明对消息(1)的读出响应(SOJ=0x0EF101,OPC=0xE1,OSV=0x72,ODT=Net ID数据)
消息(4) DNA:域内广播(0x00FF)SOJ:节点简表对象(0x0EF001)OPC:实例改变类通知特性(0xD5)OSV:通知(0x73)
T2 等待Net ID读出响应超时如果在等待T2(60秒:设置指南)之后没有接收到消息(3),那么利用以前存储的Net ID开始操作。
参考图19,当从已经设置了网络地址的待命装置将网络装置重新连接到子网上时(S411),消息(1)发送到默认路由器,请求读出Net ID。然后,等待来自默认路由器的响应消息,如果在规定的时间T2内没有接收到响应消息,那么在子网上广播消息(2),以请求读出子网上的一个路由器的Net ID。如果在规定的时间T2内接收到对消息(2)的响应的消息(3),那么网络装置检验响应消息(3)中的Net ID是否与装置存储的Net ID匹配(S412)。如果Net ID不匹配,那么运行冷启动序列。如果Net ID匹配,或如果发送消息(2)之后的规定时间T2内没有接收到消息(3),那么在整个域上广播消息(4),并且通知状态改变。在这种情况下,利用存储的Net ID启动网络装置。
B.普通路由器的启动序列
本发明的这个实施例说明了如图7中所示的连接到一个网络的普通路由器R1的启动序列。这个普通路由器R1连接到子网A和子网B。父路由器Rp也是子网A的主路由器。普通路由器R1的构造如图3中所示。
B.1.普通路由器的冷启动的启动序列
以下首先说明普通路由器的冷启动序列。这个冷启动序列在第一次连接一个新路由器时,和在用一个不同路由器更换以前使用的路由器时运行。
对于路由器的新的连接,如果Net ID已经分配给新连接的路由器管理的两个或更多子网的每个子网,那么不必启动路由器功能,以便避免在消息通信过程中在域内形成环路。但是,对于路由器的更换,已经将NetID分配给所有连接的子网中的每一个。
普通路由器运行不同于连接的子网上的其它网络装置(普通节点)的启动序列的启动序列。当路由器新连接到子网时和当更换路由器时,允许普通路由器作为路由器正常操作的条件是不同的。以下说明这些不同的条件。
(1)当连接一个新路由器时的条件
1)要执行冷启动的(目标)路由器连接的所有子网上仅有一个主路由器。
2)至少一个连接到目标路由器的子网不具有另一个路由器和不具有分配的Net ID。
3)从父路由器可以获得新路由器的路由器数据(路由器ID和新连接的子网的Net ID)和所有路由器数据。
(2)当更换路由器时的条件
1)目标路由器连接的所有子网上仅有一个主路由器。
2)给目标路由器连接的所有子网中的每一个分配一个Net ID。
3)从父路由器可以获得路由器数据(路由器ID和新连接的子网的Net ID)和所有路由器数据。
                            表4
情况  检测的主路由器 与父路由器的通信 对连接的子网的Net ID的分配状态 处理过程
1  2或更多 * * 不作为路由器启动(禁止路由器功能)
2  0 * * 不作为路由器启动
3  1 不能 * 不作为路由器启动
4  1 能够 分配给所有子网 作为一个替代路由器启动
5  1 能够 不分配给一个 作为路由器启动(允许路由器功能)
*与启动序列无关的状态
在以下的表1中示出了当普通路由器可能进行冷启动时可能发生的各种情况。
图8是显示普通路由器的冷启动的启动序列的视图。参考图8,下面说明冷启动的启动序列。注意图8中的消息1至13定义如下。
                     表5
消息(1) SNA:本身网络地址的存储值DNA:子网内广播DOJ:路由器简表对象(0x0EF101)OPC:主路由器数据特性(0xE6)OSV:读出请求(0x62)
消息(3) SNA:具有0x00的Net ID的本身网络地址的存储值DNA:子网内广播DOJ:节点简表对象(0x0EF001)OPC:Net ID特性(0xE1)OSV:读出请求(0x63)
消息(5) DNA:主路由器
DOJ:路由器简表对象(0x0EF101)OPC:父路由器网络地址特性(0xE3)OSV:读出请求(0x62)
消息(7) SNA:子网A上的网络地址DNA:父路由器DOJ:路由器简表对象(0x0EF101)OPC:注册请求路由器特性(0xE5)OSV:写入请求(0x60)
消息(8) DOJ:路由器简表对象(0x0EF101)OPC:本身路由器数据特性(0xE0)OSV:写入请求(0x61)
消息(10) DOJ:路由器简表对象(0x0EF101)OPC:所有路由器数据特性(0xE4)OSV:写入请求(0x61)
消息(12) SNA:具有0x00的Net ID的子网B上的网络地址DNA:子网内广播(0x01FF)DOJ:节点简表对象(0x0EF001)OPC:Net ID特性(0xE1)OSV:写入请求(0x60)
消息(13) SNA:子网A一侧的子网A的网络地址,子网B一侧的子网B的网络地址DNA:域内广播DOJ:节点简表对象(0x0EF001)OPC:改变实例类通知特性(0xD5)OSV:报告请求(0x73)
消息(2),(4),(6),(9),(11) 分别是对于消息(1),(3),(5),(8)和(10)的响应
参考图8,目标路由器(新启动路由器)R1首先运行一个内部初始化过程,并且设置Node ID(步骤S101)。
当步骤S101完成时,子网ID码请求单元314a,314b在连接的子网A和B内广播消息(1)。消息(1)请求来自连接到子网A和B的所有路由器的主路由器数据。应当注意,路由器具有一个指示路由器是路由器连接的每个子网上的主路由器还是从属路由器的主路由器数据。主路由器数据包括在第一字节的主路由器标识符(主路由器是0x41,从属路由器是0x42),和在第二字节的Net ID。然后,连接到子网A和B的所有路由器响应消息(1)将消息(2)返回到目标路由器。然后,目标路由器R1的子网内通信处理器319a,319b接收响应消息(2),子网ID确认单元316a,316b确认接收的响应消息(2)中的主路由器数据(步骤S102)。通过确认接收的消息(2)可以确认一个主路由器(Rp)在子网A上。如果如此确认一个子网上有0或2或更多的路由器,那么运行将路由器作为普通网络装置启动而不启动路由器功能的启动序列。如果,发生这种情况,那么不完成图8中所示的序列的其余部分。
然后,目标路由器R1的子网ID码请求单元314b利用消息(3)对没有主路由器的子网B一侧上的所有装置请求Net ID。响应消息(3),连接到子网B的所有装置随后返回消息(4)。根据包含在接收的消息(4)中的Net ID,目标路由器R1的子网ID码确认单元316b能够识别子网B的构造(步骤S103)。从而,目标路由器R1确认Net ID的分配,如果Net ID分配给了所有子网,那么作为一个替换路由器启动。但是,如果即使有一个子网没有给分配Net ID,那么目标路由器R1作为一个新连接到至少一个子网的路由器启动。
然后,子网ID码确认单元316b将消息(5)发送到主路由器Rp,请求父路由器数据的读出。响应消息(5),返回消息(6)。应当注意,图8中的T3代表响应超时时间。因此,从消息(6)确认了父路由器Rp,然后,目标路由器R1的子网ID码报告单元315a将消息(7)发送到父路由器Rp。这个消息(7)请求父路由器Rp将目标路由器R1的地址写入(注册)到父路由器Rp中。然后,在消息(8)中将路由器数据写入请求从父路由器Rp发送到目标路由器R1,并且在消息(10)中发送所有路由器数据写入请求。然后,目标路由器R1返回对于消息(8)和(10)的响应消息(9)和(11)。应当注意,消息(7)不需要响应消息。
当这样完成了设置路由器信息时(步骤S104),子网ID码报告单元315b在子网B内广播消息(12),请求将Net ID写入到子网B中的每个节点。也发送消息(13),以将状态改变通知给子网A和B。
当这个启动序列结束时,目标路由器R1作为一个路由器开始操作(步骤S105)。
通过上述序列获得的Net ID、父路由器数据、和所有路由器数据分别存储到子网ID码存储单元313、父路由器数据存储单元312、和所有路由器数据存储单元311。
B.2.普通路由器热启动的启动序列
接下来,说明普通路由器的热启动序列。
例如,普通路由器的热启动序列在由于停电使得对整个域的电力中断之后电力恢复和路由器重新启动时运行。普通路由器何时热启动依赖于包括是否在子网上检测到一个主路由器在内的各种因素,但是,在下表中示出了主要的情况。在下面的A至E四个序列中示出了在这些情况的每一种中执行的特定操作。
应当注意,在热启动过程中路由器的路由选择功能被暂停,直到处理过程结束(即,正常操作恢复)。
                              表6
 情况  检测的主路由器 与父路由器的通信 主路由器数据 来自主路由器的所有路由器数据 连接的子网信息 处理过程
 1  2或更多 * * * * D
 2  0 * * * 相同 A
 3  0 * * * 不同(所有节点) E
 4  1 不能 相同 相同 相同 A
 5  1 不能 相同 相同 不同(所有节点) E
 6  1 不能 相同 不同 * E
 7  1 不能 不同 * * E
 8  1 能够 相同 * 相同 B
 9  1 能够 相同 * 不同(所有节点) C
 10  1 能够 不同 * * C
*与启动序列无关的状态
处理过程A:利用热启动前存储的数据启动。
处理过程B,C:请求父路由器提供路由器数据,然后利用来自父路由器的数据启动。
处理过程D:不启动路由器中的路由选择功能。
处理过程E:作为简单节点启动,并且禁止路由选择功能。
参考图9更充分地说明普通路由器的热启动序列。图9中所示的消息(1)至(15)如表4中所示那样设置。
                       表7
消息(1) SNA:每个子网的网络地址的存储值DNA:子网内广播DOJ:路由器简表对象(0x0EF101)OPC:主路由器数据特性(0xE6)OSV:读出请求(0x62)
消息(3) SNA:具有0x00的Net ID值的网络地址的存储值DNA:子网内广播DOJ:节点简表对象(0x0EF001)OPC:Net ID特性(0xE1)OSV:读出请求(0x62)
消息(5) DNA:主路由器DOJ:路由器简表对象(0x0EF101)OPC:父路由器网络地址特性(0xE3)OSV:读出请求(0x62)
消息(7) DNA:主路由器DOJ:路由器简表对象(0x0EF101)OPC:所有路由器数据特性(0xE4)OSV:读出请求(0x62)
消息(9) SNA:子网A上的网络地址DOJ:路由器简表对象(0x0EF101)OPC:注册请求路由器特性(0xE5)OSV:写入请求(0x60)
    消息(1O) DOJ:路由器简表对象(0x0EF101)OPC:本身路由器数据特性(0xE0)OSV:写入请求(0x61)
    消息(12) DOJ:路由器简表对象(0x0EF101)OPC:所有路由器数据特性(0xE4)OSV:写入请求(0x61)
    消息(14) SNA:子网B上的网络地址DNA:子网内广播(0x01FF)DOJ:节点简表对象(0x0EF001)OPC:Net ID特性(0xE1)OSV:写入请求(0x60)
    消息(15) SNA:具有0x00的Net ID的子网B上的网络地址DNA:域内广播DOJ:节点简表对象(0x0EF001)OPC:改变实例类通知特性(0xD5)OSV:报告请求(0x73)
    消息(2),(4),(6),(8),(11),(13) 分别是对消息(1),(3),(5),(7),(10),(12)的响应
参考图7和图9,例如,当停电产生的脱机状态结束,并且目标路由器R1重新连接到子网时,目标路由器R1的子网ID码请求单元314a,314b向路由器连接的子网A和B广播消息(1)。从而向子网A和B上的所有路由器请求返回主路由器数据。将响应请求消息(1)的消息(2)返回到目标路由器。然后,目标路由器R1的子网ID码确认单元316a,316b确认接收的响应消息(2)中的主路由器数据(步骤S202)。如果确认一个子网上具有2或更多个主路由器,那么禁止路由器的路由选择功能(即,不运行图9中所示的序列的其余部分)。
然后,目标路由器的子网ID码请求单元314b利用消息(3)将Net ID读出请求发送到没有发现主路由器(Rp)的子网上的所有节点,即,在本例中是子网B上的所有节点。然后从子网B上的所有装置返回一个对于消息(3)的响应消息(4)。根据包含在接收的响应消息(4)中的NetID,目标路由器R1的子网ID码确认单元316b能够确认(理解)子网的构造(步骤S203)。如果主路由器的数量是0并且存储的子网构造和确认的子网构造不同,那么不允许路由器的路由选择功能(即,不运行序列的其余部分)。如果主路由器的数量是0并且存储的子网构造和确认的子网构造相同,那么路由器利用存储的信息操作(即,不运行序列的其余部分)。
然后,子网ID码请求单元314a要求主路由器Rp通过发送消息(5)来发送父路由器数据。然后,响应消息(5)返回消息(6)。
然后,子网ID码请求单元314a在消息(7)中向主路由器Rp发送读出请求。响应消息(7)返回消息(8)。根据响应消息(8),子网ID码请求单元314a确认所有路由器数据(步骤S204)。如果没有父路由器,那么从主路由器检索所有路由器数据。如果检索的数据、存储在目标路由器中的数据和步骤S203中检测的子网构造匹配,那么路由器利用存储的路由器数据操作(不运行处理过程的其余部分)。如果构造不匹配,那么不允许路由选择功能(不运行序列的其余部分)。
然后,在消息(9)中将目标路由器R1地址写入(注册)请求发送到父路由器Rp。然后,父路由器Rp发送路由器数据写入请求的消息(10)和所有路由器数据写入请求的消息(12)。响应消息(10)和(12)分别返回响应消息(11)和(13)。
当设置路由器数据完成(步骤S205)时,子网ID码请求单元314b在子网B上广播消息(14),向子网B中的每个装置请求写入Net ID。也将消息(15)发送到子网A和B,以通知状态改变。当这个启动序列结束时,目标路由器R1开始作为一个路由器的正常操作(步骤S206)。
将通过上述序列获得的Net ID、父路由器数据、和所有路由器数据分别存储到子网ID码存储单元313、父路由器数据存储单元312、和所有路由器数据存储单元311。
第五实施例
在第三实施例的说明中,如果目的地是本身,当接收的消息的跳跃计数是0并且源Net ID是0x00时,网络装置接收并且不毁掉消息。作为选择,即使源的Met ID与路由器本身的Net ID不匹配,路由器也接收并且响应请求路由器数据的消息。在该实施例中,从属路由器部分的Net ID是0x00,但是,它是一个临时Net ID,直到在它作为路由器启动之后,父路由器分配一个正确的ID并且被设置为除0x00之外的值。因此,可能发生以下问题。
参考图2所示的网络,当装置23a新连接到子网C23时,或当装置23a是一个移动到子网C范围的具有无线联网能力的便携装置的时候,装置23a正常地获得子网C内唯一的Node ID,然后获得子网C的Net ID。如果由于某种原因不能获得Net ID,那么使用0x00之类的临时Net ID。从而,在网络域中可能同时存在多个带有0x00的临时Net ID的装置节点。
例如,如果装置23a随后发送或广播一个带有设置到不是子网(C)的子网A或B的Net ID的目的网络地址DNA的消息,当路由器32将消息路由到不是子网C的子网时,子网上A的装置21b或路由器31将接收到一个不正常地处理的消息,并且可能运行一个不需要的处理过程。
更具体地讲,如果接收的消息需要响应,当路由器31发送一个响应消息时,子网A上的不应当接收响应的装置21b会接收到这个响应消息,因为如上所述,响应中的目的网络地址DNA被设置到0x00。这致使装置21b进行不需要的处理。
子网A上的从源节点装置23a接收到某种消息的路由器31或装置21a也可能确定消息来自同一子网A上的装置21b。在这种情况下,发生系统错误的可能性很大。当路由器或装置不具有监视跳跃计数和根据跳跃计数确定适当的处理过程的功能时,或如果这种功能被禁止时,特别可能发生这种情况。
可以使用以下的三种方法避免上述问题。
(1)在第一种方法中,当接收到具有设置到一个不同子网的DNA和设置到0x00的SNA的Net ID的消息(包括广播和域内广播)时,路由器不将消息路由选择到同一子网的外部;
(2)在第二种方法中,接收节点、接收装置、或接收路由器监视具有设置到0x00的SNA的消息的跳跃计数,并毁掉跳跃计数不是0的消息,即,来自一个不同子网的消息;和
(3)在第三种方法中,任何具有0x00的Net ID的装置不发布要发送到一个不同子网的消息。
当把不具有跳跃计数监视功能的装置连接到子网时,方法(1)和(3)有效。
上述方法(1)可以通过执行以下过程实现。确定接收的消息的SNA是否是0x00,并且确定NDA是否是一个不是路由器的Net ID的Net ID。此外,确定接收的消息的SNA是否是0x00,并且确定广播标识符是否代表一个域内广播。如果任何一个确定结果是“YES”,由于这意味着接收的消息满足上述条件,那么根据确定结果不进行路由接收的消息。应当注意,停止路由选择消息与路由器毁掉消息一样。
通过执行以下过程可以实现方法(2)。首先,确定接收的消息的SNA是否是0x00,广播标识符是否代表域内广播,和跳跃计数是否是1或更高。如果任何一个确定结果是“YES”,那么意味着接收的消息满足上述条件。因此,将消息毁掉。
通过执行以下过程可以实现方法(3)。如前面已经说明的那样,当装置的Net ID是0x00时,装置发布消息以请求重置Net ID,接收来自同一子网上的路由器或其它装置的Net ID,并且在一个预定时间内,不发布将DNA设置到一个不同Net ID的消息以及不广播信息。(如果广播了消息,那么必须利用方法(1)和(2)处理它。)
第六实施例
前面的实施例使用了指示消息的内容类型的对象特性码OPC作为有关路由器的消息的特性(见图6B)。以下说明用于确定这种对象特性码OPC的一个示例方法。以下说明每种特性,包括:特性名称,特性码,特性内容,和表示值、数据类型、数据长度、存取规则、特性是否是必要的信息、特性改变时通知的方法,等等。应当注意,在下面通过示例的方式示出了代码的值。
[操作状态特性]
OPC=0x80时,操作状态特性指示“Net ID服务器功能的操作状态”或“路由器功能的操作状态”。0x30指示活动的,0x31指示停止的。数据类型是UC(无符号字符),长度是1字节,存取规则是Set/Get。在这里“Set”代表写入特性值,而“Get”代表读出特性值。当状态改变时,必须通知或报告这个特性。
当节点具有Net ID服务器功能或路由器功能时,这个简表类存在。这个特性指示Net ID服务器功能或路由器功能是否是活动的(即,节点是否在发挥路由器功能)。
[异常内容特性]
当OPC是0x89时,这个特性指示“异常内容”。它采用0x0000至0x000F(0至15)的值,数据类型是US,长度是2字节,存取规则是“Get”。这个特性不是必要的,并且状态改变的通知不是必要的。这个特性的值具有如下意义。
0x0000代表“非异常”。0x0001代表“无父路由器”(即,没有Net ID分配给任何连接的子网,并且没有父路由器)。0x0002代表“从父路由器检索数据失败”(即,在域中检测到Net ID服务器功能,但是不能从Net ID服务器功能检索到路由器数据和所有路由器数据)。0x0003代表“子网通信错误”(不能在两个或更多的连接到本身的子网中的一个上通信)。0x0004至0x000F代表“可用于用户”。0x0010至0xFFFF代表“为将来使用保留”。
[本身路由器数据特性]
当OPC是0xE0时,特性代表“一个本身路由器数据”。第一字节指示“路由器属性”,第二字节指示“本身路由器ID”(默认=0x00),第三字节指示“连接的子网数量”,第四字节和其后的字节指示EA数据(子网的网络地址(例如,Echonet),对于连接的子网数量每两个字节指示一个子网的网络地址)。数据类型是UC,长度最大是17字节,存取规则是Set/Get。在这个特性中,第一字节指示“路由器属性”,这个代码指示的属性是由Net ID服务器功能、路由器功能、和自动路由器数据设置功能存在与否确定的。
凭借上述启动序列,路由器也能自动地获得发挥路由器功能所需的数据,但是在办公建筑物和其它非住宅设施中,当唯一子网地址在整个域上都得到保证时,可能不遵循上述启动序列。自动路由器信息设置功能的存在指示存在允许上述启动序列的功能,而不存在这个功能指示一个不遵循上述启动序列的路由器。
第一字节中的比特序列的意义如下。比特b0指示Net ID服务器功能的存在与否(1=是;0=否),比特b1指示路由器功能的存在与否(1=是;0=否)。比特b2指示自动路由器信息设置功能存在与否(1=是;0=否)。比特b3,b4,b5,b6和b7是00010。比特b0=b1=1决不会出现。当比特b0是0并且比特b1是1时,它代表一个普通路由器,而当比特b0是1时,它代表一个父路由器。
第二比特中指示的本身路由器ID是域中每个路由器的唯一的值,并且在自动设置时由父路由器唯一地确定。
第三字节中指示的连接子网的数量最大是7。对于与八个或更多子网连接的路由器,可以通过在未来改变路由器属性处理。第四和其后字节存储连接的子网数量的网络地址数据。
[Net ID特性]
当OPC是0xE1时,这个特性指示Net ID的一个字节。默认是0x00。数据类型是UC,长度是1字节,存取规则是Set/Get。这个特性是必要的。当状态改变时的通知是不必要的。
这个特性存储在路由器启动序列中从主路由器或父路由器获得的NetID。由于路由器连接多个子网,所以对于每个子网有一个唯一的路由器简表对象。这个特性的可知的值对于每个子网都是不同的。
[路由器ID特性]
当OPC是0xE2时,这个特性指示路由器ID的一个字节。默认是0x00。数据类型是UC,长度是1字节,存取规则是Set/Get。父路由器分配路由器ID作为唯一地识别路由器的标识符。所有路由器ID由父路由器管理。
[父路由器数据特性]
当OPC是0xE3时,这个特性指示父路由器的网络地址(以下称为EA)。默认是0x0000(没有父路由器数据)。数据类型是UC,长度是2字节,存取规则是Set/Get。这个特性是必要的。当状态改变时不必通知。
[所有路由器数据特性]
当OPC是0xE4时,这个特性指示域中的所有路由器数据。数据类型是UC,长度最大是246字节,存取规则是Set/Get。这个特性是必要的。当状态改变时,不必通知。
[路由器注册请求数据特性]
当OPC是0xE5时,这个特性指示路由器注册请求数据。第一字节指示“路由器属性”。第二字节指示“本身路由器ID(默认=0x00)”。第三字节指示连接的子网数量。第四和其后的字节包含EA数据(子网的网络地址(例如,Echonet),对于连接的子网数量,每两个字节指示一个网络地址)。数据类型是UC。长度最大是17字节。存取规则仅是Set。这个特性是必要的。当状态改变时,不必通知。
这个特性对于任何具有Net ID服务器功能的节点都是必要的。在路由器启动序列中,通过把普通路由器中每个节点的网络地址(所有EA数据)写入到这个特性,普通路由器将其本身的网络地址(EA)数据通知给具有Net ID服务器功能的节点。在路由器启动序列过程中,具有Net ID服务器功能的节点根据普通路由器在这个特性中的请求内容,执行对本身路由器数据特性和普通路由器的路由器简表的所有路由器数据特性的写入请求。
[主路由器数据特性]
当OPC是0xE6时,这个特性指示主路由器数据。第一字节指示主路由器标识符(主路由器是0x41,从属路由器是0x42)。第二字节指示NetID数据。数据类型是UC。长度是2字节。存取规则是Get。在普通路由器的启动序列中使用这个特性。由于路由器连接到多个子网,所以每个子网具有一个唯一的路由器简表对象。对于每个子网,这个特性的可知值是不同的。如果状态改变时的通知是必要的,那么当执行特性时总要处理之。如果一个单一路由器内具有多个节点,那么为每个节点定义上述简表类,但是,存储不是0x0E的Net ID的所有特性的专用于路由器的共同值。
上述路由器简表类中的特性带有0xE1的类组代码,0xF1的类代码,和0x01的实例代码。
以下详细说明路由器简表类处理过程规定。
应当注意,以下将上面使用的OPC和ODT分别表示为EPC和EDT。
关于路由器简表类,具有多个节点但是没有路由器功能的通信装置没有路由器简表类。普通节点需要这种约定。
如果节点具有Net ID服务器功能或路由器功能,那么必须提供这个类。在普通路由器和父路由器中,这种约定也是必要的。
如果一个单一装置具有多个节点,那么在发挥路由器功能的装置中的每个节点的路由器简表类中提供这个特性,存储除Net ID(EPC=0xE1)和主路由器数据(EPC=0xE6)之外的特性的共同值。在普通路由器和父路由器中,这种约定也是必要的。
应当提供路由器简表类中定义的必要特性。在普通路由器和父路由器中也需要这种约定。
应当将以下每个特性的存取规则设置到Get(可以从其它节点引用的特性,即,ESV=0x62或0x63),所述特性包括:操作状态(EPC=0x80),本身路由器数据(EPC=0xE0),Net ID(EPC=0xE1),路由器ID(EPC=0xE2),父路由器数据(EPC=0xE3),所有路由器数据(EPC=0xE4),主路由器数据(EPC=0xE6)。在普通路由器和父路由器中,这种约定也是需要的。
[操作状态特性]
操作状态特性(EPC=0x80)意味着在状态改变时,向域广播的一个状态改变通知。在普通路由器和父路由器中需要这种约定。这种特性指示Net ID服务器功能或路由器功能是否是活动的,其中0x30代表活动的,而0x31代表停止的。在普通路由器和父路由器中这种约定是必要的。
[异常内容特性]
在这个特性中,不将范围0x0004至0x000F,和范围0x0010至0xFFFF中的值设置为异常内容(EPC=0x89)的特性值(EDT)。在路由器和父路由器中这种约定是必要的。在这个特性中,当内容不是异常的时候设置0x0000,当不能检测到父路由器时设置0x0001,当从父路由器检索数据失败时设置0x0002,和当不能在连接到路由器的一个子网上建立通信时设置0x0003。
[本身路由器数据特性]
在这个特性中,第一字节指示路由器属性,第二字节指示本身路由器ID,第三字节指示连接的子网数量,第四字节和其后的字节包含存储在本身中的所有EA(连接的数量的子网的EA)。
如果提供了Net ID服务器功能,那么,只要Net ID服务器功能操作,都将第一字节的比特b0设置为1。如果没有提供Net ID服务器功能,那么将第一字节的比特b1设置到0。
在这个特性中,当Net ID服务器和路由器具有路由器功能时,将第一字节的比特b1设置到1。
如果没有启动序列功能,那么将这个特性中的第一字节的比特b2设置到0。如果有启动序列功能,那么将第一字节的比特b2设置到1。
这个特性规定普通路由器应当不发挥作为路由器的功能,除非父路由器将不是0x00的值设置到第二字节中的本身路由器ID。
第三字节中的连接的子网的数量,在本特性中应当是一个7或更小的值。
[Net ID特性]
对于这个特性,当Net ID服务器功能开始时,在Net ID服务器中设置一个除0x00之外的值。
对于这个特性,在普通路由器中设置从Net ID服务器或主路日器获得的值。
这个特性能够知道的每个子网的值是不同的(响应读出请求返回一个专用于子网的值)。
对于这个特性,普通路由器的从属侧将不从一个不是主路由器的路由器接受Set。
这个特性要求,如果在正常操作期间从主路由器接收到将一个与已经存储的Net ID不同的值写入这个特性的请求,那么装置暂停,然后热启动或冷启动。
这个特性要求,不接受在正常操作期间将一个与已经存储的Net ID不同的值写入这个特性的请求。
利用这个特性,在路由器功能或Net ID服务器功能停止时,不接受Set或Get(即,从外部不可见),并且从特性映像表除去这个特性。
[路由器ID特性]
在这个特性中,普通路由器在启动序列期间父路由器写入的本身路由器数据中设置第二字节的值,并且不接受外部写入请求。
当作为一个Net ID服务器启动时,Net ID服务器(父路由器)自己设置这个特性。不接受对这个特性的外部写入请求。
[路由器注册请求数据特性]
这个特性仅在Net ID服务器中使用。(不将它用于普通路由,并且如果一个路由器作为一个普通路由器启动,那么即使它具有Net ID功能,这个特性也不可用。)
当有对这个特性的写入请求时,Net ID服务器对从其接收到注册请求的路由器运行启动处理过程(如果它能够作为路由器启动,那么执行对路由器简表中的本身路由器数据特性和所有路由器数据特性的写入请求)。
[父路由器数据特性]
普通路由器的从属侧通过从主路由器获得值而设置这个特性。由于这个特性,不接受来自其它路由器的写入请求。
对于这个特性,普通路由器(从属侧)和Net ID服务器保持默认值0x0000,直到普通路由器(从属侧)和Net ID服务器分别作为普通路由器和Net ID服务器启动。父路由器(Net ID服务器)将其本身的网络地址的值设置到这个特性。由于这个特性,不接受来自除主路由器或父路由器之外的写入请求。
[所有路由器数据特性]
通过来自主路由器或父路由器的写入请求,将这个特性设置在普通路由器中(从属侧)。不接受来自除主路由器或父路由器之外的写入请求。
当Net ID服务器检测到域构造改变时(例如,添加或重置一个新普通路由器),它把有关所有普通路由器的所有路由器数据特性的信息写在域中。
[主路由器数据特性]
这个特性指示在一个打开路由器简表类的子网上允许路由器功能的路由器是否是一个主路由器。当该路由器是主路由器时,这个特性设置到0x41,而当它是一个从属路由器时,这个特性设置到0x42。
利用这个特性,路由器可以根据父路由器设置的本身路由器数据,内部地设置主路由器数据(在父路由器的情况下,通过它本身内部地设置),并且对于其它装置是只读的。
从以上说明可以知道,当整个网络系统被重置,或仅有一个特定的路由器被重置或更换时,本发明使得能够没有错误地与系统的部分或全部通信,从而使得系统或路由器能够在短时间中重新启动。
此外,当整个网络系统被重置,或仅有一个特定的路由器被重置或更换时,可以自动地恢复路由器被更换之前使用中的状态,并且便利了系统管理,而不需要重置用于管理网络化装置的控制器或其它装置所知的信息。
尽管已经参考附图结合优选实施例说明了本发明,但是应当注意,本领域的技术人员知道各种不同的改变和修改。这些改变和修改应当理解为包括在所附权利要求定义的本发明的范围内,除非它们偏离了这个范围。
本说明涉及包含在2002年1月15日申请的日本专利申请2002-006497、2002年2月5日申请的日本专利申请2002-028342、2002年2月21日申请的日本专利申请2002-044765、和2002年9月18日申请的日本专利申请2002-270846中的技术主题,这些专利申请的全部内容特意地结合在这里作为参考。

Claims (7)

1.一种与多个网络相连的第一路由装置(R1)的启动方法,所述多个网络与多个第二路由装置(Rp,R2,R3)相连,其特征在于:
每个路由装置(Rp,R1,R2,R3)存储主路由器数据(47,48)和网络标识数据(43,45),所述主路由器数据向父路由器(Rp)指示所述路由装置是位于路径上的主路由器,还是除主路由器之外作为路由装置的从路由器,所述父路由器(Rp)分配用于标识网络(A,B)的网络标识数据(43,45),所述网络标识数据(43,45)标识路由装置所连接的网络,
所述第一路由装置(R1)从所述第二路由装置(Rp,R2,R3)请求所述第一路由装置(R1)相连的网络(A,B)上的主路由器数据,
当响应所述第一路由装置(R1)的请求,根据所获取的从所述第二路由装置(Rp,R2,R3)发送的主路由器数据(48),确定在所述第一路由装置(R1)相连的网络(A,B)上检测到的主路由器的数量是0,或2,或更大时,禁止所述第一路由装置(R1)的路由器功能。
2.根据权利要求1所述的方法,其中当接收到与针对所述路由装置的属性的请求有关的数据时,即使跳数为0,和所接收数据的源的网络标识数据与所述第二路由装置中存储的第二路由装置的网络标识数据不同,所述第二路由装置返回一个响应。
3.根据权利要求1所述的方法,其中当连接到网络的通信装置存储用于标识所述通信装置所连接的网络的网络标识数据时,所述方法进一步包括向连接到与所述第一路由装置相连的所有网络的通信装置发送读出网络标识数据的请求,和当所述第一路由装置相连的网络的配置与所述第一路由装置自身中存储的网络的配置不同时,禁止所述第一路由装置的路由器功能。
4.根据权利要求1至3中的任何一项所述的方法,进一步包括向存储用于指示主路由器的主路由器数据的所述第二路由装置发送用于读出与所述父路由器有关的信息的请求。
5.根据权利要求1至3中的任何一项所述的方法,其中只有所述主路由器请求向除所述路由装置之外的通信装置写入网络标识数据,所述主路由器只接受来自所述父路由器的写入网络标识数据的请求,所述父路由器不接受写入网络标识数据的请求。
6.根据权利要求4所述的方法,其中只有所述主路由器请求向除所述路由装置之外的通信装置写入网络标识数据,所述主路由器只接受来自所述父路由器的写入网络标识数据的请求,所述父路由器不接受写入网络标识数据的请求。
7.一种连接多个网络(A,B)的第一路由装置(R1),所述多个网络上连接了多个第二路由装置(Rp,R2,R3),其特征在于:
每个路由装置存储主路由器数据(47,48)和网络标识数据(43,45),所述主路由器数据向父路由器(Rp)指示所述路由装置是位于路径上的主路由器,还是除主路由器之外作为路由装置的从路由器,所述父路由器(Rp)分配用于标识网络的网络标识数据(43,45),所述网络标识数据(43,45)标识所述路由装置所连接的网络,和
所述第一路由装置(R1)包括:
用于从所述第二路由装置(Rp,R2,R3)请求所述第一路由装置(R1)相连的网络(A,B)上的主路由器数据(47,48)的部分,和
当响应所述第一路由装置(R1)的请求,根据所获取的从所述第二路由装置(Rp,R2,R3)发送的主路由器数据(48),确定在所述第一路由装置(R1)相连的网络(A,B)上检测到的主路由器的数量是0,或2,或更大时,禁止所述第一路由装置(R1)的路由器功能的部分。
CNB038022427A 2002-01-15 2003-01-15 路由选择装置及其启动方法 Expired - Fee Related CN1326367C (zh)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
JP2002006497 2002-01-15
JP006497/2002 2002-01-15
JP2002028342 2002-02-05
JP028342/2002 2002-02-05
JP2002044765 2002-02-21
JP044765/2002 2002-02-21
JP2002270846 2002-09-18
JP270846/2002 2002-09-18

Publications (2)

Publication Number Publication Date
CN1615610A CN1615610A (zh) 2005-05-11
CN1326367C true CN1326367C (zh) 2007-07-11

Family

ID=27739267

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB038022427A Expired - Fee Related CN1326367C (zh) 2002-01-15 2003-01-15 路由选择装置及其启动方法

Country Status (8)

Country Link
US (1) US7707306B2 (zh)
EP (1) EP1468526B1 (zh)
JP (1) JP4065434B2 (zh)
KR (1) KR20040069216A (zh)
CN (1) CN1326367C (zh)
AU (1) AU2003202801A1 (zh)
DE (1) DE60313948D1 (zh)
WO (1) WO2003067813A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104753702A (zh) * 2013-12-27 2015-07-01 华为技术有限公司 一种集群系统中的集群处理方法、装置及系统

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200428819A (en) * 2003-05-21 2004-12-16 Matsushita Electric Ind Co Ltd Network system
GB0411991D0 (en) * 2004-05-28 2004-06-30 New Transducers Ltd Communication network for servo systems and the like
US7852822B2 (en) * 2004-12-22 2010-12-14 Qualcomm Incorporated Wide area and local network ID transmission for communication systems
JP4900891B2 (ja) * 2005-04-27 2012-03-21 キヤノン株式会社 通信装置及び通信方法
JP4250611B2 (ja) 2005-04-27 2009-04-08 キヤノン株式会社 通信装置、通信パラメータ設定方法及び通信方法
US20070239879A1 (en) * 2006-04-10 2007-10-11 Sbc Knowledge Ventures, L.P. Method and apparatus for router recovery
US8239569B2 (en) * 2006-05-01 2012-08-07 Cisco Technology, Inc. OSPF optimization for hub and spoke environment
US7715309B2 (en) * 2006-05-24 2010-05-11 At&T Intellectual Property I, L.P. Method and apparatus for reliable communications in a packet network
JP4886463B2 (ja) 2006-10-20 2012-02-29 キヤノン株式会社 通信パラメータ設定方法、通信装置及び通信パラメータを管理する管理装置
TWI330025B (en) * 2006-11-17 2010-09-01 Ind Tech Res Inst Multi-service method over heterogeneous network
KR100860620B1 (ko) 2007-04-04 2008-09-26 삼성전자주식회사 하이브리드 방식의 채널 할당 방법 및 그 방법을 수행하는라우터
US8326977B2 (en) * 2008-07-16 2012-12-04 Fujitsu Limited Recording medium storing system analyzing program, system analyzing apparatus, and system analyzing method
US20100017486A1 (en) * 2008-07-16 2010-01-21 Fujitsu Limited System analyzing program, system analyzing apparatus, and system analyzing method
US20110289210A1 (en) * 2009-01-29 2011-11-24 Kelley Keith L Connecting ports of one or more electronic devices to different subsets of networks based on different operating modes
CN103222236B (zh) * 2011-01-25 2017-07-14 阿拉克斯拉网络株式会社 网络中继系统和通信装置
CN102263693B (zh) * 2011-07-20 2017-10-10 中兴通讯股份有限公司 一种路由表管理方法及系统
WO2012162953A1 (zh) * 2011-08-19 2012-12-06 华为技术有限公司 一种路由器集群的板间通信方法、路由器和路由器集群
TW201421232A (zh) * 2012-11-19 2014-06-01 Ibm 在一冗餘群組中實施故障備援的方法、裝置與電腦程式產品
US9338055B2 (en) * 2013-03-15 2016-05-10 Cisco Technology, Inc. Virtual router upgrade via graceful restart
US9614770B2 (en) * 2014-07-21 2017-04-04 Cisco Technology, Inc. Network traffic control during limited power situations
US9785509B2 (en) 2014-11-07 2017-10-10 Cisco Technology, Inc. Phased network formation for power restoration
US9535792B2 (en) 2014-11-20 2017-01-03 Dell Products, Lp System and method for policy based management of a communication device configuration persistence
CN105530129B (zh) * 2015-12-11 2020-07-10 小米科技有限责任公司 路由器重置方法及装置
CN105407006A (zh) * 2015-12-11 2016-03-16 小米科技有限责任公司 网络信息配置方法和装置、路由器
US11165866B2 (en) * 2018-01-09 2021-11-02 Stel Life, Inc. Secure wireless communication platform
CN108429654A (zh) * 2018-02-26 2018-08-21 上海康斐信息技术有限公司 一种便于路由器进行功能检测的方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052736A (en) * 1997-03-31 2000-04-18 International Business Machines Corp. Adaptive message routing in a multiple network environment with a master router
EP1039725A2 (en) * 1999-02-22 2000-09-27 Hitachi, Ltd. Communication apparatus and remote control method
EP1115263A1 (en) * 1999-07-13 2001-07-11 Matsushita Electric Industrial Co., Ltd. Household appliance control network system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5150464A (en) * 1990-06-06 1992-09-22 Apple Computer, Inc. Local area network device startup process
US5615127A (en) * 1994-11-30 1997-03-25 International Business Machines Corporation Parallel execution of a complex task partitioned into a plurality of entities
US5572528A (en) * 1995-03-20 1996-11-05 Novell, Inc. Mobile networking method and apparatus
US5751971A (en) * 1995-07-12 1998-05-12 Cabletron Systems, Inc. Internet protocol (IP) work group routing
JP3603524B2 (ja) * 1997-02-05 2004-12-22 株式会社日立製作所 ネットワーキング方法
JP3286584B2 (ja) * 1997-11-20 2002-05-27 株式会社日立製作所 多重化ルータ装置
US6751191B1 (en) * 1999-06-29 2004-06-15 Cisco Technology, Inc. Load sharing and redundancy scheme
US6658481B1 (en) * 2000-04-06 2003-12-02 International Business Machines Corporation Router uses a single hierarchy independent routing table that includes a flag to look-up a series of next hop routers for routing packets
US7126944B2 (en) * 2001-07-05 2006-10-24 Intel Corporation Routing packets across multiple forwarding elements
US6950427B1 (en) * 2001-08-09 2005-09-27 Cisco Technology, Inc. Technique for resynchronizing LSDB in OSPF after a software reload in a non-stop forwarding intermediate node of a computer network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052736A (en) * 1997-03-31 2000-04-18 International Business Machines Corp. Adaptive message routing in a multiple network environment with a master router
EP1039725A2 (en) * 1999-02-22 2000-09-27 Hitachi, Ltd. Communication apparatus and remote control method
EP1115263A1 (en) * 1999-07-13 2001-07-11 Matsushita Electric Industrial Co., Ltd. Household appliance control network system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
System and Application Management in a Home Network Simon Garrett,Proceedings of the International Conference on Consumer Electronics,Vol.10 1991 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104753702A (zh) * 2013-12-27 2015-07-01 华为技术有限公司 一种集群系统中的集群处理方法、装置及系统
US9792238B2 (en) 2013-12-27 2017-10-17 Huawei Technologies Co., Ltd. Method and apparatus for configuring a cluster system, and system
CN104753702B (zh) * 2013-12-27 2018-11-20 华为技术有限公司 一种集群系统中的集群处理方法、装置及系统

Also Published As

Publication number Publication date
JP2005517350A (ja) 2005-06-09
EP1468526A2 (en) 2004-10-20
JP4065434B2 (ja) 2008-03-26
AU2003202801A8 (en) 2003-09-02
KR20040069216A (ko) 2004-08-04
CN1615610A (zh) 2005-05-11
US20050102384A1 (en) 2005-05-12
WO2003067813A3 (en) 2004-04-15
WO2003067813A2 (en) 2003-08-14
US7707306B2 (en) 2010-04-27
AU2003202801A1 (en) 2003-09-02
EP1468526B1 (en) 2007-05-23
DE60313948D1 (de) 2007-07-05

Similar Documents

Publication Publication Date Title
CN1326367C (zh) 路由选择装置及其启动方法
CN108432282B (zh) 用于通过无线通信管理电子装置的方法和设备
US7096011B2 (en) Electronic apparatus and service providing method used in the electronic apparatus
US7624290B2 (en) Power-save control for network master device
CN100450053C (zh) 检测移动特设网络环境中的重复ip地址的装置和方法
US7129823B2 (en) Communications setting method and communications setting system for power line communications system
US6246696B1 (en) Method of controlling a communication and apparatus for the same
EP0439331A2 (en) Multi-nodal communication network with coordinated responsibility for global functions by nodes
US20030235158A1 (en) Protocol for a self-organizing network using a logical spanning tree backbone
CN103973831A (zh) 网络地址管理和功能对象发现系统
KR20020080788A (ko) 홈네트워크내의 기기에 서비스를 제공하는 시스템과 그방법 및 홈네트워크에서 서비스를 제공받는 시스템과 그방법
CN101529398B (zh) 网络系统
JP2008172570A (ja) ホームネットワークシステム
JP4792964B2 (ja) 位置情報システム
CN101147139B (zh) 识别信息自动生成装置、信息存储系统以及信息存储系统的信息获取方法
JP2000101578A (ja) 無線ネットワークシステム
JP2000312211A (ja) 通信装置
JP4635523B2 (ja) 位置情報システム及びそのシステムで用いられる機器、集線装置、並びに機器管理装置
JP2007174404A (ja) 位置情報システム
JP2000013384A (ja) ネットワーク端末登録システム
JP2001103082A (ja) ネットワーク構成自動認識方式
US7394360B2 (en) Method for commissioning radio-based emergency alarm systems
JP3432449B2 (ja) 通信制御装置及びその方法
US6947872B2 (en) Remote maintenance repeater and internetwork connector
JP2743879B2 (ja) ローカルエリアネットワーク制御装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MATSUSHITA ELECTRIC (AMERICA) INTELLECTUAL PROPERT

Free format text: FORMER OWNER: MATSUSHITA ELECTRIC INDUSTRIAL CO, LTD.

Effective date: 20140919

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20140919

Address after: California, USA

Patentee after: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AMERICA

Address before: Osaka Japan

Patentee before: Matsushita Electric Industrial Co.,Ltd.

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160606

Address after: Delaware

Patentee after: INTERDIGITAL PATENT HOLDINGS, Inc.

Address before: California, USA

Patentee before: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AMERICA

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070711

Termination date: 20190115

CF01 Termination of patent right due to non-payment of annual fee