一种IPv6客户机访问IPv4服务器的方法

文档序号:7799981阅读:747来源:国知局
一种IPv6客户机访问IPv4服务器的方法
【专利摘要】本发明公开了一种IPv6客户机访问IPv4服务器的方法,通过在利用无状态的IPv4/IPv6地址和协议翻译方法把IPv4服务器的公有IPv4地址映射为特定的IPv6地址,利用单向函数把IPv6互联网上的任意IPv6地址映射为IPv4私有地址10.0.0.0/8并记录该映射关系构成映射关系表,使IPv6互联网上的任意IPv6地址能够无状态的访问该IPv4服务器,这样可以保持无状态翻译技术的映射唯一性、可扩展性和可溯源性,在映射关系表已经产生,并有效的情况下,可以支持双向发起的通信,从而有效地推进互联网从IPv4向IPv6的过渡。
【专利说明】—种IPv6客户机访问IPv4服务器的方法
【技术领域】
[0001]本发明涉及计算机网络通信【技术领域】,特别涉及一种IPv6客户机访问IPv4服务器的方法。
【背景技术】
[0002]目前互联网广泛使用的第四版网络协议IPv4的地址寻址范围只有232,即43亿地址,目前已经分配完毕。为了解决IPv4地址不够用的问题,国际互联网工程组(InternetEngineering Task Force,简称IETF)设计了第六版网络协议IPv6,它的地址寻址范围有2128,可以彻底解决IPv4地址不足的问题。
[0003]但由于种种原因,IPv6协议与IPv4协议是不兼容的,不能实现两好的互联互通,因此需要一种方法或技术能够实现IPv4向IPv6的过渡。业内曾尝试用“双协议栈”的方法解决互联互通的问题,但近十年IPv6推广的经验和教训证明,不能访问IPv4众多网络信息资源,不能与IPv4众多的用户通信。
[0004]现有技术中可以采用IPv4/IPv6地址和协议翻译技术,基于无状态的地址转换和协议转换方法,实现IPv6客户机到IPv4服务器的访问,具有可扩展性,但无状态的地址转换方法需要IPv6客户机使用特定的IPv6地址,因此不能支持IPv6互联网上的任意地址访问IPv4服务器。

【发明内容】

[0005](一)要解决的技术问题
[0006]本发明要解决的技术问题是如何实现IPv6互联网中的任意IPv6客户机能够无状态的访问IPv4服务器,支持双向发起的通信。
[0007](二)技术方案
[0008]为解决上述技术问题,本发明提供了一种IPv6客户机访问IPv4服务器的方法,包括:
[0009]S1、在IPv4服务器与IPv6互联网之间设置翻译网关,并根据单向函数建立IPv6地址与IPv4公有地址之间的映射关系表;
[0010]S2、IPv6互联网中的IPv6客户机发送第一类IPv6分组;
[0011]S3、翻译网关接收第一类IPv6分组,并对第一类IPv6分组的源地址及传输层源端口和目标地址做映射,产生第一类IPv4分组并发送;
[0012]S4、IPv4服务器接收第一类IPv4分组进行处理,产生并发送第二类IPv4分组;
[0013]S5、翻译网关接收第二类IPv4分组,并对第二类IPv4分组的源地址和目标地址及传输层目标端口做映射,产生第二类IPv6分组并发送给IPv6客户机。
[0014]进一步地,所述翻译网关为IPv4/6翻译网关。
[0015]进一步地,步骤SI中建立映射关系表具体包括:
[0016]根据RFC6052选择IPv6前缀及长度,把IPv4服务器的地址嵌入IPv6前缀,构成IPv6地址,配置对应的DNS的AAAA记录;
[0017]配置10.0.0/8路由到翻译网关,根据单向函数把任意IPv6地址映射为一个字符
串O
[0018]进一步地,在步骤SI之后、步骤S2之前还包括:IPv6客户机查询DNS,获得AAAA记录,解析出IPv6源地址和IPv6目标地址,发送第一类IPv6分组。
[0019]进一步地,步骤S3具体包括:
[0020]判断第一类IPv6分组的源地址是否在映射关系表中,如果是则根据映射关系表将第一类IPv6分组的源地址翻译成映射私有地址,并根据补充的端口映射状态进行端口映射,否则根据第一类IPv6分组的源地址做单向函数映射,取映射结果的前24个比特构造映射私有地址10.0.0.0/8中的10之后的24位,并记录到映射关系表中。
[0021]进一步地,构造映射私有地址之后,记录到映射关系表中之前还包括:判断构造得到的映射私有地址与映射关系表中记录的映射私有地址是否冲突,如果是则更改传输层源端口并把端口映射状态补充记录到映射关系表中。
[0022]进一步地,根据得到的IPv4源地址及传输层源端口和IPv4目标地址构成第一类IPv4分组。
[0023]进一步地,步骤S5中对第二类IPv4分组的源地址和目标地址及传输层目标端口具体包括:
[0024]S51、根据映射关系表查询第二类IPv4分组的目标地址,如果存在则翻译成相对应的IPv6目标地址,并根据补充的映射表把传输层目标端口映射回原有随机端口的数值,否则将此次接收的第二类IPv4分组丢弃;
[0025]S52、对第二类IPv4分组的源地址做RFC6052映射,得到IPv6源地址;
[0026]S53、根据步骤S51得到的IPv6目标地址以及步骤S52得到的IPv6源地址构成第二类IPv6分组。
[0027]进一步地,IPv6客户机接收第二类IPv6分组之后还包括检查通信是否结束,如果没有结束重复步骤S2-S5,直到通信结束为止。
[0028]进一步地,所述单向函数映射为MD5函数或SHA函数或MAC函数。
[0029](三)有益效果
[0030]本发明实施例提供的一种IPv6客户机访问IPv4服务器的方法,通过在利用无状态的IPv4/IPv6地址和协议翻译方法把IPv4服务器的公有IPv4地址映射为特定的IPv6地址,利用单向函数把IPv6互联网上的任意IPv6地址映射为IPv4私有地址10.0.0.0/8并记录该映射关系构成映射关系表,使IPv6互联网上的任意IPv6地址能够无状态的访问该IPv4服务器,这样可以保持无状态翻译技术的映射唯一性、可扩展性和可溯源性,在映射关系表已经产生,并有效的情况下,可以支持双向发起的通信,从而有效地推进互联网从IPv4向IPv6的过渡。
【专利附图】

【附图说明】
[0031]图1是本发明实施例中提供的一种IPv6客户机访问IPv4服务器的方法的步骤流程图;
[0032]图2是本发明实施例中步骤S5的步骤流程图;[0033]图3是本发明实施例中IPv6客户机访问IPv4服务器的方法的网络连接方式示意图;
[0034]图4是本发明实施例中本实施例中IPv6客户机访问IPv4服务器的方法的工作流程图。
【具体实施方式】
[0035]下面结合附图和实施例,对本发明的【具体实施方式】作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0036]本发明实施例提供了一种IPv6客户机访问IPv4服务器的方法,步骤流程如图1所示,具体包括以下步骤:
[0037]步骤S1、在IPv4服务器与IPv6互联网之间设置翻译网关,并根据单向函数建立IPv6地址与IPv4公有地址之间的映射关系表。
[0038]步骤S2、IPv6互联网中的IPv6客户机发送第一类IPv6分组。
[0039]步骤S3、翻译网关接收第一类IPv6分组,并对第一类IPv6分组的源地址及传输层源端口和目标地址做映射,产生第一类IPv4分组并发送。
[0040]步骤S4、IPv4服务器接收第一类IPv4分组进行处理,产生并发送第二类IPv4分组。
[0041]步骤S5、翻译网关接收第二类IPv4分组,并对第二类IPv4分组的源地址和目标地址及传输层端口做映射,产生第二类IPv6分组并发送给IPv6客户机。
[0042]进一步地,本实施例中翻译网关为IPv4/6翻译网关。
[0043]进一步地,本实施例中步骤SI中建立映射关系表具体包括:
[0044]根据RFC6052选择IPv6前缀及长度,把IPv4服务器的地址嵌入IPv6前缀,构成IPv6地址,配置对应的DNS的AAAA记录;
[0045]配置10.0.0/8路由到翻译网关,根据单向函数把任意IPv6地址映射为一个字符
串O
[0046]需要说明的是,本实施例中只是以10.0.0/8作为例子进行说明,但是并不是将只限定为10.0.0/8,即选择其它没有使用的IPv4地址前缀代替10.0.0.0/8,可以达到同样效
果O
[0047]进一步地,本实施例中在步骤SI之后、步骤S2之前还包括:IPv6客户机查询DNS,获得AAAA记录,解析出IPv6源地址和IPv6目标地址,发送第一类IPv6分组。其中AAAA记录用于将域名解析到IPv6地址的DNS记录。
[0048]进一步地,步骤S3中进行映射的时候需要对第一 IPv6分组的源地址进行判断,具体包括:
[0049]判断第一类IPv6分组的源地址是否在映射关系表中,如果是则根据映射关系表将第一类IPv6分组的源地址翻译成映射私有地址,并根据补充的端口映射状态进行端口映射,例如10.a.b.c,否则根据第一类IPv6分组的源地址做单向函数映射(trappedfunction),取映射结果的前24个比特构造映射私有地址10.0.0.0/8中的10之后的24位,例如10.a.b.c,并记录到映射关系表中。
[0050]需要说明的是,上述步骤构造映射私有地址之后,记录到映射关系表中之前还包括:判断构造得到的映射私有地址与映射关系表中记录的可译IPv6地址是否冲突,如果是则更改传输层源端口并把端口映射状态补充记录到映射关系表中。
[0051]进一步地,步骤S4中IPv4服务器接收第一类IPv4分组并对源地址和目标地址做交换具体包括:
[0052]将第一类IPv4分组的源地址作为第二类IPv4分组的目标地址,将第一类IPv4分组的目标地址作为第二类IPv4分组的源地址。
[0053]进一步地,步骤S5中对第二类IPv4分组的源地址和目标地址及传输层目标端口做映射的步骤流程如图2所示,具体包括:
[0054]S51、根据映射关系表查询第二类IPv4分组的目标地址,如果存在则翻译成相对应的IPv6目标地址,并根据补充的映射表把传输层目标端口映射回原有随机端口的数值,否则将此次接收的第二类IPv4分组丢弃。
[0055]S52、对第二类IPv4分组的源地址做RFC6052映射,得到IPv6源地址。
[0056]S53、根据步骤S51得到的IPv6目标地址以及步骤S52得到的IPv6源地址构成第二类IPv6分组。
[0057]进一步地,上述步骤S5执行完,IPv6客户机接收第二类IPv6分组之后还包括检查通信是否结束,如果没有结束重复步骤S2-S5,直到通信结束为止。
[0058]进一步地,本实施例中的单向函数映射为MD5函数,即第五版信息摘要算法。另外,本实施例中的单向函数映射还可以是SHA函数或MAC函数。
[0059]以下本实施例中提`供的IPv6客户机访问IPv4服务器的方法的网络连接方式示意图如图3所示,在IPv4服务器的前端设置IPv4/IPv6翻译网关,连接到IPv6互联网。IPv4服务器配置的IPv4公有地址根据RFC6052映射为可译IPv6地址,IPv6计算机的任意IPv6地址根据单向函数和映射记录映射为10.0.0.0/8中的唯一地址。
[0060]以下对上述IPv6客户机访问IPv4服务器的方法举例进行说明,工作流程图如图4所示,具体的:
[0061]IPv4服务器配置的IPv4公有地址为1.2.3.5,复用比为128,IPv6前缀为2001: da8:1000:100::/64,PSID 为 10,则根据 RFC6052,对应的可译 IPv6 地址为 2001:da8:1000:100:102:305:700a:O0
[0062]使用MD5作为单向映射函数,选择其结果的前24位,则任意IPv6地址可以映射为
10.a.b.c,几个例子如表1所示:
[0063]
2001:da8:1005:1111:0:5efe:acl5:14 Il0.10.243.84
2001:da8:1005:1111:0:5efe:acl5:438 10.205.58.209
2001:da8:1005:1111:0:5efe:acl5:44f 10.234.249.70
2001:da8:1005:1111:0:5efe:acl5:458 10.37.50.39
2001:da8:207:3::823010.131.248.33
【权利要求】
1.一种IPv6客户机访问IPv4服务器的方法,其特征在于,包括: 51、在IPv4服务器与IPv6互联网之间设置翻译网关,并根据单向函数建立IPv6地址与IPv4公有地址之间的映射关系表; 52、IPv6互联网中的IPv6客户机发送第一类IPv6分组; 53、翻译网关接收第一类IPv6分组,并对第一类IPv6分组的源地址及传输层源端口和目标地址做映射,产生第一类IPv4分组并发送; 54、IPv4服务器接收第一类IPv4分组进行处理,产生并发送第二类IPv4分组; 55、翻译网关接收第二类IPv4分组,并对第二类IPv4分组的源地址和目标地址及传输层目标端口做映射,产生第二类IPv6分组并发送给IPv6客户机。
2.如权利要求1所述的方法,其特征在于,所述翻译网关为IPv4/6翻译网关。
3.如权利要求1所述的方法,其特征在于,步骤SI中建立映射关系表具体包括: 根据RFC6052选择IPv6前缀及长度,把IPv4服务器的地址嵌入IPv6前缀,构成IPv6地址,配置对应的DNS的AAAA记录; 配置10.0.0/8路由到翻译网关,根据单向函数把任意IPv6地址映射为一个字符串。
4.如权利要求1所述的方法,其特征在于,在步骤SI之后、步骤S2之前还包括:IPv6客户机查询DNS,获得AAAA记录,解析出IPv6源地址和IPv6目标地址,发送第一类IPv6分组。
5.如权利要求1所述的方法,其特征在于,步骤S3具体包括: 判断第一类IPv6分组的源地址是否在映射关系表中,如果是则根据映射关系表将第一类IPv6分组的源地址翻译成映射私有地址,并根据补充的端口映射状态进行端口映射,否则根据第一类IPv6分组的源地址做单向函数映射,取映射结果的前24个比特构造映射私有地址10.0.0.0/8中的10之后的24位,并记录到映射关系表中。
6.如权利要求5所述的方法,其特征在于,构造映射私有地址之后,记录到映射关系表中之前还包括:判断构造得到的映射私有地址与映射关系表中记录的映射私有地址是否冲突,如果是则更改传输层源端口并把端口映射状态补充记录到映射关系表中。
7.如权利要求1所述的方法,其特征在于,步骤S3具体还包括: 对第一类IPv4分组的目标地址做RFC6052映射,得到IPv6目标地址。
8.如权利要求5-7中任一项所述的方法,根据得到的IPv4源地址及传输层源端口和IPv4目标地址构成第一类IPv4分组。
9.如权利要求1所述的方法,其特征在于,步骤S5中对第二类IPv4分组的源地址和目标地址及传输层目标端口做映射具体包括: 551、根据映射关系表查询第二类IPv4分组的目标地址,如果存在则翻译成相对应的IPv6目标地址,并根据补充的映射表把传输层目标端口映射回原有随机端口的数值,否则将此次接收的第二类IPv4分组丢弃; 552、对第二类IPv4分组的源地址做RFC6052映射,得到IPv6源地址; 553、根据步骤S51得到的IPv6目标地址以及步骤S52得到的IPv6源地址构成第二类IPv6分组。
10.如权利要求1所述的方法,其特征在于,IPv6客户机接收第二类IPv6分组之后还包括检查通信是否结束,如果没有结束重复步骤S2-S5,直到通信结束为止。
11.如权利要求3或5所述的方法,其特征在于,所述单向函数映射为MD5函数或SHA函数或MAC函数。`
【文档编号】H04L29/12GK103856580SQ201410117444
【公开日】2014年6月11日 申请日期:2014年3月26日 优先权日:2014年3月26日
【发明者】包丛笑, 李星, 韩国梁 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1