一种基于ARP协议和ONVIF标准的IPC自动侦测连接方法
技术领域
本发明涉及视频网络应用技术领域,具体地讲,是涉及一种基于ARP协议和ONVIF标准的IPC自动侦测连接方法。
背景技术
NVR是NetworkVideoRecorder(网络硬盘录像机)的缩写。NVR最主要的功能是通过网络接收IPC(IPCamera网络摄像机)设备传输的数字视频码流,并进行存储、管理,从而实现网络化带来的分布式架构优势。
在NVR-IPC组网的使用过程中,时常会有IPC出现损坏等需要进行更换的情况,当更换的IPC所设配置与原有IPC配置不一致或与当前组网网络配置不一致时,将无法与NVR进行通信,此时则需要手动将其配置一致。但是手动配置IPC的步骤过于繁琐,在实际工程使用过程中很难达到快捷接入NVR-IPC网络的目的。
具体地,当新替换的IPC设备之前的配置与目前NVR所在节点的网络设置不一致时,由于网络技术的限制,在两个不同组网环境中的网络设备并不能在网络配置上兼容。比如:IP网段、网关等配置。也就是说这种配置上的差异,足以造成网络设备在不同组网环境下不能直接使用,而必须通过一系列的手动配置修改后,才能正常工作。
对此,现有技术中提供了一种方案来解决IPC的网络配置问题,其是在NVR上配置一个具备DHCP(DynamicHostConfigurationProtocol,动态主机配置协议)地址分配功能的模块,在其所处的NVR-IPC组网环境中,由NVR来进行统一地址分配,IPC只需在接入网络时,自动获取NVR分配给其的IP地址等相关网络配置,就可以正常地进行视频流传输工作。但是,这是建立在一定条件基础上的,即,在默认出厂设置或原始配置下,IPC都是处于DHCPClient状态,等待上级NVR或其他DHCPserver进行统一地址分配。而在实践中常常出于各种外部原因,当一些IPC自身已经进行过网络设置后,就无法直接接入新的NVR-IPC组网网络中,导致这些IPC无法直接使用,而需要繁琐的手动配置过程。
鉴于此,我们提出一种适用于IPC的即插即用的访问方法,基于ARP协议和Onvif标准的本地设备发现技术,使得NVR可以自动发现与其连接的IPC并建立通信连接。
Onvif是基于万维网服务的接口标准,其规范描述了网络视频的模型、接口、数据类型以及数据交互的模式,并复用了一些现有的标准,如WS系列标准等。其目标是实现一个网络视频框架协议,使不同厂商所生产的网络视频产品(包括摄录前端、录像设备等)完全互通。
发明内容
为克服现有技术中的上述问题,本发明提供一种构思新颖、设计巧妙、能够在不增设硬件装置的情况下方便快捷并安全准确地进行无线连接的基于ARP协议和ONVIF标准的IPC自动侦测连接方法。
为了实现上述目的,本发明采用的技术方案如下:
一种基于ARP协议和ONVIF标准的IPC自动侦测连接方法,应用于一NVR-IPC网络中,在NVR内配置ARP监听模块和ONVIF侦测模块;
所述ARP监听模块侦听该网络中的ARP报文,当ARP监听模块侦测到来自IPC的ARPRequest报文时,从该报文中获取到该IPC的配置信息,NVR通过该配置信息与该IPC建立连接并进行通信;
所述ONVIF侦测模块定时在该网络中广播,未连接的IPC收到该广播的消息后,向NVR发送连接请求;NVR通过接收到的连接请求获取该IPC的配置信息并通过该配置信息与该IPC建立连接并进行通信。
其中,所述IPC的配置信息包括该IPC的IP地址和MAC地址。
进一步地,当所述IPC的配置信息来自于ARPRequest报文时,NVR通过该配置信息判断该IPC是否与之处于同一网段,若是,则所述NVR与该IPC建立连接后直接进行通信。
更进一步地,所述NVR内还配置有代理模块,当NVR通过来自于ARPRequest报文的IPC配置信息判断该IPC与之处于不同网段时,所述代理模块配置一与该IPC处于同一网段的地址与其连接并通信,所述NVR与该IPC的通信数据均通过所述代理模块转发。
具体地,当所述NVR-IPC网络中新接入IPC时,所述新接入的IPC为已有配置信息的IPC,且该配置信息中包含确定的网关地址,其通过ARPRequest报文与NVR建立连接的过程如下:
该IPC根据地址解析协议向该网络中广播ARPRequest报文,询问其网关地址所对应的MAC地址,并且该ARPRequest报文中包含该IPC的配置信息;
ARP监听模块侦测到所述ARPRequest报文,并从该报文中获取到该IPC的包含有IP地址、MAC地址和网关地址的配置信息;
NVR根据该IPC配置的网关地址判断该IPC与其是否处于同一网段,若是,则NVR将该IPC的IP地址和MAC地址映射添加到其本地ARP缓存中,并将包含其MAC地址的ARP回复消息直接发送回该IPC;
该IPC通过接收到的ARP回复消息更新其本地ARP缓存中的网关地址与MAC地址映射,从而建立连接。
相应地,当所述NVR根据该IPC配置的网关地址判断该IPC与其处于不同网段时,NVR通过其内设置的代理模块配置与该网关地址相同的IP地址,并将该IPC的IP地址和MAC地址映射添加到其本地ARP缓存中,同时通过该代理模块将包含其MAC地址的ARP回复消息转发回该IPC;
该IPC通过接收到的ARP回复消息更新其本地ARP缓存中的网关地址与MAC地址映射,从而建立连接。
更进一步地,所述本地ARP缓存具有生存期,当所述IPC的本地ARP缓存的生存期结束后,该IPC再次通过ARPRequest报文与NVR建立连接。
更具体地,所述ONVIF侦测模块以Onvifprobe的形式定时向该NVR-IPC网络中发送广播,当所述NVR-IPC网络中存在新接入的已有配置信息且其配置信息中不含网关地址的IPC时,该IPC不会主动与NVR连接,在该IPC接收到来自ONVIF侦测模块广播的消息后,向NVR发送包含有该IPC配置信息的连接请求;
NVR收到该IPC发送的连接请求后,从中获取到该IPC的配置信息;
NVR通过其内设置的代理模块配置一与该IPC处于相同网段的地址与其进行连接并通信,所述NVR与该IPC的通信数据通过该代理模块转发。
其中,所述以Onvifprobe的形式发送的广播为Probe报文。所述包含有该IPC配置信息的连接请求为ProbeMatch报文。
与现有技术相比,本发明具有以下有益效果:
本发明巧妙地在NVR中设置ARP监听模块、ONVIF侦测模块和代理模块,利用了地址解析协议中的请求信息实现有网关信息的IPC设备的自动侦测连接,同时利用ONVIF标准中的WS-Discovery协议对无网关信息配置的IPC设备进行搜索和连接,从而对不同情况的新接入IPC进行自动匹配连接,极大地提高了NVR-IPC网络配置的便捷性,并且本发明构思巧妙,新颖独特,结构简单,成本低廉,使用方便,具有广泛的应用前景,适合推广应用。
附图说明
图1为本发明的整体流程示意图。
图2为本发明中NVR的结构示意图。
图3为本发明中NVR与IPC通过ARP报文建立连接的流程示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明,本发明的实施方式包括但不限于下列实施例。
实施例
本发明源于发明人对IPC接入网络后容易发生的无法连接通信的情况进行分析,发现其主要问题在于新接入的IPC内已存在网络配置信息,而对于这种情况下的常规处理方案是通过网络设备手动对这种IPC进行设置网络配置信息,使之匹配已有的网络情况,实现通讯,然而这种方式十分繁琐,尤其是在实际应用过程中相当费时费力,不能达到新IPC快捷接入NVR-IPC网络中的效果。如何实现新接入的IPC自动连接匹配已有网络成为困扰发明人的一大难题,进一步研究发现,已被设置的IPC的配置信息会存在有网关信息和网关信息为空的两种情况,而两种情况下IPC设备在网络中的反应形式会有所区别,基于此,发明人巧妙利用了地址解析协议中设备学习网关mac地址的特点对新接入的有网关信息配置的IPC设备侦测并配置连接,以及利用ONVIF标准中的WS-Discovery协议对无网关信息配置的IPC设备进行搜索和连接,从而对不同情况的新接入IPC进行自动匹配连接,极大地提高了NVR-IPC网络配置的便捷性。
如图1和图2所示,该基于ARP协议和ONVIF标准的IPC自动侦测连接方法,应用于一NVR-IPC网络中,在NVR内配置ARP监听模块和ONVIF侦测模块;
所述ARP监听模块侦听该网络中的ARP报文,当ARP监听模块侦测到来自IPC的ARPRequest报文时,从该报文中获取到该IPC的配置信息,NVR通过该配置信息与该IPC建立连接并进行通信;
所述ONVIF侦测模块定时在该网络中广播,未连接的IPC收到该广播的消息后,向NVR发送连接请求;NVR通过接收到的连接请求获取该IPC的配置信息并通过该配置信息与该IPC建立连接并进行通信。
其中,所述IPC的配置信息包括该IPC的IP地址和MAC地址。
本发明中,对于已存在网络配置信息的IPC的具体情况又做了细分,对于其网络配置信息中有网关信息和空网关信息采用不同的应对方式,具体地:
如图3所示,当所述IPC的配置信息来自于ARPRequest报文时,NVR通过该配置信息判断该IPC是否与之处于同一网段,若是,则所述NVR与该IPC建立连接后直接进行通信。
进一步地,所述NVR内还配置有代理模块,当NVR通过来自于ARPRequest报文的IPC配置信息判断该IPC与之处于不同网段时,所述代理模块配置一与该IPC处于同一网段的地址与其连接并通信,所述NVR与该IPC的通信数据均通过所述代理模块转发。
更具体地,当所述NVR-IPC网络中新接入IPC时,所述新接入的IPC为已有配置信息的IPC,且该配置信息中包含确定的网关地址,其通过ARPRequest报文与NVR建立连接的过程如下:
该IPC根据地址解析协议向该网络中广播ARPRequest报文,询问其网关地址所对应的MAC地址,并且该ARPRequest报文中包含该IPC的配置信息;
ARP监听模块侦测到所述ARPRequest报文,并从该报文中获取到该IPC的包含有IP地址、MAC地址和网关地址的配置信息;
NVR根据该IPC配置的网关地址判断该IPC与其是否处于同一网段,若是,则NVR将该IPC的IP地址和MAC地址映射添加到其本地ARP缓存中,并将包含其MAC地址的ARP回复消息直接发送回该IPC;
该IPC通过接收到的ARP回复消息更新其本地ARP缓存中的网关地址与MAC地址映射,从而建立连接。
相应地,当所述NVR根据该IPC配置的网关地址判断该IPC与其处于不同网段时,NVR通过其内设置的代理模块配置与该网关地址相同的IP地址,并将该IPC的IP地址和MAC地址映射添加到其本地ARP缓存中,同时通过该代理模块将包含其MAC地址的ARP回复消息转发回该IPC;
该IPC通过接收到的ARP回复消息更新其本地ARP缓存中的网关地址与MAC地址映射,从而建立连接。
更进一步地,所述本地ARP缓存具有生存期,当所述IPC的本地ARP缓存的生存期结束后,该IPC再次通过ARPRequest报文与NVR建立连接。
另一方面,针对不含网关信息的情况,所述ONVIF侦测模块以Onvifprobe的形式定时向该NVR-IPC网络中发送广播,当所述NVR-IPC网络中存在新接入的已有配置信息且其配置信息中不含网关地址的IPC时,该IPC不会主动与NVR连接,在该IPC接收到来自ONVIF侦测模块广播的消息后,向NVR发送包含有该IPC配置信息的连接请求;
NVR收到该IPC发送的连接请求后,从中获取到该IPC的配置信息;
NVR通过其内设置的代理模块配置一与该IPC处于相同网段的地址与其进行连接并通信,所述NVR与该IPC的通信数据通过该代理模块转发。
其中,所述以Onvifprobe的形式发送的广播为Probe报文。所述包含有该IPC配置信息的连接请求为ProbeMatch报文。
其工作流程如下:NVR中的ONVIF侦测模块采用多播地址239.255.255.250和端口3702向网络中发送Probe报文,制定搜索的设备类型。Probe报文中Message-ID为该报文的唯一标识。如果接收到单播响应的ProbeMatch报文,则根据ProbeMatch报文中的Relates-T0字段识别该报文的请求设备即IPC,继而与之连接通信连接。
通过上述设置,有效地解决了已被设置了网络配置信息的IPC接入网络后需重新手动对其进行网络设置的问题,使这种情况的IPC能够不用手动设置也能够被NVR检测发现并连接,极大地提高了NVR-IPC网络配置的便捷性。
上述实施例仅为本发明的优选实施例,并非对本发明保护范围的限制,但凡采用本发明的设计原理,以及在此基础上进行非创造性劳动而作出的变化,均应属于本发明的保护范围之内。