一种自动发现和添加设备的系统和方法
【专利摘要】本发明提供一种自动发现和添加设备的系统和方法,其中,该方法包括:主控设备发送组播探测报文;从属设备接收探测报文,并发送回应该探测报文的组播应答报文;主控设备在接收应答报文后,根据该应答报文判断所述从属设备的IP地址与自身的IP地址是否在同一网段,若是,则将所述从属设备的IP地址添加到预设的控制列表中,若否,则发送组播修改报文;从属设备接收修改报文,当所述修改报文中的MAC地址是自身MAC地址时,根据该修改报文将原IP地址修改为新IP地址。本发明提供的技术方案可以有效避免在跨网段的情况下,主控设备无法发现从属设备的问题。
【专利说明】一种自动发现和添加设备的系统和方法
【技术领域】
[0001]本发明涉及网络【技术领域】,尤其涉及一种自动发现和添加设备的系统和方法。
【背景技术】
[0002]现在网络技术的发展越来越迅速,为了有效利用网络资源,少数主控设备与大量从属设备配合使用的组网模式被广泛应用。一般情况下,通常是由主控设备通过网络来发现从属设备,然后将从属设备的IP地址添加到控制列表中,从而实现对从属设备进行控制管理。以视频监控技术为例,网络摄像机(IPC)与网络视频录像机(NVR)的监控组网就属于上述模式。在实际应用过程中,需施工人员对网络有一定的使用经验,当NVR通过私有协议或者标准协议发现IPC后,可以手工修改IPC的IP地址,并添加到NVR的控制列表中,这种添加IPC到NVR控制列表的方法对施工人员的要求较高。而且当IPC与NVR不在同一网段时,NVR就无法发现IPC,也就无法管理IPC。
【发明内容】
[0003]有鉴于此,本发明提供一种自动发现和添加网络设备的网络系统,该系统包括主控设备和从属设备,所述主控设备与所述从属设备在同一组播组中,其中:
[0004]所述主控设备,用于发送组播探测报文,并在接收从属设备回应所述探测报文的应答报文后,根据该应答报文判断所述从属设备的IP地址与自身的IP地址是否在在同一网段,若是,则将所述从属设备的IP地址添加到预设的控制列表中,若否,则发送组播修改报文;其中,所述修改报文包括从属设备的MAC地址和新IP地址,且新IP地址与所述主控设备的IP地址在同一网段中;
[0005]所述从属设备,用于接收主控设备发送的探测报文,并发送回应该探测报文的组播应答报文,并接收主控设备发送的修改报文,当所述修改报文中的MAC地址是自身MAC地址时,根据该修改报文将自身原IP地址修改为新IP地址。
[0006]本发明还提供一种自动发现和添加设备的方法,所述方法包括:
[0007]步骤A,主控设备发送组播探测报文;
[0008]步骤B,从属设备接收探测报文,并发送回应该探测报文的组播应答报文;
[0009]步骤C,主控设备在接收应答报文后,根据该应答报文判断所述从属设备的IP地址与自身的IP地址是否在同一网段,若是,则将所述从属设备的IP地址添加到预设的控制列表中,若否,则发送组播修改报文;其中,所述修改报文包括从属设备的MAC地址和新IP地址,且新IP地址与所述主控设备的IP地址在同一网段中;
[0010]步骤D,从属设备接收修改报文,当所述修改报文中的MAC地址是自身MAC地址时,根据该修改报文将原IP地址修改为IP地址。
[0011]本发明提供的技术方案中,从属设备通过发送组播应答报文回应主控设备发送的探测报文,然后主控设备通过发送组播修改报文对从属设备的IP地址进行修改,使该从属设备的IP地址与主控设备的IP地址在同一网段中,进而克服了在跨网段的情况下,主控设备无法发现从属设备的问题。
【专利附图】
【附图说明】
[0012]图1是本发明提供的一种典型系统结构示意图。
[0013]图2是本发明提供的一种实施方式中的处理流程示意图。
[0014]图3是本发明实施例中一种NVR和IPC在无交换机时的组网示意图。
[0015]图4是本发明实施例中一种NVR和IPC在有交换机时的组网示意图。
【具体实施方式】
[0016]本发明提供一种发现网络设备的网络系统和方法,用以解决现有技术中,当主控设备与从属设备不在同一网段时,主控设备无法发现从属设备,进而无法控制管理从属设备的问题。在优选的实施方式中,所述发现网络设备的网络系统包括主控设备和若干个从属设备,所述主控设备通过网络获取从属设备的IP地址,并将其添加到控制列表中,从而对该从属设备进行控制管理,所述主控设备与所述从属设备在同一组播组中。其中,所述主控设备,用于发送组播探测报文,并在接收从属设备回应所述探测报文的应答报文后,根据该应答报文判断所述从属设备的IP地址与主控设备的IP地址是否在同一网段,若是,则将所述从属设备的IP地址添加到控制列表中,若否,则发送组播修改报文;所述从属设备,用于接收主控设备发送的探测报文,并发送回应该探测报文的组播应答报文,并接收主控设备发送的修改报文,当所述修改报文中的MAC地址是自身MAC地址时,根据该修改报文将自身原IP地址修改为新IP地址。
[0017]本发明提供的系统结构如图1所示,上述主控设备和从属设备相互配合,执行如下处理流程,如图2所示。
[0018]步骤I,主控设备发送组播探测报文。
[0019]由于本发明提供的技术方案是由主控设备和从属设备相互配合进而实现,所以为了顺利实施本发明提供的技术方案,通常将主控设备与从属设备设置在同一个组播组里,并为该组播组设置一个组播IP地址和一个组播MAC地址。
[0020]其中,所述组播是与单播和广播并列的通信方式,它能够有效地解决单点发送、多点接收的问题,从而实现了网络中点到多点的高效数据传送,能够节约大量网络带宽、降低网络负载。具体的说,多台主机加入同一个组播组,当某一台主机作为组播源给组播组发送报文时,该主机只需发送一份报文,网络中的路由器会根据该组播组中各成员的分布情况对该信息进行复制和转发,最后该信息会准确地发送给组播组中其他主机。而所述组播组是一个用IP组播地址进行标识的接收者集合,主机通过加入某组播组成为该组播组的成员,从而可以接收发往该组播组的组播数据。
[0021]另外,所述主控设备通常为NVR,所述从属设备通常为IPC,接下来以NVR和IPC的监控组网为例进行说明。作为主控设备的NVR会根据ONVIF (Open Network VideoInterface Forum,开放型网络视频接口论坛)协议中规定的报文格式,发送UDP (UserDatagram Protocol,用户数据报协议)组播报文PROBE (探测器),也就是发送组播探测报文,以便探测发现作为从属设备的IPC。由于IPC通常会有多个,而且在同一个组播组里,所以NVR只需发送一个组播探测报文至该组播组,组播组里的所有IPC就都能接收到该探测报文。IPC通常会有一个固定端口用于接收组播报文,例如设定固定端口 3702用于接收组播报文,那么IPC在加入组播组时,就会打开端口 3702,用了接收组播报文。而NVR在发送组播报文时,就会以组播组IP地址为目的IP地址,以端口 3702为目的端口,这样IPC就可以通过端口 3702接收到NVR发送的组播报文。这里值得注意的是,为了不影响其他业务的进行,这里所用的端口通常为闲置端口。
[0022]这里还需说明的是,为了能够准确的发现从属设备,主控设备通常会周期性的发送组播探测报文。另外,周期时长可以根据需要进行设置,通常需考虑设备和网络的性能。因为,如果设置的周期时长过短,主控设备需频繁发送组播探测报文,而从属设备也要频繁的接收该报文,这样就增加了设备和网络的工作压力;但如果设置的周期时间过长,主控设备就无法及时发现从属设备的变化情况,例如有新的从属设备加入等。因此,在优选的实施方式中,周期时长通常设置为3至5分钟。
[0023]步骤2,从属设备接收探测报文,并发送回应该探测报文的组播应答报文。
[0024]如上文所述,由于从属设备在所述组播组里,所以可以接收到主控设备发送至组播组的探测报文。从属设备在接收到探测报文后,会发送回应该探测报文的组播应答报文。
[0025]在现有技术中,从属设备通常是发送单播应答报文来回应探测报文,但是如果从属设备和主控设备是在不同的网段里,那么从属设备发送的单播应答报文,主控设备很有可能无法接收。下面以NVR与IPC的监控组网为例,解释说明主控设备在跨网段的情况下,可能接收不到单播应答报文的原因。
[0026]假设现有一个作为主控设备的NVR和两个个作为从属设备的IPC,即IPCl和IPC2,其中IPCl与NVR在同一网段中,而IPC2与NVR在不同网段中,同时,NVR,IPCl和IPC2在一个组播组里。NVR开机后,每隔3分钟会发送一次组播探测报文,组播组里的IPCl和IPC2都会接收到该探测报文。然后IPCl和IPC2会发送单播应答报文以回应该探测报文。但由于IPCl与NVR在同一网段中,IPCl在接收到探测报文后,会将报文中源MAC地址、源IP地址和端口号记录在ARP表项中,然后通过ARP表项中的记录,给NVR发送应答报文。而IPC2与NVR在不同网段中,IPC2在接收到探测报文后,不会将报文中的源MAC地址、源IP地址和端口号记录在ARP表项中,也就是说,ARP表项中没有NVR的IP地址和MAC地址的记录。因此,IPC2如果想给NVR发送报文的话,报文中的目的IP地址和目的MAC地址无法填写NVR的IP地址和MAC地址,因为ARP表项中查找不到NVR的IP地址和MAC地址,所以IPC2会将报文中的目的IP地址和目的MAC地址填写网关的目的IP地址和目的MAC地址,从而将该报文发送至网关,由网关进行转发。但是由于在NVR与IPC的监控组网中,通常是没有网关的,IPC基本上是与具有交换机功能的NVR直接相连,或者通过小型交换机与NVR相连,如图3和图4所示。因此,IPC2发送的单播应答报文无法通过网关转发给NVR,所以NVR就接收不到IPC2发送的单播应答报文。
[0027]本发明提供的技术方案就可以很好的克服上述现有技术中的缺点,由步骤2可以清楚看出,从属设备发送回应探测报文的组播应答报文,而组播应答报文可以在没有网关的情况下,跨网段发送。下面继续以上述NVR与IPC的监控组网为例进行说明。当IPC2发送组播应答报文来回应探测报文时,由于NVR,IPCl和IPC2在一个组播组里,而组播组有组播IP地址和组播MAC地址,所以IPC2可以将该组播IP地址和组播MAC地址作为目的IP地址和目的MAC地址发送应答报文,这样NVR就可以接收到IPC2发送的应答报文。[0028]值得注意的是,本发明从属设备发送的组播应答报文与现有技术中从属设备发送的单播应答报文由本质的区别,虽然现有技术也会回应主控设备发送的组播探测报文,甚至在一开始就将从属设备与主控设备的IP地址设置在同一网段中,但这都是简单的应用一对一的应答方式,也就是“我想答复谁,我就给谁发报文”,这是本领域技术人员一种惯性的技术思维。而本发明中从属设备发送的组播应答报文,不再是一对一的应答方式,也就是说,从形式上而言,从属设备不再以主控设备为答复对象来发送应答报文,该应答报文会发送给组播组里的每一个成员。本发明提供的技术方案克服了原有的一对一应答方式带来的缺点,在跨网段的情况下,用发送组播报文的方式将从属设备的应答报文发送至主控设备。
[0029]这里还需说明的是,所述从属设备如果已经发送过用以回复探测报文的组播应答报文,那么当从属设备再次接收到探测报文时,一般不再回复。
[0030]步骤3,主控设备在接收应答报文后,根据该应答报文判断所述从属设备的IP地址与主控设备的IP地址是否在同一网段,若是,则将所述从属设备的IP地址添加到控制列表中,若否,贝1J发送组播修改报文。
[0031]由上述内容可知,主控设备可以接收到跨网段和同网段的从属设备发送的应答报文,因此,主控设备在接收到应答报文后,首先应判断发送该应答报文的从属设备的IP地址与自身IP地址是否在同一网段,以便进一步的处理。对于与自身IP地址在同一网段中的从属设备,主控设备会将该从属设备的IP地址添加到控制列表中,以便日后对其进行控制管理。而对于与自身IP地址在不同网段中的从属设备,主控设备会发送组播修改报文,以便该从属设备根据修改报文,将其原IP地址进行修改,使修改后的IP地址与主控设备的IP地址在同一网段中。
[0032]由于当主控设备需向某个从属设备发送报文,以控制管理该从属设备进行相关操作时,主控设备会从控制列表中查找该从属设备的IP地址,再从ARP表项中查出其对应的MAC地址,然后发送单播报文至该从属设备。因此,主控设备需将与其IP地址在不同网段的从属设备的IP地址进行修改,否则,主控设备将无法发送单播报文给该从属设备。但如果主控设备始终通过组播报文来管理某个从属设备,那么就要重新定义所有报文的格式,使组播组里的其他成员,可以清楚的分辨出该报文是不是发送给自己的,这样一来就提高了技术难度,也不利于与现有技术相兼容。所以,主控设备通常情况下,需发送修改报文,用以修改与主控设备不在同一网段的从属设备的IP地址,以便日后发送单播报文,进行管理控制。
[0033]以NVR和IPC的监控组网为例,进行具体说明。作为主控设备的NVR在接收到从属设备IPC发送来PROBE MACTH (探测匹配)报文,也就是从属设备IPC发送来的应答报文后,会先判断发送该应答报文的IPC的IP地址与自身是否在同一网段中。如果该IPC的IP地址和NVR在同一网段中,NVR则自动把该IPC的IP地址添加到控制列表中。如果该IPC的IP地址和NVR不在同一网段中,NVR会选择一个和自己同一网段的IP地址,并将该IP地址作为IPC的新IP地址携带在由其构造的修改报文中。通常情况下,所述修改报文包括NVR选择的新IP地址,以及需要进行修改的IPC的MAC地址。
[0034]步骤4,从属设备接收修改报文,当所述修改报文中的MAC地址是自身MAC地址时,根据该修改报文将原IP地址。
[0035]由于从属设备所接收到的修改报文,是主控设备发送的组播报文,所以从属设备需先判断该修改报文是不是发送给自己的。具体的,所述修改报文可以包括需要进行修改的从属设备的MAC地址,以及新IP地址,而且新IP地址与主控设备的IP地址在同一网段。从属设备接收到该修改报文后,先将自身的MAC地址与修改报文中携带的MAC地址进行比对,如果对比结果一致,则说明该修改报文是主控设备发送给自己的。那么该从属设备会将自身原有的IP地址修改为修改报文中所携带的新IP地址。如果自身的MAC地址与修改报文中携带的MAC地址对比的结果不一致,那么该从属设备通常会丢弃所述修改报文。另外,因为从属设备的IP地址发生了改变,那么原IP地址所在网段的默认网关和子网掩码就无法使用,所以为了让从属设备继续与网络联通,原默认网关和子网掩码也要进行修改,以保证其可以联通网络。所以,所述修改报文除了包括MAC地址和新IP地址,还可以包括新默认网关和新子网掩码,以供从属设备进行修改。
[0036]这里需要说明的是,所述修改报文除了可以包括上文提到的MAC地址、新默认网关、新子网掩码、新IP地址,还可以需要进行修改的从属设备的原IP地址,用以进一步的比对确认。但在优选的实施方式中,一般仅对比MAC地址,这是因为从属设备的MAC地址通常是固定不变的,但IP地址则有可能发生改变,所以通常以对比MAC地址为主。当然,修改报文还可以包括其他用于区分从属设备的其他标识。
[0037]以NVR和IPC监控组网为例,当IPC收到NVR发送来修改报文后,会取出报文中携带的MAC地址和自身IP地址进行比对。如果MAC地址不一致,则丢弃该报文,不再进行后续的处理;如果MAC地址一致,则修改自身IP地址、默认网关、子网掩码。
[0038]另外,现有技术通常是手工修改IPC的IP地址,再添加到NVR的控制列表中,但这样一来就对施工人员的要求较高。而本发明所提供的技术方案,可以由主控设备发送修改报文,从属设备根据该修改报文来修改IP地址,而且主控设备可以自动添加从属设备的IP地址至控制列表中,基本不用人工操作,进而节省了大量人力。
[0039]步骤5,从属设备在修改IP地址、默认网关和子网掩码后重启。
[0040]为了能够保存对从属设备的设置和修改,并启动相关服务,从属设备在修改IP地址、默认网关和子网掩码后,会进行重启。而在重启之后,从属设备的IP地址、默认网关和子网掩码就是修改后的IP地址、默认网关和子网掩码。也就是说,重启后,从属设备的IP地址与主控设备在同一网段。由步骤I可知,主控设备通常会周期性发送组播探测报文,所以从属设备在重启后,会再次接收到探测报文,然后重复步骤2、步骤3的操作,由于重启后的从属设备的IP地址与主控设备的IP地址在同一网段里,所以主控设备就可以将该从属设备的IP地址添加到控制列表中。同样的,重启后的从属设备通常也只发送一次组播应答报文,对于后续接收到的探测报文,从属设备一般不再回复。
[0041]这里还需说明的是,在实际应用中,有可能会出现从属设备停止使用的情况,下面以NVR和IPC为例,对从属设备停止使用的情况进行说明。假设某个作为从属设备的IPC已被作为主控设备的NVR发现,并将其IP地址添加到控制列表中。如果该IPC发生故障,无法使用,那么一般情况下,由于IPC会周期性发送保活报文至NVR,当IPC由于故障导致停止工作时,NVR就无法接收到IPC发送的保活报文,那么NVR通常会进行相关提示,维修人员可以根据提示,找到发生故障的IPC,并对其进行维修护理。如果是因为该IPC所监控的区域不再需要监控,人为停止该IPC的工作,那么可以在NVR的控制列表中,将该IPC的IP地址删除,从而节省了 NVR的存储空间。[0042]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【权利要求】
1.一种自动发现和添加设备的系统,该系统包括主控设备和从属设备,其特征在于,所述主控设备与所述从属设备在同一组播组中,其中: 所述主控设备,用于发送组播探测报文,并在接收从属设备回应所述探测报文的应答报文后,根据该应答报文判断所述从属设备的IP地址与主控设备的IP地址是否在在同一网段,若是,则将所述从属设备的IP地址添加到预设的控制列表中,若否,则发送组播修改报文;其中,所述修改报文包括从属设备的MAC地址和新IP地址,且新IP地址与所述主控设备的IP地址在同一网段中; 所述从属设备,用于接收主控设备发送的探测报文,并发送回应该探测报文的组播应答报文,并接收主控设备发送的修改报文,当所述修改报文中的MAC地址是自身MAC地址时,根据该修改报文将自身原IP地址修改为新IP地址。
2.根据权利要求1所述系统,其特征在于,所述主控设备周期性发送组播探测报文。
3.根据权利要求1所述系统,其特征在于,所述主控设备为网络视频录像机NVR,所述从属设备为网络摄像机IPC。
4.根据权利要求1所述系统,其特征在于,所述从属设备还用于,当所述修改报文中的MAC地址不是自身MAC地址时,丢弃该修改报文。
5.根据权利要求1所述系统,其特征在于,所述从属设备还用于在修改IP地址后重启。
6.一种自动发现和添加设备的方法,其特征在于,所述方法包括: 步骤A,主控设备发送组播探测报文; 步骤B,从属设备接收探测报文,并发送回应该探测报文的组播应答报文; 步骤C,主控设备在接收应答报文后,根据该应答报文判断所述从属设备的IP地址与主控设备的IP地址是否在同一网段,若是,则将所述从属设备的IP地址添加到预设的控制列表中,若否,则发送组播修改报文;其中,所述修改报文包括从属设备的MAC地址和新IP地址,且新IP地址与所述主控设备的IP地址在同一网段中; 步骤D,从属设备接收修改报文,当所述修改报文中的MAC地址是自身MAC地址时,根据该修改报文将原IP地址修改为新IP地址。
7.根据权利要求6所述方法,其特征在于,所述步骤A进一步包括周期性发送组播探测报文。
8.根据权利要求6所述系统,其特征在于,所述主控设备为网络视频录像机NVR,所述从属设备为网络摄像机IPC。
9.根据权利要求6所述系统,其特征在于,所述步骤D还包括,当所述修改报文中的MAC地址不是自身MAC地址时,丢弃该修改报文。
10.根据权利要求6所述系统,其特征在于,所述方法还包括: 步骤E,从属设备在修改IP地址后重启。
【文档编号】H04L12/24GK103873301SQ201410106576
【公开日】2014年6月18日 申请日期:2014年3月20日 优先权日:2014年3月20日
【发明者】孙令亮 申请人:浙江宇视科技有限公司