书签 分享 收藏 举报 版权申诉 / 12

一种基于NAT类型的设备互通方法和系统.pdf

  • 上传人:111****11
  • 文档编号:4893372
  • 上传时间:2018-11-24
  • 格式:PDF
  • 页数:12
  • 大小:1.79MB
  • 摘要
    申请专利号:

    CN201410494843.1

    申请日:

    2014.09.24

    公开号:

    CN104243629A

    公开日:

    2014.12.24

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):H04L 29/12申请日:20140924|||公开

    IPC分类号:

    H04L29/12; H04L29/06

    主分类号:

    H04L29/12

    申请人:

    浙江宇视科技有限公司

    发明人:

    周迪; 关春天

    地址:

    310051 浙江省杭州市滨江区西兴街道江陵路88号10幢南座1-11层

    优先权:

    专利代理机构:

    北京博思佳知识产权代理有限公司 11415

    代理人:

    林祥

    PDF完整版下载: PDF下载
    内容摘要

    本发明提供一种基于NAT类型的设备互通方法,该方法包括:公网中的服务器Server向第一NAT设备内的第一业务设备发送获取第一NAT设备类型的报文,第一业务设备向server反馈该第一NAT设备的类型;Server向第二NAT设备内的第二业务设备发送获取第二NAT设备类型的报文,第二业务设备向server反馈该第二NAT设备的类型;Server根据获取的第一NAT设备和第二NAT设备的类型判断是否进行NAT设备类型的设置;如果是,则发送设置NAT类型的报文;否则不发送设置NAT类型的报文;对应的NAT设备根据设置报文进行NAT类型的重新设置。本发明解决了在一些安全性非常高的NAT类型设备后的设备能实现和其他安全性非常高的NAT类型设备后的设备的互通。

    权利要求书

    权利要求书1.  一种基于NAT类型的设备互通方法,其特征在于,该方法包括:公网中的服务器Server向第一NAT设备内的第一业务设备发送获取第一NAT设备类型的报文,第一业务设备向server反馈该第一NAT设备的类型;Server向第二NAT设备内的第二业务设备发送获取第二NAT设备类型的报文,第二业务设备向server反馈该第二NAT设备的类型;Server根据获取的第一NAT设备和第二NAT设备的类型判断是否进行NAT设备类型的设置;如果是,则发送设置NAT类型的报文;否则不发送设置NAT类型的报文;NAT设备根据设置报文进行NAT类型的重新设置。2.  如权利要求1所述的方法,其特征在于,所述方法还包括:第一业务设备和第二业务设备分别向Server进行注册,第一NAT设备和第二NAT设备基于所述注册分别记录对应的NAT表项;Server基于第一业务设备和第二业务设备分别和自身建立的注册会话,分别向第一业务设备和第二业务设备发送获取第一NAT设备类型和第二NAT设备类型的报文。3.  如权利要求1所述的方法,其特征在于,Server发送设置NAT类型的报文给第一业务设备,该设置NAT类型的报文包括第一NAT设备所需设置的类型;该设置NAT类型的报文被第一NAT设备接收,第一NAT设备对该设置NAT类型的报文进行解析,并根据所需设置的类型设置自身的NAT类型,且设置该新的NAT类型只对第一业务设备和第二业务设备的会话起作用。4.  如权利要求1所述的方法,其特征在于,所述Server还分别获取第一NAT设备和第二NAT设备是否支持对NAT类型的重新设置;当需要进行NAT设备类型的设置时,向支持NAT类型重新设置的NAT设备发送设置NAT类型的报文。5.  如权利要求1所述的方法,其特征在于,Server根据获取的第一NAT 设备和第二NAT设备的类型判断是否进行NAT设备类型的设置包括:如果第一NAT设备和第二NAT设备中一个为Symmetric类型,另一个为Port Restricted Cone或者Symmetric类型,则Server确定对其中一个或者两个NAT设备进行设置,以使得第一业务设备和第二业务设备至少能通过NAT打洞技术进行互通。6.  一种基于NAT类型的设备互通系统,其特征在于,该系统包括:公网中的服务器Server向第一NAT设备内的第一业务设备发送获取第一NAT设备类型的报文,第一业务设备向server反馈该第一NAT设备的类型;Server向第二NAT设备内的第二业务设备发送获取第二NAT设备类型的报文,第二业务设备向server反馈该第二NAT设备的类型;Server根据获取的第一NAT设备和第二NAT设备的类型判断是否进行NAT设备类型的设置;如果是,则发送设置NAT类型的报文;否则不发送设置NAT类型的报文;NAT设备根据设置报文进行NAT类型的重新设置。7.  如权利要求6所述的系统,其特征在于,第一业务设备和第二业务设备分别向Server进行注册,第一NAT设备和第二NAT设备基于所述注册分别记录对应的NAT表项;Server基于第一业务设备和第二业务设备分别和自身建立的注册会话,分别向第一业务设备和第二业务设备发送获取第一NAT设备类型和第二NAT设备类型的报文。8.  如权利要求6所述的系统,其特征在于,Server发送设置NAT类型的报文给第一业务设备,该设置NAT类型的报文包括第一NAT设备所需设置的类型;该设置NAT类型的报文被第一NAT设备接收,第一NAT设备对该设置NAT类型的报文进行解析,并根据所需设置的类型设置自身的NAT类型,且设置该新的NAT类型只对第一业务设备和第二业务设备的会话起作用。9.  如权利要求6所述的方法,其特征在于,所述Server还分别获取第一NAT设备和第二NAT设备是否支持对NAT类型的重新设置;当需要进 行NAT设备类型的设置时,向支持NAT类型重新设置的NAT设备发送设置NAT类型的报文。10.  如权利要求6所述的方法,其特征在于,Server根据获取的第一NAT设备和第二NAT设备的类型判断是否进行NAT设备类型的设置包括:如果第一NAT设备和第二NAT设备中一个为Symmetric类型,另一个为Port Restricted Cone或者Symmetric类型,则Server确定对其中一个或者两个NAT设备进行设置,以使得第一业务设备和第二业务设备至少能通过NAT打洞技术进行互通。

    说明书

    说明书一种基于NAT类型的设备互通方法和系统
    技术领域
    本发明涉及网络技术领域,尤其涉及基于NAT类型的设备互通方法和系统。
    背景技术
    完整的视频监控系统是由摄像、传输、控制、显示、存储5大部分组成。请参图1,本专利申请主要涉及传输部分。
    众所周知,随着IP监控技术、互联网技术的推广普及,跨地区部门分支机构、商业集团全球分部越来越多地使用远程互联网视频监控。而在实际使用中,用户显示设备和监控摄像机通常位于不同的NAT路由器构建的内网中。用户显示设备和监控摄像机在内网中通过各自不同的NAT路由器接入互联网。当用户想要访问摄像机时,由于各自接入的NAT类型复杂以及IP地址、端口等的变化,有的时候该访问会不成功。
    如何基于已有的接入互联网的公网中的视频监控平台服务器Server和将监控设备接入网络的NAT路由器,灵活便捷、安全地实现NAT内显示设备和NAT内摄像机之间的互联访问是本文要解决的问题。
    发明内容
    有鉴于此,本发明提供一种基于NAT类型的设备互通方法和系统。
    该基于NAT类型的设备互通方法包括:公网中的服务器Server向第一NAT设备内的第一业务设备发送获取第一NAT设备类型的报文,第一业务设备向server反馈该第一NAT设备的类型;Server向第二NAT设备内的第 二业务设备发送获取第二NAT设备类型的报文,第二业务设备向server反馈该第二NAT设备的类型;Server根据获取的第一NAT设备和第二NAT设备的类型判断是否进行NAT设备类型的设置;如果是,则发送设置NAT类型的报文;否则不发送设置NAT类型的报文;NAT设备根据设置报文进行NAT类型的重新设置。
    优选地,该方法还包括:第一业务设备和第二业务设备分别向Server进行注册,第一NAT设备和第二NAT设备基于所述注册分别记录对应的NAT表项;Server基于第一业务设备和第二业务设备分别和自身建立的注册会话,分别向第一业务设备和第二业务设备发送获取第一NAT设备类型和第二NAT设备类型的报文。
    优选地,Server发送设置NAT类型的报文给第一业务设备,该设置NAT类型的报文包括第一NAT设备所需设置的类型;该设置NAT类型的报文被第一NAT设备接收,第一NAT设备对该设置NAT类型的报文进行解析,并根据所需设置的类型设置自身的NAT类型,且设置该新的NAT类型只对第一业务设备和第二业务设备的会话起作用。
    优选地,该Server还分别获取第一NAT设备和第二NAT设备是否支持对NAT类型的重新设置;当需要进行NAT设备类型的设置时,向支持NAT类型重新设置的NAT设备发送设置NAT类型的报文。
    优选地,Server根据获取的第一NAT设备和第二NAT设备的类型判断是否进行NAT设备类型的设置包括:如果第一NAT设备和第二NAT设备中一个为Symmetric类型,另一个为Port Restricted Cone或者Symmetric类型,则Server确定对其中一个或者两个NAT设备进行设置,以使得第一业务设备和第二业务设备至少能通过NAT打洞技术进行互通。
    该基于NAT类型的设备互通系统包括:公网中的服务器Server向第一NAT设备内的第一业务设备发送获取第一NAT设备类型的报文,第一业务设备向server反馈该第一NAT设备的类型;Server向第二NAT设备内的第二业务设备发送获取第二NAT设备类型的报文,第二业务设备向server反馈 该第二NAT设备的类型;Server根据获取的第一NAT设备和第二NAT设备的类型判断是否进行NAT设备类型的设置;如果是,则发送设置NAT类型的报文;否则不发送设置NAT类型的报文;NAT设备根据设置报文进行NAT类型的重新设置。
    相较于现有技术,本发明解决了在一些安全性非常高的NAT类型设备后的设备能实现和其他安全性非常高的NAT类型设备后的设备的互通。
    附图说明
    图1是现有的一种基本监控系统组网图。
    图2是包含有NAT设备的网络图。
    图3是本发明实施例流程图。
    具体实施方式
    NAT设备具有多种不同的类型,“Full Cone NAT”,“Restricted Cone NAT”,“Port Restricted Cone NAT”和“Symmetric NAT”。
    “Full Cone NAT”:内网主机建立一个UDP socket(LocalIP:LocalPort),第一次使用这个socket给外部主机发送数据时,NAT会给其分配一个公网(PublicIP:PublicPort),以后用这个socket向外面任何主机发送数据都将使用这对(PublicIP:PublicPort)。此外,任何外部主机只要知道这个(PublicIP:PublicPort)就可以发送数据给(PublicIP:PublicPort),内网的主机就能收到这个数据包。
    “Restricted Cone NAT”:内网主机建立一个UDP socket(LocalIP:LocalPort),第一次使用这个socket给外部主机发送数据时NAT会给其分配一个公网(PublicIP:PublicPort),以后用这个socket向外面任何主机发送数据都将使用这对(PublicIP:PublicPort)。此外,如果任何外部主机想要发送数据给这个内网主机,只要知道这个(PublicIP:PublicPort),并且内网主机之前用这个socket曾向这个外部主机IP发送过数据。只要满足这两 个条件,这个外部主机就可以用自己的(IP,任何端口)发送数据给(PublicIP:PublicPort),内网的主机就能收到这个数据包。
    Port Restricted Cone NAT:内网主机建立一个UDP socket(LocalIP:LocalPort),第一次使用这个socket给外部主机发送数据时NAT会给其分配一个公网(PublicIP:PublicPort),以后用这个socket向外面任何主机发送数据都将使用这对(PublicIP:PublicPort)。此外,如果任何外部主机想要发送数据给这个内网主机,只要知道这个(PublicIP:PublicPort)并且内网主机之前用这个socket曾向这个外部主机(IP,Port)发送过数据。只要满足这两个条件,这个外部主机就可以用自己的(IP,Port)发送数据给(PublicIP:PublicPort),内网的主机就能收到这个数据包。
    Symmetric NAT:内网主机建立一个UDP socket(LocalIP,LocalPort),当用这个socket第一次发数据给外部主机1时,NAT为其映射一个(PublicIP-1,Port-1),以后内网主机发送给外部主机1的所有数据都是用这个(PublicIP-1,Port-1),如果内网主机同时用这个socket给外部主机2发送数据,第一次发送时,NAT会为其分配一个(PublicIP-2,Port-2),以后内网主机发送给外部主机2的所有数据都是用这个(PublicIP-2,Port-2)。如果NAT有多于一个公网IP,则PublicIP-1和PublicIP-2可能不同,如果NAT只有一个公网IP,则Port-1和Port-2肯定不同,也就是说一定不能是PublicIP-1等于PublicIP-2且Port-1等于Port-2。此外,如果任何外部主机想要发送数据给这个内网主机,那么它首先应该收到内网主机发给他的数据,然后才能往回发送,否则即使他知道内网主机的一个(PublicIP,Port)也不能发送数据给内网主机,这种NAT无法实现UDP-P2P通信。
    请参图2的组网图,公网中有一个Server20,NAT设备21所构建的内网1中有若干业务设备;NAT设备22所构建的内网2中也存在若干业务设备。根据前文对NAT类型的介绍可知,在NAT设备21为Symmetric NAT,NAT设备22为Port Restricted Cone NAT或者Symmetric NAT时,无法通过NAT打洞技术实现内网1中的业务设备和内网2中的业务设备的互通;在 NAT设备21为Port Restricted Cone NAT,NAT设备22为Symmetric NAT时,也无法通过NAT打洞技术实现内网1中的设备和内网2中的设备的互通。
    在一些应用场景中,需要配置Symmetric NAT,主要是从安全的角度考虑。如果配置如Full Cone NAT类型NAT时,黑客很容易获取内网终端设备的一些数据。现实中就发生过这样的案例:在一监控网络,家庭用户在家中安装了一些摄像机,这些监控摄像机位于家庭出口NAT路由器构建的内网中,由于这些NAT路由器的NAT类型为Full Cone NAT,导致了黑客轻而易举地获得了用户家庭的监控图像,并将之传播到网上,造成了恶劣的影响。
    所以后续用户很希望将自己家中的NAT设备配置为最安全的级别,即Symmetric NAT,但是这又将造成上文提到的访问不通的问题。比如说,用户在公司上班,中间休息时想看下家中的监控图像,若该用户的观看设备,如PC机,手机终端也位于一Symmetric NAT的网络中,则用户将无法观看家中的视频监控画面。
    下面的方案将基于视频监控网络来进行说明,但是可以理解的是,其他非视频监控的网络同样可以应用本发明的技术方案。
    请参图3所示的本发明实施例流程图。
    S31、公网中的服务器Server向第一NAT设备内的第一业务设备发送获取第一NAT设备类型的报文。
    S32、第一业务设备向server反馈该第一NAT设备的类型。
    S33、Server向第二NAT设备内的第二业务设备发送获取第二NAT设备类型的报文,第二业务设备向server反馈该第二NAT设备的类型。
    S34、Server根据获取的第一NAT设备和第二NAT设备的类型判断是否进行NAT设备类型的设置;如果是,转步骤S35,否则转步骤S36。
    S35、发送设置NAT类型的报文。
    S36、不发送设置NAT类型的报文。
    S37、NAT设备根据设置报文进行NAT类型的重新设置。
    上述流程各步骤之间的顺序可以进行一定的调整。比如说,S31和S33之间显然没有明显的先后关系。
    在第二NAT设备内的第一业务设备有访问第一NAT设备内的第二业务设备的需求时,Server根据获取的第一NAT设备和第二NAT设备的类型判断是否进行NAT设备类型的设置;如果是,则发送设置NAT类型的报文;否则不发送设置NAT类型的报文;对应的NAT设备根据设置报文进行NAT类型的重新设置。
    对NAT类型的重新设置是将安全级别高的类型往安全级别低的类型进行设置,所以最好在有访问需求的时候再进行NAT类型的调整,即NAT类型的调整是基于会话的,在本发明中将称之为Session模式的类型设置。
    在视频监控系统中,Server为视频监控平台服务器,其管理和控制着若干业务设备。比如说,第一和第二业务设备均需要向Server进行注册;第一业务设备若需要访问第二业务设备时,先将访问请求发送给Server,Server根据两者之间的权限、绑定或者其他关系确认是否允许访问。
    在第二NAT设备内的第二业务设备有访问第一NAT设备内的第一业务设备的需求时,如果此时Server已经获取了第一NAT设备和第二NAT设备的类型,则直接根据这两者的类型判断是否需要进行NAT类型的变更设置。如果此时Server还不清楚第一NAT设备和第二NAT设备的类型,则可以向第一业务设备和第二业务设备获取。第一业务设备和第二业务设备属于Server管理的设备,且第一业务设备和第二业务设备通过一些现有的方式可以获取到NAT的类型,所以Server向这两个设备获取NAT设备的类型。
    Server获取第一NAT设备和第二NAT设备的类型包括:Server向第一NAT设备内的第一业务设备发送获取第一NAT设备类型的报文,第一业务设备向server反馈该第一NAT设备的类型。Server向第二NAT设备内的第二业务设备发送获取第二NAT设备类型的报文,第二业务设备向server反馈该第二NAT设备的类型。
    上述获取NAT设备类型的报文可以是如下的一种报文:

    表一
    由于业务设备会向公网中的Server进行注册,所以无论将业务设备和公网隔离的NAT是属于什么类型,Server向业务设备获取NAT类型的报文都能穿过NAT设备发送到业务设备。即第一业务设备和第二业务设备分别向Server进行注册,第一NAT设备和第二NAT设备基于所述注册会话分别记录对应的NAT表项;Server基于第一业务设备和第二业务设备分别和自身建立的注册会话,向第一业务设备和第二业务设备发送获取第一NAT设备类型和第二NAT设备类型的报文。获取第一NAT设备类型和第二NAT设备类型的报文均能穿越第一NAT设备和第二NAT设备到达第一业务设备和第二业务设备。
    业务设备通过NAT类型检测技术能得到相应NAT设备的类型,并在接收到Server的NAT类型获取报文后将NAT设备的类型反馈给Server。
    Server根据获取的第一NAT设备和第二NAT设备的类型判断是否进行NAT设备类型的设置包括:如果第一NAT设备和第二NAT设备中一个为Symmetric类型,另一个为Port Restricted Cone或者Symmetric类型,则Server确定对其中一个或者两个NAT设备进行重新设置,以使得第一业务设备和第二业务设备至少能通过NAT打洞技术进行互通。
    比如说,第一NAT设备为Symmetric类型,第二NAT设备为Port Restricted Cone类型,Server可以将第一NAT设备的类型设为Port Restricted Cone;或者将第二NAT设备设为Full Cone类型。又比如,第一NAT设备为Symmetric类型,第二NAT设备也为Symmetric类型,Server可以同时将第一NAT设备和第二NAT设备类型设为Port Restricted Cone类型。Server重新调整NAT设备类型的时候,以尽可能降的安全级别比较小为原则。
    设置NAT类型的报文可以是如表二的报文:

    表二
    Server发送如表二所示的设置NAT类型的报文给第一业务设备,该设置NAT类型的报文包括第二业务设备的公网IP地址和端口号,第一NAT设备所需设置的类型。该设置NAT类型的报文被第一NAT设备接收,第一NAT设备对该设置NAT类型的报文进行解析,并根据所需设置的类型设置自身的NAT类型。该新设置的NAT类型只对第二业务设备和第一业务设备交互的报文其起作用。比如说第一NAT设备类型被设置为了Port Restricted Cone类型,如果第二NAT设备是Port Restricted Cone类型的话,那么后续只要借助NAT打洞技术就能实现第一业务设备和第二业务设备的通信。具体可以按照如下方式实现:比如第二业务设备想要和第一业务设备进行通信,第二业务设备只需要向Server发送一个请求,请求Server命令该第一业务设备向第二业务设备方向打一个洞,这样第二业务设备就能访问第一业务设备了。具体地,第一业务设备发送目的IP地址和端口为第二业务设备的公网IP和端口,源IP地址和端口为第一业务设备的私网IP和端口的报文,该报文在经过设置为Port Restricted Cone类型第一NAT设备的时候,第一NAT设备将源IP地址和端口转换为第一业务设备的公网IP和端口,并在本地记录NAT表项。此时第二业务设备再向第一业务设备发送目的IP和端口为第一业务设备的公网IP和端口,源IP和端口为第二业务设备的私网IP和端口的报文时,由于第一NAT设备已经记录有对应的NAT表项(该条表项包括:第一业务设备的私网IP/端口、第一业务设备的公网IP/端口以及第二业务设备的公网IP/端口),所以该Port Restricted Cone类型的第一NAT设备对第二业务设 备发送给第一业务设备的报文进行NAT转换后发送给第一业务设备,至此第二业务设备就实现了对第一业务设备的访问。由于第二业务设备在给第一业务设备发送报文时,第二NAT设备上也记录了对应的NAT表项,所以第一业务设备发送给第二业务设备的报文也能被转发到第二业务设备。因此,第一业务设备和第二业务设备就实现了互通。
    由于该新设置的NAT类型对第一业务设备和第二业务设备之间的会话起作用。对于其他业务设备和第一业务设备之间的通信,第一NAT设备还是按照原先的NAT类型进行处理,除非Server对于其他业务设备和第一业务设备的通信也发起NAT类型重设置的处理。这样就有限的放开了NAT设备的安全级别。
    本发明方案,NAT设备是一个需要改进的设备,该NAT设备至少应该能够解析Server发送的NAT类型设置报文,并且根据待设置的类型调整NAT的类型。但是从网络兼容性的角度考虑,需要允许网络中存在一些未如本发明一样改进的NAT设备。所以在获取NAT类型的时候,还获取该NAT是否支持NAT类型设置。然后Server根据该信息,仅对支持NAT类型设置的NAT进行类型设置。比如说当两个NAT设备,一个是普通的NAT设备,一个是支持Session模式设置的NAT设备,则Server设置支持Session模式设置的NAT设备。另外,当两个NAT设备都是支持Session模式设置的设备,Server可以根据尽可能降的安全级别比较小为原则进行设置;或者如果给Server反馈的NAT设备类型报文中包含NAT设备的安全级别信息,则可以选择设置安全级别低的一侧的NAT设备;如果两个NAT设备的安全级别一样,则可以任选一个进行设置。
    以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

    关 键  词:
    一种 基于 NAT 类型 设备 互通 方法 系统
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种基于NAT类型的设备互通方法和系统.pdf
    链接地址:https://www.zhuanlichaxun.net/p-4893372.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1