一种IPv6地址转换方法技术

技术编号:26926502 阅读:20 留言:0更新日期:2021-01-01 22:55
本发明专利技术公开一种IPv6地址转换方法,步骤如下:步骤一、主机Host A发送IPv6报文到达交换机S;步骤二、交换机S将其转发至NAT设备FW‑S;步骤三、NAT设备FW‑S完成替换IPv6报文首部,并为IPv6报文增加SDNAT首部,完成转换;步骤四、将增加SDNAT首部的IPv6报文发转发至网络;步骤五、NAT设备FW‑D通过网络接收IPv6报文并检查,后转换,将转换后的报文转发给交换机D;步骤六、IPv6报文到达交换机D,交换机D完成检查旧校检和,如果旧校检和合格则重新计算校检和,并去除SDNAT首部,之后将报文转发给主机Host B;如果旧校检和不合格,则丢弃报文。该转换方法能够将地址转换过程和重新计算校检和的过程分离,减轻NAT设备压力,具有将计算校检和的任务分派到边缘交换机上的特点。

【技术实现步骤摘要】
一种IPv6地址转换方法
本专利技术涉及IP网络技术,特别涉及一种IPv6地址转换方法。
技术介绍
现代计算机网络的典型代表是因特网(Internet),因特网的诞生与繁荣是现代人类社会进步的标志之一。在因特网上进行通信的主机都需要有IP地址,如何获得与使用IP地址由IP协议簇来规定。目前IP协议簇有两个主要版本:IPv4版本和IPv6版本。IPv4版本中的IP地址是32位的,IPv6版本中的IP地址是128位的。32位的地址长度在发展过程中逐渐无法满足通信需求,因为32位的IP地址能表示的主机数是232,而现代接入网络设备的主机数量已经远超过了这一数目。因此IETF提出了私网地址,地址范围如下:A类地址:10.0.0.0~10.255.255.255B类地址:172.16.0.0~172.31.255.255C类地址:192.168.0.0~192.168.255.255用户在自己组网的时候可以自由的使用这三类地址,而不用担心与其他网络的主机发生地址冲突。因为目前规定因特网中的路由器不对目的地址是私网地址的报文进行转发。但这也产生了一个新的问题:如果这些私网中的主机要上网的话如何解决?网络地址转换(NetworkAddressTranslation,NAT)技术应运而生。该技术通过将私网地址与公网地址相互转换从而实现私网主机访问因特网。目前NAT相关技术很多,比较具有代表性的是网络地址端口转换(NetworkAddressPortTranslation,NAPT)技术。这种技术的特征是在进行地址转换的时候还加入了端口,由于一个IP地址对应的端口号有216个,因此一个公网网络地址可以满足大量私网网络地址的上网需求。NAPT功能一般由路由器或者防火墙来实现。我们知道传输层报文(TCP或者UDP)有校检和字段。在进行网络地址转换的时候,由于网络地址和传输层端口都有可能发生变化,因此校检和字段也需要重新计算。由此导致的结果是对于NAPT设备来说,至少要完成如下两方面的工作:(1)地址转换;(2)计算新的校检和;由于NAPT设备往往承担大量的私网用户上网任务,也就是要进行大量的地址转换和大量的校检和计算,这对NAPT设备性能提出了较高要求,导致设备价格也相对比较昂贵。鉴于上述问题,本专利技术设计出一种IPv6地址转换方法,本案由此产生。
技术实现思路
本专利技术提供一种IPv6地址转换方法,该转换方法能够将地址转换过程和重新计算校检和的过程分离,减轻NAT设备压力,具有将计算校检和的任务分派到边缘交换机上的特点;具体地,本专利技术是通过以下技术方案实现:一种IPv6地址转换方法,该方法步骤如下所述:步骤一、主机HostA发送IPv6报文到达交换机S;步骤二、交换机S将其转发至NAT设备FW-S;步骤三、NAT设备FW-S完成替换IPv6报文首部,并为IPv6报文增加SDNAT首部,完成转换;步骤四、将增加SDNAT首部的IPv6报文发转发至网络;步骤五、NAT设备FW-D通过网络接收IPv6报文并检查,后转换,将转换后的报文转发给交换机D;步骤六、IPv6报文到达交换机D,交换机D完成检查旧校检和,如果旧校检和合格则重新计算校检和,并去除SDNAT首部,之后将报文转发给主机HostB;如果旧校检和不合格,则丢弃报文。进一步,步骤三中,SDNAT首部包括Nextheader字段、类型字段、Length、原始SrcIPv6、替换后SrcIPv6、原始DstIPv6、替换后DstIPv6、原始SrcPort、替换后SrcPort、原始DstPort和替换后DstPort。进一步,步骤三中,将IPv6首部SrcIPv6字段替换为NAT设备FW-S地址,Nextheader字段修改,使得Nextheader字段表示下一个扩展首部是SDNAT。进一步,步骤五包括以下步骤:a.NAT设备FW-D根据转换表,检查接收到的报文;b.NAT设备FW-D根据转换表,将SDNAT首部的DstIPv6字段修改为主机HostB地址,同时对应修改SDNAT首部的替换后DstIPv6字段,并将SDNAT首部的Dstport字段修改,完成报文转换;c.将转换好的报文转发至交换机D。进一步,步骤六包括以下步骤:a.检查旧校检和,从SDNAT首部提取出原始SrcIPv6字段和原始SrcPort字段,然后结合传输层报文,计算校检和,并将计算得出的校检和与原报文中的校检和比对,如果不一致,则丢弃该报文;如果一致,则进行下一步;b.完成传输层报文首部的替换,用SDNAT首部的替换后的DstPort字段赋值给传输层首部的Dstport字段,将替换后的Srcport赋值给传输层首部的Srcport字段;c.完成传输层报文校检和的重新计算;d.去掉SDNAT首部,从报文中移除SDNAT首部,将IPv6首部的Nextheader字段修改,使其指向传输层报文首部;e.将报文转发至主机HostB。进一步,交换机的转发过程如下:a.提取出收到帧的目的MAC地址;b.检查帧是否含有SDNAT首部,如果没有,则按照正常的以太网交换机方式进行转发,否则进行步骤c;c.在MAC地址转发表中查找目的MAC地址,如果不存在,则将该帧丢弃;如果存在,则判断目的MAC对应的端口的设备是否是主机;如果不是主机,则直接把帧从对应的端口转发出去;如果是主机,则进行步骤d;d.检查传输层旧校检和,如果旧校检和合格,则进行传输层字段替换,并重新计算校检和,之后将报文转发给目标主机;如果旧校检和不合格,则丢弃报文。进一步,交换机的端口连接信息由控制器告知。进一步,NAT设备具有出方向功能,实现步骤如下:a.为出方向需要进行地址转换的IPv6报文加入SDNAT首部;b.进行源地址转换;c.将报文转发出去;d.在转换表中,记录转换关系。进一步,NAT设备具有入方向功能,实现步骤如下:a.提取首先提取出SDNAT首部的替换后DstIPv6字段和替换后DstPort字段,然后查找转换表,看是否有方向为“入”,且原始IP和端口字段分别与上面两个值相同的条目,如果有,则继续步骤b,如果没有则将报文丢弃;b.进行目的地址转换;对于IPv6首部,根据转换表将DstIPv6字段用转换后IPv6地址进行替换;c.对于传输层首部的DstPort字段,根据转换表确定转换后的端口。d.修改SDNAT首部部分字段值:修改SDNAT首部替换后DstIPv6字段和替换后Dstport字段e.将报文转发出去。进一步,当IPv6首部中的Nextheader字段值为253,则表示下一个扩展首部为SDNAT首部,SDNAT首部后面紧接着的是其他扩展首部,其他扩展首部后是传输层数据。本申请的有益效果在于:...

【技术保护点】
1.一种IPv6地址转换方法,其特征在于:该方法步骤如下所述:/n步骤一、主机Host A发送IPv6报文到达交换机S;/n步骤二、交换机S将其转发至NAT设备FW-S;/n步骤三、NAT设备FW-S完成替换IPv6报文首部,并为IPv6报文增加SDNAT首部,完成转换;/n步骤四、将增加SDNAT首部的IPv6报文发转发至网络;/n步骤五、NAT设备FW-D通过网络接收IPv6报文并检查,后转换,将转换后的报文转发给交换机D;/n步骤六、IPv6报文到达交换机D,交换机D完成检查旧校检和,如果旧校检和合格则重新计算校检和,并去除SDNAT首部,之后将报文转发给主机Host B;如果旧校检和不合格,则丢弃报文。/n

【技术特征摘要】
1.一种IPv6地址转换方法,其特征在于:该方法步骤如下所述:
步骤一、主机HostA发送IPv6报文到达交换机S;
步骤二、交换机S将其转发至NAT设备FW-S;
步骤三、NAT设备FW-S完成替换IPv6报文首部,并为IPv6报文增加SDNAT首部,完成转换;
步骤四、将增加SDNAT首部的IPv6报文发转发至网络;
步骤五、NAT设备FW-D通过网络接收IPv6报文并检查,后转换,将转换后的报文转发给交换机D;
步骤六、IPv6报文到达交换机D,交换机D完成检查旧校检和,如果旧校检和合格则重新计算校检和,并去除SDNAT首部,之后将报文转发给主机HostB;如果旧校检和不合格,则丢弃报文。


2.根据权利要求1所述的一种IPv6地址转换方法,其特征在于:步骤三中,SDNAT首部包括Nextheader字段、类型字段、Length、原始SrcIPv6、替换后SrcIPv6、原始DstIPv6、替换后DstIPv6、原始SrcPort、替换后SrcPort、原始DstPort和替换后DstPort。


3.根据权利要求1所述的一种IPv6地址转换方法,其特征在于:步骤三中,将IPv6首部SrcIPv6字段替换为NAT设备FW-S地址,Nextheader字段修改,使得Nextheader字段表示下一个扩展首部是SDNAT。


4.根据权利要求2所述的一种IPv6地址转换方法,其特征在于:步骤五包括以下步骤:
a.NAT设备FW-D根据转换表,检查接收到的报文;
b.NAT设备FW-D根据转换表,将SDNAT首部的DstIPv6字段修改为主机HostB地址,同时对应修改SDNAT首部的替换后DstIPv6字段,并将SDNAT首部的Dstport字段修改,完成报文转换;
c.将转换好的报文转发至交换机D。


5.根据权利要求2所述的一种IPv6地址转换方法,其特征在于:步骤六包括以下步骤:
a.检查旧校检和,从SDNAT首部提取出原始SrcIPv6字段和原始SrcPort字段,然后结合传输层报文,计算校检和,并将计算得出的校检和与原报文中的校检和比对,如果不一致,则丢弃该报文;如果一致,则进行下一步;
b.完成传输层报文首部的替换,用SDNAT首部的替换后的DstPort字段赋值给传输层首部的Dstport字段,将替换后的Srcport赋值给传输层首部的Srcport字段;<...

【专利技术属性】
技术研发人员:宋广佳陈滨宋广谦安仲立
申请(专利权)人:浙江农林大学暨阳学院
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1