CN104539902B - 一种ipc的远程访问方法和*** - Google Patents

一种ipc的远程访问方法和*** Download PDF

Info

Publication number
CN104539902B
CN104539902B CN201410839822.9A CN201410839822A CN104539902B CN 104539902 B CN104539902 B CN 104539902B CN 201410839822 A CN201410839822 A CN 201410839822A CN 104539902 B CN104539902 B CN 104539902B
Authority
CN
China
Prior art keywords
address
ipc
message
nvr
client host
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410839822.9A
Other languages
English (en)
Other versions
CN104539902A (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.)
Zhejiang Uniview Technologies Co Ltd
Original Assignee
Zhejiang Uniview 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 Zhejiang Uniview Technologies Co Ltd filed Critical Zhejiang Uniview Technologies Co Ltd
Priority to CN201410839822.9A priority Critical patent/CN104539902B/zh
Publication of CN104539902A publication Critical patent/CN104539902A/zh
Application granted granted Critical
Publication of CN104539902B publication Critical patent/CN104539902B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提出一种IPC的远程访问方法,包括:NVR与绑定的IPC协商用于远程访问的第一IP地址和第一端口号;网站服务器通过第一IP地址和第一端口号为NVR与客户端主机之间建立连接;当连接建立后NVR将第一IP地址和第一端口号下发给绑定的IPC,当第一IP地址和第一端口号在绑定的IPC上生效后由网站服务器将绑定的IPC的MAC地址通告给客户端主机;客户端主机向NVR一侧的出口路由设备发送远程访问报文,该远程访问报文中包括MAC转发标识以及待访问IPC的MAC地址,NVR一侧的出口路由设备在收到远程访问报文后,在判断出远程访问报文中携带有MAC转发标识时将该报文转发到该MAC地址对应的IPC。本发明可实现客户端主机直接远程访问IPC。

Description

一种IPC的远程访问方法和***
技术领域
本发明涉及视频监控领域,尤其涉及一种IPC的远程访问方法和***。
背景技术
随着网络视频监控的发展,以民用视频监控为代表的广域网视频监控需求日益增加。在广域网视频监控***中,监控设备一般通过SOHO路由器接入运营商网络,用户希望可以随时随地通过客户端访问监控设备。
在目前通用的广域视频监控组网图中,监控设备厂商在公网布置网站服务器,用户在家中布置1台NVR(Network Video Recorder,网络硬盘录像机)和多台IPC(IP Camera,网络摄像机),用户外出时通过网站客户端远程管理NVR和IPC。其中,网站服务器、网站客户端、NVR可以同属一家监控设备厂商,以相互配合实现穿越NAT(Network AddressTranslation,网络地址转换)的流程,用户可以通过网站客户端远程管理NVR。
然而,由于目前IPC多为第三方设备,无法与网站服务器和网站客户端配合实现穿越NAT的流程,因此用户不能通过网站客户端来远程管理第三方IPC。为了实现让用户通过网站客户端远程访问第三方IPC,在现有技术中,可以通过NVR来间接访问第三方IPC,然后在该方案中网站客户端访问每台IPC都需要经过NVR进行中转,会增加NVR的性能压力,而且一旦NVR出现单点故障,将会导致所有IPC都无法被网站客户端访问。
发明内容
有鉴于此,本发明提出一种小IPC的远程访问方法,应用于视频监控***中,所述视频监控***包括网络硬盘录像机NVR、客户端主机、网站服务器以及与所述NVR绑定的若干IPC,包括:
NVR与绑定的IPC协商用于为客户端主机提供远程访问的第一IP地址和第一端口号;
网站服务器通过所述第一IP地址和第一端口号为所述NVR与所述客户端主机之间建立连接;
当所述连接建立后,NVR将所述第一IP地址和第一端口号下发给所述绑定的IPC,并在所述第一IP地址和第一端口号在所述绑定的IPC上生效后,通过网站服务器将所述绑定的IPC的MAC地址通告给所述客户端主机;
客户端主机向所述NVR一侧的出口路由设备发送远程访问报文,所述远程访问报文中包括MAC转发标识以及待访问IPC的MAC地址,使得所述NVR一侧的出口路由设备在收到所述远程访问报文后,在判断出所述远程访问报文中携带有MAC转发标识时,将该报文转发到所述MAC地址对应的IPC以完成针对该IPC的远程访问。
本发明还提出一种IPC的远程访问***,所述***包括NVR、客户端主机、网站服务器以及与所述NVR绑定的若干IPC,其中:
NVR用于与绑定的IPC协商用于为客户端主机提供远程访问的第一IP地址和第一端口号;
网站服务器用于通过所述第一IP地址和第一端口号为所述NVR与所述客户端主机之间建立连接;
当所述连接建立后,NVR进一步用于将所述第一IP地址和第一端口号下发给所述绑定的IPC,并在所述第一IP地址和第一端口号在所述绑定的IPC上生效后,通过网站服务器将所述绑定的IPC的MAC地址通告给所述客户端主机;
客户端主机用于向所述NVR一侧的出口路由设备发送远程访问报文,所述远程访问报文中包括MAC转发标识以及待访问IPC的MAC地址,使得所述NVR一侧的出口路由设备在收到所述远程访问报文后,在判断出所述远程访问报文中携带有MAC转发标识时,将该报文转发到所述MAC地址对应的IPC以完成针对该IPC的远程访问。
本发明方案通过NVR与其绑定的IPC协商出用于为客户端主机提供远程访问的IP地址和端口号,网站服务器通过所述IP地址和端口号为所述NVR和所述客户端主机之间建立连接,当该连接建立完成后,NVR将所述IP地址和端口号下发给所述绑定的IPC,并在所述IP地址和端口号在所述绑定的IPC上生效后,通过网站服务器将所述绑定的IPC的MAC地址通告给所述客户端主机,客户端主机接收到网站服务器通告的MAC地址后,向所述NVR一侧的出口路由设备发送携带MAC转发标识和待访问IPC的MAC地址的远程访问报文,使得所述NVR一侧的出口路由设备在收到所述远程访问报文后,在判断出所述远程访问报文中携带有MAC转发标识时,将该报文转发到所述MAC地址对应的IPC以完成针对该IPC的远程访问。在本发明方案中,由于通过NVR来代替IPC建立与客户端主机之间的连接,并在连接建立成功后,将建立连接时的IP地址和端口号下发给IPC,后续客户端主机可以通过该IP地址和端口号直接访问IPC,从而即时当网站服务器和NVR发生故障时,也不会影响客户端主机访问IPC。
附图说明
图1是本发明示例性的一实施方式中示出的一种IPC的远程访问方法的流程图;
图2是本发明示例性的一实施方式中示出的一种视频监控***方案的组网图;
图3是本发明示例性的一实施方式中示出的另一种视频监控***方案的组网图;
图4是本发明示例性的一实施方式中提出的一种IPC的远程访问***的示意图。
具体实施方式
本发明旨在实现客户端主机可以在远端直接远程访问IPC,从而当NVR和网站服务器发生故障时,也不影响客户端主机对IPC的远程访问。
本发明方案通过NVR与其绑定的IPC协商出用于为客户端主机提供远程访问的IP地址和端口号,网站服务器通过所述IP地址和端口号为所述NVR和所述客户端主机之间建立连接,当该连接建立完成后,NVR将所述IP地址和端口号下发给所述绑定的IPC,并在所述IP地址和端口号在所述绑定的IPC上生效后,通过网站服务器将所述绑定的IPC的MAC地址通告给所述客户端主机,客户端主机接收到网站服务器通告的MAC地址后,向所述NVR一侧的出口路由设备发送携带MAC转发标识和待访问IPC的MAC地址的远程访问报文,使得所述NVR一侧的出口路由设备在收到所述远程访问报文后,在判断出所述远程访问报文中携带有MAC转发标识时,将该报文转发到所述MAC地址对应的IPC以完成针对该IPC的远程访问。
在本发明方案中,由于通过NVR来代替IPC建立与客户端主机之间的连接,并在连接建立成功后,将建立连接时的IP地址和端口号下发给IPC,后续客户端主机可以通过该IP地址和端口号直接访问IPC,从而即时当网站服务器和NVR发生故障时,也不会影响客户端主机访问IPC。
为了使本发明的技术方案更加清楚明白,以下结合附图并举实施例对本发明进行详细描述。
本发明示例性的一种实施方式中,提出一种IPC的远程访问方法,应用于视频监控***中,所述视频监控***包括网络硬盘录像机NVR、客户端主机、网站服务器以及与所述NVR绑定的若干IPC,请参见图1,所述方法包括:
步骤S101、NVR与绑定的IPC协商用于为客户端主机提供远程访问的第一IP地址和第一端口号;
步骤S102、网站服务器通过所述第一IP地址和第一端口号为所述NVR与所述客户端主机之间建立连接;
步骤S103、当所述连接建立后,NVR将所述第一IP地址和第一端口号下发给所述绑定的IPC,并在所述第一IP地址和第一端口号在所述绑定的IPC上生效后,通过网站服务器将所述绑定的IPC的MAC地址通告给所述客户端主机;
步骤S104、客户端主机向所述NVR一侧的出口路由设备发送远程访问报文,所述远程访问报文中包括MAC转发标识以及待访问IPC的MAC地址,使得所述NVR一侧的出口路由设备在收到所述远程访问报文后,在判断出所述远程访问报文中携带有MAC转发标识时,将该报文转发到所述MAC地址对应的IPC以完成针对该IPC的远程访问。
请参见图2,图2为本实施例示出的一种视频监控***方案的组网图,以下结合该组网图对本发明方案进行详细阐述。
如图2所示,所述视频监控***中包括一台由监控设备厂商在公网布置的网站服务器、一台NVR、多台IPC、一台安装了与所述网站服务器配合使用的网站客户端的用户主机(客户端主机),其中所述NVR以及所述IPC均支持ONVFI协议,在NVR一侧和客户端主机一侧还分别布置了一台均同时支持二三层转发的出口路由设备A和出口路由设备B。当然,在实现时,以上视频监控***中的NVR也可以用支持网络功能的DVR(Digital Video Recorder,数字视频录像机)来替代,所述IPC也可以用支持ONVFI协议的EC编码器和前端的模拟摄像机来替代。
在组网阶段,所述NVR启动后向网站服务器发送注册报文,上报注册信息,其中所述注册信息包括NVR的IP地址、端口号、设备类型、设备序列号等信息,网站服务器在收到NVR的注册信息后,对NVR上报的注册信息进行验证,验证通过后,回应注册成功的报文给NVR,并记录NVR的IP地址和端口号以及NVR一侧的出口路由设备A的IP地址和端口号等信息。注册成功后,NVR定期向网站服务器发送保活报文,以维持NVR与网站服务器之间的连接。
所述网站客户端启动后也向网站服务器发送注册报文,上报注册信息,其中所述注册信息包括网站客户端的IP地址。端口号、用户名。密码等信息,网站服务器在收到网站客户端上报的注册信息后,对NVR上报的注册信息进行验证,验证通过后,回应注册成功的报文给网站客户端,并记录网站客户端的IP地址和端口号以及网站客户端一侧的出口路由设备B的IP地址和端口号等信息。注册成功后,网站客户端同样向网站服务器发送保活报文,以维持网站客户端与网站服务器之间的连接。
当NVR向网站服务器注册成功后,可以开始在本地绑定IPC,将已绑定的IPC的信息上报给网站服务器。
其中,NVR向网站服务器上报的IPC信息中通常包括IPC的MAC地址。设备类型等信息,所述IPC的MAC地址可以通过向IPC发送ARP报文来获得。当NVR将绑定成功的IPC的信息上报到网站服务器后,网站服务器向NVR发送一个回应报文,并在本地记录IPC的MAC地址、设备类型等信息。
对于绑定成功的IPC,NVR可以在本地启用一个用于为网站客户端提供远程访问的IP地址(第一IP地址)和端口号(第一端口号),其中该IP地址和端口号可以是NVR与绑定的IPC协商后获得。
NVR在本地为绑定成功的IPC启用IP地址时,可以首先根据本机的IP地址、子网掩码等信息得到本网段的IP地址池,然后从本网段的IP地址池中按顺序取出一个IP地址,以该IP地址作为ARP报文内部的目的IP地址,发送ARP请求报文,如果在指定时间内没有收到针对该ARP请求报文的ARP响应报文,表明该IP地址空闲,则可以在本机上启用该空闲的IP地址。当然,如果收到了ARP响应报文,则表示该IP地址已被占用,则重复以上过程,按顺序再次取出一个IP地址,直到获取到一个空闲的IP地址,并在本地启用该IP地址。
NVR在为绑定成功的IPC启用端口号时,可以首先从本机获取一个空闲的端口号,然后将该端口号下发给IPC,IPC检查该端口号在本机是否空闲,如果空闲,IPC回应一个指示该端口号空闲的报文给NVR,NVR在收到该报文本机启用该端口号;如果该端口已被占用,IPC回应一个指示该端口号已被占用的报文给NVR,此时该报文中携带IPC本机被占用的端口号列表及对应的协议,NVR在收到该报文后,根据IPC上报的已用端口号,结合本机的空闲端口号,获取一个在NVR和IPC上都空闲的端口号,并在本机上启用该端口号。
当该端口号启用后,如果NVR再次绑定了新的IPC时,为了防止已启用的端口号被新绑定的IPC占用而造成绑定失败的情况发生,NVR可以将已启用的端口号下发给该IPC,该IPC检查该端口号在本机是否空闲,如果空闲,IPC回应一个指示该端口号空闲的报文给NVR,此时不影响该IPC的正常绑定;如果该端口已被占用,IPC回应一个指示该端口号已被占用的报文给NVR,此时该报文中携带IPC本机被占用的端口号列表及对应的协议,NVR在收到该报文后,根据IPC上报的已用端口号,获取一个IPC上的空闲端口号,然后将已启用的端口号对应的协议以及该空闲端口号下发给IPC,此时NVR已启用的端口号在IPC本地被占用,NVR可以通知IPC将该已占用的端口号修改为空闲端口号,从而完成正常的绑定。
当NVR在本地成功启用了所述用于为网站客户端提供远程访问的IP地址和端口号后,网站服务器可以根据该IP地址与端口号为所述NVR与所述网站客户端建立连接。
具体的,当用户通过网站客户端上提供的链接来访问某一IPC时,会触发向网站服务器发送一个IPC访问请求,网站服务器在收到该IPC访问请求后,可以在本地开启穿越NAT的流程,为NVR与IPC建立跨越公网以及穿越所述NVR一侧的出口路由设备A和网络客户端一侧的出口路由设备B的连接。
请继续参见图2,假设NVR新启用的用于为网站客户端提供远程访问的IP地址为A1、端口号为P1;经过NVR一侧的出口路由设备A转换后的IP地址为A1′(即所述出口路由设备A的IP地址)、经过NVR一侧的出口路由设备A转换后的端口号为P1′(即所述出口路由设备A的端口号);网站客户端的IP地址为A2、端口号为P2,经过网站客户端一侧的出口路由设备B转换后的IP地址为A2′(即所述出口路由设备B的IP地址)、经过网站客户端一侧的出口路由设备B转换后的端口号为P2′(即所述出口路由设备A的端口号)。
当网站服务器收到网站客户端发送的IPC访问请求后,触发向NVR发送第一通告报文,该第一通告报文中携带出口路由设备B的IP地址A2′和端口号P2′。NVR在收到该第一通告报文后,获取出口路由设备B的IP地址和端口号,向出口路由设备B发送一个连接创建请求报文,此时该连接创建请求报文的源IP地址为A1,源端口号为P1,目的IP地址为A2′、目的端口号为P2′;当出口路由设备A收到该连接创建请求报文后,可以自动学习该报文中携带的源IP地址、目的IP地址、源端口号以及目的端口号,并在本地生成源IP地址为A1、源端口号为P1、目的IP地址A2′、目的端口号为P2′的NAT表项(即第一NAT表项),后续出口路由设备A可以根据该NAT表项为来自所述客户端主机一侧的出口路由设备B的报文进行地址转换。
当出口路由设备B在收到所述连接创建请求报文时,由于此时出口路由设备B上并未创建对应的NAT表项,无法完成地址转换,因此所述连接创建请求报文将无法被透传到网站客户端。
当NVR发送完所述连接创建请求报文后,可以通告所述网站服务器该报文已发送,以触发所述网站服务器在收到该连接请求报文后,向所述客户端主机发送携带出口路由设备A的IP地址A1′和端口号P1′的第二通告报文。此时该连接创建回应报文的源IP地址为A1,源端口号为P1,目的IP地址为A2′、目的端口号为P2′。
网站客户端在收到网站服务器发送的第二通告报文后,获取出口路由设备A的IP地址和端口号,向出口路由设备A发送一个连接创建回应报文,此时该连接创建回应报文的源IP地址为A2、端口号为P2,目的IP地址为A1′、目的端口号为P1′;当出口路由设备B收到该连接创建回应报文后,可以自动学习该报文中携带的源IP地址、目的IP地址、源端口号以及目的端口号,并在本地生成源IP地址为A2、源端口号为P2、目的IP地址A1′、目的端口号为P1′的NAT表项(即第二NAT表项),后续出口路由设备B可以根据该NAT表项为来自所述NVR一侧的出口路由设备A的报文进行地址转换。
当出口路由设备A收到所述连接创建回应报文,由于此时出口路由设备A上已创建了所述第一NAT表项,因此可以完成地址转换,将所述连接回应报文的目的IP地址转换为A1,将所述连接回应报文的目的端口转换为P1,从而透传到NVR。
当网站客户端发送完所述连接创建回应报文后,可以通告所述网站服务器该报文已发送,自此,NVR与网站客户端之间的连接创建完成。该连接跨越公网,并且由于出口路由设备A和出口路由设备B上已经创建了相关的NAT表项,因此该连接上承载的报文可以穿越所述NVR一侧的出口路由设备A和网络客户端一侧的出口路由设备B,在网站客户端和NVR之间实现透传。
在本实施例中,当NVR与网站客户端之间的所述连接创建完成后,NVR可以将已启用的所述IP地址A1和端口号P1下发给所有已经绑定的IPC,并在本地释放IP地址A1和端口号P1,此时NVR本地绑定的所有IPC共用IP地址A1和端口号P1。
NVR本地绑定的各IPC在收到NVR下发的IP地址A1和端口号P1后,在本地启用IP地址A1和端口号P1(不删除原有的IP地址和端口号),并在所述IP地址A1和端口号P1生效后,发送一个响应报文给NVR,NVR在收到该响应报文后通告网站服务器IP地址A1和端口号P1已生效,此时该连接上承载的报文可以穿越所述NVR一侧的出口路由设备A和网络客户端一侧的出口路由设备B,在网站客户端和IPC之间实现透传。
当网站服务器在得知IP地址A1和端口号已在IPC上生效后,可以将NVR上报的各绑定IPC的MAC地址通告给网站客户端,网站客户端获取到与NVR绑定的各IPC的MAC地址后,后续当用户通过点击网站客户端提供的链接访问任一IPC时,可以构造一个携带MAC转发标记和所要访问的IPC的MAC地址的远程访问报文发送给出口路由设备A。
其中,值得说明的是,网站客户端在构造报文时,可以将所述MAC转发标识以及MAC地址携带在报文头中来实现。例如,以所述远程访问报文为IP报文为例,网站客户端在构造报文时,可以通过改造外层IP头的结构,通过在外层IP头的扩展字段中增加一个包含MAC转发标识以及MAC地址两个字段的选项来实现。
当出口路由设备A在收到该远程访问报文时,可以根据已创建的第一NAT表项将该报文的目的IP地址转换成A1,将该报文的目的端口号转换成P1,此时由于IP地址A1和端口号P1已被NVR下发给IPC,因此网站客户端可以根据该IP地址和端口号直接访问IPC。然而,由于与NVR绑定的IPC通常为多个,并且与NVR绑定的IPC共用所述IP地址A1和端口号P1,因此出口路由设备A在对该报文进行地址转换后,可以进一步判断该报文中是否携带MAC转发标识以及MAC地址,如果是,那么出口路由设备A可以直接将该报文转发到与该MAC地址对应的IPC。
当然,如果出口路由设备A判断出该报文中不携带所述MAC转发标识,或者出口路由设备A为第三方设备由于设备不兼容无法识别所述MAC转发标识时,可以查询本地的ARP表,检查是否存在对应的ARP表项;如果是,则将该报文转发到与所述ARP表项中的目的MAC所对应的IPC;如果否,可以向网站客户端所要访问的IPC发送ARP请求报文获取MAC地址,然后将该报文转发到获取到的MAC地址所对应的IPC。
在本实施例中,当IPC收到来自网站客户端的远程访问报文后,可以针对该远程访问报文向网站客户端发送一个回应报文,以完成针对该IPC的远程访问;例如,当用户通过网站客户端远程点播IPC的视频流时,IPC在收到来自网站客户端的远程访问报文时,可以通过回应报文将本地的视频流发送给网站客户端。
当出口路由设备B收到来自所述IPC的回应报文后,可以根据创建的所述第二NAT表项,将该报文的目的IP地址转换成A2,将该报文的目的端口转换成P2,从而可以将该报文透传到网站客户端,以完成针对该IPC的远程访问。
以下以一个具体的应用实例并结合组网环境对以上方案进行描述。
请参见图3,假设IPC1的MAC地址为B8-CA-3A-AF-C3-01,IPC2的MAC地址为B8-CA-3A-AF-C3-02,IPC1和IPC2共用的IP地址为192.168.1.2,端口号为80,经过IPC侧路由设备A转换后的IP地址为1.1.1.1,端口号为10000;该路由设备A上存在源IP地址为192.168.1.2,源端口号为80,目的IP地址为2.2.2.2,目的端口号为20000的NAT表项。
网站客户端的IP地址为192.168.2.2,端口号为8080;经过网站客户端侧路由设备B转换后的IP地址为2.2.2.2,端口号为20000;该路由设备B上存在源IP地址为192.168.2.2,源端口号为8080,目的IP地址为1.1.1.1,目的端口号为10000的NAT表项
在实现时,网站客户端发送报文给IPC1,该报文到达IPC侧的路由设备A时,报文的源IP地址为2.2.2.2,源端口号为20000,目的IP地址为1.1.1.1,目的端口号为10000。路由设备A查询NAT表,存在对应的NAT表项,于是路由设备A转换报文的目的IP地址和目的端口号,转换后报文的目的IP地址为192.168.1.2,目的端口号为80。
地址转换后,路由设备A检查报文头部选项,报文头部选项携带了MAC转发标识,MAC地址为B8-CA-3A-AF-C3-01,此时路由设备A不查询ARP表,直接将报文发送到MAC地址为B8-CA-3A-AF-C3-01的IPC 1。
当IPC1向网站客户端回应报文时,该报文到达网站客户端侧的路由设备B时,报文的源IP地址为1.1.1.1,源端口号为10000,目的IP地址为2.2.2.2,目的端口号为20000。路由设备B查询NAT表,存在对应的NAT表项,于是路由设备A转换报文的目的IP地址和目的端口号,转换后报文的目的IP地址为192.168.2.2,目的端口号为8080。
地址转换后,此时路由设备B将该报文发送到IP地址为192.168.2.2,端口号为8080的网站客户端。自此针对IPC1的远程访问完成。
通过以上实施例的描述可知,本发明方案通过NVR与其绑定的IPC协商出用于为客户端主机提供远程访问的IP地址和端口号,网站服务器根据所述IP地址和端口号为所述NVR和所述客户端主机建立连接,当该连接建立完成后,NVR将所述IP地址和端口号下发给所述绑定的IPC,并在所述IP地址和端口号在所述绑定的IPC上生效后,通过网站服务器将所述绑定的IPC的MAC地址通告给所述客户端主机,客户端主机接收到网站服务器通告的MAC地址后,向所述NVR一侧的出口路由设备发送携带MAC转发标识和访问IPC的MAC地址的远程访问报文,使得所述NVR一侧的出口路由设备在收到所述远程访问报文后,将该报文转发到所述MAC地址对应的IPC以完成针对该IPC的远程访问。在本发明方案中,由于通过NVR来代替IPC建立与客户端主机之间的连接,并在连接建立成功后,将建立连接时的IP地址和端口号下发给IPC,后续客户端主机可以通过该IP地址和端口号直接访问IPC,从而即使当网站服务器和NVR发生故障时,也不会影响客户端主机访问IPC。
同时,在本发明中,IPC不需要配合网站服务器和网站客户端实现穿越NAT的流程,通过NVR配合网站服务器和网站客户端实现NAT穿越,从而从网站客户端可以主动访问IPC,对IPC进行远程管理;而且,由于NVR替代IPC建立与网站客户端之间的网络连接,然后下发建立连接时使用的IP地址和端口号给所有IPC,所有IPC共用该IP地址和端口号,共享一条网络连接,从而网站客户端访问与NVR绑定的其它IPC时,不需要重复进行NAT穿越。
请参见图4,在一种示例性的实施方式中,本发明还提出一种IPC的远程访问***,所述***包括NVR、客户端主机、网站服务器以及与所述NVR绑定的若干IPC,所述NVR以及所述IPC均支持ONVFI协议,所述***中在NVR一侧和客户端主机一侧还分别布置了一台均同时支持二三层转发的出口路由设备A和出口路由设备B。其中:
NVR用于与绑定的IPC协商用于为客户端主机提供远程访问的第一IP地址和第一端口号;
网站服务器用于通过所述第一IP地址和第一端口号为所述NVR与所述客户端主机之间建立连接;
当所述连接建立后,NVR进一步用于将所述第一IP地址和第一端口号下发给所述绑定的IPC,并在所述第一IP地址和第一端口号在所述绑定的IPC上生效后,通过网站服务器将所述绑定的IPC的MAC地址通告给所述客户端主机;
客户端主机用于向所述NVR一侧的出口路由设备发送远程访问报文,所述远程访问报文中包括MAC转发标识以及待访问IPC的MAC地址,使得所述NVR一侧的出口路由设备在收到所述远程访问报文后,在判断出所述远程访问报文中携带有MAC转发标识时,将该报文转发到所述MAC地址对应的IPC以完成针对该IPC的远程访问。
在本实施例中,所述网站服务器进一步用于:
接收客户端主机发送的IPC访问请求;其中所述IPC访问请求用于触发所述网站服务器在接收到该IPC访问请求后,向NVR发送第一通告报文;所述第一通告报文包括所述客户端主机一侧的出口路由设备的第二IP地址和第二端口号;
所述NVR进一步用于:
接收所述网站服务器发送的第一通告报文,向所述客户端主机一侧的出口路由设备发送连接创建请求报文,并在所述连接创建请求报文发送后通告所述网站服务器,以触发所述网站服务器向所述客户端主机发送第二通告报文;所述第二通告报文包括NVR一侧的出口路由设备的第三IP地址和第三端口号;
所述客户端主机进一步用于:
接收所述网站服务器发送的第二通告报文,向所述NVR一侧的出口路由设备发送连接创建回应报文,并在所述连接创建回应报文发送后通告所述网站服务器。
在本实施例中,所述连接创建请求报文的源IP地址为所述第一IP地址、源端口号为所述第一端口号、目的IP地址为所述第二IP地址、目的端口号为所述第二端口号;所述连接创建回应报文的源IP地址为客户端主机的IP地址、源端口号为客户端主机的端口号、目的IP地址为所述第三IP地址、目的端口号为所述第三端口号;
在本实施例中,所述NVR一侧的出口路由设备进一步用于:
在接收到所述连接创建请求报文后,创建用于为来自所述客户端主机一侧的出口路由设备的报文进行地址转换的第一NAT表项;
所述客户端主机一侧的出口路由设备进一步用于:
在接收到所述连接创建回应报文后创建用于为来自所述NVR一侧的出口路由设备的报文进行地址转换的第二NAT表项。
在本实施例中,所述NVR一侧的出口路由设备进一步用于:
在收到所述客户端主机发送的远程访问报文时,根据已创建的所述第一NAT表项对该报文进行地址转换,并判断地址转换后的报文中是否携带MAC转发标识以及MAC地址;当该报文中携带MAC转发标识以及MAC地址时,将该报文转发到所述MAC地址对应的IPC;
所述客户端主机一侧的出口路由设备进一步用于:
在收到所述IPC发送的针对所述远程访问报文的回应报文后,根据已创建的所述第二NAT表项对该报文进行地址转换后,将该报文转发到所述客户端主机,以完成所述客户端主机针对该IPC的远程访问。
在本实施例中,所述NVR一侧的出口路由设备进一步用于:
在判断出地址转换后的报文中未携带所述MAC转发标识时,查询ARP表,检查是否存在对应的ARP表项;如果是,将该报文转发到与所述ARP表项中的目的MAC所对应的IPC;如果否,向所述访问IPC发送ARP请求报文获取MAC地址,将该报文转发到获取到的MAC地址所对应的IPC。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (4)

1.一种网络摄像机IPC的远程访问方法,应用于视频监控***中,所述视频监控***包括网络硬盘录像机NVR、客户端主机、网站服务器以及与所述NVR绑定的若干IPC,其特征在于,包括:
NVR与绑定的IPC协商用于为客户端主机提供远程访问的第一IP地址和第一端口号;
网站服务器通过所述第一IP地址和第一端口号为所述NVR与所述客户端主机之间建立连接;
当所述连接建立后,NVR将所述第一IP地址和第一端口号下发给所述绑定的IPC,并在所述第一IP地址和第一端口号在所述绑定的IPC上生效后,通过网站服务器将所述绑定的IPC的MAC地址通告给所述客户端主机;
客户端主机向所述NVR一侧的出口路由设备发送远程访问报文,所述远程访问报文中包括MAC转发标识以及待访问IPC的MAC地址,使得所述NVR一侧的出口路由设备在收到所述远程访问报文后,在判断出所述远程访问报文中携带有MAC转发标识时,将该报文转发到所述MAC地址对应的IPC以完成针对该IPC的远程访问;
所述网站服务器通过所述第一IP地址和第一端口号为所述NVR与所述客户端主机之间建立连接包括:
网站服务器接收客户端主机发送的IPC访问请求;其中所述IPC访问请求用于触发所述网站服务器在接收到该IPC访问请求后,向NVR发送第一通告报文;所述第一通告报文包括所述客户端主机一侧的出口路由设备的第二IP地址和第二端口号;
NVR接收所述网站服务器发送的第一通告报文,向所述客户端主机一侧的出口路由设备发送连接创建请求报文,并在所述连接创建请求报文发送后通告所述网站服务器,以触发所述网站服务器向所述客户端主机发送第二通告报文;所述第二通告报文包括NVR一侧的出口路由设备的第三IP地址和第三端口号;
客户端主机接收所述网站服务器发送的第二通告报文,向所述NVR一侧的出口路由设备发送连接创建回应报文,并在所述连接创建回应报文发送后通告所述网站服务器;
所述连接创建请求报文的源IP地址为所述第一IP地址、源端口号为所述第一端口号、目的IP地址为所述第二IP地址、目的端口号为所述第二端口号;所述连接创建回应报文的源IP地址为客户端主机的IP地址、源端口号为客户端主机的端口号、目的IP地址为所述第三IP地址、目的端口号为所述第三端口号;
所述方法还包括:
NVR一侧的出口路由设备在接收到所述连接创建请求报文后,创建用于为来自所述客户端主机一侧的出口路由设备的报文进行地址转换的第一NAT表项;
客户端主机一侧的出口路由设备在接收到所述连接创建回应报文后创建用于为来自所述NVR一侧的出口路由设备的报文进行地址转换的第二NAT表项;
所述NVR一侧的出口路由设备在收到所述远程访问报文后,在判断出所述远程访问报文中携带有MAC转发标识时,将该报文转发到所述MAC地址对应的IPC以完成针对该IPC的远程访问包括:
所述NVR一侧的出口路由设备在收到所述客户端主机发送的远程访问报文时,根据已创建的所述第一NAT表项对该报文进行地址转换,并判断地址转换后的报文中是否携带MAC转发标识以及MAC地址;当该报文中携带MAC转发标识以及MAC地址时,将该报文转发到所述MAC地址对应的IPC;
所述客户端主机一侧的出口路由设备在收到所述IPC发送的针对所述远程访问报文的回应报文后,根据已创建的所述第二NAT表项对该报文进行地址转换后,将该报文转发到所述客户端主机,以完成所述客户端主机针对该IPC的远程访问。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述NVR一侧的出口路由设备判断出地址转换后的报文中未携带所述MAC转发标识时,查询ARP表,检查是否存在对应的ARP表项;如果是,将该报文转发到与所述ARP表项中的目的MAC所对应的IPC;如果否,向所述访问IPC发送ARP请求报文获取MAC地址,将该报文转发到获取到的MAC地址所对应的IPC。
3.一种IPC的远程访问***,所述***包括NVR、客户端主机、网站服务器以及与所述NVR绑定的若干IPC,其特征在于:
NVR用于与绑定的IPC协商用于为客户端主机提供远程访问的第一IP地址和第一端口号;
网站服务器用于通过所述第一IP地址和第一端口号为所述NVR与所述客户端主机之间建立连接;
当所述连接建立后,NVR进一步用于将所述第一IP地址和第一端口号下发给所述绑定的IPC,并在所述第一IP地址和第一端口号在所述绑定的IPC上生效后,通过网站服务器将所述绑定的IPC的MAC地址通告给所述客户端主机;
客户端主机用于向所述NVR一侧的出口路由设备发送远程访问报文,所述远程访问报文中包括MAC转发标识以及待访问IPC的MAC地址,使得所述NVR一侧的出口路由设备在收到所述远程访问报文后,在判断出所述远程访问报文中携带有MAC转发标识时,将该报文转发到所述MAC地址对应的IPC以完成针对该IPC的远程访问;
所述网站服务器进一步用于:
接收客户端主机发送的IPC访问请求;其中所述IPC访问请求用于触发所述网站服务器在接收到该IPC访问请求后,向NVR发送第一通告报文;所述第一通告报文包括所述客户端主机一侧的出口路由设备的第二IP地址和第二端口号;
所述NVR进一步用于:
接收所述网站服务器发送的第一通告报文,向所述客户端主机一侧的出口路由设备发送连接创建请求报文,并在所述连接创建请求报文发送后通告所述网站服务器,以触发所述网站服务器向所述客户端主机发送第二通告报文;所述第二通告报文包括NVR一侧的出口路由设备的第三IP地址和第三端口号;
所述客户端主机进一步用于:
接收所述网站服务器发送的第二通告报文,向所述NVR一侧的出口路由设备发送连接创建回应报文,并在所述连接创建回应报文发送后通告所述网站服务器;
所述连接创建请求报文的源IP地址为所述第一IP地址、源端口号为所述第一端口号、目的IP地址为所述第二IP地址、目的端口号为所述第二端口号;所述连接创建回应报文的源IP地址为客户端主机的IP地址、源端口号为客户端主机的端口号、目的IP地址为所述第三IP地址、目的端口号为所述第三端口号;
所述NVR一侧的出口路由设备用于:
在接收到所述连接创建请求报文后,创建用于为来自所述客户端主机一侧的出口路由设备的报文进行地址转换的第一NAT表项;
所述客户端主机一侧的出口路由设备用于:
在接收到所述连接创建回应报文后创建用于为来自所述NVR一侧的出口路由设备的报文进行地址转换的第二NAT表项;
所述NVR一侧的出口路由设备进一步用于:
在收到所述客户端主机发送的远程访问报文时,根据已创建的所述第一NAT表项对该报文进行地址转换,并判断地址转换后的报文中是否携带MAC转发标识以及MAC地址;当该报文中携带MAC转发标识以及MAC地址时,将该报文转发到所述MAC地址对应的IPC;
所述客户端主机一侧的出口路由设备进一步用于:
在收到所述IPC发送的针对所述远程访问报文的回应报文后,根据已创建的所述第二NAT表项对该报文进行地址转换后,将该报文转发到所述客户端主机,以完成所述客户端主机针对该IPC的远程访问。
4.如权利要求3所述的***,其特征在于,所述NVR一侧的出口路由设备进一步用于:
在判断出地址转换后的报文中未携带所述MAC转发标识时,查询ARP表,检查是否存在对应的ARP表项;如果是,将该报文转发到与所述ARP表项中的目的MAC所对应的IPC;如果否,向所述访问IPC发送ARP请求报文获取MAC地址,将该报文转发到获取到的MAC地址所对应的IPC。
CN201410839822.9A 2014-12-29 2014-12-29 一种ipc的远程访问方法和*** Active CN104539902B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410839822.9A CN104539902B (zh) 2014-12-29 2014-12-29 一种ipc的远程访问方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410839822.9A CN104539902B (zh) 2014-12-29 2014-12-29 一种ipc的远程访问方法和***

Publications (2)

Publication Number Publication Date
CN104539902A CN104539902A (zh) 2015-04-22
CN104539902B true CN104539902B (zh) 2018-06-05

Family

ID=52855361

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410839822.9A Active CN104539902B (zh) 2014-12-29 2014-12-29 一种ipc的远程访问方法和***

Country Status (1)

Country Link
CN (1) CN104539902B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104883547B (zh) * 2015-06-16 2019-04-12 浙江宇视科技有限公司 基于网络接入设备物理端口接入ipc的方法及nvr
CN105656680B (zh) * 2016-01-29 2019-12-13 浙江宇视科技有限公司 一种网络摄像机控制方法及装置
CN105979405A (zh) * 2016-06-24 2016-09-28 浙江宇视科技有限公司 访问视频设备的方法及装置
CN111163040B (zh) * 2018-11-08 2022-06-14 浙江宇视科技有限公司 一种重协商的会话重建方法及装置
CN110557563B (zh) * 2019-08-05 2021-03-26 深圳市天视通电子科技有限公司 一种网络摄像机远程通信方法及***
CN111432151B (zh) * 2020-01-20 2022-08-23 杭州海康威视数字技术股份有限公司 视频数据存储方法、装置、设备及存储介质
CN113612861B (zh) * 2021-10-08 2022-01-11 深圳鼎信通达股份有限公司 远程访问方法、***及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101552804A (zh) * 2008-12-22 2009-10-07 北京大学深圳研究生院 网络视频发布***及其网络视频访问方法
CN102811174A (zh) * 2012-07-30 2012-12-05 浙江宇视科技有限公司 一种监控业务处理方法和nvr
CN104010052A (zh) * 2014-06-11 2014-08-27 浙江宇视科技有限公司 一种监控***中基于UPnP的媒体连接方法
CN104104926A (zh) * 2014-07-30 2014-10-15 浙江宇视科技有限公司 一种通用即插即用的监控终端访问方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4726190B2 (ja) * 2004-08-09 2011-07-20 株式会社メガチップス ネットワークカメラ、ddnsサーバおよび映像配信システム
KR100847999B1 (ko) * 2006-06-30 2008-07-23 포스데이타 주식회사 네트워크 기반의 dvr 시스템에 있어서 dvr 서버 및모니터링 대상 단말 접근 제어 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101552804A (zh) * 2008-12-22 2009-10-07 北京大学深圳研究生院 网络视频发布***及其网络视频访问方法
CN102811174A (zh) * 2012-07-30 2012-12-05 浙江宇视科技有限公司 一种监控业务处理方法和nvr
CN104010052A (zh) * 2014-06-11 2014-08-27 浙江宇视科技有限公司 一种监控***中基于UPnP的媒体连接方法
CN104104926A (zh) * 2014-07-30 2014-10-15 浙江宇视科技有限公司 一种通用即插即用的监控终端访问方法和装置

Also Published As

Publication number Publication date
CN104539902A (zh) 2015-04-22

Similar Documents

Publication Publication Date Title
CN104539902B (zh) 一种ipc的远程访问方法和***
CN106533883B (zh) 一种网络专线的建立方法、装置及***
CN101252509B (zh) 双-nat方法在动态虚拟专用网络(vpn)的数据包处理及路由中的应用
JP5333263B2 (ja) アクセス制御システム及びアクセス制御方法
CN102368764B (zh) 一种通过多点登录进行通信的方法、***及客户端
US10454880B2 (en) IP packet processing method and apparatus, and network system
CN110098947A (zh) 一种应用的部署方法、设备及***
US20100257226A1 (en) Communication module and application program provided with same
WO2006132024A1 (en) Information processing server, remote control system, and remote control method
CN102055816A (zh) 一种通信方法、业务服务器、中间设备、终端及通信***
CN101247361A (zh) 一种用户群组中成员动态信息显示***及方法
CN103997479B (zh) 一种非对称服务ip代理方法和设备
CN107547665A (zh) 一种dhcp地址分配的方法、设备及***
CN107659930A (zh) 一种ap接入控制方法和装置
CN104519077A (zh) 多媒体分享方法、注册方法、服务器及代理服务器
CN104168302B (zh) 设备操控实现方法、***和代理网关
CN109246016A (zh) 跨vxlan的报文处理方法和装置
CN103269300A (zh) 一种实现异构网络互联的方法和设备
JP2009105831A (ja) 呼制御システム、端末、呼制御方法、および呼制御プログラム
CN101068211B (zh) 点对点流量优化方法和***
CN104468543A (zh) 一种局域网设备的访问方法及装置
CN101309154B (zh) 报文的发送方法、发送装置和传输***
CN106101201A (zh) 一种ndn中基于重定向和重写的可扩展任播方法和***
CN104144230A (zh) 一种简便的监控终端绑定方法和装置
CN101453396B (zh) 多服务提供商设备管理的方法和***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant