一种网元群组网络的通信方法和装置转让专利

申请号 : CN201010259655.2

文献号 : CN102377835B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 程铁生

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

摘要 :

本发明提供了一种网元群组网络的通信方法和装置,网元群组网络中的命令交换机通知加入网元群组网络的成员交换机使能IPv6无状态自动配置功能,针对成员交换机生成并维护包含该成员交换机的MAC地址信息的IPv6地址;网元群组网络中的各成员交换机之间或成员交换机与命令交换机之间通过IPv6地址进行通信;命令交换机通过将网元群组网络的IPv4公网地址与成员交换机的所述IPv6地址进行网络地址转换(NAT)实现成员交换机与外部网络的通信。通过本发明能够简化网元群组的管理。

权利要求 :

1.一种网元群组网络的通信方法,其特征在于,该方法包括:

网元群组网络中的命令交换机通知加入所述网元群组网络的成员交换机使能IPv6无状态自动配置功能,针对所述成员交换机生成并维护包含该成员交换机的MAC地址信息的IPv6地址;

所述网元群组网络中的各成员交换机之间或成员交换机与命令交换机之间通过所述IPv6地址进行通信;

所述命令交换机通过将所述网元群组网络的IPv4公网地址与成员交换机的所述IPv6地址进行网络地址转换NAT实现成员交换机与外部网络的通信。

2.根据权利要求1所述的方法,其特征在于,网元群组网络中的命令交换机通知加入所述网元群组网络的成员交换机使能IPv6无状态自动配置功能具体包括:所述命令交换机对新加入所述网元群组网络的成员交换机下发IPv6无状态自动配置消息;

所述成员交换机接收到IPv6无状态自动配置消息后,使能IPv6无状态自动配置功能,在自身的桥MAC地址之前增加本地链路link-local地址前缀或IPv6全球单播地址前缀,形成该成员交换机的IPv6地址。

3.根据权利要求1所述的方法,其特征在于,针对所述成员交换机生成并维护包含该成员交换机的MAC地址信息的IPv6地址具体包括:所述命令交换机对新加入所述网元群组网络的成员交换机进行拓朴发现的过程中,通过NDP报文获取新加入的成员交换机的桥MAC地址,在获取的桥MAC地址之前增加link-local地址前缀或IPv6全球单播地址前缀,形成所述成员交换机的IPv6地址。

4.根据权利要求1、2或3所述的方法,其特征在于,所述命令交换机在针对所述成员交换机生成IPv6地址后,针对该成员交换机生成内部服务器静态NAT表项,该内部服务器静态NAT表项中的全局IP地址为所述网元群组网络的IPv4公网地址,本地IP地址为所述成员交换机的IPv6地址,本地端口号为对应应用协议的知名协议端口号,全局端口号为命令交换机为所述成员交换机分配的对应应用协议的端口号;

所述命令交换机在连接外部网络设备时,会针对所述外部网络设备生成外部服务器静态NAT表项,该外部服务器静态NAT表项中的全局IP地址为所述命令交换机的IPv6地址,该命令交换机的IPv6地址中包含命令交换机的MAC地址信息,本地IP地址为外部网络设备的IPv4地址,全局端口号为对应应用协议的知名协议端口号,本地端口号与全局端口号相同或者为随机端口号;

所述命令交换机通过将所述网元群组网络的IPv4公网地址与成员交换机的所述IPv6地址进行NAT具体包括:

命令交换机接收到来自外部网络设备的数据报文后,对该数据报文进行第一NAT后,发送数据报文至成员交换机;其中,第一NAT包括:将该数据报文的目的IP地址和目的端口号与内部服务器静态NAT表项中的全局IP地址和全局端口号进行匹配,找到匹配的静态NAT表项,将该数据报文的目的IP地址和目的端口号分别转换为匹配的静态NAT表项中的本地IP地址和本地端口号,再将该数据报文的源IP地址转换为所述命令交换机的IPv6地址,源端口号进行随机转换,发送数据报文至成员交换机;

所述命令交换机接收到来自所述成员交换机的数据报文后,对该数据报文进行第二NAT后,发送数据报文至外部网络设备;其中,第二NAT包括:将该数据报文的目的IP地址和目的端口号与外部服务器静态NAT表项中的全局IP地址和全局端口号进行匹配,找到匹配的静态NAT表项,将该数据报文的目的IP地址转换为匹配的静态NAT表项中的本地IP地址,再将该数据报文的源IP地址转换为所述网元群组网络的IPv4公网地址,并将该数据报文的源端口进行随机转换。

5.根据权利要求4所述的方法,其特征在于,所述发送数据报文至成员交换机之前,还包括:所述命令交换机在本地生成内部服务器动态NAT表项,该内部服务器动态NAT表项包含第一NAT的转换后的目的端口号和目的IP地址、转换前后的源IP地址以及转换前后的源端口号;

在所述将该数据报文的目的IP地址和目的端口号与外部服务器静态NAT表项中的全局IP地址和全局端口号进行匹配之前,还包括:所述命令交换机判断所述来自成员交换机的数据报文的目的端口号是否为知名协议端口号,如果是,继续执行所述将该数据报文的目的IP地址和目的端口号与外部服务器静态NAT表项中的全局IP地址和全局端口号进行匹配的步骤;否则,将数据报文的目的IP地址、目的端口号、源IP地址和源端口号与内部服务器动态NAT表项的转换后的源IP地址、转换后的源端口号、转换后的目的IP地址和转换后的目的端口号进行匹配,将数据报文的目的IP地址和目的端口号分别转换为匹配的内部服务器动态NAT表项中转换前的源IP地址和转换前的源端口号,然后将数据报文的源IP地址和源端口号分别与内部服务器静态NAT表项中的本地IP地址和本地端口号进行匹配,将该数据报文的源IP地址和源端口号分别转换为匹配的静态NAT表项中的全局IP地址和全局端口号,发送该数据报文至外部网络设备。

6.根据权利要求4所述的方法,其特征在于,所述发送该数据报文至外部网络设备之前,还包括:所述命令交换机在本地生成外部服务器动态NAT表项,该外部服务器动态NAT表项包含第二NAT的转换后的目的端口号和目的IP地址、转换前后的源IP地址以及转换前后的源端口号;

在所述将该数据报文的目的IP地址和目的端口号与内部服务器静态NAT表项中的全局IP地址和全局端口号进行匹配之前,还包括:所述命令交换机判断来自外部网络设备的数据报文的目的端口号是否为所述命令交换机为成员交换机分配的对应应用协议的端口号,如果是,继续执行所述将该数据报文的目的IP地址和目的端口号与内部服务器静态NAT表项中的全局IP地址和全局端口号进行匹配的步骤;否则,将数据报文的目的IP地址、目的端口号、源IP地址和源端口号与外部服务器动态NAT表项的转换后的源IP地址、转换后的源端口号、转换后的目的IP地址和转换后的目的端口号进行匹配,将数据报文的目的IP地址和目的端口号分别转换为匹配的外部服务器动态NAT表项中转换前的源IP地址和转换前的源端口号,然后将数据报文的源IP地址和源端口号分别与外部服务器静态NAT表项中的本地IP地址和本地端口号进行匹配,将该数据报文的源IP地址和源端口号分别转换为匹配的静态NAT表项中的全局IP地址和全局端口号,发送该数据报文至成员交换机。

7.一种网元群组网络中的命令交换机,其特征在于,该命令交换机包括:

配置下发单元,用于通知加入所述网元群组网络的成员交换机使能IPv6无状态自动配置功能;

地址产生单元,用于针对所述成员交换机生成并维护包含该成员交换机的MAC地址信息的IPv6地址;

网内通信单元,用于与所述成员交换机之间通过所述IPv6地址进行通信;

网间通信单元,用于通过将所述群组网络的IPv4公网地址与成员交换机的所述IPv6地址进行网络地址转换NAT实现成员交换机与外部网络的通信。

8.根据权利要求7所述的命令交换机,其特征在于,所述配置下发单元对新加入所述网元群组网络的成员交换机下发IPv6无状态自动配置消息;

所述地址产生单元在该命令交换机的拓朴发现过程中,通过NDP报文获取新加入的成员交换机的桥MAC地址,在获取的桥MAC地址之前增加本地链路link-local地址前缀或IPv6全球单播地址前缀,形成所述成员交换机的IPv6地址。

9.根据权利要求7或8所述的命令交换机,其特征在于,该命令交换机还包括:第一静态表项产生单元和第二静态表项产生单元;

所述第一静态表项产生单元,用于在所述地址产生单元形成所述成员交换机的IPv6地址后,针对所述成员交换机生成内部服务器静态NAT表项,该内部服务器静态NAT表项中的全局IP地址为所述网元群组网络的IPv4公网地址,本地IP地址为所述成员交换机的IPv6地址,本地端口号为对应应用协议的知名协议端口号,全局端口号为命令交换机为所述成员交换机分配的对应应用协议的端口号;

所述第二静态表项产生单元,用于在该命令交换机连接外部网络设备时,针对所述外部网络设备生成外部服务器静态NAT表项,该外部服务器静态NAT表项中的全局IP地址为所述命令交换机的IPv6地址,该命令交换机的IPv6地址中包含命令交换机的MAC地址信息,本地IP地址为外部网络设备的IPv4地址,全局端口号为对应应用协议的知名协议端口号,本地端口号与全局端口号相同或者为随机端口号;

所述网间通信单元具体包括:

外部网络侧收发子单元,用于接收到来自外部网络设备的数据报文后,将该数据报文提供给第一NAT处理子单元;将第二NAT处理子单元提供的数据报文发送至外部网络设备;

第一NAT处理子单元,用于对接收到的数据报文进行第一NAT后,将数据报文提供给内部网络侧收发子单元,其中,第一NAT具体包括:将接收到的数据报文的目的IP地址和目的端口号与内部服务器静态NAT表项中的全局IP地址和全局端口号进行匹配,找到匹配的静态NAT表项,将该数据报文的目的IP地址和目的端口号分别转换为匹配的静态NAT表项中的本地IP地址和本地端口号,再将该数据报文的源IP地址转换为所述命令交换机的IPv6地址,源端口号进行随机转换;

内部网络侧收发子单元,用于将所述第一NAT处理子单元提供的数据报文发送至成员交换机;接收到来自成员交换机的数据报文后,将该数据报文提供给第二NAT处理子单元;

第二NAT处理子单元,用于接收到的数据报文进行第二NAT后提供给所述外部网络侧收发子单元,其中,第二NAT包括:将该数据报文的目的IP地址和目的端口号与外部服务器静态NAT表项中的全局IP地址和全局端口号进行匹配,找到匹配的静态NAT表项,将该数据报文的目的IP地址转换为匹配的静态NAT表项中的本地IP地址,再将该数据报文的源IP地址转换为所述网元群组网络的IPv4公网地址,并将该数据报文的源端口进行随机转换。

10.根据权利要求9所述的命令交换机,其特征在于,所述网间通信单元还包括:

第一动态表项产生子单元,针对所述第一NAT处理子单元执行的第一NAT生成内部服务器动态NAT表项,该内部服务器动态NAT表项包含第一NAT的转换后的目的端口号和目的IP地址、转换前后的源IP地址以及转换前后的源端口号;

第一判断子单元,用于获取所述内部网络侧收发子单元提供给所述第二NAT处理子单元的数据报文,判断该数据报文的目的端口号是否为知名协议端口号,如果是,将该数据报文继续转发给所述第二NAT处理子单元;否则,将该数据报文提供给第三NAT处理子单元;

第三NAT处理子单元,用于接收到数据报文后,将数据报文的目的IP地址、目的端口号、源IP地址和源端口号与内部服务器动态NAT表项的转换后的源IP地址、转换后的源端口号、转换后的目的IP地址和转换后的目的端口号进行匹配,将数据报文的目的IP地址和目的端口号分别转换为匹配的内部服务器动态NAT表项中转换前的源IP地址和转换前的源端口号,然后将数据报文的源IP地址和源端口号分别与内部服务器静态NAT表项中的本地IP地址和本地端口号进行匹配,将该数据报文的源IP地址和源端口号分别转换为匹配的静态NAT表项中的全局IP地址和全局端口号,发送该数据报文至所述外部网络侧收发子单元;

所述外部网络侧收发子单元,还用于将所述第三NAT处理子单元提供的数据报文发送至外部网络设备。

11.根据权利要求9所述的命令交换机,其特征在于,所述网间通信单元还包括:

第二动态表项产生子单元,用于针对所述第二NAT处理子单元执行的第二NAT生成外部服务器动态NAT表项,该外部服务器动态NAT表项包含第二NAT的转换后的目的端口号和目的IP地址、转换前后的源IP地址以及转换前后的源端口号;

第二判断子单元,用于获取所述外部网络侧收发子单元提供给所述第一NAT处理子单元的数据报文,判断该数据报文的目的端口号是否为所述命令交换机为成员交换机分配的对应应用协议的端口号,如果是,将该数据报文继续转发给所述第一NAT处理子单元;否则,将该数据报文提供给第四NAT处理子单元;

第四NAT处理子单元,用于将接收到的数据报文的目的IP地址、目的端口号、源IP地址和源端口号与外部服务器动态NAT表项的转换后的源IP地址、转换后的源端口号、转换后的目的IP地址和转换后的目的端口号进行匹配,将数据报文的目的IP地址和目的端口号分别转换为匹配的外部服务器动态NAT表项中转换前的源IP地址和转换前的源端口号,然后将数据报文的源IP地址和源端口号分别与外部服务器静态NAT表项中的本地IP地址和本地端口号进行匹配,将该数据报文的源IP地址和源端口号分别转换为匹配的静态NAT表项中的全局IP地址和全局端口号,发送该数据报文至内部网络侧收发子单元;

所述内部网络侧收发子单元,还用于将所述第四NAT处理子单元提供的数据报文发送至成员交换机。

说明书 :

一种网元群组网络的通信方法和装置

技术领域

[0001] 本发明涉及网络通信技术领域,特别涉及一种网元群组网络的通信方法、系统和装置。

背景技术

[0002] 网元群组管理是针对大量设备配置维护量大、IP资源浪费严重、开放性不佳等的问题提出的对一组以太网产品同一配置、维护和管理的专用私有协议组。在对大量交换机进行管理时,为了节省IP地址和方便管理,引入了网元群组管理功能。
[0003] 如图1所示,在一个网元群组中的交换机可以进行互访,各交换机主要分为两个角色:命令交换机和成员交换机。其中命令交换机上配置有IPv4公网地址,且由命令交换机实现对各成员交换机的配置和管理。网元群组管理的一个重要特性就是即插即用,即候选交换机无需实现配置,接入网元群组网络后便能自动接入网元群组。
[0004] 目前,在一个网元群组网络中,成员交换机之间的互访采用IPv4私网地址,即命令交换机对新加入的成员交换机配置IPv4私网地址,不同的成员交换机配置的IPv4私网地址互不相同,且该IPv4私网地址在网元群组网络中有效,不会暴露到外部网络。另外,为了保证网元群组的安全特性防止地址冲突,在网元群组网络中不能使能地址解析协议(ARP),那么命令交换机需要维护各成员交换机的IPv4私网地址和MAC地址之间的映射关系。成员交换机与外部网络之间的互访通过命令交换机实现,即成员交换机与外部网络之间的报文转发需要在命令交换机上进行网络地址转换(NAT)。
[0005] 可以看出,在现有技术中,命令交换机需要为网元群组网络中的每个成员交换机分配不同的IPv4私网地址,且命令交换机需要维护网元群组网络中各成员交换机的IPv4私网地址和MAC地址之间的映射关系,显然网元群组的管理十分复杂。

发明内容

[0006] 本发明提供了一种用于网元群组网络的通信方法和装置,以便于简化网元群组的管理。
[0007] 一种用于网元群组网络的通信方法,该方法包括:
[0008] 网元群组网络中的命令交换机通知加入所述网元群组网络的成员交换机使能IPv6无状态自动配置功能,针对所述成员交换机生成并维护包含该成员交换机的MAC地址信息的IPv6地址;
[0009] 所述网元群组网络中的各成员交换机之间或成员交换机与命令交换机之间通过所述IPv6地址进行通信;
[0010] 所述命令交换机通过将所述网元群组网络的IPv4公网地址与成员交换机的所述IPv6地址进行网络地址转换NAT实现成员交换机与外部网络的通信。
[0011] 一种网元群组网络中的命令交换机,该命令交换机包括:
[0012] 配置下发单元,用于通知加入所述网元群组网络的成员交换机使能IPv6无状态自动配置功能;
[0013] 地址产生单元,用于针对所述成员交换机生成并维护包含该成员交换机的MAC地址信息的IPv6地址;
[0014] 网内通信单元,用于与所述成员交换机之间通过所述IPv6地址进行通信;
[0015] 网间通信单元,用于通过将所述群组网络的IPv4公网地址与成员交换机的所述IPv6地址进行网络地址转换NAT实现成员交换机与外部网络的通信。
[0016] 一种网元群组网络的成员交换机,该成员交换机包括:
[0017] 配置接收单元,用于接收所述网元群组网络中的命令交换机下发的IPv6无状态自动配置消息时,使能IPv6无状态自动配置功能;
[0018] 私网地址生成单元,用于在该成员交换机使能IPv6无状态自动配置功能时,生成包含该成员交换机的MAC地址信息的IPv6地址;
[0019] 网内通信单元,用于与其它成员交换机或命令交换机通过所述IPv6地址进行通信;
[0020] 网间通信单元,用于将与外部网络进行通信的数据报文发送给命令交换机进行转发,该命令交换机在进行转发过程中,将数据报文进行网元群组网络的IPv4公网地址与成员交换机的所述IPv6地址之间的NAT。
[0021] 一种用于网元群组网络的通信系统,该系统包括上述命令交换机和成员交换机。
[0022] 由以上技术方案可以看出,本发明在网元群组网络中使用包含成员交换机MAC地址信息的IPv6地址代替IPv4私网地址,使用IPv6无状态自动配置功能代替网元群组的IPv4私网地址分配机制,使得命令交换机无需逐一为成员交换机分配IPv4私网地址,且无需维护成员交换机的IPv4私网地址池以及IPv4私网地址与MAC地址之间的映射关系,大大简化了网元群组的管理复杂性。

附图说明

[0023] 图1为网元群组网络的一个示意图;
[0024] 图2为本发明实施例提供的方法流程图;
[0025] 图3为网元群组网络与外部网络互访的组网示意图;
[0026] 图4为本发明提供的命令交换机的结构示意图;
[0027] 图5为本发明提供的成员交换机的结构示意图。

具体实施方式

[0028] 为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
[0029] 本发明提供的主要方法包括:命令交换机通知加入网元群组网络的成员交换机使能IPv6无状态自动配置功能,针对该成员交换机生成并维护包含该成员交换机的MAC地址信息的IPv6地址;各成员交换机在加入网元群组网络时,生成包含自身MAC地址信息的IPv6地址;各成员交换机之间通过IPv6地址进行通信,成员交换机与外部网络之间通过命令交换机的NAT功能进行通信。
[0030] 其中,包含成员交换机MAC地址信息的IPv6地址可以采用IPv6的本地链路(link-local)地址或IPv6全球单播地址。当采用IPv6的link-local地址时,可以将成员交换机的桥MAC地址加上前缀FE80形成link-local地址;当采用IPv6全球单播地址时,可以将成员交换机的桥MAC地址加上IPv6全球单播地址前缀。在以下实施例中均以IPv6的link-local地址为例。
[0031] 下面结合具体实施例对上述方法进行详细描述,如图2所示,该方法可以具体包括以下步骤:
[0032] 步骤201:命令交换机发现新加入网元群组网络的成员交换机时,向该成员交换机下发IPv6无状态自动配置的配置消息。
[0033] 如果存在某个交换机加入网元群组网络,命令交换机的拓朴发现功能会发现该交换机,并向该交换机发送加入请求。该交换机接收到该加入请求后,会向该命令交换机发起认证过程,认证成功后该交换机成为成员交换机加入网元群组网络。在此过程中,命令交换机会获取到该新加入的成员交换机的桥MAC地址。
[0034] 命令交换机下发的配置消息的格式可以如表1中所示,IPv6地址配置指示(IP6ConfigFlag)字段用于指示成员交换机是否使能IPv6无状态自动配置。其它字段与现有配置消息中的含义相同,在此不再赘述。
[0035] 表1
[0036]
[0037] 步骤202:成员交换机接收到该配置消息后,使能IPv6无状态自动配置功能,利用自身的桥MAC地址生成link-local地址。
[0038] 在此实施例中,成员交换机生成的link-local地址的格式为FE80::本机桥MAC。其中,FE80为IPv6的link-local地址的统一前缀。
[0039] 步骤203:命令交换机利用成员交换机的桥MAC地址生成该成员交换机的link-local地址。
[0040] 由步骤201中的描述可知,命令交换机通过NDP报文获取到成员交换机的桥MAC地址,同样,命令交换机生成的该成员交换机的link-local地址的格式为FE80::本机桥MAC。
[0041] 由于每台设备的桥MAC地址是唯一的,因此,命令交换机和成员交换机维护的该成员交换机的link-local地址可以达成一致。例如,成员交换机1的桥MAC地址为000f-5980-0046,成员交换机自身生成的link-local地址为FE80::f:5980:0046,命令交换机生成的该成员交换机的link-local地址为FE80::f:5980:0046。
[0042] 另外,需要说明的是,步骤202和步骤203之间没有固定的先后关系,也可以同时执行。
[0043] 步骤204:在网元群组网络内部的各交换机之间通过邻居发现(ND)报文学习邻居交换机的link-local地址,且通过link-local地址在网元群组网络中进行通信。
[0044] 由于网元群组网络中的各交换机的link-local地址是唯一的,且对外部网络是封闭的,因此,当网元群组网络中的各交换机之间需要进行报文交互时,直接使用学习到的邻居交换机的link-local地址即可实现。
[0045] 在网元群组网络内部的通信通常是保活报文的发送,即网元群组网络中的交换机之间发送保活报文来维护连接关系,该保活报文的发送基于各交换机的IPv6地址。
[0046] 另外,需要说明的是,本步骤中涉及的网元群组网络中的各交换机包括成员交换机和命令交换机。
[0047] 步骤205:成员交换机与外部网络之间的通信通过命令交换机的NAT功能实现。
[0048] 成员交换机与外部网络之间的通信包括:成员交换机对外部网络的访问以及外部网络对成员交换机的访问,下面分别对这两个过程进行描述。
[0049] 命令交换机在生成成员交换机的link-local地址后,会针对该成员交换机分别生成内部服务器NAT表项,该内部服务器NAT表项为静态表项,用于外部网络设备访问网元群组网络的成员交换机时使用,其内容包括:应用协议信息、全局IP地址(Global IP)、全局端口号(Global Port)、本地IP地址(Local IP)、本地端口号(Local Port)。全局IP地址为该网元群组的IPv4公网地址,本地IP地址为成员交换机的link-local地址,本地端口号为对应应用协议的知名协议端口号,全局端口号为命令交换机为该成员交换机分配的对应应用协议的端口号,其中,全局IP地址和全局端口号用于对来自外部网络的数据报文进行目的IP地址和目的端口的匹配,将在后续描述中具体描述。
[0050] 如图3所示,假设新加入的成员交换机的link-local地址为FE80::f:5980:0046,命令交换机的link-local地址为FE80::f:5980:0040,命令交换机上配置的IPv4公网地址为210.1.1.1,如果该命令交换机上配置了SNMP、HTTP和FTP三种应用协议,则针对该成员交换机生成的内部服务器NAT表项如表2所示。以FTP对应的表项为例,其中,全局端口号53249为命令交换机为该成员交换机分配的FTP对应的端口号,本地端口号21为FTP对应的知名协议端口号。
[0051] 表2
[0052]应用协议 Global IP Global Port Local IP Local Port 协议号
SNMP 210.1.1.1 49153 FE80::f:5980:0046 161 17
HTTP 210.1.1.1 51201 FE80::f:5980:0046 80 6
FTP 210.1.1.1 53249 FE80::f:5980:0046 21 6
[0053] 另外,命令交换机上新连接外部网络设备时,会针对各外部网络设备分别生成外部服务器NAT表项,该外部服务器NAT表项为静态表项,用于网元群组网络的成员交换机访问外部网络设备时使用,其内容同样包括:应用协议信息、全局IP地址(Global IP)、全局端口号(Global Port)、本地IP地址(Local IP)、本地端口号(Local Port)。其中,全局IP地址为命令交换机的link-local地址,本地IP地址为外部网络设备的IPv4地址,全局端口号为对应应用协议的知名协议端口号,本地端口号可以选择与全局端口号相同,也可以为一个随机端口号。
[0054] 同样以图3所示架构为例,针对外部网络设备配置的外部服务器NAT表项如表3所示。
[0055] 表3
[0056]应用协议 Local IP Local Port Global IP Global Port 协议号
TRAP 210.1.1.10 162 FE80::f:5980:0040 162 17
TFTP 210.1.1.10 69 FE80::f:5980:0040 69 17
FTP 210.1.1.10 21 FE80::f:5980:0040 21 6
SYSLOG 210.1.1.10 514 FE80::f:5980:0040 514 17
[0057] 成员交换机访问外部网络设备的过程包括:
[0058] 成员交换机向命令交换机发送数据报文,该数据报文的源IP地址为成员交换机的link-local地址、目的IP地址为命令交换机的link-local地址、源端口号为随机端口号、目的端口号为知名协议端口号。以图3所示架构为例,成员设备访问外部网络设备时发送的FTP数据报文的源IP地址为FE80::f:5980:0046、源端口号为随机端口号1086、目的IP地址为FE80::f:5980:0040、目的端口号为21。
[0059] 命令交换机接收到该数据报文时,将该数据报文的目的IP地址和目的端口号分别与外部服务器静态NAT表项中的全局IP地址和全局端口号进行匹配,找到匹配的NAT表项,将该数据报文的目的IP地址转换为匹配的NAT表项中的本地IP地址,再将该数据报文的源IP地址转换为该网元群组的IPv4公网地址,然后发送该数据报文。该数据报文就能够在公网中传输给相应的网络设备。在此NAT过程中,目的端口号不发生变化,源端口号可以进行随机转换。
[0060] 接续上一过程中的例子,命令交换机接收到源IP地址为FE80::f:5980:0046、源端口号为1086、目的IP地址为FE80::f:5980:0040、目的端口号为21的数据报文后,将目的IP地址FE80::f:5980:0040和目的端口号为21分别与外部服务器静态NAT表即表3中的全局IP地址和全局端口号进行匹配后,找到匹配的表项为第三行的表项,进行NAT后,数据报文的目的IP地址为210.1.1.10、源IP地址为210.1.1.1、源端口号为49152、目的端口号为21。
[0061] 命令交换机在执行上述NAT后,会在本地生成一条外部服务器动态NAT表项,该动态NAT表项包含数据报文转换后的目的端口号和目的IP地址、转换前后的源IP地址以及转换前后的源端口号,如表4所示。
[0062] 表4
[0063]
[0064] 对于外部网络设备回复的数据报文,其源IP地址为210.1.1.10、目的IP地址为210.1.1.1、目的端口号为49152、源端口号为21。命令交换机接收到该数据报文后,可以判断该数据报文的目的端口号是否为命令交换机为成员交换机分配的对应应用协议的端口号,如果是,说明是外部网络设备发起的对网元群组网络的访问,查找内部服务器静态NAT表项对数据报文进行匹配,该过程在外部网络访问成员交换机的过程中具体描述。否则,说明是外部网络设备回复的数据报文。
[0065] 在确定是外部网络设备回复的数据报文后,命令交换机查找外部服务器动态NAT表项,确定转换后的源IP地址、转换后的源端口号、转换后的目的IP地址、转换后的目的端口号分别与该数据报文的目的IP地址、目的端口号、源IP地址、源端口号匹配的外部服务器动态NAT表项,将数据报文的目的IP地址和目的端口号分别转换为匹配的NAT表项中转换前的源IP地址和转换前的源端口号。此时,转换后的数据报文的目的IP地址和目的端口号分别为FE80::f:5980:0046和1086。
[0066] 然后查找外部服务器静态NAT表项,确定本地IP地址和本地端口号分别与数据报文的源IP地址和源端口号匹配的静态NAT表项,将该数据报文的源IP地址和源端口号分别转换为匹配的静态NAT表项中的全局IP地址和全局端口号。此时,转换后的数据报文的源IP地址为FE80::f:5980:0040,源端口号为21。然后将该数据报文便可以发送给相应的成员交换机。
[0067] 外部网络设备访问成员交换机的过程包括:
[0068] 外部网络设备向命令交换机发送数据报文,该数据报文的源IP地址为外部网络设备的IP地址、目的IP地址为网元群组的IPv4公网地址、源端口号为随机的端口号、目的端口号为命令交换机为成员交换机分配的对应应用协议的端口号(外部网络设备通常会首先登录命令交换机获取要访问的成员交换机对应的该端口号,将其作为发送数据报文的目的端口号),该目的端口号与该外部网络设备在命令交换机中对应的全局端口号一致。仍以图3为例,外部网络设备访问命令交换机时发送的FTP数据报文,其源IP地址为210.1.1.10、目的IP地址为210.1.1.1、源端口号为49152、目的端口号为53249。
[0069] 命令交换机接收到该数据报文后,确定该数据报文的目的端口号为命令交换机为成员交换机分配的对应应用协议的端口号,因此,将该数据报文的目的IP地址和目的端口号分别与内部服务器静态NAT表项中的全局IP地址和全局端口号进行匹配,找到匹配的NAT表项,将该数据报文的目的IP地址和目的端口号分别转换为匹配的NAT表项中的本地IP地址和本地端口号,再将该数据报文的源IP地址转换为该命令交换机的link-local地址,然后发送该数据报文。该数据报文能够传递给对应的成员交换机。在此NAT过程中,源端口号可以随机转换。
[0070] 接续上一过程中的例子,命令交换机接收到数据报文后,找到匹配的表项为表2中第三行的表项,进行NAT后,数据报文的目的IP地址为FE80::f:5980:0046、源IP地址为FE80::f:5980:0040、源端口号为1087、目的端口号为21,该数据报文就可以被发送给对应的成员交换机。
[0071] 命令交换机在执行上述NAT后,会在本地生成一条内部服务器动态NAT表项,该内部服务器动态NAT表项包含数据报文转换后的目的端口号和目的IP地址、转换前后的源IP地址以及转换前后的源端口号,如表5所示。
[0072] 表5
[0073]
[0074] 对于成员交换机回复的数据报文,其源IP地址为FE80::f:5980:0046、目的IP地址为FE80::f:5980:0040、源端口号为21、目的端口号为1087。命令交换机接收到该数据报文后,首先判断目的端口号是否为对应的知名协议端口号,如果是,则确定该数据报文是成员交换机主动访问外部网络时发送的数据报文,则按照上述成员交换机访问外部网络设备的过程,匹配外部服务器静态NAT表项。否则,确定该数据报文是成员交换机回复的数据报文。
[0075] 确定该数据报文是成员交换机回复的数据报文后,查找内部服务器动态NAT表项,确定转换后的源IP地址、转换后的源端口号、转换后的目的IP地址和转换后的目的端口号分别与该数据报文的目的IP地址、目的端口号、源IP地址和源端口号匹配的内部服务器动态NAT表项,然后将数据报文的目的IP地址和目的端口号分别转换为匹配的NAT表项中转换前的源IP地址和转换前的源端口号。此时,转换后的数据报文的目的IP地址和目的端口号分别为:210.1.1.10和49152。
[0076] 然后,查找内部服务器静态NAT表项,确定本地IP地址和本地端口号分别与数据报文的源IP地址和源端口号匹配的静态NAT表项,将该数据报文的源IP地址和源端口号分别转换为匹配的静态NAT表项中的全局IP地址和全局端口号。此时,转换后的数据报文的源IP地址为210.1.1.1,源端口号为53249,然后将该数据报文便可以发送给相应的外部网络设备。
[0077] 以上是对本发明所提供的方法进行的详细描述,下面对本发明所提供的装置和系统进行详细描述。
[0078] 图4为本发明提供的命令交换机的结构示意图,如图4所示,该命令交换机可以包括:配置下发单元400、地址产生单元410、网内通信单元420和网间通信单元430。
[0079] 配置下发单元400,用于通知加入网元群组网络的成员交换机使能IPv6无状态自动配置功能。
[0080] 地址产生单元410,用于针对成员交换机生成并维护包含该成员交换机的MAC地址信息的IPv6地址。
[0081] 网内通信单元420,用于与成员交换机之间通过IPv6地址进行通信。
[0082] 网间通信单元430,用于通过将群组网络的IPv4公网地址与成员交换机的IPv6地址进行网络地址转换NAT实现成员交换机与外部网络的通信。
[0083] 具体地,配置下发单元400可以对新加入网络群组网络的成员交换机下发IPv6无状态自动配置消息。
[0084] 地址产生单元410在该命令交换机的拓朴发现过程中,通过NDP报文获取新加入的成员交换机的桥MAC地址,在获取的桥MAC地址之前增加本地链路link-local地址前缀或IPv6全球单播地址前缀,形成成员交换机的IPv6地址。
[0085] 具体地,为了实现网元群组网络与外部网络之间的通信,该命令交换机还包括:第一静态表项产生单元440和第二静态表项产生单元450。
[0086] 第一静态表项产生单元440,用于在地址产生单元410形成成员交换机的IPv6地址后,针对成员交换机生成内部服务器静态NAT表项,该内部服务器静态NAT表项中的全局IP地址为网元群组网络的IPv4公网地址,本地IP地址为成员交换机的IPv6地址,本地端口号为对应应用协议的知名协议端口号,全局端口号为命令交换机为成员交换机分配的对应应用协议的端口号。
[0087] 第二静态表项产生单元450,用于在该命令交换机连接外部网络设备时,针对外部网络设备生成外部服务器静态NAT表项,该外部服务器静态NAT表项中的全局IP地址为命令交换机的IPv6地址,该命令交换机的IPv6地址中包含命令交换机的MAC地址信息,本地IP地址为外部网络设备的IPv4地址,全局端口号为对应应用协议的知名协议端口号,本地端口号与全局端口号相同或者为随机端口号;
[0088] 上述的网间通信单元430可以具体包括:外部网络侧收发子单元431、第一NAT处理子单元432、第二NAT处理子单元433和内部网络侧收发子单元434。
[0089] 外部网络侧收发子单元431,用于接收到来自外部网络设备的数据报文后,将该数据报文提供给第一NAT处理子单元432;将第二NAT处理子单元433提供的数据报文发送至外部网络设备。
[0090] 第一NAT处理子单元432,用于对接收到的数据报文进行第一NAT后,将数据报文提供给内部网络侧收发子单元434,其中,第一NAT具体包括:将接收到的数据报文的目的IP地址和目的端口号与内部服务器静态NAT表项中的全局IP地址和全局端口号进行匹配,找到匹配的静态NAT表项,将该数据报文的目的IP地址和目的端口号分别转换为匹配的静态NAT表项中的本地IP地址和本地端口号,再将该数据报文的源IP地址转换为命令交换机的IPv6地址,源端口号进行随机转换。
[0091] 内部网络侧收发子单元434,用于将第一NAT处理子单元432提供的数据报文发送至成员交换机;接收到来自成员交换机的数据报文后,将该数据报文提供给第二NAT处理子单元433。
[0092] 第二NAT处理子单元433,用于接收到的数据报文进行第二NAT后提供给外部网络侧收发子单元431,其中,第二NAT包括:将该数据报文的目的IP地址和目的端口号与外部服务器静态NAT表项中的全局IP地址和全局端口号进行匹配,找到匹配的静态NAT表项,将该数据报文的目的IP地址转换为匹配的静态NAT表项中的本地IP地址,再将该数据报文的源IP地址转换为网元群组网络的IPv4公网地址,并将该数据报文的源端口进行随机转换。
[0093] 更进一步地,网间通信单元430还可以包括:第一动态表项产生子单元435、第一判断子单元436和第三NAT处理子单元437。
[0094] 第一动态表项产生子单元435,针对第一NAT处理子单元432执行的第一NAT生成内部服务器动态NAT表项,该内部服务器动态NAT表项包含第一NAT的转换后的目的端口号和目的IP地址、转换前后的源IP地址以及转换前后的源端口号。
[0095] 第一判断子单元436,用于获取内部网络侧收发子单元434提供给第二NAT处理子单元433的数据报文,判断该数据报文的目的端口号是否为知名协议端口号,如果是,将该数据报文继续转发给第二NAT处理子单元433;否则,将该数据报文提供给第三NAT处理子单元437。
[0096] 第三NAT处理子单元437,用于接收到数据报文后,将数据报文的目的IP地址、目的端口号、源IP地址和源端口号与内部服务器动态NAT表项的转换后的源IP地址、转换后的源端口号、转换后的目的IP地址和转换后的目的端口号进行匹配,将数据报文的目的IP地址和目的端口号分别转换为匹配的内部服务器动态NAT表项中转换前的源IP地址和转换前的源端口号,然后将数据报文的源IP地址和源端口号分别与内部服务器静态NAT表项中的本地IP地址和本地端口号进行匹配,将该数据报文的源IP地址和源端口号分别转换为匹配的静态NAT表项中的全局IP地址和全局端口号,发送该数据报文至外部网络侧收发子单元431。
[0097] 外部网络侧收发子单元431,还用于将第三NAT处理子单元437提供的数据报文发送至外部网络设备。
[0098] 另外,网间通信单元还可以包括:第二动态表项产生子单元438、第二判断子单元439
[0099] 第二动态表项产生子单元438,用于针对第二NAT处理子单元433执行的第二NAT生成外部服务器动态NAT表项,该外部服务器动态NAT表项包含第二NAT的转换后的目的端口号和目的IP地址、转换前后的源IP地址以及转换前后的源端口号。
[0100] 第二判断子单元439,用于获取外部网络侧收发子单元431提供给第一NAT处理子单元的数据报文,判断该数据报文的目的端口号是否为命令交换机为成员交换机分配的对应应用协议的端口号,如果是,将该数据报文继续转发给第一NAT处理子单元432;否则,将该数据报文提供给第四NAT处理子单元461。
[0101] 第四NAT处理子单元461,用于将接收到的数据报文的目的IP地址、目的端口号、源IP地址和源端口号与外部服务器动态NAT表项的转换后的源IP地址、转换后的源端口号、转换后的目的IP地址和转换后的目的端口号进行匹配,将数据报文的目的IP地址和目的端口号分别转换为匹配的外部服务器动态NAT表项中转换前的源IP地址和转换前的源端口号,然后将数据报文的源IP地址和源端口号分别与外部服务器静态NAT表项中的本地IP地址和本地端口号进行匹配,将该数据报文的源IP地址和源端口号分别转换为匹配的静态NAT表项中的全局IP地址和全局端口号,发送该数据报文至内部网络侧收发子单元434。
[0102] 内部网络侧收发子单元434,还用于将第四NAT处理子单元461提供的数据报文发送至成员交换机。
[0103] 图5为本发明提供的成员交换机的结构示意图,如图5所示,该成员交换机可以包括:配置接收单元500、私网地址生成单元510、网内通信单元520和网间通信单元530。
[0104] 配置接收单元500,用于接收网元群组网络中的命令交换机下发的IPv6无状态自动配置消息时,使能IPv6无状态自动配置功能。
[0105] 私网地址生成单元510,用于在该成员交换机使能IPv6无状态自动配置功能时,生成包含该成员交换机的MAC地址信息的IPv6地址。
[0106] 网内通信单元520,用于与其它成员交换机或命令交换机通过IPv6地址进行通信。
[0107] 网间通信单元530,用于将与外部网络进行通信的数据报文发送给命令交换机进行转发,该命令交换机在进行转发过程中,将数据报文进行网元群组网络的IPv4公网地址与成员交换机的IPv6地址之间的NAT。
[0108] 其中,私网地址生成单元510在自身的桥MAC地址之前增加本地链路link-local地址前缀或IPv6全球单播地址前缀,形成该成员交换机的IPv6地址。
[0109] 本发明提供的用于网元群组网络的通信系统,可以包括如图4所示的命令交换机和如图5所示的成员交换机。
[0110] 由以上描述可以看出,本发明具备以下优点:
[0111] 1)本发明在网元群组网络中使用包含成员交换机MAC地址信息的IPv6地址代替IPv4私网地址,使用IPv6无状态自动配置功能代替网元群组的IPv4私网地址分配机制,使得命令交换机无需逐一为成员交换机分配IPv4私网地址,且无需维护成员交换机的IPv4私网地址池以及IPv4私网地址与MAC地址之间的映射关系,大大简化了网元群组的管理复杂性。
[0112] 2)采用本发明的方式能够将IPv6已有的安全特性引入网元群组网络,而无需在网元群组网络中额外考虑安全功能。
[0113] 3)IPv6技术在快速的发展中,网元群组网络中IPv6的引入便于后续IPv6的新特性能够快速地融入到网元群组管理中,方便网元群组网络功能的升级和特性的扩充。
[0114] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。