首页> 中国专利> 网络地址转换设备及其响应地址解析协议请求的方法

网络地址转换设备及其响应地址解析协议请求的方法

摘要

本发明涉及一种网络地址转换设备及其响应地址解析协议请求的方法,方法包括:根据接收地址解析协议请求报文网络接口的编号,从用于查询目标IP地址的本机地址表中查找与地址解析协议请求报文中的目标IP地址相同的公网IP地址;本机地址表由配置网络接口的IP地址触发建立;本机地址表保存有网络地址转换设备上的所有公网IP地址及相关联的网络接口编号与媒体访问控制地址;查找到相同的公网IP地址后,根据相同的公网IP地址相关联的媒体访问控制地址向地址解析协议请求报文的发送方发出地址解析协议应答报文。设备包括建立单元、接收单元、查找单元及应答单元。解决了由于NAT设备未建立地址转换关系导致的无法做出ARP应答的问题。

著录项

  • 公开/公告号CN101465889A

    专利类型发明专利

  • 公开/公告日2009-06-24

    原文格式PDF

  • 申请/专利权人 北京星网锐捷网络技术有限公司;

    申请/专利号CN200810227964.4

  • 发明设计人 冷钦街;王晓峰;

    申请日2008-12-03

  • 分类号H04L29/12(20060101);H04L29/06(20060101);

  • 代理机构11205 北京同立钧成知识产权代理有限公司;

  • 代理人刘芳

  • 地址 100036 北京市海淀区复兴路33号翠微大厦东1106

  • 入库时间 2023-12-17 22:10:28

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2011-06-22

    授权

    授权

  • 2009-08-19

    实质审查的生效

    实质审查的生效

  • 2009-06-24

    公开

    公开

说明书

技术领域

本发明涉及网络通信技术领域,尤其涉及一种网络地址转换(NetworkAddress Translation,NAT)设备及其响应地址解析协议(Address ResolveProtocol,ARP)请求的方法。

背景技术

NAT是一种允许私有地址与公网因特网协议(Internet Protocol,IP)地址相互转换,从而达到多个用户共用一个公网IP地址上网的地址复用技术。通常,在企业网络内部,不需要经过申请,便可以根据需要随意自定义IP地址。各计算机之间通过内部的IP地址进行通讯。当内部的计算机需要与外部因特网(Internet)进行通讯时,具有NAT功能的设备即NAT设备负责将其内部网络的IP地址转换为合法的公网IP地址。

本申请中,公网IP地址指的是由因特网服务提供商(Internet Service Provider,ISP)分配给企业的全球唯一的合法IP地址,NAT设备上可能有一个或者多个这样的地址。

通过NAT设备实现多个用户同时共用一个公网IP地址与外部Internet进行通信,能够达到节省IP地址的目的。并且,通过NAT设备将内部网络与外部Internet隔离开,使得内网更安全。

现有技术中,一个典型的NAT应用环境拓扑如图1所示。内网通过NAT设备接入Internet。内网中所有主机的IP地址处于192.168.1.0/24网段,NAT设备11网络接口1的IP地址为192.168.1.1。Internet中与NAT设备相邻的路由器的IP地址为211.1.2.1。ISP为此内网分配了199个公网IP地址即211.1.2.2至211.1.2.200。其中211.1.2.2被配置成NAT设备网络接口2的IP地址,211.1.2.3到211.1.2.200被用来映射内网的IP地址。

应用图1所示的拓扑,可以有两种应用场景:场景一是内网主机访问外网服务器;场景二是外网主机访问内网服务器。

场景一:假设内网主机192.168.1.5主动发起连接,访问外网服务器202.3.1.22。其通讯过程如下:

步骤A、内网主机IP 192.168.1.5发送IP报文(源IP:192.168.1.5,目标IP:202.3.1.22)到NAT设备。

步骤B、NAT设备11收到IP报文后,根据地址转换规则,从可用地址列表中选择211.1.2.10替换报文的源IP地址,并记录下这个转换关系(192.168.1.5——>211.1.2.10)。这时NAT设备11将地址转换后的IP报文(源IP:211.1.2.10,目标IP:202.3.1.22)发送到ISP路由器12。

步骤C、ISP路由器12以及以后的路由器将IP报文最终交付给目标服务器202.3.1.22。当目标服务器收到报文后,回应报文,并将源IP地址和目标IP地址对换,得到“源IP:202.3.1.22,目标IP:211.1.2.10”。

步骤D、当回应报文到达ISP路由器12后,在ISP路由器12中选路,发现目标IP 211.1.2.10在直连网段中,发送ARP请求(源IP:211.1.2.1,目标IP:211.1.2.10)。

步骤E、NAT设备11回应ARP应答报文(源IP:211.1.2.10,目标IP:211.1.2.1)。

步骤F、ISP路由器12收到ARP应答后,转发IP报文(源IP:202.3.1.22,目标IP:211.1.2.10)。

步骤G、NAT设备11收到外网发来的IP报文后,查询NAT转换记录,根据查询到的结果(192.168.1.5——>211.1.2.10)进行NAT转换,然后选路转发到内网(源IP:202.3.1.22,目标IP:192.168.1.5)。最终报文达到内网主机192.168.1.5。

场景二:外网主机208.1.1.4访问内网服务器211.1.2.10。

场景二的过程与场景一类似,不同之处在于:外网的一台主机218.1.1.4访问的目标IP是211.1.2.10。目标IP 211.1.2.10是内网服务器192.168.1.5在NAT设备11上的映射公网IP地址。外网访问内网的通讯过程如下:

步骤A、外网主机发出目标IP为211.1.2.10的报文,到达ISP路由器12。这时,如果ISP路由器12发现自己没有211.1.2.10的ARP表项,则会发出ARP请求。

步骤B、用户NAT设备11,会给出211.1.2.10的ARP应答。

步骤C、ISP路由器12,将目的为211.1.2.10的IP报文,发给用户NAT设备11。

步骤D、NAT设备11,根据NAT映射规则,建立NAT接连表项,然后将报文的目的IP 211.1.2.10修改成192.168.1.5。接着发给内部真实的服务器192.168.1.5。

步骤E、内部服务器192.168.1.5,发出回应报文到用户NAT设备上11,NAT设备11根据前面已经建立的NAT连接表项,修改报文的源IP为211.1.2.10。然后发给ISP路由器12。

步骤F、ISP路由器12收到报文后,按原路返回,发给最初的外网主机218.1.1.4。

其中,ARP用于根据协议地址(protocol address)获取硬件地址(hardware address)。

硬件地址是生产网络设备时分配的一个或者多个物理地址(一般是由全球地址分配机构和生产商共同进行分配),格式依据硬件的类型的不同可能会有不同。当今最为流行的硬件地址是媒体访问控制(Media Access Control,MAC)地址相同类型的网络设备之间可以使用硬件地址互相访问,但是不同类型的设备之间无法互相通信。为了使不同类型的设备也能互相通信,引入了协议地址。

协议地址是为了屏蔽网络中不同设备的差异而指定的逻辑地址(一般是由网络管理者或者协议全球地址分配机构对地址进行分配),格式具有统一性。当今最为流行的协议地址是IP地址。

ARP实际上就是定义了如何利用IP地址获取到MAC地址的方法。假设192.168.1.5、192.168.1.6、192.168.1.7三台设备处于同一局域网内。192.168.1.5欲发送IP数据到192.168.1.7,其工作过程如下:

首先,在局域网内广播(MAC地址为二进制全1的地址被定义为广播地址)一个ARP请求报文,询问192.168.1.7的MAC地址;

192.168.1.6和192.168.1.7都收到这个ARP请求报文。192.168.1.6发现不是请求自己,不作回应。192.168.1.7发现这个ARP请求报文是请求自己的MAC地址,于是发送ARP应答报文给192.168.1.5,告之MAC地址。

然后,192.168.1.5收到192.168.1.7发来的ARP应答报文后,将学习到的MAC地址缓存起来,利用192.168.1.7的MAC地址,将IP数据发送到192.168.1.7上。

场景二中,ARP请求到达“用户NAT设备”时,由于NAT设备11未收到192.168.1.5发送的IP报文,因而没有建立地址转换关系(192.168.1.5——211.1.2.10),NAT设备11无法做出ARP应答。

发明内容

本发明的目的在于提出一种网络地址转换设备及其响应地址解析协议请求的方法,以解决外网主动访问内网主机时,由于NAT设备未建立地址转换关系导致的无法做出ARP应答的问题。

为实现上述目的,本发明提供了一种网络地址转换设备响应地址解析协议请求的方法,包括:

根据接收地址解析协议请求报文网络接口的编号,从用于查询目标IP地址的本机地址表中查找与所述地址解析协议请求报文中的目标IP地址相同的公网IP地址;所述本机地址表由配置网络接口的IP地址触发建立;所述本机地址表保存有网络地址转换设备上的所有公网IP地址及相关联的网络接口编号与媒体访问控制地址;

查找到所述相同的公网IP地址后,根据所述相同的公网IP地址相关联的媒体访问控制地址向所述地址解析协议请求报文的发送方发出地址解析协议应答报文。

本发明还提供了一种网络地址转换设备,包括:

建立单元,用于由配置网络接口的IP地址触发建立用于查询目标IP地址的本机地址表;所述本机地址表保存有网络地址转换设备上的所有公网IP地址及相关联的网络接口编号与媒体访问控制地址;

接收单元,用于接收地址解析协议请求报文;

查找单元,用于根据接收地址解析协议请求报文网络接口的编号,从所述本机地址表中查找与所述地址解析协议请求报文中的目标IP地址相同的公网IP地址;

应答单元,用于所述查找单元查找到所述相同的公网IP地址后,根据所述相同的公网IP地址相关联的媒体访问控制地址向所述地址解析协议请求报文的发送方发出地址解析协议应答报文。

上述技术方案中,NAT设备通过由配置网络接口的IP地址触发建立本机地址表,使得NAT设备在没有收到内网发送的IP报文的情况下也能获取内网主机映射到的公网IP地址的相关信息,从而解决了外网主动访问内网主机时,由于NAT设备未建立地址转换关系导致的无法做出ARP应答的问题。保证了NAT设备做出ARP应答不受是否建立地址转换关系的影响,提高了NAT设备响应ARP请求的性能。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

图1为现有技术中一个典型的NAT应用环境拓扑示意图;

图2为本发明网络地址转换设备响应地址解析协议请求的方法实施例的流程图;

图3为本发明网络地址转换设备响应地址解析协议请求的方法实施例中本机地址表的示意图;

图4为本发明网络地址转换设备实施例的结构示意图。

具体实施方式

图2为本发明网络地址转换设备响应地址解析协议请求的方法实施例的流程图,包括:

步骤21、NAT设备根据接收ARP请求报文网络接口的编号,从用于查询目标IP地址的本机地址表中查找与所述ARP请求报文中的目标IP地址相同的公网IP地址;所述本机地址表由配置网络接口的IP地址触发NAT设备建立;所述本机地址表保存有所述NAT设备上的所有公网IP地址及相关联的网络接口编号与MAC地址;

步骤22、NAT设备查找到所述相同的公网IP地址后,根据所述相同的公网IP地址相关联的MAC地址向所述ARP请求报文的发送方发出ARP应答报文。

网络接口地址包括内网接口地址和外网接口地址。内网接口地址一般是192.168.x.x这种形式的私有地址,外网接口(连接ISP路由器的接口)地址一般是公网地址,针对这两种地址的ARP请求,设备都需要发出应答。由于网络接口地址、NAT公网IP地址都需要响应ARP请求,因此,将所有网络接口的地址以及ISP分配给企业的所有公网地址统一组织在一起,看作本机地址。这样判断是否应该回应ARP应答的逻辑就变得简明起来,只需判断目标IP地址是否为接收报文接口的本机地址即可。只要将本机地址存储在一个表即本机地址表中,收到ARP请求报文后,查询这个表就能够做相应的判断。

本实施例中,NAT设备通过由配置网络接口的IP地址触发建立本机地址表,使得NAT设备在没有收到内网发送的IP报文的情况下也能获取内网主机映射到的公网IP地址的相关信息,从而解决了外网主动访问内网主机时,由于NAT设备未建立地址转换关系导致的无法做出ARP应答的问题。保证了NAT设备做出ARP应答不受是否建立地址转换关系的影响,提高了NAT设备响应ARP请求的性能。

上述步骤21中,NAT设备开机后,本机地址表为空。配置公网IP地址以及各种网络接口的IP地址都触发建立用于查询目标IP地址的本机地址表可包括:

当在网络接口上配置公网IP地址时,将配置的公网IP地址、网络接口编号、网络接口编号所对应的MAC地址加入本机地址表;

当配置NAT公网IP地址时,针对每一个公网IP地址查询与其关联的网络接口编号以及对应的MAC地址信息,然后将这些信息存入本机地址表中。

当在网络接口上删除公网IP地址配置时,上述方法还包括:将本机地址表中对应的表项删除。当删除NAT公网IP地址时,删除该公网IP地址所对应的每一个本机地址表项。

上述步骤21中,本机地址表可以散列表形式存储,以提高查询速度。如图3所示,左侧一列为本机地址表的位置编号,此位置编号根据通用的散列函数计算得到,其参数为本机地址与其所在的接口编号。右侧为存储的网络接口IP地址及相关联的网络接口编号与MAC地址。其中,IP1、IP2及IP3表示不同的网络接口的IP地址;网络接口1、网络接口2为NAT设备上的网络接口编号;MAC1、MAC2为对应连接在NAT设备网络接口1、网络接口2上的路由器物理地址。连接在NAT设备网络接口1、网络接口2上的路由器与外网相连。以散列表的形式存储本机地址表相对于链表存储,查询速度更快,能更快速地回应ARP请求。

当NAT设备从某一网络接口上接收到一个ARP请求报文时,根据接收报文的网络接口编号和报文的目标IP地址查询本机地址表。如果查询到对应表项,按表项信息组装ARP应答报文,回应给ARP请求发送者。该ARP应答报文的源IP地址为原报文的目标IP地址,报文的源MAC地址为表项中的MAC地址。如果查询不到对应表项,则丢弃ARP报文请求,不应答。

以图1所示拓扑网络应用的场景二为例,NAT设备响应ARP请求的过程如下:

当管理员配置NAT设备11与Internet的网络接口IP地址为211.1.2.2时,NAT设备11自动将211.1.2.2加入到本机地址表;

当管理员配置NAT设备11内网服务器192.168.1.5映射到公网IP地址211.1.2.10时,NAT设备11自动将公网IP地址211.1.2.10加入到本机地址表,无需管理员手工添加;至此,本机地址表中包含211.1.2.2与211.1.2.10两个公网IP地址;此时,由于外网的主机还没有发起对公网IP地址211.1.2.10的连接,所以不存在NAT转换动作或者NAT转换表项;

当外网主机发起连接时,如图1中的ISP路由器12会发出ARP请求到达NAT设备11,ARP请求的目标IP地址为211.1.2.10;

NAT设备11收到ARP请求后,查找本机地址表,发现存在“211.1.2.10”,于是给出ARP应答。从而可以做到不需要NAT转换,即可给出ARP应答。

并且,采用本机地址表采用散列表存储,更快速地回应了NAT设备从外网接口收到的所有ARP请求。NAT设备自动维护本机地址表,大大减少了网络设备管理员的维护工作量。

图4为本发明网络地址转换设备实施例的结构示意图。如图4所示,NAT设备包括:建立单元41、接收单元42、查找单元43及应答单元44。建立单元41用于由配置网络接口的IP地址由触发建立用于查询目标IP地址的本机地址表;所述本机地址表保存有所述网络地址转换设备上的所有公网IP地址及相关联的网络接口编号与媒体访问控制地址;接收单元42用于接收地址解析协议请求报文;查找单元43用于根据接收地址解析协议请求报文网络接口的编号从所述本机地址表中查找所述地址解析协议请求报文中的目标IP地址及相关联的媒体访问控制地址;应答单元44用于所述查找单元43查找到所述目标IP地址后,向查找到的相关联的媒体访问控制地址发出地址解析协议应答报文。

NAT设备还可包括存储单元,存储单元用于以散列表形式存储所述建立单元建立的本机地址表。

NAT设备还可包括添加单元,添加单元用于将配置内网主机映射到的公网IP地址自动添加到所述本机地址表。

NAT设备还可包括删除单元,删除单元用于删除所述本机地址表中从所述网络地址转换设备的网络接口删除配置的公网IP地址,并删除该公网IP地址相关联的网络接口编号及媒体访问控制地址。

上述方法及设备本实施例中,NAT设备通过由配置网络接口的IP地址触发建立本机地址表,使得NAT设备在没有收到内网发送的IP报文的情况下也能获取内网主机映射到的公网IP地址的相关信息,从而解决了外网主动访问内网主机时,由于NAT设备未建立地址转换关系导致的无法做出ARP应答的问题。保证了NAT设备做出ARP应答不受是否建立地址转换关系的影响,提高了NAT设备响应ARP请求的性能。并且以散列表存储本机地址表,加快了NAT设备的查询速度,进一步提高了NAT设备响应ARP请求的性能。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号