发明名称 在IPv6中用主机间隧道支持IPv4应用程序的方法
摘要 在IPv6中用主机间隧道支持IPv4应用程序的方法属于网络体系结构领域。本发明特征在于:该方法使用IP地址协商的方式,在纯IPv6网络中的两台机器之间为彼此生成一个临时的虚拟IPv4地址,使上层的基于IPv4的应用程序可以在不经过任何改动的情况下保持正常工作。该过程既包括通信双方直接进行的虚拟地址协商,还包括使用两台主机之间直接建立的IPv4-in-IPv6隧道来进行数据包的传输。该方法能够有效支持纯IPv6网络内IPv4应用程序间的通信,性能也足以满足现有网络的要求,同时配置简单,适合增量部署,可以通过在单台主机的协议栈中部署来进行推广。
申请公布号 CN101068189A 申请公布日期 2007.11.07
申请号 CN200710099367.3 申请日期 2007.05.18
申请人 清华大学 发明人 毕军;李星;吴建平;程祥斌
分类号 H04L12/46(2006.01);H04L29/06(2006.01);H04L12/66(2006.01) 主分类号 H04L12/46(2006.01)
代理机构 代理人
主权项 1、在IPv6中用主机间隧道支持IPv4应用程序的方法,其特征在于,依次含有以下步骤:步骤(1),在IPv6的主机A和主机B的协议栈之间建立主机间协商IPv4地址及隧道的协议,该协议的执行步骤如下:步骤(1.1),以主机A作连接的发起方时,主机A要生成两个与自己映射表中已有条目不冲突的IPv4地址,作为候选地址,把候选地址和目前存在的IPv4地址发送给主机B;步骤(1.2),以主机B作为连接的接收方,在收到主机A发来的数据后,检查这些地址是否与主机B目前映射表中的条目发生冲突,记录检查结果;步骤(1.3),主机B同样生成两个候选地址,把所生成的地址和目前存在的IPv4地址,以及步骤(1.2)中检查的结果一起发送给A;步骤(1.4),主机A收到主机B发来的数据后,检查B的已有地址和生成的两个候选地址是否和主机A目前映射表中的条目发生冲突,记录下检查结果;步骤(1.5),主机A根据自己的以及主机B的两方面的检查结果,选定最终使用的不会与主机A和/或主机B检查的结果发生冲突的IPv4地址,经设定地址以后,把这个临时的IPv4地址通知主机B;步骤(1.6),根据步骤(1.5)的结果,主机A和主机B中各自形成了一个IPv4-IPv6地址的映射表,在主机A和主机B之间便自动建立起了一个隧道;步骤(2),使用步骤(1.6)得到的主机间隧道在IPv6中执行支持IPv4应用程序:步骤(2.1),IPv6中的主机A上的IPv4应用程序发出域名请求DNS以便与IPv6中另一个主机B上的IPv4应用程序通信;步骤(2.2),主机A把步骤(2.1)中的域名请求DNS变更为对主机B的IPv4和IPv6地址的解析,得到主机B的IPv6的地址;步骤(2.3),主机A和主机B进行协商,为双方生成一个临时的IPv4地址,该地址使用设定的地址段,并保存在一个IPv4-IPv6地址的映射表中,在主机A和主机B之间自动建立起一条隧道;步骤(2.4),主机A的协议栈把步骤(2.3)经过协商得到的地址返回给上层的应用程序,以便应用程序使用这个地址进行通信;步骤(2.5),上层应用程序发出的IPv4数据包在主机A的协议栈中被检查,挑选出具有步骤(1.5)中所述设定地址段的数据包,根据其中IP报头中的IPv4地址查找对应的IPv6地址,再把整个IPv4数据包封装在IPv6的报头内,通过步骤(2.3)中所建的隧道发送给主机B;步骤(2.6),主机B在收到步骤(2.5)中发送来的数据之后,解封装并检查IPv4-IPv6的映射关系是否正确,检查结果是正确以后,再交给主机B上层的IPv4应用程序。
地址 100084北京市海淀区100084-82信箱