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

文档序号:7928247阅读:142来源:国知局
专利名称:网络地址转换设备及其响应地址解析协议请求的方法
技术领域
本发明涉及网络通信技术领域,尤其涉及一种网络地址转换(Network Address Translation, NAT) i殳备及其响应地址解析协议(Address Resolve Protocol, ARP) "i貪求的方法。
背景技术
NAT是一种允许私有地址与公网因特网协议(Internet Protocol, IP)地 址相互转换,从而达到多个用户共用一个公网IP地址上网的地址复用技术。 通常,在企业网络内部,不需要经过申请,便可以根据需要随意自定义IP地 址。各计算机之间通过内部的IP地址进行通讯。当内部的计算机需要与外部 因特网(Internet)进行通讯时,具有NAT功能的设备即NAT设备负责将其 内部网络的IP地址转换为合法的公网IP地址。
本申请中,公网IP地址指的是由因特网服务提供商(Internet Service Pr ovider, ISP)分配给企业的全球唯一的合法IP地址,NAT设备上可能有一个 或者多个这样的地址。
通过NAT设备实现多个用户同时共用 一个公网IP地址与外部Internet 进行通信,能够达到节省IP地址的目的。并且,通过NAT设备将内部网络 与外部Internet隔离开,l吏得内网更安全。
现有技术中, 一个典型的NAT应用环境拓朴如图1所示。内网通过NA T设备接入Intemet。内网中所有主机的IP地址处于192.168.1.0/24网段,N AT设备11网络接口 1的IP地址为192.168.1.1。 Internet中与NAT设备相邻 的路由器的IP地址为211.1.2.1。 ISP为此内网分配了 199个公网IP地址即2 11丄2.2至211.1.2.200。其中21U.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报文(源I P: 21U.2.10,目标IP: 202.3.1.22 )发送到ISP路由器12。
步骤C、 ISP路由器12以及以后的路由器将IP报文最终交付给目标服务 器202.3.1.22。当目标服务器收到报文后,回应报文,并将源IP地址和目标I P地址对换,得到"源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转换记录, 根据查询到的结果U92.168丄5——>211丄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丄2.10的ARP表项,则会发出A RP请求。
步骤B、用户NAT设备ll,会给出211.1.2.10的ARP应答。 步骤C、 ISP路由器12,将目的为211.1.2.10的IP报文,发给用户NAT 设备ll。
步骤D、 NAT设备11,根据NAT映射规则,建立NAT接连表项,然后 将报文的目的IP 211丄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)获取硬件地址(hard ware address )。
硬件地址是生产网络设备时分配的一个或者多个物理地址(一般是由全 球地址分配机构和生产商共同进行分配),格式依据硬件的类型的不同可能 会有不同。当今最为流行的硬件地址是媒体访问控制(Media Access Control, MAC)地址相同类型的网络设备之间可以使用硬件地址互相访问,但是不同 类型的设备之间无法互相通信。为了使不同类型的设备也能互相通信,引入 了协议地址。
协议地址是为了屏蔽网络中不同设备的差异而指定的逻辑地址(一般是
6由网络管理者或者协议全球地址分配机构对地址进行分配),格式具有统一 性。当今最为流行的协议地址是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请求4艮文是请求自己的M AC地址,于是发送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应答。

发明内容
本发明的目的在于提出一种网络地址转换设备及其响应地址解析协议请 求的方法,以解决外网主动访问内网主才几时,由于NATi殳备未建立地址转换 关系导致的无法啦文出ARP应答的问题。
为实现上述目的,本发明提供了一种网络地址转换设备响应地址解析协 议请求的方法,包括
根据接收地址解析协议请求报文网络接口的编号,从用于查询目标IP 地址的本机地址表中查找与所述地址解析协议请求报文中的目标IP地址相 同的公网IP地址;所述本机地址表由配置网络接口的IP地址触发建立;所述本机地址表保存有网络地址转换设备上的所有公网IP地址及相关联的
网络接口编号与媒体访问控制地址;
查找到所述相同的7>网IP地址后,根据所述相同的公网IP地址相关 联的媒体访问控制地址向所述地址解析协议请求报文的发送方发出地址解 析协议应答报文。
本发明还提供了一种网络地址转换设备,包括
建立单元,用于由配置网络接口的IP地址触发建立用于查询目标IP 地址的本机地址表;所述本机地址表保存有网络地址转换设备上的所有公 网IP地址及相关联的网络接口编号与4某体访问控制地址;
接收单元,用于接收地址解析协议请求报文;
查找单元,用于根据接收地址解析协议请求报文网络接口的编号,从所 述本机地址表中查找与所述地址解析协议请求报文中的目标IP地址相同的 7>网IP i也址;
应答单元,用于所述查找单元查找到所述相同的公网IP地址后,根 据所述相同的公网IP地址相关联的媒体访问控制地址向所述地址解析协 议请求报文的发送方发出地址解析协议应叙艮文。
上述技术方案中,NAT设备通过由配置网络接口的IP地址触发建立本机 地址表,使得NAT设备在没有收到内网发送的IP报文的情况下也能获取内 网主机映射到的公网IP地址的相关信息,从而解决了外网主动访问内网主机 时,由于NAT设备未建立地址转换关系导致的无法做出ARP应答的问题。 保证了 NAT设备做出ARP应答不受是否建立地址转换关系的影响,提高了 NAT设备响应ARP请求的性能。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。


图1为现有技术中一个典型的NAT应用环境拓朴示意8图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地址触发建立本才几地
9址表,使得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所示,左侧一列为本机地址表的位置编号,此位置编号根据通用的散列 函数计算得到,其参数为本^L地址与其所在的接口编号。右侧为存储的网络 接口 IP地址及相关联的网络接口编号与MAC地址。其中,IPl 、 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地址;此时,由于外网的主机还没有发起对7>网IP地址211.1.2.10的 连接,所以不存在NAT转换动作或者NAT转换表项;
当外网主机发起连接时,如图1中的ISP路由器12会发出ARP请求到 达NAT设备ll, 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地址的本才几地址
联的网络接口编号与媒体访问控制地址;接收单元42用于接收地址解析协议 请求报文;查找单元43用于根据接收地址解析协议请求报文网络接口的编号 从所述本机地址表中查找所述地址解析协议请求报文中的目标IP地址及相关联的4某体访问控制地址;应答单元44用于所述查找单元43查找到所述目标IP 地址后,向查找到的相关联的媒体访问控制地址发出地址解析协议应斜艮文。
NAT设备还可包括存储单元,存储单元用于以散列表形式存储所述建 立单元建立的本机地址表。
NAT设备还可包括添加单元,添加单元用于将配置内网主机映射到的 公网IP地址自动添加到所述本4几地址表。
NAT设备还可包括删除单元,删除单元用于删除所述本机地址表中从 所述网络地址转换设备的网络接口删除配置的公网IP地址,并删除该公网IP 地址相关联的网络接口编号及媒体访问控制地址。
上述方法及设备本实施例中,NAT设备通过由配置网络接口的IP地址 触发建立本机地址表,使得NAT设备在没有收到内网发送的IP报文的情况 下也能获取内网主机映射到的公网IP地址的相关信息,从而解决了外网主动 访问内网主机时,由于NAT设备未建立地址转换关系导致的无法做出ARP 应答的问题。保证了 NAT设备做出ARP应答不受是否建立地址转换关系的 影响,提高了 NAT设备响应ARP请求的性能。并且以散列表存储本机地址 表,加快了 NAT设备的查询速度,进一步提高了 NAT设备响应ARP请求的 性能。
本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可 以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读M 储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前迷的存储 介质包括ROM、 RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其 限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术 人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或 者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技 术方案的本质脱离本发明各实施例技术方案的精神和范围。
1权利要求
1、一种网络地址转换设备响应地址解析协议请求的方法,其特征在于,包括根据接收地址解析协议请求报文网络接口的编号,从用于查询目标IP地址的本机地址表中查找与所述地址解析协议请求报文中的目标IP地址相同的公网IP地址;所述本机地址表由配置网络接口的IP地址触发建立;所述本机地址表保存有网络地址转换设备上的所有公网IP地址及相关联的网络接口编号与媒体访问控制地址;查找到所述相同的公网IP地址后,根据所述相同的公网IP地址相关联的媒体访问控制地址向所述地址解析协议请求报文的发送方发出地址解析协议应答报文。
2、 根据权利要求1所述的网络地址转换设备响应地址解析协议请求的方 法,其特征在于,所述本机地址表由配置网络接口的IP地址触发建立包括 将所述本机地址表以散列表形式存储。
3、 根据权利要求1或2所述的网络地址转换设备响应地址解析协议请 求的方法,其特征在于,所述本机地址表由配置网绍 接口的IP地址触发建 立包括将配置内网主冲几映射到的公网IP地址自动添加到所述本才几地址表。
4、 根据权利要求1或2所述的网络地址转换设备响应地址解析协议请求 的方法,其特征在于,还包括删除所述本机地址表中从所述网络地址转换设备的网络接口删除配置 的公网IP地址,并删除该公网IP地址相关联的网络接口编号及媒体访问控 制地址。
5、 一种网络地址转换设备,其特征在于,包括建立单元,用于由配置网络接口的IP地址触发建立用于查询目标IP 地址的本机地址表;所述本机地址表保存有网络地址转换设备上的所有/>网IP地址及相关联的网络接口编号与媒体访问控制地址; 接收单元,用于接收地址解析协议请求报文;查找单元,用于根据接收地址解析协议请求报文网络接口的编号,从所 述本机地址表中查找与所述地址解析协议请求报文中的目标IP地址相同的 公网IP地址;应答单元,用于所述查找单元查找到所述相同的公网IP地址后,根 据所述相同的^^网IP地址相关:f关的々某体访问控制地址向所述地址解析协 议请求报文的发送方发出地址解析协议应答报文。
6、 根据权利要求5所述的网络地址转换设备,其特征在于,还包括 存储单元,用于以散列表形式存储所述建立单元建立的本机地址表。
7、 根据权利要求5或6所述的网络地址转换设备,其特征在于,还包括添加单元,用于将配置内网主机映射到的公网IP地址自动添加到所述 本机地址表。
8、 根据权利要求5或6所述的网络地址转换设备,其特征在于,还包括删除单元,用于删除所述本机地址表中从所述网络地址转换设备的网络 接口删除配置的公网IP地址,并删除该公网IP地址相关联的网络接口编号 及媒体访问控制地址。
全文摘要
本发明涉及一种网络地址转换设备及其响应地址解析协议请求的方法,方法包括根据接收地址解析协议请求报文网络接口的编号,从用于查询目标IP地址的本机地址表中查找与地址解析协议请求报文中的目标IP地址相同的公网IP地址;本机地址表由配置网络接口的IP地址触发建立;本机地址表保存有网络地址转换设备上的所有公网IP地址及相关联的网络接口编号与媒体访问控制地址;查找到相同的公网IP地址后,根据相同的公网IP地址相关联的媒体访问控制地址向地址解析协议请求报文的发送方发出地址解析协议应答报文。设备包括建立单元、接收单元、查找单元及应答单元。解决了由于NAT设备未建立地址转换关系导致的无法做出ARP应答的问题。
文档编号H04L29/12GK101465889SQ20081022796
公开日2009年6月24日 申请日期2008年12月3日 优先权日2008年12月3日
发明者冷钦街, 王晓峰 申请人:北京星网锐捷网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1