设备通信方法及装置技术领域
本发明涉及通信领域,具体而言,涉及一种设备通信方法及装置。
背景技术
在传统的纯因特网协议版本IPv4的网络环境下,家庭网络内部设备(Home Network
Device,HND),如个人计算机PC,一般使用私有因特网协议版本4(IPv4)地址,如
“192.168.1.6”,而家庭网关(Home Gateway,HGW)可以获取公有IPv4地址;这种情况下,
可以通过在家庭网关上建立PC的私网地址及端口与HGW的公网地址及端口的映射关系来完
成PC与公网上的其它设备的通信。在这个过程中,由于PC所使用的地址及端口对外完全是
不可见,在一定程度与提高了其安全性。
这种地址及端口映射可以通过“通用即插即用”UPnP协议来自动灵活配置。在UPnP因特
网网关设备(UPnP IGD)相关规范中,对这一过程有明确的描述和规定。随着IPv4网络规模
的日益扩大,IPv4地址枯竭问题已经开始显现;IPv6网络技术开始逐渐取代IPv4,但由于IPv4
已有的网络规模巨大,IPv4应用程序繁多,IPv6与IPv4两种网络共存将是一个长期的过程。
在骨干网络是IPv6网络时,支持IPv4/IPv6双协议栈技术(以下简称双栈技术)的HGW
具备IPv6全球唯一地址(GUA),而HND可以只具备IPv4私网地址或只具备GUA或两者兼
备。因此,在HND通过HGW与公网上的IPv6设备(Public Network Device V6,,PND6)时,
至少产生两种情形:
1)HND使用GUA与PND6进行通信;
2)HND使用IPv4私网地址与PND6进行通信。
情形1)不需要进行网络地址转换翻译就可以直接通信,而情形2)至少需要借助于HGW
内部的IPv4到IPv6地址及协议转换翻译功能来进行。
以上情形虽可以完成端到端的通信,但相关技术中并没有类似于纯于IPv4网络环境下灵
活的地址及端口映射的配置机制和基于这些配置进行实际转换翻译功能,HND与PND6的通
信及其安全性将受到较大影响。
针对相关技术中在IPv6网络或IPv6与IPv4两种网络共存时缺少灵活的地址及端口映射
的配置机制和实际转换翻译功能,导致HND与PND6的通信及其安全性将受到较大影响的问
题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种设备通信方法及装置,以至少解决上述相关技术中在
IPv6网络或IPv6与IPv4两种网络共存时缺少灵活的地址及端口映射的配置机制和实际转换翻
译功能,导致HND与PND6的通信及其安全性将受到较大影响的问题。
根据本发明的一个方面,提供了一种设备通信方法,包括:家庭网络内部设备HND通过
家庭网关HGW与公网上的因特网协议版本IPv6设备PND6进行通信时,所述方法包括:所
述HGW接收所述HND发送的上行报文,根据配置的映射条目将所述上行报文转换翻译为所
述PND6能够识别的上行报文,并转发至所述PND6,其中,所述配置的映射条目包括至少一
种因特网协议版本涉及的地址及端口的映射关系;所述HGW接收所述PND6发送的下行报文,
根据所述配置的映射条目将所述下行报文转换翻译为所述HND能够识别的下行报文,并转发
至所述HND。
优选的,所述HGW能够使用IPv6地址或者同时使用IPv6和IPv4两类地址与所述HND
及所述PND6进行通信。
优选的,所述映射关系包括下列至少之一:IPv6和IPv4之间的地址及端口映射关系;IPv6
和IPv6之间的地址及端口映射关系。
优选的,所述方法还包括:所述HND根据自身与所述PND6通信所需的地址及端口对所
述配置的映射条目进行添加或删除操作。
优选的,所述HND根据自身与所述PND6通信所需的地址及端口对所述配置的映射条目
进行添加或删除操作,包括:所述HND通过查询接口获取已经配置的映射条目;所述HND
根据自身与所述PND6通信所需的地址及端口确定通信需要的映射条目;所述HND比较所述
需要的映射条目以及所述已经配置的映射条目,根据比较结果进行映射条目的添加或删除操
作。
优选的,所述配置的映射条目包括IPv6和IPv6之间地址及端口映射关系时,所述配置的
映射条目包括下列至少之一:内部IPv6全球唯一地址GUA,内部端口,外部GUA,外部端
口,协议,远程主机标识,使能标记,映射持续时间,映射条目描述;所述配置的映射条目
包括IPv6和IPv4之间地址及端口映射关系时,所述配置的映射条目包括下列至少之一:内部
IPv4地址,内部端口,外部GUA,外部端口,协议,远程主机标识,使能标记,映射持续时
间,映射条目描述。
优选的,所述外部GUA包括:所述HGW上外部网络接口正在使用的GUA;或者,所
述HGW所获取的IPv6前缀范围内的其他GUA。
优选的,所述远程主机标识包括:域名字符串;或者,有效的GUA地址;或者空字符串。
优选的,所述远程主机标识为域名字符串时,所述HGW通过域名服务器DNS将所述域
名字符串解析为GUA;所述远程主机标识不为所述空字符串时,所述HGW仅能够对指定的
主机与所述HND进行通信。
优选的,所述映射持续时间用以标明所述配置的映射条目的有效时间,当所述配置的映
射条目超过所述映射持续时间时,所述配置的映射条目被删除。
优选的,所述HGW使用IPv6地址与所述HND及所述PND6进行通信,包括:所述上行
报文为上行IPv6报文时,若所述上行IPv6报文的源地址、源端口号及协议字段与所述配置的
映射条目的源地址、源端口号及协议字段相匹配,所述HGW按照所述配置的映射条目进行源
地址和源端口的转换,将转换翻译后的上行报文转发至所述PND6;所述下行报文为下行IPv6
报文时,若所述下行IPv6报文的目的地址、目的端口号及协议字段与所述配置的映射条目的
目的地址、目的端口号及协议字段相匹配,并且能够满足所述远程主机标识字段的限制要求,
所述HGW按照所述配置的映射条目进行目的地址和目的端口的转换,将转换翻译后的下行报
文转发至所述HND。
优选的,所述HGW同时使用IPv6和IPv4两类地址与所述HND及所述PND6进行通信,
包括:所述上行报文为上行IPv4报文时,若所述上行IPv4报文的源地址、目的地址、源端口
号与所述配置的映射条目的源地址、目的地址、源端口号相匹配,所述HGW按照所述配置的
映射条目将所述上行IPv4报文的源地址、目的地址、源端口号转换为对应的上行IPv6报文的
源地址、目的地址、源端口号,将所述上行IPv4报文转换翻译为上行IPv6报文,将转换翻译
后的上行报文转发至所述PND6;所述下行报文为下行IPv6报文时,若所述下行IPv6报文的
目的地址、目的端口号及协议字段与所述配置的映射条目的目的地址、目的端口号及协议字
段相匹配,并且能够满足所述远程主机标识字段的限制要求,所述HGW按照所述配置的映射
条目将所述目的地址转换为指定的IPv4地址,所述目的端口转换为指定端口,所述源地址映
射为预设范围的IPv4地址,将所述下行IPv6报文转换翻译为下行IPv4报文,将转换翻译后
的下行报文转发至所述HND。
优选的,所述方法还包括:通过扩展通用即插即用因特网网关设备UPnP-IGD规范来配置
所述映射条目。
根据本发明的另一方面,提供了一种设备通信装置,设置于家庭网关HGW中,包括:第
一处理模块,用于家庭网络内部设备HND通过所述HGW与公网上的IPv6设备PND6进行通
信时,接收所述HND发送的上行报文,根据配置的映射条目将所述上行报文转换翻译为所述
PND6能够识别的上行报文,并转发至所述PND6,其中,所述配置的映射条目包括至少一种
因特网协议版本涉及的地址及端口的映射关系;第二处理模块,用于接收所述PND6发送的
下行报文,根据所述配置的映射条目将所述下行报文转换翻译为所述HND能够识别的下行报
文,并转发至所述HND。
在本发明实施例中,当家庭网络内部设备HND通过家庭网关HGW与公网上的IPv6设备
PND6进行通信时,HGW接收HND发送的上行报文,根据配置的映射条目将上行报文转换
翻译为PND6能够识别的上行报文,并转发至PND6,其中,配置的映射条目包括至少一种因
特网协议版本涉及的地址及端口的映射关系;HGW接收PND6发送的下行报文,根据配置的
映射条目将下行报文转换翻译为HND能够识别的下行报文,并转发至HND。即,在本发明
实施例中,HND与PND6进行通信时,HGW对不同类型的报文进行转换翻译,将其转换翻
译为目的设备能够识别的报文,从而实现HND与指定的PND6进行通信,并可以灵活地屏蔽
HND与PND6进行通信时的所用的地址和端口信息,从而极大地提高了通信的安全性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示
意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的设备通信方法的处理流程图;
图2是根据本发明实施例的添加/删除IPv6到IPv6地址及端口映射流程;
图3是根据本发明实施例的添加/删除IPv4到IPv6地址及端口映射流程;
图4是根据本发明实施例的IPv6地址及端口映射流程;
图5是根据本发明实施例的IPv4与IPv6之间转换翻译流程;
图6是根据本发明实施例的设备通信装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,
本申请中的实施例及实施例中的特征可以相互组合。
相关技术中提到,目前IPv6与IPv4两种网络共存是一个长期的过程,而在IPv6网络中
或IPv6与IPv4两种网络共存时,由于缺少灵活的地址及端口映射的配置机制和实际转换翻译
功能,会导致HND与PND6的通信及其安全性将受到较大影响。
为解决上述技术问题,本发明实施例中提供了一种设备通信方法,当家庭网络内部设备
HND通过家庭网关HGW与公网上的IPv6设备PND6进行通信时,设备间的通信的处理流程
如图1所示,包括:
步骤S102、HGW接收HND发送的上行报文,根据配置的映射条目将上行报文转换翻译
为PND6能够识别的上行报文,并转发至PND6,其中,配置的映射条目包括至少一种因特网
协议版本涉及的地址及端口的映射关系;
步骤S104、HGW接收PND6发送的下行报文,根据配置的映射条目将下行报文转换翻译
为HND能够识别的下行报文,并转发至HND。
在本发明实施例中,当家庭网络内部设备HND通过家庭网关HGW与公网上的IPv6设备
PND6进行通信时,HGW接收HND发送的上行报文,根据配置的映射条目将上行报文转换
翻译为PND6能够识别的上行报文,并转发至PND6,其中,配置的映射条目包括至少一种因
特网协议版本涉及的地址及端口的映射关系;HGW接收PND6发送的下行报文,根据配置的
映射条目将下行报文转换翻译为HND能够识别的下行报文,并转发至HND。即,在本发明
实施例中,HND与PND6进行通信时,HGW对不同类型的报文进行转换翻译,将其转换翻
译为目的设备能够识别的报文,从而实现HND与指定的PND6进行通信,并可以灵活地屏蔽
HND与PND6进行通信时的所用的地址和端口信息,从而极大地提高了通信的安全性。
由图1所示流程可知,本发明实施例涉及网络通信技术领域,尤其涉及一种在家庭网络
中因特网协议版本6(IPv6)或因特网协议版本4(IPv4)网络设备与外部IPv6网络设备之间
通信时进行地址及端口映射的配置方法和根据配置进行实际地址及端口转换翻译的系统。
实施时,HGW能够使用IPv6地址或者同时使用IPv6和IPv4两类地址与HND及PND6
进行通信,当HGW同时使用IPv6和IPv4两类地址与HND及PND6进行通信时,HGW支
持双栈技术。此时,上述提到的映射关系包括下列至少之一:IPv6和IPv4之间的地址及端口
映射关系;IPv6和IPv6之间的地址及端口映射关系。当然,在具体实施时,映射关系还可以
包括IPv4和IPv4之间的地址及端口映射关系,这与相关技术中描述相同,在此不做赘述。因
此,本发明实施例提供的设备通信方法也可以应用于单纯的IPv4网络。
本发明实施例提供的设备通信方法还包括:HND根据自身与PND6通信所需的地址及端
口对配置的映射条目进行添加或删除操作,从而实现映射条目的可配置、可更新的功能。映
射条目的可更新性,更能够增加通信的安全性。
实施时,HND根据自身与PND6通信所需的地址及端口对配置的映射条目进行添加或删
除操作,包括如下流程:
步骤一、HND通过查询接口获取已经配置的映射条目;
步骤二、HND根据自身与PND6通信所需的地址及端口确定通信需要的映射条目;
步骤三、HND比较需要的映射条目以及已经配置的映射条目,根据比较结果进行映射条
目的添加或删除操作。
网络类型不同,涉及的映射条目的类型不同,映射条目包含的内容也不完全相同,例如:
配置的映射条目包括IPv6和IPv6之间地址及端口映射关系时,配置的映射条目包括下列至少
之一:内部GUA,内部端口,外部GUA,外部端口,协议,远程主机标识,使能标记,映射
持续时间,映射条目描述;配置的映射条目包括IPv4和IPv6之间地址及端口映射关系时,配
置的映射条目包括下列至少之一:内部IPv4地址,内部端口,外部GUA,外部端口,协议,
远程主机标识,使能标记,映射持续时间,映射条目描述。
在实际应用中,根据不同的网络以及不同设备之间的通信的特性,映射条目中还可能增
加或删除部分内容,具体的修改根据实际情况而定,在此不做赘述。
实施时,外部GUA可以包括:HGW上外部网络接口正在使用的GUA;或者,HGW所
获取的IPv6前缀范围内的其他GUA。当然,外部GUA还可以选择其他地址,根据具体情况
而定。
映射条目中包括的远程主机标识可以有多种情况,优选的,可以包括:域名字符串;或
者,有效的GUA地址;或者空字符串。
当远程主机标识为域名字符串时,HGW通过域名服务器DNS将域名字符串解析为GUA;
当远程主机标识不为空字符串时,HGW能够限定仅有指定的PND6主机与才能HND进
行通信。
实施时,映射持续时间用以标明配置的映射条目的有效时间,当配置的映射条目超过映
射持续时间时,配置的映射条目被删除。
实施时,上文提到,HGW能够使用IPv6地址或者同时使用IPv6和IPv4两类地址与HND
及PND6进行通信。因此,存在两种情况:
第一种情况,HGW使用IPv6地址与HND及PND6进行通信,根据报文类型不同,实施
方式也不同,包括:
情况A、上行报文为上行IPv6报文时,若上行IPv6报文的源地址、源端口号及协议字段
与配置的映射条目的源地址、源端口号及协议字段相匹配,HGW按照配置的映射条目进行源
地址和源端口的转换,将转换翻译后的上行报文转发至PND6;
情况B、下行报文为下行IPv6报文时,若下行IPv6报文的目的地址、目的端口号及协议
字段与配置的映射条目的目的地址、目的端口号及协议字段相匹配,并且能够满足远程主机
标识字段的限制要求,HGW按照配置的映射条目进行目的地址和目的端口的转换,将转换翻
译后的下行报文转发至HND。
第二种情况,HGW同时使用IPv4和IPv6两类地址与HND及PND6进行通信,与第一
种情况相类似,在报文类型不同的情况下,实施方式也不完全相同,包括:
情况A、上行报文为上行IPv4报文时,若上行IPv4报文的源地址、目的地址、源端口号
与配置的映射条目的源地址、目的地址、源端口号相匹配,HGW按照配置的映射条目将上行
IPv4报文的源地址、目的地址、源端口号转换为对应的上行IPv6报文的源地址、目的地址、
源端口号,将上行IPv4报文转换翻译为上行IPv6报文,将转换翻译后的上行报文转发至PND6;
情况B、下行报文为下行IPv6报文时,若下行IPv6报文的目的地址、目的端口号及协议
字段与配置的映射条目的目的地址、目的端口号及协议字段相匹配,并且能够满足远程主机
标识字段的限制要求,HGW按照配置的映射条目将目的地址转换为指定的IPv4地址,目的
端口转换为指定端口,源地址映射为预设范围的IPv4地址,将下行IPv6报文转换翻译为下行
IPv4报文,将转换翻译后的下行报文转发至HND。
由上述内容可得,针对相关技术提到的技术问题,本发明实施例提供了一种基于UPnP协
议的地址及端口映射方法。核心在于,一方面HND可过其通用即插即用控制点功能(UPnP CP)
与HGW中的UPnP IGD功能进行交互实现IPv6地址及端口之间、IPv4与IPv6地址及端口之
间的自动灵活配置;另一方面HGW中的地址及协议转换翻译功能可根据配置项进行具体的转
换翻译工作;通过这两个方面可以灵活地屏蔽HND与PND6进行通信时的所用的地址和端口
信息,同时还可以实现HND仅与指定的PND6进行通信,从而极大地提高了HND的安全性。
实施例一
本例中涉及地址及端口映射自动配置及管理方法。其中,在连接IPv4与IPv6两种不同的
网络时,HGW支持双栈技术,其中的UPnP IGD功能可以同时使用IPv4地址和IPv6两类地
址与HND上的UPnP CP进行通信,以应对HND仅支持IPv4或仅支持IPv6的情况。
HGW在获取到一个GUA地址或一个前缀并自动配置了GUA地址后就可以通过UPnP
IGD功能宣告其自身的可用性。HND上的UPnP CP功能则可以根据UPnP协议自动发现HGW
中的UPnP IGD功能。随后,UPnP CP可以通过与UPnP IGD进一步交互得知HGW上具备在
IPv6地址及端口之间或IPv4与IPv6地址及端口之间进行映射的功能。在通过UPnP IGD提供
的服务接口获取可用的外部GUA地址后,HND可再进一步再通过相关服务接口进行关于其
自身与PND6通信所需的地址及端口映射条目的添加或删除操作。最后,UPnP IGD功能会将
是否配置成功的结果返回给UPnP CP。在此过程中,UPnP CP还可以通过查询接口获取已经
配置了哪些映射条目,以进行有针对性的添加或删除操作。整个配置过程无需人工干预,全
部由软件自动完成。
对于IPv6之间地址及端口映射条目其组成部分包括:内部GUA,内部端口,外部GUA,
外部端口,协议,远程主机标识,使能标记,映射持续时间,映射条目描述。对于IPv4到IPv6
之间地址及端口映射条目其组成部分包括:内部IPv4地址,内部端口,外部GUA,外部端口,
协议,远程主机标识,使能标记,映射持续时间,映射条目描述。外部GUA可以HGW上外
部网络接口正在使用的GUA也可以是HGW所获取的IPv6前缀范围内的其它GUA。具体分
配置时可以随机生成以提高安全性。远程主机标识可以是一个域名字符串或一个有效的GUA
地址也可以为空字符串,如果是域名则由HGW通DNS将其解析为GUA即可。协议可以是
TCP或UDP。如果远程主机标识是不为空则只允许指定的主机与家庭网络内部设备进行通信,
否则不做限制。映射持续时间,用以标明映射条目有效时间,对于超过有效时间的映射条目
将会被UPnP IGD自动删除。UPnP CP可以在映射条目过期之前重新添加。映射条目描述用以
附加一些描述信息,可以为空字符串。
实施例二
本例中涉及地址及端口或不同协议报文之间的转换翻译方法。
在配置了地址及端口映射条目后,实际通信过程中的地址及端口的转换翻译工作由HGW
上的地址及协议转换翻译功能模块来完成。具体分以下两种情况来说明:
1)HND使用GUA与PND6通信
此种情况下,对于HND向PND6发出的报文(上行IPv6报文)其源地址、源端口号及
协议字段如果能与已配置映射条目的源地址、源端口号及协议字段相匹配,则按映射条目进
行源地址和端口的转换后再向PND6发出。对于PND6发送到HGW上的IPv6报文(下行IPv6
报文),如果其目的地址、目的端口号及协议字段能与已配置映射条目的目的地址、目的端口
号及协议字段相匹配,并且能满足远程主机标识字段的限制要求,则按映射条目进行目的地
址和目的端口的转换后再发送到HND上。
2)HND使用IPv4地址与PND6通信
此种情况下,一般由PND6先向家庭网络内部发起数据连接。其目的地址是已配置的IPv4
到IPv6的映射条目中的外部GUA地址。由于这个GUA是可以动态随机变化的,实际使用过
程中可以使用动态域名解析机制建立其与一个固定域名的对应关系,PND6可使用这个固定域
名向家庭网络设备发起数据连接。对于从外部到达网关的IPv6报文(下行IPv6报文),如果
其目的地址、目的端口号、协议字段能与已经配置的IPv4与IPv6地址及端口映射条目中的目
的地址、目的端口号、协议字段相匹配,并且能满足远程主机标识字段的限制要求,则按映
射条目把目的地址转换指定的IPv4地址,目的端口转换成指定端口,同时源地址映射为一个
特定范围内的IPv4地址如(1.0.0.1~1.0.0.254)并记录和维护这个映射关系,最终将整个IPv6
报文转换翻译翻译成IPv4报文后再发送到HND上。同样地,对于HND发送给外网设备的IPv4
报文(上行IPv4报文),如果其源地址、目的地址、源端口号能与已经建立的映射条目匹配上,
则分别将转换为相对应的IPv6地址和端口,将其完全转换翻译为一个IPv6报文后再发送到
PND6。
实施例三
对于地址及端口映射的自动配置需在HGW上的UPnP IGD功能模块中对UPnP IGD 2.0
规范进行扩充来完成。具体扩充描述如下:
1)在WANIPConnection和WANPPPConnection的服务描述增加如下状态变量:
NATVersion,NAT版本,可以是NAT44,NAT46,NAT66一个值或多个值的组合,用以
表明UPnP IGD可以配置IPv4到IPv4,IPv4到IPv6,IPv6到IPv6等几种类型的地址及端口
映射的一种或多种;
RemoteHost6,远程IPv6结点标识,可以是域名或GUA地址;如果为空则表示不对远程
主机进行限制;
ExternalIPv6Address,外部IPv6GUA地址;
InternalClinet6,内部设备GUA地址;
2)在WANIPConnection和WANPPPConnection的服务描述增加如下服务接口即Action:
GetNATVersion,获取UPnP IGD所支持的NAT版本,如果支持NAT46或NAT66则可
以进行前面的地址及端口映射;相关参数如下:
NewNATVersion,输出,NATVersion;
GetExternalIPv6Address,获取外部GUA地址,相关参数如下:
NewExternalIPAddress6,输出,外部IPv6GUA地址;
GetGenericPortMappingEntry66,根据索引号获取一个IPv6到IPv6地址及端口映射条
目,相关参数如下:
NewPortMappingIndex, 输入,条目索引;
NewRemoteHost6, 输出,远程主机标识;
NewExternalPort, 输出,外部端口;
NewProtocol, 输出,协议;
NewInternelPort, 输出,内部端口;
NewInternalClient6, 输出,内部主机GUA;
NewEnabled, 输出,使能标记;
NewPortMappingDescription,输出,描述信息;
NewLeaseDuration,输出,持续时间(秒);
GetSpecificPortMappingEntry66,获取一个指定的IPv6到IPv6地址及端口映射条目,相
关参数如下:
NewRemoteHost6, 输入,远程主机标识;
NewExternalPort, 输入,外部端口;
NewProtocol, 输入,协议;
NewInternelPort, 输出,内部端口;
NewInternalClient6, 输出,内部主机GUA;
NewEnabled, 输出,使能标记;
NewPortMappingDescription, 输出,描述信息;
NewLeaseDuration, 输出,持续时间(秒);
AddPortMapping66,添加一个IPv6到IPv6地址及端口映射条目,相关参数如下:
NewRemoteHost6, 输入,远程主机标识;
NewExternalPort, 输入,外部端口;
NewProtocol, 输入,协议;
NewInternelPort, 输入,内部端口;
NewInternalClient6, 输入,内部主机GUA;
NewEnabled, 输入,使能标记;
NewPortMappingDescription, 输入,描述信息;
NewLeaseDuration, 输入,持续时间(秒);
其中,远程主机标识可以为空,表示不限定,持续时间为0表示静态配置,在删除之前
一直有效;
DeltetePortMapping66,删除一个IPv6到IPv6地址及端口映射条目,相关参数如下:
NewRemoteHost6, 输入,远程主机标识;
NewExternalPort, 输入,外部端口;
NewProtocol, 输入,协议;
GetGenericPortMappingEntry46,根据索引号获取一个IPv4到IPv6地址及端口映射条
目,相关参数如下:
NewPortMappingIndex,输入,条目索引;
NewRemoteHost6, 输出,远程主机标识;
NewExternalPort, 输出,外部端口;
NewProtocol, 输出,协议;
NewInternelPort, 输出,内部端口;
NewInternalClient, 输出,内部主机IPv4地址;
NewEnabled, 输出,使能标记;
NewPortMappingDescription, 输出,描述信息;
NewLeaseDuration, 输出,持续时间(秒);
GetSpecificPortMappingEntry46,获取一个指定的IPv4到IPv6地址及端口映射条目,相
关参数如下:
NewRemoteHost6, 输入,远程主机标识;
NewExternalPort, 输入,外部端口;
NewProtocol, 输入,协议;
NewInternelPort, 输出,内部端口;
NewInternalClient, 输出,内部主机IPv4地址;
NewEnabled, 输出,使能标记;
NewPortMappingDescription, 输出,描述信息;
NewLeaseDuration, 输出,持续时间(秒);
AddPortMapping46,添加一个IPv4到IPv6地址及端口映射条目,相关参数如下:
NewRemoteHost6, 输入,远程主机标识;
NewExternalPort, 输入,外部端口;
NewProtocol, 输入,协议;
NewInternelPort, 输入,内部端口;
NewInternalClient, 输入,内部主机IPv4地址;
NewEnabled, 输入,使能标记;
NewPortMappingDescription,输入,描述信息;
NewLeaseDuration, 输入,持续时间(秒);
其中,远程主机标识可以为空,表示不限定,持续时间为0表示静态配置,在删除之前
一直有效;
DeltetePortMapping46,删除一个IPv4到IPv6地址及端口映射条目,相关参数如下:
NewRemoteHost6, 输入,远程主机标识;
NewExternalPort, 输入,外部端口;
NewProtocol, 输入,协议;
在对UPnP IGD进行扩充后,需要同时对HND上的UPnP CP功能进行相应的扩充,以识
别这几类Action并按需要进行自动调用。具体方法,此处不再赘述。
实施例四
图2是根据本发明的用于添加或删除IPv6地址及端口映射的流程,适用于HND使用GUA
与PND6进行通信的过程。
如图2所示,HND的上UPnP CP功能通过UPnP协议,自动发现了HGW上的UPnP IGD
后,添加了一条从(2001::2,2001)到(2001::1,3001)UDP协议的映射条目,其中没有对远程主
机进行限定,有效性持续时间设为1800秒。
在这个过程中,首先是通过执行GetNATVersion得知HGW上的UPnP IGD可以进行IPv6
到IPv6的地址及端口映射;随后通过执行GetGenericPortMappingEntry66查询已经添加了哪
些映射条目;通过GetExternalIPv6Address获取映射所需的外部地址后即可通过
AddPortMapping66完成映射条目的添加。
这里需要说明的是AddPortMapping66的参数中并不包括外部地址这一项。外部地址由
UPnP IGD自动选择并与之前返回给UPnP CP的外部地址一致;在通信过程中,HND上的UPnP
CP也可以根据需要将映射条目删除,在删除某一映射条目前,可以通过
GetSpecicPortMappingEntry66进行查询以确定其是否存在,最后通过DeletePortMapping66将
其删除。UPnP IGD在收到AddPortMapping66/DeletePortMapping66请求后会同步地将映射条
目添加到HGW上的地址及协议转换翻译模块以备后用或将其从中删除。
实施例五
图3是根据本发明的用于添加或删除IPv4到IPv6地址及端口映射的流程,适用于HND
使用IPv4地址与PND6进行通信的过程。
如图3所示,HND的上UPnP CP功能通过UPnP协议,自动发现了HGW上的UPnP IGD
后,添加了一条从(192.168.1.6,2000)到(2001::c0a8:106,3000)TCP协议的映射条目,其中限
定了远程主机只能为2002::1,有效性持续时间是3600秒。这个过程中与图2中的流程类似,
此处不再赘述。
实施例六
对于HND与PND6在实际通信过程中具体的地址或协议转换翻译工作由HGW上的地址
及协议转换翻译功能模块来完成,下面结合附图进行说明。
图4是根据本发明的用于进行IPv6地址及端口转换翻译的流程,适用于HND使用GUA
与PND6进行通信的过程。
如图4所示,HND使用地址及端口(2001::2,2001)与PND6上的地址及端口(2002::1,2002)
进行基于UDP协议的通信;由于之前添加了UDP协议的(2001::2,2001)与(2001::1,3001)之
间的映射,因此所有从(2001::2,2001)发向(2002::1,2002)的UDP报文源地址和端口均被
替换为(2001::1,3001)并发到PND6,而从(2002::1,2002)到(2001::1,3001)的UDP报文
其目的地址和端口均被替换为(2001::2,2001)并发到HND。由此实现了HND使用GUA与
PND6通信时对HND的地址及端口信息进行屏蔽的功效,提高了HND的安全性。
实施例七
对于HND与PND6在实际通信过程中具体的地址或协议转换翻译工作由HGW上的地址
及协议转换翻译功能模块来完成,下面结合附图进行说明。
图5是根据本发明的用于进行IPv4与IPv6报文间进行地址及端口转换翻译的流程,适用
于HND使用IPv4地址与PND6进行通信的过程。
如图5所示,在PND6在HND进行访问前,HND通过UPnP IGD在HGW上添加了TCP
协议的(192.168.1.6,2000)与(2001:c0a8:106,3000)之间的映射,同时限定了远程主机只能为
2002::1。因此只有是来从2002::1发送过来的报文才会被处理。为把IPv6转换翻译成IPv4报
文,这里需要由HGW上的地址及转换翻译模块动态生成一个2002::1与一个IPv4地址之间的
映射关系。由于HGW之外的网络是IPv6网络,这个IPv4地址仅在HGW与HND之间使用,
将其选择于一个不常用地址段即可。如本例中选择2002::1与对应1.0.0.2,则发送到
HGW(2001:c0a8:106,3000)的TCP报文会根据映射规则最终被转换翻译为IPv4报文
(src:1.0.0.2,2002,dst:192.168.1.6,2000)。与此对应,对于上行的TCP报文
(src:192.168.1.6,2000,dst:1.0.0.2,2002),其源地址和端口会分别被转换为(2001:c0a8:106,3000),
目的地址被转换为2002::1,最终整个报文被转换翻译为IPv6报文并发送给PND6。由此实现
了HND使用IPv4地址与PND6通信时对HND的地址及端口信息进行屏蔽的功效,更进一步
地对PND6也进行了限制,进而提高了HND的安全性。
综上,本发明具有以下优点:一方面,HND上的UPnP CP可以通过UPnP协议与HGW
上的UPnP IGD进行无缝对接实现对IPv6地址及端口之间以及IPv4与IPv6地址及端口之间
映射关系的自动灵活配置,为提高HND的安全性提供了必要条件;另一方面,HGW上的地
址及协议转换翻译模块可以根据已经配置的映射条目进行地址及端口转换翻译,这就在保证
HND与PND6可以正常通信的同时极大地提高了HND的安全性。
基于同一发明构思,本发明实施例还提供了一种设备通信装置,设置于家庭网关HGW中,
其结构示意图如图6所示,包括:
第一处理模块601,用于家庭网络内部设备HND通过HGW与公网上的IPv6设备PND6
进行通信时,接收HND发送的上行报文,根据配置的映射条目将上行报文转换翻译为PND6
能够识别的上行报文,并转发至PND6,其中,配置的映射条目包括至少一种因特网协议版本
涉及的地址及端口的映射关系;
第二处理模块602,与第一处理模块601相连接,用于接收PND6发送的下行报文,根据
配置的映射条目将下行报文转换翻译为HND能够识别的下行报文,并转发至HND。
从以上的描述中,可以看出,本发明实现了如下技术效果:
在本发明实施例中,当家庭网络内部设备HND通过家庭网关HGW与公网上的IPv6设备
PND6进行通信时,HGW接收HND发送的上行报文,根据配置的映射条目将上行报文转换
翻译为PND6能够识别的上行报文,并转发至PND6,其中,配置的映射条目包括至少一种因
特网协议版本涉及的地址及端口的映射关系;HGW接收PND6发送的下行报文,根据配置的
映射条目将下行报文转换翻译为HND能够识别的下行报文,并转发至HND。即,在本发明
实施例中,HND与PND6进行通信时,HGW对不同类型的报文进行转换翻译,将其转换翻
译为目的设备能够识别的报文,从而实现HND与指定的PND6进行通信,并可以灵活地屏蔽
HND与PND6进行通信时的所用的地址和端口信息,从而极大地提高了通信的安全性。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算
装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,
可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置
中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步
骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个
集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员
来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等
同替换、改进等,均应包含在本发明的保护范围之内。