CN1292565C - 对网络地址转换虚地址的地址解析协议请求响应的方法 - Google Patents

对网络地址转换虚地址的地址解析协议请求响应的方法 Download PDF

Info

Publication number
CN1292565C
CN1292565C CN 200410000846 CN200410000846A CN1292565C CN 1292565 C CN1292565 C CN 1292565C CN 200410000846 CN200410000846 CN 200410000846 CN 200410000846 A CN200410000846 A CN 200410000846A CN 1292565 C CN1292565 C CN 1292565C
Authority
CN
China
Prior art keywords
address
virtual address
interface
nat
link
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.)
Expired - Fee Related
Application number
CN 200410000846
Other languages
English (en)
Other versions
CN1558614A (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.)
Huawei Device Shenzhen Co Ltd
Original Assignee
Huawei 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN 200410000846 priority Critical patent/CN1292565C/zh
Publication of CN1558614A publication Critical patent/CN1558614A/zh
Application granted granted Critical
Publication of CN1292565C publication Critical patent/CN1292565C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明公开了一种对NAT虚地址的ARP请求响应的方法,包括有:检查NAT转换后的地址是否与路由器中某接口IP地址在同一网段,如果是,则查找该虚地址是否在链接表中注册,若已注册,则新链接建立后,对该虚地址进行链接计数;若未注册,则把虚地址注册到该同一网段的接口上,链接建立后,将该虚地址的链接计数初始化为1。本发明在配置NAT地址转换规则时,就可以配置与接口地址同属一个网段的IP地址,取消了在应用NAT时的一大限制。而且,本发明尽可能地节省了***资源。

Description

对网络地址转换虚地址的地址解析协议请求响应的方法
技术领域:
本发明涉及一种对NAT虚地址的ARP请求响应的方法。
背景技术:
NAT(Network Address Translator,网络地址转换)用于允许专用网络上的多台PC机(使用专用地址范围,例如10.0.x.x、192.168.x.x、172.x.x.x)共享单个、可全局路由的IPv4(地址转换协议的第4版本)地址,即NAT可以在多重的internet子网中使用相同的IPv4地址,保证了数量有限的IPv4地址被尽可能多的用户使用,同时NAT也支持外部源地址的转换,其接收到外部回来的数据包,再根据NAT表把地址翻译成内部的局部IP,并将数据包转发过去;NAT也支持内部服务器的负载均衡等其他的相关应用。
如图1为使用NAT访问外部公有网的情况,其中eth0/0为NAT的内网接口,eth0/1为外网接口,内网网段为10.5.5.0/24,外网网段为20.1.1.0/24。配置NAT的地址转换规则为:
ip nat inside source static 10.5.5.220.1.1.1
这条规则的含义是把内网PC1的源地址10.5.5.2转换成外部公网地址,此处使用的是与外网相连的接口eth0/1的IP地址20.1.1.1。
在这样的配置下,NAT可以进行正常的地址转换,内网主机PC1发出的报文经过NAT后源地址由10.5.5.2转换成地址20.1.1.1,并可与外网主机例如IP地址为20.1.1.10的Server进行正常的通讯。
但如果在做地址转换时,把内网地址10.5.5.2转换成外部地址20.1.1.2,而这个地址不是与外网相连的接口地址20.1.1.1,也不是外网中任何一台网络设备的IP地址,并与外网接口地址在同一网段。如图1的组网情况,若配置如下NAT地址转换规则:
ip nat inside source static 10.5.5.220.1.1.2
在这种配置下,内网主机PC1的报文发出后,经过NAT路由器进行源地址的转换工作,将源地址10.5.5.2转换成20.1.1.2后发送给外网主机(例如Server,IP地址为20.1.1.10)。由于收到报文的源地址是20.1.1.2,所以Server在应答时回应报文的目的地址为20.1.1.2,而地址20.1.1.2不是路由器某个接口地址,也不是该网络中某个主机地址,我们称之为NAT虚地址。在发送报文时,由于虚地址20.1.1.2与NAT的外网同属一个网段,即20.1.1.0/24网段,因此不用去查路由表,而直接进行二层转发。在转发前,需要知道对方的MAC地址,也即虚地址20.1.1.2所对应的MAC地址。由于不知道20.1.1.2所对应的MAC地址,发送报文的网络设备(图1中的Server)会在20.1.1.0/24网段上发送ARP请求,请求IP地址为20.1.1.2的设备所对应的MAC地址。
由于20.1.1.2是NAT使用的虚地址,NAT路由器上接口eth0/1不会响应对IP地址20.1.1.2的ARP请求。对于外网主机Server来说,ARP请求没有响应,得不到IP地址20.1.1.2所对应的MAC地址,应答报文就无法发送出去,从而导致通过NAT进行地址转换和数据转发的失败。
在使用NAT进行地址转换时,如果用户配置的转换后的IP地址与路由器的接口地址同属一个网段,应答报文会因ARP请求的失败而找不到目的IP地址所对应的MAC地址,从而NAT路由器收不到应答报文,地址转换失败。
发明内容:
针对NAT对NAT虚地址发送报文时所存在的问题和不足,本发明的目的是提供一种对NAT虚地址的ARP请求响应的方法。
本发明是这样实现的:一种对NAT虚地址的ARP请求响应的方法,包括以下步骤:
检查NAT转换后的地址是否与路由器中某接口IP地址在同一网段,如果是,则查找该虚地址是否在路由器链接表中注册,若已注册,则新链接建立后,对该虚地址进行链接计数;若未注册,则把虚地址注册到该同一网段的接口上,链接建立后,将该虚地址的链接计数初始化为1。其中,所述的NAT虚地址指需对ARP请求进行回应的IP地址。
进一步地,该方法还包括:链接终止,检查链接表中有没有注册虚地址,若有,则将该虚地址的链接计数减1;若链接计数为0,取消注册该虚地址的链接。
进一步地,所述含有虚地址的路由器链接表中的每个节点记录的内容包括有:
虚地址,即需对ARP请求进行回应的IP地址,该地址为NAT转换后的IP地址,并与某接口地址同属一个网段;
接口索引,该接口的IP地址和上述需回应的NAT虚地址同属一个网段的接口,接口索引的作用在于当收到对上述虚地址的ARP请求时,该接口把自己的MAC地址回应给请求方;
链接计数,虚地址链接建立后,增加该虚地址的链接的计数,该计数表示目前有几个链接在使用这个虚地址。
本发明在配置NAT地址转换规则时,就可以配置与接口地址同属一个网段的IP地址,取消了在应用NAT时的一大限制。而且,本发明尽可能地节省了***资源,具体体现在以下几个方面:
1、配置用户的源地址转换到与接口同属一网段的地址时,接口会响应对该地址的ARP请求,这样发向该地址的报文就可以以接口的MAC为目的MAC地址发出,从而接口0/1会顺利地收到回应方向的报文,经过地址转换后的通讯可以正常进行;
2、本发明只有在真正地使用该虚地址转换规则建立通讯链接时,NAT才会去注册对这个虚地址ARP请求的响应。并且,当使用某虚地址的最后一条通讯链接关闭时,该虚地址的注册信息中的通讯链接计数会为零,表示当前已经没有链接使用这个地址进行通讯,NAT会删除对虚地址ARP请求响应的注册。通过采用这样的方法,尽可能地减少了虚地址的生效时间,从而把注册虚地址对接口模块的影响降低到最小程度,同时节省了***资源;
3、当接口的地址改变时,同一IP地址注册的对应接口会随着新链接的生成而自动更新。例如,用户配置了到地址30.1.1.2的转换,而此时没有任何一个接口的IP地址属30.1.1.0/24网段,因此也不会有链接注册IP地址30.1.1.2的ARP请求接口。但当***运行过程中,假如用户把某个接口地址变成了30.1.1.0/24网段的一个地址,此后在建立新的通讯链接时,NAT会检查到这个接口需要注册对IP地址30.1.1.2的ARP请求,并且会在这个接口上进行注册。这样可以保持注册信息与接口地址的一致性。
总之,本发明可以有效地解决对NAT使用的虚地址ARP请求的响应问题,拓宽了NAT使用的网络环境,增加了NAT对各种配置条件的兼容性。本发明仅在必要的时候使用有限的***资源。本发明即能保证对NAT配置的虚地址的ARP请求进行正确响应,又能保证地址转换工作的效率。
附图说明:
下面结合附图,对本发明作出详细描述。
图1为现有的NAT转发方法示意图;
图2为本发明建立链接的流程图;
图3为本发明关闭链接的流程图。
具体实施方式:
本发明在NAT进行地址转换并建立一条新的通讯链接时,检查当前转换后的IP地址是否与NAT路由器出接口的IP地址在同一网段,如果与出接口在同一网段,在该接口上注册对该虚IP地址ARP请求的响应,注册后该接口会把自己的MAC地址回应给该IP地址ARP请求。当在这条通讯链接关闭时,取消注册该地址在这个接口上的ARP请求响应。具体为:检查NAT转换后的地址是否与路由器中某接口IP地址在同一网段,如果是,则查找该虚地址是否在路由器链接表中注册,若已注册,则新链接建立后,对该虚地址进行链接计数;若未注册,则把虚地址注册到该同一网段的接口上,链接建立后,将该虚地址的链接计数初始化为1。链接终止时,检查路由器链接表中有没有注册虚地址,若有,则将该虚地址的链接计数减1;若链接计数为0,取消注册该虚地址的链接。这里,链接表中的每个节点记录的内容包括有:虚地址,就是需要对ARP请求进行回应的IP地址,该地址为NAT转换后的IP地址,并与某接口地址同属一个网段;接口索引,接口的IP地址和上述需回应的虚地址同属一个网段的接口,接口索引的作用在于,当收到对上述虚IP地址的ARP请求时,该接口把自己的MAC地址回应给请求方;链接计数,虚地址链接建立后,增加该虚地址的链接的计数,该计数表示目前有几个链接在使用这个虚地址。
如图2所示,当建立一个新的通讯链接时,检查NAT转换后的地址是否与路由器某接口IP地址在同一网段,如果是,则把这个虚地址注册到该接口上,使该接口能对这个虚地址的ARP请求进行正确响应。如果不是,则进行常规处理。
将一个虚地址注册到某接口上后,要将这条注册信息保存下来,在路由器上建立一个链接表来记录所有已经注册的NAT虚IP地址及其所对应的接口等信息。链接表的每个节点所记录的内容主要有以下几个要素:虚IP地址,接口索引、通讯链接计数,其中,虚IP地址,需要对ARP请求进行回应的IP地址,该地址为NAT转换后的IP地址,并且与某接口地址同属一个网段,需要该接口对这个地址的ARP请求进行响应;接口索引,接口IP地址和虚IP地址同属一个网段的接口,当收到对虚IP地址的ARP请求时,该接口要把自己的MAC地址回应给请求方;链接计数,对于一个已经注册ARP请求响应的NAT虚地址,可能有多条通讯链接同时使用这个地址进行NAT转换。如果有多条链接共同使用一个虚IP地址,只在第一条链接时注册虚地址的ARP请求,后面链接建立时,只增加这个计数,表示目前有几个链接在使用这个虚地址。在取消对虚地址ARP请求的注册时,只有在所有的通讯链接都不使用这个虚地址时才可以取消,也即链接计数为0时取消对虚地址ARP请求的注册。
由于可能有多条链接使用同一个虚地址,为避免重复注册,在注册之前,检查已经记录的注册信息中有无这个地址存在,如果有则将该地址注册信息中的链接计数加1。如果没有生成这条注册信息,则生成这条记录并将链接计数初始化为1。
如图3所示,当一条通讯链接终止后,检查这条链接有没有注册虚地址,如果有则将该注册信息中的通讯链接减1。当通讯链接数为0时,表示这个虚地址已经不再被任何链接使用,这时可以取消注册这个虚地址了,也即不再需要有接口响应这个虚地址的ARP请求了。

Claims (3)

1.一种对NAT虚地址的ARP请求响应的方法,其特征在于,该方法包括以下步骤:
检查NAT转换后的地址是否与路由器中某接口IP地址在同一网段,如果是,则查找该虚地址是否在路由器链接表中注册,若已注册,则新链接建立后,对该虚地址进行链接计数;若未注册,则把虚地址注册到该同一网段的接口上,链接建立后,将该虚地址的链接计数初始化为1,其中,所述的NAT虚地址指需对ARP请求进行回应的IP地址。
2.如权利要求1所述的对NAT虚地址的ARP请求响应的方法,其特征在于,该方法还包括:链接终止,检查链接表中有没有注册虚地址,若有,则将该虚地址的链接计数减1;若链接计数为0,取消注册该虚地址的链接。
3.如权利要求1或2所述的对NAT虚地址的ARP请求响应的方法,其特征在于,所述含有虚地址的链接表中的每个节点记录的内容包括有:
虚地址;
接口索引,该接口的IP地址和所述的NAT虚地址同属一个网段的接口,所述的接口索引用于当收到对上述虚地址的ARP请求时,该接口把自己的MAC地址回应给请求方;
链接计数,虚地址链接建立后,增加该虚地址的链接的计数,该计数表示目前有几个链接在使用这个虚地址。
CN 200410000846 2004-01-17 2004-01-17 对网络地址转换虚地址的地址解析协议请求响应的方法 Expired - Fee Related CN1292565C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200410000846 CN1292565C (zh) 2004-01-17 2004-01-17 对网络地址转换虚地址的地址解析协议请求响应的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200410000846 CN1292565C (zh) 2004-01-17 2004-01-17 对网络地址转换虚地址的地址解析协议请求响应的方法

Publications (2)

Publication Number Publication Date
CN1558614A CN1558614A (zh) 2004-12-29
CN1292565C true CN1292565C (zh) 2006-12-27

Family

ID=34350522

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200410000846 Expired - Fee Related CN1292565C (zh) 2004-01-17 2004-01-17 对网络地址转换虚地址的地址解析协议请求响应的方法

Country Status (1)

Country Link
CN (1) CN1292565C (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100490424C (zh) * 2005-03-01 2009-05-20 杭州华三通信技术有限公司 一种分布式arp实现方法
CN101562807B (zh) 2009-05-27 2011-04-20 华为技术有限公司 移动虚拟专用网通信的方法、装置及***
CN101577676B (zh) * 2009-06-10 2011-12-07 杭州华三通信技术有限公司 一种实现粘性访问的方法和装置
US10554547B2 (en) * 2015-05-07 2020-02-04 Cisco Technology, Inc. Scalable network address translation at high speed in a network environment
CN110062064B (zh) * 2019-05-30 2022-06-21 新华三信息安全技术有限公司 一种地址解析协议arp请求报文响应方法及装置
CN112311907B (zh) * 2020-11-18 2023-05-12 深信服科技股份有限公司 一种arp请求响应方法、负载均衡设备及相关装置

Also Published As

Publication number Publication date
CN1558614A (zh) 2004-12-29

Similar Documents

Publication Publication Date Title
JP5167225B2 (ja) 1つのファイラー上の複数の仮想ファイラーが重複するネットワークアドレスを有する複数のアドレス空間に参加することを可能にする技術
US7454489B2 (en) System and method for accessing clusters of servers from the internet network
US7480737B2 (en) Technique for addressing a cluster of network servers
US7885276B1 (en) Isolating network traffic in multi-tenant virtualization environments
US7450585B2 (en) Method and system in an IP network for using a network address translation (NAT) with any type of application
CN1232080C (zh) 网络中节省ip地址提供内部服务器的方法
US7643484B2 (en) Network abstraction and isolation layer rules-based federation and masquerading
US7496685B2 (en) Method and system for managing a device within a private network using a management device external to the private network
US20120317252A1 (en) Method and system for address conflict resolution
CN102170380B (zh) 内网访问外网的方法和设备
JP2017204887A (ja) コンピューティングノード間の通信の構成
US11252126B1 (en) Domain name resolution in environment with interconnected virtual private clouds
EP1074138A1 (en) System and method for network address translation as an external service in the access server of a service provider
CN1333617A (zh) 基于mac地址的通信限制方法
CN100454901C (zh) 一种arp报文处理方法
CN109547452A (zh) Linux网桥设备上实现TCP透明代理的方法及***
CN1292565C (zh) 对网络地址转换虚地址的地址解析协议请求响应的方法
CN1319338C (zh) 网络通信中解决ip地址冲突的方法
CN103442096B (zh) 基于移动互联网的nat转换方法及***
SE517217C2 (sv) Metod och system för kommunikation mellan olika nätverk
CN1863152A (zh) 内网用户之间传递各种报文的方法
CN112887452B (zh) 局域网间通信方法与***、nat网关
KR20020035225A (ko) 맥 어드레스 치환을 이용한 서버 로드 밸런싱 방법 및 장치
WO2023287002A1 (ko) Lisp 기반 분산 컨테이너 가상화 환경에서의 어플리케이션에 대한 주소 관리 방법 및 시스템
US20030225910A1 (en) Host resolution for IP networks with NAT

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: SHENZHEN HUAWEI TECHNOLOGY SOFTWARE CO., LTD.

Free format text: FORMER OWNER: HUAWEI TECHNOLOGY CO LTD

Effective date: 20120222

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20120222

Address after: 518129 Longgang District, Guangdong, Bantian HUAWEI base B District, building 2, building No.

Patentee after: Shenzhen Huawei Technologies Co., Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: Huawei Technologies Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20061227

Termination date: 20150117

EXPY Termination of patent right or utility model