发明名称 使用非特定IPv6地址的IPv4/IPv6分级转换方法
摘要 使用IPv6地址的IPv4/IPv6分级转换方法,其特征在于,分级对IPv4分组和IPv6分组进行转换,第一级利用无状态的IPv4/IPv6地址和协议转换方法在IPv4地址和特定的IPv6地址间建立转换关系;第二级利用无状态的IPv6/IPv6地址转换方法使多个特定的IPv6地址通过端口信息共享一个IPv4地址;第三级通过端口转换使得用户端口符合第二级转换的要求,并通过IPv6/IPv6地址映射将用户通过无状态地址自动配置得到的IPv6地址转换为第二级转换所需的特定IPv6地址。通过上述三级转换,使得IPv4/IPv6转换具有很强的适应性,能够有效地推进互联网从IPv4向IPv6的过渡。
申请公布号 CN102594932B 申请公布日期 2015.11.25
申请号 CN201110415815.2 申请日期 2011.12.09
申请人 清华大学 发明人 包丛笑;李星;江伟峰
分类号 H04L29/12(2006.01)I;H04L12/66(2006.01)I 主分类号 H04L29/12(2006.01)I
代理机构 代理人
主权项 使用非特定IPv6地址的IPv4/IPv6分级转换方法,其特征在于,依次含有以下步骤:步骤(1)初始化步骤(1.1)在IPv4和IPv6网络之间设立一个IVI转换网关,并定义第一类编码格式:把IPv4地址直接嵌入所述IPv6地址的编码格式,构成一个IPv6地址,在运营商基于32位聚类前缀的所述IPv6地址格式中的第32+n位嵌入32位IPv4地址,n<32,同时在第64+n到128位之间空余位填充全0,其中:当所述IPv4地址为所述运营商准备给IPv6主机使用的IPv4地址时,构成IVI6地址,当所述IPv4地址为包含所述运营商自己在内的全球IPv4地址,又不属于所述IPv6主机的IPv4地址时,构成IVIG6地址,所述IVI6和IVIG6统称为IVI地址,由此在所述IPv4地址和IPv6地址的子集之间形成一一对应的双向映射关系,与IVI6和IVIG6对应的IPv4地址分别称为IVI4和IVIG4地址;步骤(1.2)在IPv6主干网和IPv6城域网之间设立IPv6/IPv6端口复用地址转换网关,并定义第二类编码格式:即把IPv4地址加传输层端口编码嵌入所述IPv6地址的编码格式,在基于运营商32位聚类前缀的所述IPv6地址编码格式中的第32+n位嵌入32位IPv4地址,n<32,构成IVI前缀,在当64+n到第96位之间如有空余位时填充全0,在第96位至111位嵌入地址复用比M,在第112位至128位嵌入端口位移值k,0≤k≤M‑1,所述M表示一个所述IPv4地址通过IPv6/IPv6端口复用地址转换网关同时供多个IPv6计算机使用的计算机个数,步骤(1.3)对于不同的城域网可以根据需要定义不同的IPv4地址复用比,并根据用户的IPv6地址的使用情况,根据IVI6地址和特定的端口范围,与用户使用的IPv6地址间建立一一对应的映射关系,即用户在与IPv4互联网通信时,只能使用特定的端口范围{端口p|(p mod M)=k};步骤(1.4)定义下述传输层端口映射算法PCA,以使当采用第二类编码格式的IPv6地址的分组把随机产生的传输层源端口映射步骤(1.3)所述的端口范围;先排除1‑1024端口和其他知名端口,再为所述采用第二类编码格式的IPv6主机列出所允许的端口映射表,根据请求顺序,把随机产生的传输层源端口映射到此映射表,该端口映射表条目供后续同一会话系列的分组使用,当不再有后续分组到达时,删除所述端口映射表条目,释放端口资源,以备后用;步骤(1.5)将步骤(1.1)分配的IVI6转换为第二类编码格式之后作为IPv6/IPv6地址映射转换网关的地址池;步骤(1.6)初始化IPv6/IPv6地址映射转换网关的映射表;映射表中的条目为第二类编码格式的IVI6地址与用户IPv6地址的映射对;步骤(1.7):园区网内IPv6主机通过SLAAC自动配置用户IPv6地址;步骤(2)IPv4计算机向IPv6计算机发起通信,其中源地址为IPv4计算机的地址,目的地址为IPv6计算机的IPv6地址的IPv4镜像,其端口为所述IPv6计算机所允许使用的端口;步骤(3):所述IVI转换网关接收分组,依次执行步骤(3.1)‑步骤(3.4);步骤(3.1):所述目标地址按步骤(1.1)按设定的第一类编码格式把IPv4地址转换为IVI6地址,步骤(3.2):所述源地址按步骤(1.1)设定的第一类编码格式把IPv4地址转换为IVIG6地址,步骤(3.3):按RFC2765执行除地址转换之外的其它处理程序,并重新计算传输层校验和,从而形成所述IPv6分组;步骤(3.4):向所述IPv6/IPv6端口复用转换网关发送步骤(3.3)形成的第一类编码格式的IPv6分组;步骤(4):IPv6/IPv6端口复用地址转换网关接到步骤(3.4)发送的所述IPv6分组后,执行以下步骤(4.1)‑步骤(4.4),形成第二类编码格式的IPv6分组并发送,步骤(4.1):判断源地址是否为IVIG6地址,如是,执行步骤(4.2),如不是,执行步骤(4.4);步骤(4.2):根据目标地址和目标端口把第一类编码格式的IPv6地址转换为第二类编码格式的IPv6地址;步骤(4.3):重新计算传输层校验和,并形成IPv6分组;步骤(4.4):向所述IPv6/IPv6地址映射转换网关发送步骤(4.2)中所述IPv6分组;步骤(5):IPv6/IPv6地址映射转换网关接收到步骤(4.4)发送的所述IPv6分组,执行以下步骤(5.1)‑步骤(5.5),形成IPv6分组并发送,步骤(5.1):判断源地址是否为IVIG6地址,如是,执行步骤(5.2),如不是,执行步骤(5.5);步骤(5.2):目标端口作PCA映射;步骤(5.3):查找IPv6/IPv6地址映射转换网关的映射表中是否有与目标地址对应的映 射表条目,如果没有,则丢弃数据包;如果有,则根据映射表条目,将目标地址从第二类编码格式的IVI6地址转换为用户IPv6地址;步骤(5.4):重新计算传输层校验和,并形成IPv6分组;步骤(5.5):向IPv6计算机发送步骤(5.4)所述的IPv6分组;步骤(6):所述IPv6计算机接收分组;步骤(7):所述IPv6计算机向IPv4计算机发送IPv6分组,其中源地址地址为计算机的用户IPv6地址,源端口为所述IPv6计算机随机产生的源端口,目的地址为IPv4计算机的IPv4地址的IPv6镜像,即IVIG6地址;步骤(8):所述IPv6/IPv6地址映射转换网关接收IPv6分组,执行以下步骤(8.1)‑步骤(8.6),形成IPv6分组并发送,步骤(8.1):判断目标地址是否为IVIG6地址,如是,则执行步骤(8.2),如不是,则说明该IPv6分组不是发往IPv4网络,执行步骤(8.6);步骤(8.2):查找IPv6/IPv6地址映射转换网关的映射表,是否有与源地址对应的映射表条目,如有,则执行步骤(8.3);如没有,则从地址池中取出一个可用的第二类编码格式的IVI6地址,与源地址一起建立映射表条目,供后续分组使用;步骤(8.3):根据步骤(8.2)得到的映射表条目,将源地址从用户IPv6地址转换为第二类编码格式的IVI6地址;步骤(8.4):源端口作PCA映射;步骤(8.5):重新计算传输层校验和并形成IPv6分组,步骤(8.6):向所述IPv6/IPv6端口复用转换网关发送IPv6分组;步骤(9):IPv6/IPv6端口复用转换网关接收到步骤(8.6)所述IPv6分组,执行步骤(9.1)‑步骤(9.5),形成IPv6分组并发送,步骤(9.1):判断目标地址是否为IVIG6地址,如是,则执行步骤(9.2),如不是,则说明该IPv6分组不是发往IPv4网络,执行步骤(9.5);步骤(9.2):验证源端口,如符合对应的端口范围,执行步骤(9.3),否则,丢弃分组;步骤(9.3):把源地址从第二类编码格式的IPv6地址转换为第一类编码格式的IPv6地址;步骤(9.4):重新计算传输层校验和;步骤(9.5):根据路由,发送IPv6分组;如果目标地址为IVIG6地址,则IPv6分组将被发送往IVI转换网关;步骤(10):IVI转换网关接收步骤(9.5)发送的所述目标地址为IVIG6的IPv6分组,通过以下步骤(10.1)‑步骤(10.3)形成IPv4分组并发送,步骤(10.1):所述目标地址按步骤(1.1)设定的IPv6地址编码格式转换为IPv4地址,步骤(10.2):所述源地址按步骤(1.1)设定的IPv6地址编码格式转换为IPv4地址,步骤(10.3):按RFC2765执行除地址转换之外的其它处理程序,并重新计算传输层校验和,从而形成所述IPv4分组;步骤(10.4):向IPv4计算机发送步骤(10.3)形成的IPv4分组;步骤(11):所述IPv4计算机接收步骤(10.4)发送的IPv4分组。
地址 100084 北京市100084信箱82分箱清华大学专利办公室