一种为内网用户提供外网接入的方法和装置转让专利

申请号 : CN201010146217.5

文献号 : CN102215273B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 侯叶飞苏兴山

申请人 : 杭州华三通信技术有限公司

摘要 :

本发明提供了一种为内网用户提供外网接入的方法和装置,其中方法包括:接入网关对通过内网接口接收到的任意地址解析协议(ARP)请求进行代答;通过内网接口接收到IP报文后,利用内网IP地址资源对IP报文的源IP地址进行网络地址转换(NAT),保存该NAT前后的源IP地址和内网接口之间的对应关系;将NAT后的IP报文转发至外网。接收来自外网的IP回应报文;根据保存的对应关系,确定IP回应报文的目的IP地址对应的内网接口,并利用上述对应关系对IP回应报文的目的IP地址进行NAT后,通过确定的内网接口转发IP回应报文。本发明能够使得任意网络配置的用户终端无需修改网络配置也能够访问外部网络。

权利要求 :

1.一种为内网用户提供外网接入的方法,其特征在于,该方法包括:

A、接入网关对通过内网接口接收到的任意地址解析协议ARP请求进行代答,其中,所述ARP请求的源IP地址为内网主机上用户配置的IP地址、目的IP地址为所述内网主机上用户配置的接入网关IP地址,且所述用户配置的接入网关IP地址与本接入网关的IP地址不同,代答的ARP响应的源IP地址是所述内网主机上用户配置的接入网关IP地址,所述内网主机上用户配置的IP地址不是本接入网关上配置的内网IP地址池中的内网IP地址;

B、通过所述内网接口接收到IP报文后,利用公网IP地址资源对所述IP报文的源IP地址进行网络地址转换NAT,保存该NAT前后的源IP地址和内网接口之间的对应关系,其中,所述IP报文的源IP地址为内网主机上用户配置的IP地址;所述对应关系中还包括所述IP报文的源MAC地址;

C、将NAT后的IP报文转发至外网;接收来自外网的IP回应报文;

D、根据步骤B中保存的对应关系,确定所述IP回应报文的目的IP地址对应的内网接口,并利用步骤B中保存的对应关系对所述IP回应报文的目的IP地址进行NAT后,根据步骤B中保存的对应关系,利用所述IP回应报文的目的IP地址对应的MAC地址对所述IP回应报文进行二层封装,通过确定的内网接口转发所述IP回应报文。

2.根据权利要求1所述的方法,其特征在于,在所述步骤A中还包括:所述接入网关将所述ARP请求的源IP地址和源MAC地址存储为所述内网接口对应的ARP表项;

步骤D中,在对所述IP回应报文的目的IP地址进行NAT后,且通过确定的内网接口转发所述IP回应报文之前,还包括:在确定的所述内网接口对应的ARP表项中,查找进行NAT之后的目的IP地址对应的MAC地址,利用该MAC地址对NAT后的IP回应报文进行二层封装。

3.一种为内网用户提供外网接入的方法,其特征在于,该方法包括:

A、接入网关对通过内网接口接收到的任意ARP请求进行代答,其中,所述ARP请求的源IP地址为内网主机上用户配置的IP地址、目的IP地址为所述内网主机上用户配置的接入网关IP地址,且所述用户配置的接入网关IP地址与本接入网关的IP地址不同,代答的ARP响应的源IP地址是所述内网主机上用户配置的接入网关IP地址,所述内网主机上用户配置的IP地址不是本接入网关上配置的内网IP地址池中的内网IP地址;

B、通过所述内网接口接收到IP报文后,利用私网IP地址资源对所述IP报文的源IP地址进行NAT,保存本次NAT前后的源IP地址和内网接口之间的对应关系,其中,所述IP报文的源IP地址为内网主机上用户配置的IP地址;所述对应关系中还包括所述IP报文的源MAC地址;

C、利用公网IP地址资源对IP报文的源IP地址进行NAT,保存本次NAT前后的源IP地址之间的对应关系;

D、将IP报文转发至外网;接收来自外网的IP回应报文;

E、按照步骤C中保存的对应关系,对接收到的IP回应报文的目的IP地址进行NAT;

F、根据步骤B中保存的对应关系,确定经过步骤E之后的IP回应报文的目的IP地址对应的内网接口,并利用步骤B中保存的对应关系对IP回应报文的目的IP地址进行NAT后,根据步骤B中保存的对应关系,利用所述IP回应报文的目的IP地址对应的MAC地址对所述IP回应报文进行二层封装,通过确定的内网接口转发该IP回应报文。

4.根据权利要求3所述的方法,其特征在于,在所述步骤A中还包括:所述接入网关将所述ARP请求的源IP地址和源MAC地址存储为所述内网接口对应的ARP表项;

步骤F中,在对所述IP回应报文的目的IP地址进行NAT后,且通过确定的内网接口转发所述IP回应报文之前,还包括:在确定的所述内网接口对应的ARP表项中,查找进行NAT之后的目的IP地址对应的MAC地址,利用该MAC地址对NAT后的IP回应报文进行二层封装。

5.根据权利要求3或4所述的方法,其特征在于,步骤B中在所述利用私网IP地址资源对所述IP报文的源IP地址进行NAT之前,还包括:G、所述接入网关判断动态主机设置协议DHCP用户信息中是否存在包含所述IP报文的源IP地址和源MAC的表项,如果否,继续执行所述利用私网IP地址资源对所述IP报文的源IP地址进行NAT;如果是,转至执行步骤C;

在步骤E和步骤F之间还包括:所述接入网关判断步骤B存储的对应关系中是否包含经过步骤E之后所述IP回应报文的目的IP地址,如果是,继续执行所述步骤F;如果否,查找ARP表项,确定经过步骤E之后所述IP回应报文的目的IP地址对应的MAC地址,利用该MAC地址对IP回应报文进行二层封装后,转发所述IP回应报文。

6.一种为内网用户提供外网接入的装置,其特征在于,该装置包括:ARP处理单元、用户侧收发单元、第一地址转换单元、第一关系记录单元和网络侧收发单元;

所述ARP处理单元,用于对通过内网接口接收到的任意ARP请求进行代答,其中,所述ARP请求的源IP地址为内网主机上用户配置的IP地址、目的IP地址为所述内网主机上用户配置的接入网关IP地址,且所述用户配置的接入网关IP地址与本接入网关的IP地址不同,代答的ARP响应的源IP地址是所述内网主机上用户配置的接入网关IP地址,所述内网主机上用户配置的IP地址不是本接入网关上配置的内网IP地址池中的内网IP地址;

所述用户侧收发单元,用于通过所述内网接口接收IP报文,其中,所述IP报文的源IP地址为内网主机上用户配置的IP地址;通过所述第一地址转换单元确定的内网接口转发接收到的IP回应报文;

所述第一地址转换单元,用于利用公网IP地址对所述IP报文的源IP地址进行NAT后,将所述IP报文发送给所述网络侧收发单元;根据所述第一关系记录单元保存的对应关系,确定所述网络侧收发单元发送的IP回应报文的目的IP地址对应的内网接口,并将该目的IP地址进行NAT后,发送给所述用户侧收发单元;

所述第一关系记录单元,用于保存所述第一地址转换单元将所述IP报文进行NAT前后的源IP地址和内网接口之间的对应关系;

所述网络侧收发单元,用于将接收到的IP报文转发至外网;接收来自外网的IP回应报文后,发送给所述第一地址转换单元。

其中,所述第一关系记录单元保存的对应关系中还包括所述IP报文的源MAC地址;

所述用户侧收发单元包括:第一收发子单元和第一封装子单元;

所述第一收发子单元,用于通过内网接口接收IP报文;将所述第一封装子单元发送来的IP回应报文通过所述第一地址转换单元确定的内网接口转发;

所述第一封装子单元,用于确定接收到的IP回应报文的目的IP地址,根据所述第一关系记录单元保存的对应关系,利用该目的IP地址对应的MAC地址对该IP回应报文进行二层封装后,发送给所述第一收发子单元。

7.根据权利要求6所述的装置,其特征在于,所述ARP处理单元还用于将所述ARP请求的源IP地址和源MAC地址存储为所述内网接口对应的ARP表项;

所述用户侧收发单元包括:第二收发子单元和第二封装子单元;

所述第二收发子单元,用于通过内网接口接收IP报文;将所述第二封装子单元发送来的IP回应报文通过所述第一地址转换单元确定的内网接口转发;

所述第二封装子单元,用于在所述第一地址转换单元确定的内网接口对应的ARP表项中,查找接收到的IP回应报文的目的IP地址对应的MAC地址,利用该MAC地址对该IP回应报文进行二层封装后,发送给所述第二收发子单元。

8.一种为内网用户提供外网接入的装置,其特征在于,该装置包括:ARP处理单元、用户侧收发单元、第一地址转换单元、第一关系记录单元、第二地址转换单元、第二关系记录单元和网络侧收发单元;

所述ARP处理单元,用于对通过内网接口接收到的任意ARP请求进行代答,其中,所述ARP请求的源IP地址为内网主机上用户配置的IP地址、目的IP地址为所述内网主机上用户配置的接入网关IP地址,且所述用户配置的接入网关IP地址与本接入网关的IP地址不同,代答的ARP响应的源IP地址是所述内网主机上用户配置的接入网关IP地址,所述内网主机上用户配置的IP地址不是本接入网关上配置的内网IP地址池中的内网IP地址;

所述用户侧收发单元,用于通过所述内网接口接收IP报文,其中,所述IP报文的源IP地址为内网主机上用户配置的IP地址;通过所述第一地址转换单元确定的内网接口转发接收到的IP回应报文;

所述第一地址转换单元,用于利用私网IP地址对所述IP报文的源IP地址进行NAT后,将所述IP报文发送给所述第二地址转换单元;根据所述第一关系记录单元保存的对应关系,确定所述第二地址转换单元发送的IP回应报文的目的IP地址对应的内网接口,并将该目的IP地址进行NAT后,发送给所述用户侧收发单元;

所述第一关系记录单元,用于保存所述第一地址转换单元将所述IP报文进行NAT前后的源IP地址和内网接口之间的对应关系;

所述第二地址转换单元,用于利用公网IP地址资源,对所述第一地址转换单元发送的IP报文的源IP地址进行NAT,将NAT转换后的IP报文发送给所述网络侧收发单元;按照所述第二关系记录单元保存的对应关系,将所述网络侧收发单元发送的IP回应报文的目的IP地址进行NAT,将NAT转换后的IP回应报文发送给所述第一地址转换单元;

所述第二关系记录单元,用于保存所述第二地址转换单元将IP报文进行NAT转换后的源IP地址之间的对应关系;

所述网络侧收发单元,用于将接收到的IP报文转发至外网;接收来自外网的IP回应报文后,发送给所述第二地址转换单元。

其中,所述第一关系记录单元保存的对应关系中还包括所述IP报文的源MAC地址;

所述用户侧收发单元包括:第一收发子单元和第一封装子单元;

所述第一收发子单元,用于通过内网接口接收IP报文;将所述第一封装子单元发送来的IP回应报文通过所述第一地址转换单元确定的内网接口转发;

所述第一封装子单元,用于确定接收到的IP回应报文的目的IP地址,根据所述第一关系记录单元保存的对应关系,利用该目的IP地址对应的MAC地址对该IP回应报文进行二层封装后,发送给所述第一收发子单元。

9.根据权利要求8所述的装置,其特征在于,所述ARP处理单元还用于将所述ARP请求的源IP地址和源MAC地址存储为所述内网接口对应的ARP表项;

所述用户侧收发单元包括:第二收发子单元和第二封装子单元;

所述第二收发子单元,用于通过内网接口接收IP报文;将所述第二封装子单元发送来的IP回应报文通过所述第一地址转换单元确定的内网接口转发;

所述第二封装子单元,用于在所述第一地址转换单元确定的内网接口对应的ARP表项中,查找接收到的IP回应报文的目的IP地址对应的MAC地址,利用该MAC地址对该IP回应报文进行二层封装后,发送给所述第二收发子单元。

10.根据权利要求8或9所述的装置,其特征在于,该装置还包括:用户判别单元和封装处理单元;

所述用户判别单元,用于在所述用户侧收发单元接收到IP报文后,判断DHCP用户信息中是否存在包含该IP报文的源IP地址和源MAC地址的表项,如果否,则将该IP报文发送给所述第一地址转换单元;如果是,将该IP报文发送给所述第二地址转换单元进行NAT;接收所述第二地址转换单元发送给第一地址转换单元的IP回应报文,判断所述第一关系记录单元保存的对应关系中是否包含该IP回应报文的目的IP地址,如果是,则将该IP回应报文转发给所述第一地址转换单元;如果否,则将该IP回应报文发送给所述封装处理单元;

所述封装处理单元,用于接收到所述用户判别单元发送来的IP回应报文后,查找ARP表项,确定该IP回应报文的目的IP地址对应的MAC地址,利用该MAC地址对IP回应报文进行二层封装后,通过所述用户侧收发单元转发该IP回应报文。

说明书 :

一种为内网用户提供外网接入的方法和装置

技术领域

[0001] 本发明涉及网络通信技术领域,特别涉及一种为内网用户提供外网接入的方法和装置。

背景技术

[0002] 随着用户需求的逐渐提高,网络通信技术逐渐向着可移动的方向发展。当用户需要网络服务时,需要通过接入网关作为IP接入设备,为用户提供链路连接、分配IP地址、报文转发等服务。
[0003] 通常,当用户使用笔记本、PDA等用户终端在公共会议室、酒店公共场所上网时,由于用户终端的原有配置往往与公共场所接入网络的配置不一致,需要重新配置本地的IP地址和接入网关的IP地址,这些地址信息都需要询问网络管理员,以确保配置的正确性,否则会造成无法正常访问外部网络。例如,用户终端的原有IP地址为192.168.0.10/24,配置的接入网关的IP地址为192.168.0.1/24,而所在公共会议室的子网为10.153.1.0/24,接入网关的IP地址为10.153.1.1/24,显然,在新环境用户终端使用原有配置无法正常访问外网。对于频繁出入各种场合的用户想要使用外网服务,需要反复修改配置,十分繁琐。

发明内容

[0004] 有鉴于此,本发明提供了一种为内网用户提供外网接入的方法和装置,以便于任意网络配置的用户终端无需修改网络配置也能够访问外部网络。
[0005] 一种为内网用户提供外网接入的方法,该方法包括:
[0006] A、接入网关对通过内网接口接收到的任意地址解析协议ARP请求进行代答;
[0007] 录单元保存的对应关系,确定所述网络侧收发单元发送的IP回应报文的目的IP地址对应的内网接口,并将该目的IP地址进行NAT后,发送给所述用户侧收发单元;
[0008] 所述第一关系记录单元,用于保存所述第一地址转换单元将所述IP报文进行NAT前后的源IP地址和内网接口之间的对应关系;
[0009] 所述网络侧收发单元,用于将接收到的IP报文转发至外网;接收来自外网的IP回应报文后,发送给所述第一地址转换单元。
[0010] 一种为内网用户提供外网接入的装置,该装置包括:ARP处理单元、用户侧收发单元、第一地址转换单元、第一关系记录单元、第二地址转换单元、第二关系记录单元和网络侧收发单元;
[0011] 所述ARP处理单元,用于对通过内网接口接收到的任意ARP请求进行代答;
[0012] 所述用户侧收发单元,用于通过所述内网接口接收IP报文;通过所述第一地址转换单元确定的内网接口转发接收到的IP回应报文;
[0013] 所述第一地址转换单元,用于利用私网IP地址对所述IP报文的源IP地址进行NAT后,将所述IP报文发送给所述第二地址转换单元;根据所述第一关系记录单元保存的对应关系,确定所述第二地址转换单元发送的IP回应报文的目的IP地址对应的内网接口,并将该目的IP地址进行NAT后,发送给所述用户侧收发单元;
[0014] 所述第一关系记录单元,用于保存所述第一地址转换单元将所述IP报文进行NAT前后的源IP地址和内网接口之间的对应关系;
[0015] 所述第二地址转换单元,用于利用公网IP地址资源,对所述第一地址转换单元发送的IP报文的源IP地址进行NAT,将NAT转换后的IP报文发送给所述网络侧收发单元;按照所述第二关系记录单元保存的对应关系,将所述网络侧收发单元发送的IP回应报文的目的IP地址进行NAT,将NAT转换后的IP回应报文发送给所述第一地址转换单元;
[0016] 所述第二关系记录单元,用于保存所述第二地址转换单元将IP报文进行NAT转换后的源IP地址之间的对应关系;
[0017] B、通过所述内网接口接收到IP报文后,利用公网IP地址资源对所述IP报文的源IP地址进行网络地址转换NAT,保存该NAT前后的源IP地址和内网接口之间的对应关系;
[0018] C、将NAT后的IP报文转发至外网;接收来自外网的IP回应报文;
[0019] D、根据步骤B中保存的对应关系,确定所述IP回应报文的目的IP地址对应的内网接口,并利用步骤B中保存的对应关系对所述IP回应报文的目的IP地址进行NAT后,通过确定的内网接口转发所述IP回应报文。
[0020] 一种为内网用户提供外网接入的方法,该方法包括:
[0021] A、接入网关对通过内网接口接收到的任意ARP请求进行代答;
[0022] B、通过所述内网接口接收到IP报文后,利用私网IP地址资源对所述IP报文的源IP地址进行NAT,保存本次NAT前后的源IP地址和内网接口之间的对应关系;
[0023] C、利用公网IP地址资源对IP报文的源IP地址进行NAT,保存本次NAT前后的源IP地址之间的对应关系;
[0024] D、将IP报文转发至外网;接收来自外网的IP回应报文;
[0025] E、按照步骤C中保存的对应关系,对接收到的IP回应报文的目的IP地址进行NAT;
[0026] F、根据步骤B中保存的对应关系,确定经过步骤E之后的IP回应报文的目的IP地址对应的内网接口,并利用步骤B中保存的对应关系对IP回应报文的目的IP地址进行NAT后,通过确定的内网接口转发该IP回应报文。
[0027] 一种为内网用户提供外网接入的装置,该装置包括:ARP处理单元、用户侧收发单元、第一地址转换单元、第一关系记录单元和网络侧收发单元;
[0028] 所述ARP处理单元,用于对通过内网接口接收到的任意ARP请求进行代答;
[0029] 所述用户侧收发单元,用于通过所述内网接口接收IP报文;通过所述第一地址转换单元确定的内网接口转发接收到的IP回应报文;
[0030] 所述第一地址转换单元,用于利用公网IP地址对所述IP报文的源IP地址进行NAT后,将所述IP报文发送给所述网络侧收发单元;根据所述第一关系记[0031] 所述网络侧收发单元,用于将接收到的IP报文转发至外网;接收来自外网的IP回应报文后,发送给所述第二地址转换单元。
[0032] 由以上技术方案可以看出,本发明中接入网关对通过内网接口接收到的任意ARP请求进行代答;通过内网接口接收到IP报文后,利用内网IP地址资源对IP报文的源IP地址进行NAT后转发至外网,并保存NAT前后的源IP地地址和内网接口之间的对应关系以便对IP回应报文进行转发处理。即在接入网关上自适应地利用内网IP地址资源对用户配置IP地址的用户终端进行区分,使得任意网络配置的用户终端无需修改网络配置也能够访问外部网络。

附图说明

[0033] 图1为本发明提供的主要方法流程图;
[0034] 图2为本发明实施例提供的一个组网实例图;
[0035] 图3为本发明实施例提供的详细方法流程图;
[0036] 图4为本发明提供的装置结构示意图;
[0037] 图5为本发明提供的另一种装置结构示意图。

具体实施方式

[0038] 为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
[0039] 本发明提供的主要方法可以如图1所示,主要包括以下步骤:
[0040] 步骤101:接入网关对通过内网接口接收到的任意ARP请求进行代答。
[0041] 步骤102:通过内网接口接收到IP报文后,利用内网IP地址资源对IP报文的源IP地址进行网络地址转换(NAT),并保存该NAT转换前后的源IP地址和内网接口之间的对应关系。
[0042] 步骤103:将NAT后的IP报文转发至外网;接收来自外网的IP回应报文。
[0043] 步骤104:根据步骤102保存的对应关系,确定IP回应报文的目的IP地址对应的内网接口,按照该对应关系对IP回应报文的目的IP地址进行NAT后,通过确定的内网接口转发该IP回应报文。
[0044] 在图1所示方法中在IP报文的发送和IP回应报文的接收过程中,分别仅涉及一次NAT,此时的内网IP地址资源为公网IP地址资源,即将接收到的IP报文的源IP地址直接转换为公网IP地址后发送。
[0045] 除了这种方式之外,还可以在IP报文的发送和IP回应报文的接收过程中,分别涉及两次NAT,即首先利用包含私网IP地址的内网IP地址资源对IP报文的源IP地址进行第一次NAT,并保存该第一次NAT转换前后的源IP地址和内网接口之间的对应关系;然后在利用包含公网IP地址的外网IP地址资源对IP报文的源IP地址进行第二次NAT,并保存该第二次NAT转换前后的源IP地址之间的对应关系。对于IP回应报文,则首先利用第二次NAT保存的对应关系,对IP回应报文的目的IP地址进行NAT;然后利用第一次NAT保存的对应关系,确定该IP回应报文的目的IP地址对应的内网接口,并利用第一次NAT保存的对应关系,对该IP回应报文的目的IP地址进行NAT转换后,利用确定的内网接口转发该IP回应报文。
[0046] 下面结合具体实施例对上述方法进行详细描述。以图2所示架构为例,假设路由器A作为内网的接入网关,为主机A、主机B和主机C提供接入服务。假设主机A和主机C是使用用户配置地址的主机,且其配置的IP地址相同,都是192.168.1.1,且配置的接入网关的IP地址并不是图2中路由器A的IP地址。主机B是采用动态主机配置协议(DHCP)配置地址的主机。路由器A上配置的内网IP地址池为私网IP地址192.168.1.10-192.168.1.20,外网IP地址池为:公网IP地址202.133.1.26-202.133.1.36。图3为本发明提供的详细方法流程图,如图3所示,该方法可以包括以下步骤:
[0047] 步骤301:主机A发送ARP请求,该ARP请求的源IP地址为主机A上配置的IP地址,即192.168.1.1,目的IP地址为其配置的接入网关IP地址,源MAC地址为主机A的MAC地址。
[0048] 主机在访问外部网络时,首先触发接入网关的MAC地址学习,按照配置的接入网关的IP地址发送ARP请求。
[0049] 步骤302:路由器A通过内网接口1接收到该ARP请求后,对该ARP请求进行代答,即返回ARP响应。
[0050] 在路由器A上增加自适应ARP功能,即对任意目的IP地址的ARP请求进行代答。路由器A接收到的来自主机A的ARP请求的目的IP地址并不是路由器A的IP地址,路由器A回复的ARP响应的源IP地址是ARP请求的目的IP地址,使得主机并不会感知到该ARP代答过程。
[0051] 主机A获取到路由器A代答的ARP响应后,获取路由器A的MAC地址,认为接入网关即路由器A可达,可以利用该MAC地址进行外网的访问,即向外网发送IP报文。
[0052] 步骤303:路由器A接收到用户A发送的IP报文后,查找DHCP用户信息中是否存在包含该IP报文的源IP地址和源MAC地址的表项,如果否,执行步骤304;如果是,执行步骤305。
[0053] 如果路由器A同时具备DHCP功能,即能够为内网中的用户分配IP地址,例如主机B是通过DHCP方式获取IP地址的,为了对这些主机进行区分,路由器A可以通过查询本地DCHP用户信息确定该主机是使用用户配置地址的主机还是采用DHCP配置地址的主机。具体地,如果DHCP用户信息中存在包含该IP报文的源IP地址和源MAC地址的表项,则说明发送该IP报文的主机是采用DHCP配置地址的主机,否则,说明发送该IP报文的主机是使用用户配置地址的主机。
[0054] 当然,如果路由器A不具备DHCP功能,不执行本步骤,直接执行步骤304。
[0055] 步骤304:通过内网接口1接收到IP报文后,获取该IP报文的源IP地址和源MAC地址,利用内网IP地址池中的IP地址,对IP报文的源IP地址进行内网地址的NAT,并保存该NAT转换前后的源IP地址、源MAC地址和内网接口1之间的对应关系。
[0056] 在路由器A上可以使用预先配置的内网IP地址池为内网的主机分配一个未使用的IP地址,该内网IP地址池可以是DHCP分配地址时使用的地址池,即进行内网地址的NAT转换和DHCP分配地址进行IP地址池的资源共享。
[0057] 在进行内网地址的NAT后,保存内网接口和转换前后的五元组,其中,五元组可以包括:源IP地址、目的IP地址、源端口、目的端口、协议类型。也可以仅保存内网接口和转换前后的源IP地址。
[0058] 假设进行内网地址的NAT转换时分配给主机A的IP地址为192.168.1.10,则该IP报文的源IP地址转换为192.168.1.10,在路由器A中保存如表1所示的对应关系。
[0059] 表1
[0060]内网接口 源MAC地址 内网地址NAT转换前 内网地址NAT转换后
IP地址 IP地址
内网接口1 MAC1 192.168.1.1 192.168.1.10
[0061] 步骤305:利用外网IP地址池中的IP地址,对IP报文的源IP地址进行外网地址的NAT,并保存该NAT转换前后的源IP地址之间的对应关系。
[0062] 在进行外网地址的NAT后,可以保存转换前后的五元组,也可以仅保存转换前后的IP地址之间的对应关系。
[0063] 假设进行外网地址的NAT转换时分配的IP地址为202.133.1.27,则IP报文的源IP地址转换为202.133.1.27,并保存两者之间的对应关系。
[0064] 需要说明的是,上述过程中,内网IP地址池中是私网地址,外网IP地址池中是公网地址。如果内网IP地址池中存放的是公网地址,即直接通过公网地址对内网用户进行区分,则也可以不执行步骤305和之后的步骤306。
[0065] 至此,路由器A在执行步骤305之后,可以按照IP报文的目的IP对该IP报文进行三层转发。如果接收到来自外网发送给主机A的IP报文,即回应报文时,则该IP报文的目的IP地址一定是进行外网地址NAT转换时分配的IP地址,即202.133.1.27,此时路由器A继续执行以下步骤。
[0066] 步骤306:路由器A接收到来自外网的IP回应报文后,按照保存的外网地址的NAT转换前后的源IP地址之间的对应关系,对该IP回应报文的目的IP地址进行NAT转换。
[0067] 路由器查询外网地址的NAT转换前后的源IP地址之间的对应关系后,确定该IP回应报文的目的IP地址202.133.1.27对应的IP地址为192.168.1.10,则将该IP回应报文的目的IP转换为192.168.1.10。
[0068] 步骤307:路由器A按照该IP回应报文转换后的目的IP地址,查找步骤304存储的对应关系中是否包含该目的IP地址,如果是,执行步骤308;如果否,执行步骤309。
[0069] 如果步骤304存储的对应关系中包含转换后的目的IP地址,则说明该回应报文的目的地为使用用户配置地址的主机,否则说明该回应报文的目的地为采用DHCP方式获取IP地址的主机。
[0070] 同样,如果路由器A不具备DHCP功能,不执行本步骤,直接执行步骤308。
[0071] 步骤308:按照内网地址的NAT转换前后源IP地址和内网接口1之间的对应关系,对该IP回应报文的目的IP地址进行NAT,并确定对应的内网接口1和MAC地址,利用确定的MAC地址对IP回应报文进行二层封装后,通过内网接口1发送,结束流程。
[0072] 由于在步骤307中NAT后的目的IP地址为192.168.1.10,查找表1中的对应关系,将IP回应报文的IP地址进行第二次NAT,转换为192.168.1.1。在转换后,该IP回应报文的目的IP就是主机A上配置的IP地址。
[0073] 步骤309:查询ARP表项,确定该IP回应报文的目的IP地址对应的MAC地址,利用该MAC地址对该IP回应报文进行二层封装后,进行转发,结束流程。
[0074] 对于采用DHCP方式获取IP地址的用户,通过查询ARP表项确定出主机A的MAC地址,按照该ARP表项对应的内网接口1转发该IP回应报文,该部分为现有方式,不再赘述。
[0075] 至此完成IP回应报文的转发过程。
[0076] 上述实施例提供的方式中,接入网关仅仅对ARP请求进行代答,并依赖建立ARP表项进行IP回应报文的转发,而是通过在内网地址转换过程中记录的内网接口和源MAC实现对回程报文的转发。
[0077] 但除此之外,本发明提供的方法也同样可以采用与ARP过程兼容的方式,路由器A通过建立ARP表项来实现对回程报文的转发。
[0078] 对于ARP表项的建立,路由器A可以在步骤302中接收到ARP请求后,建立ARP表项,该ARP表项中包含ARP表项的源IP地址和源MAC地址。由于在某些情况下,可能会存在处于同一私网的不同主机配置了相同的IP地址,但现有ARP协议中,两个ARP表项中不能存在相同的IP地址。在此,本发明可以针对内网接口建立ARP表项,在本发明中对于主机A,路由器A存储针对内网接口1存储包含主机A的IP地址和MAC地址的ARP表项。
[0079] 这种情况下,对应在步骤308中,确定出对应的内网接口1后,需要进一步确定该内网接口1对应的ARP表项,利用该ARP表项对IP回应报文进行二层封装后,通过内网接口1发送该IP回应报文。
[0080] 上述实施例中涉及的内网接口可以是二层接口或三层接口。
[0081] 以上是对本发明所提供的方法进行的详细描述。下面对本发明所提供的装置进行详细描述。图4为本发明提供的装置结构图,如图4所示,该装置包括:ARP处理单元401、用户侧收发单元402、第一地址转换单元403、第一关系记录单元404和网络侧收发单元405。
[0082] ARP处理单元401,用于对通过内网接口接收到的任意ARP请求进行代答。
[0083] 用户侧收发单元402,用于通过内网接口接收IP报文;通过第一地址转换单元403确定的内网接口转发接收到的IP回应报文。
[0084] 第一地址转换单元403,用于利用内网IP地址资源对IP报文的源IP地址进行NAT后,将IP报文发送给网络侧收发单元405;根据第一关系记录单元404保存的对应关系,确定网络侧收发单元405发送的IP回应报文的目的IP地址对应的内网接口,并将该目的IP地址进行NAT后,发送给用户侧收发单元402。
[0085] 第一关系记录单元404,用于保存第一地址转换单元403将IP报文进行NAT前后的源IP地址和内网接口之间的对应关系。
[0086] 网络侧收发单元405,用于将接收到的IP报文转发至外网;接收来自外网的IP回应报文后,发送给第一地址转换单元403。
[0087] 根据该装置对二层信息的不同获取方式,可以分成以下两种情况:
[0088] 第一种情况:
[0089] 上述第一关系记录单元404保存的对应关系中还可以包括IP报文的源MAC地址。即保存的是第一地址转换单元403对IP报文进行NAT前后的源IP地址、源MAC地址和内网接口之间的对应关系。
[0090] 此时,用户侧收发单元402可以具体包括:第一收发子单元4021和第一封装子单元4022。
[0091] 第一收发子单元4021,用于通过内网接口接收IP报文;将第一封装子单元4022发送来的IP回应报文通过第一地址转换单元403确定的内网接口转发。
[0092] 第一封装子单元4022,用于确定接收到的IP回应报文的目的IP地址,根据第一关系记录单元404保存的对应关系,利用该目的IP地址对应的MAC地址对该IP回应报文进行二层封装后,发送给第一收发子单元4021。
[0093] 第二种情况如图5所示:
[0094] ARP处理单元401还可以用于将ARP请求的源IP地址和源MAC地址存储为内网接口对应的ARP表项。
[0095] 此时,用户侧收发单元402可以具体包括:第二收发子单元4023和第二封装子单元4024。
[0096] 第二收发子单元4023,用于通过内网接口接收IP报文;将第二封装子单元4024发送来的IP回应报文通过第一地址转换单元403确定的内网接口转发。
[0097] 第二封装子单元4024,用于在第一地址转换单元403确定的内网接口对应的ARP表项中,查找接收到的IP回应报文的目的IP地址对应的MAC地址,利用该MAC地址对该IP回应报文进行二层封装后,发送给第二收发子单元4023。
[0098] 基于以上结构,该装置还可以进一步包括:第二地址转换单元406和第二关系记录单元407。
[0099] 第二地址转换单元406,用于利用外网IP地址资源,对第一地址转换单元403发送给网络侧收发单元405的IP报文的源IP地址进行NAT,将NAT转换后的IP报文发送给网络侧收发单元405;按照第二关系记录单元407保存的对应关系,将网络侧收发单元402发送给第一地址转换单元403的IP回应报文的目的IP地址进行NAT,将NAT转换后的IP回应报文发送给第一地址转换单元403。
[0100] 第二关系记录单元407,用于保存第二地址转换单元406将IP报文进行NAT转换后的源IP地址之间的对应关系。
[0101] 另外,如果内网中同时存在采用DHCP方式获取IP地址的用户终端,则该装置还可以包括:用户判别单元408,用于在用户侧收发单元402接收到IP报文后,判断DHCP用户信息中是否存在包含该IP报文的源IP地址和源MAC地址的表项,如果否,则将该IP报文发送给第一地址转换单元403;如果是,将该IP报文发送给第二地址转换单元406进行NAT;接收第二地址转换单元406发送给第一地址转换单元403的IP回应报文,判断第一关系记录单元404保存的对应关系中是否包含该IP回应报文的目的IP地址,如果是,则将该IP回应报文转发给第一地址转换单元403;如果否,则将该IP回应报文发送给封装处理单元
409。
[0102] 所述封装处理单元409,用于接收到用户判别单元408发送来的IP回应报文后,查找ARP表项,确定该IP回应报文的目的IP地址对应的MAC地址,利用该MAC地址对IP回应报文进行二层封装后,通过用户侧收发单元402转发该IP回应报文。
[0103] 需要说明的是,上述装置在仅包含第一地址转换单元403时,内网IP地址资源为公网IP地址资源。在上述装置包含第一地址转换单元403和第二地址转换单元406时,内网IP地址资源为私网IP地址资源,外网IP地址资源为公网IP地址资源。
[0104] 由以上描述可以看出,本发明中接入网关对通过内网接口接收到的任意ARP请求进行代答;通过内网接口接收到IP报文后,利用内网IP地址资源对IP报文的源IP地址进行NAT后转发至外网,并保存NAT前后的源IP地地址和内网接口之间的对应关系以便对IP回应报文进行转发处理。即在接入网关上自适应地利用内网IP地址资源对用户配置IP地址的用户终端进行区分,使得任意网络配置的用户终端无需修改网络配置也能够访问外部网络。
[0105] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。