CN104243631A - 一种IPv4地址与IPv6地址有状态转换的方法及设备 - Google Patents
一种IPv4地址与IPv6地址有状态转换的方法及设备 Download PDFInfo
- Publication number
- CN104243631A CN104243631A CN201410539660.7A CN201410539660A CN104243631A CN 104243631 A CN104243631 A CN 104243631A CN 201410539660 A CN201410539660 A CN 201410539660A CN 104243631 A CN104243631 A CN 104243631A
- Authority
- CN
- China
- Prior art keywords
- address
- tuple
- message
- protocol
- port
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种IPv4地址与IPv6地址有状态转换的方法及设备,包括:接收到IP报文后,根据IP报文信息所构造的五元组到连接跟踪表查找对应的连接记录,如未查找到,为IP报文生成新的连接记录,其中,五元组包含第一协议的IP地址和端口;对IP报文进行跨协议栈地址转换,将第一协议的IP地址和端口转换为第二协议的IP地址和端口,其中,第一协议和第二协议分别为IPv4协议和IPv6协议中的一种且互不相同;根据第二协议的IP地址和端口构造IP报文的另一方向的五元组,将根据IP报文信息所构造的五元组及另一方向的五元组写入新的连接记录并挂载到连接跟踪表中。本发明还提供了相应的设备。本发明可以实现高效查找的跨协议地址转换并节约存储空间。
Description
技术领域
本发明涉及网络技术,更具体地,涉及一种IPv4地址与IPv6地址有状态转换的方法和设备。
背景技术
IPv6协议栈作为替代IPv4协议的下一代IP协议,在世界范围中得到了广泛的推广和实施,但对于使用IPv4协议栈作为主流选择的用户来说,如何实现IPv4环境向IPv6环境的平滑过渡成为了更加重要与实际的问题。
目前提出的IPv4地址与IPv6地址转换的方式,分为有状态转换以及无状态转换两种。其中有状态转换是指维护了IPv4地址及端口,与IPv6地址及端口的映射关系,转换是基于这种映射关系来进行的。无状态是指根据指定的映射算法,实现不同协议栈地址的转换,不用维护映射关系。其中,由于有状态转换可实现映射地址的重用,在实际的使用场景中更具有实用意义。
目前实现IPv4地址与IPv6地址有状态转换时,都需要单独维护类似于转换前与转换后地址的映射表,在流量很大的情况下,对设备的存储要求也变得更高。同时如果查找方式不够高效,也容易成为设备的性能瓶颈。
发明内容
本发明要解决的技术问题是提供一种可节约存储空间的IPv4地址与IPv6地址有状态转换的方法
本发明要解决的另一技术问题是提供一种IPv4地址与IPv6地址有状态转换的方法,应用于网络地址转换设备,包括:
接收到IP报文后,根据所述IP报文信息所构造的五元组到连接跟踪表查找对应的连接记录,如未查找到,为所述IP报文生成新的连接记录,其中,所述五元组包含第一协议的IP地址和端口;
对所述IP报文进行跨协议栈地址转换,将第一协议的所述IP地址和端口转换为第二协议的IP地址和端口,其中,第一协议和第二协议分别为IPv4协议和IPv6协议中的一种且互不相同;
根据第二协议的所述IP地址和端口构造所述IP报文的另一方向的五元组,将根据所述IP报文信息所构造的五元组及所述另一方向的五元组写入所述新的连接记录并挂载到所述连接跟踪表中。
较佳地,
所述方法还包括:
接收到IP报文后,根据所述IP报文信息所构造的五元组到连接跟踪表查找对应的连接记录;
如查找到,对所述IP报文进行跨协议栈地址转换时,从查找到的连接记录中获取所述IP报文的另一方向的五元组,将所述IP报文中的IP地址和端口转换为所述另一方向的五元组中另一协议的相应IP地址和端口。
较佳地,
将第一协议的所述IP地址和端口转换为第二协议的IP地址和端口,包括:
将第一协议的目的IP地址和目的端口转换为第二协议的目的IP地址和目的端口,将第一协议的源IP地址和源端口转换为第二协议的源IP地址的源端口;其中,所述第二协议的源端口是从可选的第二协议的源端口中选择得到的。
较佳地,
根据第二协议的所述IP地址和端口构造所述IP报文的另一方向的五元组,包括:
根据第二协议的所述IP地址和端口构造一个另一方向的五元组并进行冲突校验,如无冲突,将当前构造的另一方向的五元组作为所述IP报文的另一方向的五元组;如有冲突,则重新选择一个转换后的第二协议的源端口,重新构造一个另一方向的五元组并进行冲突校验,如此循环处理,直到构造的另一方向的五元组的冲突校验结果为无冲突时,再将当前构造的另一方向的五元组作为所述IP报文的另一方向的五元组;
其中,所述冲突校验是判断所述连接跟踪表中是否已存在与当前构造的另一方向的五元组相同的五元组,如存在,则有冲突,如不存在,则无冲突。
较佳地,
所述连接跟踪表为哈希表,所述哈希表中的每一哈希值对应一个链表;
将根据所述IP报文信息所构造的五元组及所述另一方向的五元组写入所述新的连接记录并挂载到所述连接跟踪表中,包括:
将两个五元组写入所述新的连接记录进行存储,获取所述两个五元组的地址信息,所述两个五元组包括根据所述IP报文信息所构造的五元组及所述另一方向的五元组;
分别计算所述两个五元组的哈希值,将所述两个五元组的地址信息分别***到各自哈希值对应的链表中;
其中,计算所述两个五元组的哈希值时,使用的哈希算法兼容IPv4类型和IPv6类型的五元组。
相应地,本发明提供的可实现IPv4地址与IPv6地址有状态转换的网络地址转换设备包括:
连接跟踪查找单元,用于在接收到IP报文后,根据所述IP报文信息所构造的五元组到连接跟踪表查找对应的连接记录,将查找结果通知报文转换单元和连接记录生成单元,所述五元组包含第一协议的IP地址和端口;
所述报文转换单元,用于在所述查找结果为未查找到时,将所述IP报文中第一协议的所述IP地址和端口转换为第二协议的IP地址和端口,其中,第一协议和第二协议分别为IPv4协议和IPv6协议中的一种且互不相同;
所述连接记录生成单元,用于在查找结果为未查找到时,为所述IP报文生成新的连接记录,并根据第二协议的所述IP地址和端口构造所述IP报文的另一方向的五元组,将根据所述IP报文信息所构造的五元组及所述另一方向的五元组写入所述新的连接记录中;
连接跟踪表维护单元,用于对连接跟踪表进行维护,在新的连接记录生成完成后,将写入其中的两个五元组均挂载到连接跟踪表中。
较佳地,
所述报文转换单元还用于在所述查找结果为查找到时,从查找到的连接记录中获取所述IP报文的另一方向的五元组,将所述IP报文中的IP地址和端口转换为所述另一方向的五元组中另一协议的相应IP地址和端口。
较佳地,
所述报文转换单元将第一协议的所述IP地址和端口转换为第二协议的IP地址和端口,包括:
将第一协议的目的IP地址和目的端口转换为第二协议的目的IP地址和目的端口,将第一协议的源IP地址和源端口转换为第二协议的源IP地址的源端口;其中,所述第二协议的源端口是从可选的第二协议的源端口中选择得到的。
较佳地,
所述连接记录生成单元根据第二协议的所述IP地址和端口构造所述IP报文的另一方向的五元组,包括:
根据第二协议的所述IP地址和端口构造一个另一方向的五元组并进行冲突校验,如无冲突,将当前构造的另一方向的五元组作为所述IP报文的另一方向的五元组;如有冲突,则重新选择一个转换后的第二协议的源端口,重新构造一个另一方向的五元组并进行冲突校验,如此循环处理,直到构造的另一方向的五元组的冲突校验结果为无冲突时,再将当前构造的另一方向的五元组作为所述IP报文的另一方向的五元组;
其中,所述冲突校验是判断所述连接跟踪表中是否已存在与当前构造的另一方向的五元组相同的五元组,如存在,则有冲突,如不存在,则无冲突。
较佳地,
所述连接跟踪表维护单元维护的连接跟踪表为哈希表,所述哈希表中的每一哈希值对应一个链表;
所述连接跟踪表维护单元将写入新生成的连接记录中的两个五元组挂载到连接跟踪表中,包括:
确定所述两个五元组在所述新生成的连接记录中的地址信息;
分别计算所述两个五元组的哈希值,将所述两个五元组的地址信息分别***到各自哈希值对应的链表中;
其中,计算所述两个五元组的哈希值时,使用的哈希算法兼容IPv4类型和IPv6类型的五元组。
上述方案实现了IPv4地址与IPv6报文地址有状态的转换。同时,由于IPv4地址与IPv6地址之间的映射关系的维护是复用已有的连接跟踪机制来实现的,节约了存储空间。由于连接跟踪表是采用hash表的形式进行存储的,报文在查到连接跟踪的同时也查到了对应的映射关系,没有增加多余的查找复杂度,保证了查找的高效性。使用户不用改变已有的环境和拓扑,就能访问位于另一协议栈网络环境中的主机及服务。
附图说明
图1A和图1B分别是现有IPv4协议报文和IPv6协议报文的连接记录中的五元组结构的示意图;
图2是作为连接跟踪表的哈希表的结构示意图;
图3是本发明实施例方法中,接收到IP报文后没有查找到相应连接记录时的处理流程图;
图4是本发明实施例方法中,接收到IP报文后查找到相应连接记录时的处理流程图;
图5是本发明实施例NAT设备的模块图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
实施例
本实施例中,IPv4地址与IPv6地址的有状态转换基于报文的连接跟踪机制实现。
连接跟踪(conntrack)作为网络层通用的连接管理方式。所谓连接跟踪,就是跟踪并记录连接状态。对于收到一个连接的IP报文,连接跟踪机制首先要进行连接记录(Connection entry)的查找,查找时根据IP报文网络层以及传输层头部信息中的五元组,到连接跟踪表中进行查找该五元组。如没有查找到,为该连接生成一个连接记录(Connection entry)。此后,所有属于此连接的IP报文都被唯一地分配给这个连接。在一个连接记录中,记录有IP报文的两个方向的五元组、记录生存时间、连接在当前时间点的状态等信息。一般将根据连接的首个IP报文信息所构造的五元组称为正向五元组,根据该首个IP报文的应答报文信息所构造的五元组称为反向五元组。两个五元组中均包括传输层协议号、源IP地址、源端口、目的IP地址和目的端口,其中,反向五元组中的源IP地址、源端口从正向五元组中的目的IP地址和目的端口得到,反向五元组中的目的IP地址和目的端口从正向五元组中的源IP地址和源端口得到。关于IPv4协议报文和IPv6协议报文的连接记录及其中的五元组可参见图1A和图1B所示的结构。
为了方便查找和对比,连接记录中的两个五元组需要挂载在一个连接跟踪表中以实现高效的查询。连接跟踪表可以用哈希表实现但不局限于此,图2所示是以哈希表作为连接跟踪表的一个示例,在该哈希表中,为每个哈希值建有一个链表,链表中的每一节点都保存有一个指针,指向具有该哈希值的一个五元组。所谓的挂载即计算两个五元组的哈希值,将两个五元组在连接记录中的地址信息(如五元组数据结构的头结点的地址)***在各自哈希值对应的链表中。接收到该连接的后续报文后,根据后续报文所构造的五元组计算哈希值,到该哈希值对应的链表查找到该五元组,也即查找到该连接的连接记录。
本实施例复用连接跟踪表作为映射关系表,复用连接记录作为存储不同协议IP地址和端口的映射关系的结构。在本发明实施方案中,除特别指出外,IP报文均是指需要进行跨协议栈地址转换的IP报文。对于不需要进行跨协议IP地址转换的报文,按照常规方式处理即可。
图3所示是本实施例的网络地址转换设备(NAT)接收到IP报文,没有查找到相应连接记录时的处理流程,包括:
步骤110,接收到IP报文后,根据所述IP报文信息所构造的五元组到连接跟踪表查找对应的连接记录,其中,所述五元组包含第一协议的IP地址和端口;
接收到的IP报文中的五元组可能是正向五元组,也可能是反向五元组。
步骤120,为所述IP报文生成新的连接记录;
步骤130,对所述IP报文进行跨协议栈地址转换,将第一协议的所述IP地址和端口转换为第二协议的IP地址和端口,其中,第一协议和第二协议分别为IPv4协议和IPv6协议中的一种且互不相同;
文中也将五元组中的源IP地址和目的IP地址统称为五元组中的IP地址,将五元组中的源端口和目的端口统称为五元组中的端口。
在本步骤中,将第一协议的所述IP地址和端口转换为第二协议的IP地址和端口,包括:
将第一协议的目的IP地址和目的端口转换为第二协议的目的IP地址和目的端口;其中,目的地址的转换方式可以根据用户配置决定,目的端口一般不进行改动,除非用户指定需要进行变动。为了保证转换后的目的地址是可路由的,NAT设备会查找路由,并记录出接口以及下一跳信息;
将第一协议的源IP地址和源端口转换为第二协议的源IP地址的源端口;其中,源地址的转换方式可以根据用户配置决定,而第二协议的源端口是唯一没有被用户指定的,可以从可选的第二协议的源端口中选择得到的。
步骤140,根据第二协议的所述IP地址和端口构造所述IP报文的另一方向的五元组;
源IP地址、源端口、目的IP地址,目的端口以及传输层协议号是五元组的基本元素,为了保证五元组的唯一性,根据第二协议的所述IP地址和端口构造一个另一方向的五元组后,要进行冲突校验,如无冲突,将当前构造的另一方向的五元组作为所述IP报文的另一方向的五元组;如有冲突,则重新选择一个转换后的第二协议的源端口,重新构造一个另一方向的五元组并进行冲突校验,如此循环处理,直到构造的另一方向的五元组的冲突校验结果为无冲突时,再将当前构造的另一方向的五元组作为所述IP报文的另一方向的五元组。其中,所述冲突校验是判断所述连接跟踪表中是否已存在与当前构造的另一方向的五元组相同的五元组,如存在,则有冲突,如不存在,则无冲突。
步骤150,将根据所述IP报文信息所构造的五元组及所述另一方向的五元组写入所述新的连接记录并挂载到所述连接跟踪表中。
本实施例中,所述连接跟踪表为哈希表,所述哈希表中的每一哈希值对应一个链表;将根据所述IP报文信息所构造的五元组及所述另一方向的五元组写入所述新的连接记录并挂载到所述连接跟踪表中,包括:
将两个五元组写入所述新的连接记录进行存储,获取所述两个五元组的地址信息,所述两个五元组包括根据所述IP报文信息所构造的五元组及所述另一方向的五元组;
分别计算所述两个五元组的哈希值,将所述两个五元组的地址信息分别***到各自哈希值对应的链表中;其中,计算所述两个五元组的哈希值时,使用的哈希算法兼容IPv4类型和IPv6类型的五元组。
需要说明的是,虽然上述流程展现了一些处理之间的顺序,但这只是示例性的。例如,上述对IP报文执行的跨协议栈地址转换的处理,和构造IP报文的另一方向的五元组,写入所述新的连接记录并挂载到所述连接跟踪表的处理之间的顺序可以调,本发明对此并不限制。而对两个五元组所执行的写入所述新的连接记录并挂载到所述连接跟踪表的操作也不必同时进行,可以有先后顺序。等等。
上述图3所示的处理后,IP报文的IPv4地址和IPv6地址之间的映射关系被保存在了连接记录中,即连接记录中保存了不同协议的IP地址和端口。因而根据该连接后续IP报文中的五元组,可以查找连接跟踪表获取该映射关系,从而完成地址转换。
图4所示是本实施例的网络地址转换设备(NAT)接收到IP报文,查找到相应连接记录时的处理流程,包括:
步骤210,接收到IP报文后,根据所述IP报文信息所构造的五元组到连接跟踪表查找到对应的连接记录;
步骤组220,对所述IP报文进行跨协议栈地址转换时,从查找到的连接记录中获取所述IP报文的另一方向的五元组,将所述IP报文中的IP地址和端口转换为所述另一方向的五元组中另一协议的相应IP地址和端口。
以IPv4协议报文为例,该IP报文中的IP地址和端口包括基于IPv4协议的源地址和相应源端口,以及基于IPv4协议的目的地址和相应目的端口。在该IP报文的另一方向的五元组中,保存有该IP报文应答报文的基于IPv6协议的源地址和相应源端口,以及基于IPv6协议的目的地址和相应目的端口。该IP报文及其应答报文中的源地址、端口及目的地址、端口是互换的。因此,在转换时,将该IP报文中的基于IPv4协议的源地址和相应源端口转换为该另一方向的五元组中的基于IPv6协议的目的地址和相应目的端口,将该IP报文中的基于IPv4协议的目的地址和相应目的端口转换为该另一方向的五元组中的基于IPv6协议的源地址和相应源端口。
本实施例NAT设备进行的网络地址转换,除了跨协议栈地址转换外,还可以进行其他网络地址转换如公、私网地址的转换等。
相应地,本实施例提供的可实现IPv4地址与IPv6地址有状态转换的网络地址转换设备,如图5所示,包括:
连接跟踪查找单元10,用于在接收到IP报文后,根据所述IP报文信息所构造的五元组到连接跟踪表查找对应的连接记录,将查找结果通知报文转换单元和连接记录生成单元,所述五元组包含第一协议的IP地址和端口;
报文转换单元20,用于在所述查找结果为未查找到时,将所述IP报文中第一协议的所述IP地址和端口转换为第二协议的IP地址和端口,其中,第一协议和第二协议分别为IPv4协议和IPv6协议中的一种且互不相同;
连接记录生成单元30,用于在查找结果为未查找到时,为所述IP报文生成新的连接记录,并根据第二协议的所述IP地址和端口构造所述IP报文的另一方向的五元组,将根据所述IP报文信息所构造的五元组及所述另一方向的五元组写入所述新的连接记录中;
连接跟踪表维护单元40,用于对连接跟踪表进行维护,在新的连接记录生成完成后,将写入其中的两个五元组均挂载到连接跟踪表中。
较佳地,报文转换单元20还用于在所述查找结果为查找到时,从查找到的连接记录中获取所述IP报文的另一方向的五元组,将所述IP报文中的IP地址和端口转换为所述另一方向的五元组中另一协议的相应IP地址和端口。
较佳地,报文转换单元20将第一协议的所述IP地址和端口转换为第二协议的IP地址和端口,包括:将第一协议的目的IP地址和目的端口转换为第二协议的目的IP地址和目的端口,将第一协议的源IP地址和源端口转换为第二协议的源IP地址的源端口;其中,所述第二协议的源端口是从可选的第二协议的源端口中选择得到的。
较佳的,连接记录生成单元30根据第二协议的所述IP地址和端口构造所述IP报文的另一方向的五元组,包括:根据第二协议的所述IP地址和端口构造一个另一方向的五元组并进行冲突校验,如无冲突,将当前构造的另一方向的五元组作为所述IP报文的另一方向的五元组;如有冲突,则重新选择一个转换后的第二协议的源端口,重新构造一个另一方向的五元组并进行冲突校验,如此循环处理,直到构造的另一方向的五元组的冲突校验结果为无冲突时,再将当前构造的另一方向的五元组作为所述IP报文的另一方向的五元组;其中,所述冲突校验是判断所述连接跟踪表中是否已存在与当前构造的另一方向的五元组相同的五元组,如存在,则有冲突,如不存在,则无冲突。
较佳地,连接跟踪表维护单元维护的连接跟踪表为哈希表,所述哈希表中的每一哈希值对应一个链表;所述连接跟踪表维护单元将写入新生成的连接记录中的两个五元组挂载到连接跟踪表中,包括:确定所述两个五元组在所述新生成的连接记录中的地址信息;分别计算所述两个五元组的哈希值,将所述两个五元组的地址信息分别***到各自哈希值对应的链表中;其中,计算所述两个五元组的哈希值时,使用的哈希算法兼容IPv4类型和IPv6类型的五元组。
上述实施方案可以支持IPv4协议端发起的会话,也支持IPv6协议端发起的会话,能将会话报文转换为目的协议栈类型的报文,满足位于不同网络协议栈的用户互访的需求,实现两种协议栈的无缝衔接,从而逐步达到从IPv4网络环境向IPv6网络环境过渡的目标。
上述实施方案是基于网络层的连接跟踪机制实现的,在连接跟踪机制的基础上,不需要另外的空间来进行映射关系的存储,也不需要其他的步骤来进行映射关系的查询,对设备的性能不会有大的影响,是一种高效使用的转换方式。并且,能通过调整转换后的源端口避免冲突,可以满足用户关于映射地址可以重用的要求。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种IPv4地址与IPv6地址有状态转换的方法,应用于网络地址转换设备,包括:
接收到IP报文后,根据所述IP报文信息所构造的五元组到连接跟踪表查找对应的连接记录,如未查找到,为所述IP报文生成新的连接记录,其中,所述五元组包含第一协议的IP地址和端口;
对所述IP报文进行跨协议栈地址转换,将第一协议的所述IP地址和端口转换为第二协议的IP地址和端口,其中,第一协议和第二协议分别为IPv4协议和IPv6协议中的一种且互不相同;
根据第二协议的所述IP地址和端口构造所述IP报文的另一方向的五元组,将根据所述IP报文信息所构造的五元组及所述另一方向的五元组写入所述新的连接记录并挂载到所述连接跟踪表中。
2.如权利要求1所述的方法,其特征在于,还包括:
接收到IP报文后,根据所述IP报文信息所构造的五元组到连接跟踪表查找对应的连接记录;
如查找到,对所述IP报文进行跨协议栈地址转换时,从查找到的连接记录中获取所述IP报文的另一方向的五元组,将所述IP报文中的IP地址和端口转换为所述另一方向的五元组中另一协议的相应IP地址和端口。
3.如权利要求1或2所述的方法,其特征在于:
将第一协议的所述IP地址和端口转换为第二协议的IP地址和端口,包括:
将第一协议的目的IP地址和目的端口转换为第二协议的目的IP地址和目的端口,将第一协议的源IP地址和源端口转换为第二协议的源IP地址的源端口;其中,所述第二协议的源端口是从可选的第二协议的源端口中选择得到的。
4.如权利要求3所述的方法,其特征在于:
根据第二协议的所述IP地址和端口构造所述IP报文的另一方向的五元组,包括:
根据第二协议的所述IP地址和端口构造一个另一方向的五元组并进行冲突校验,如无冲突,将当前构造的另一方向的五元组作为所述IP报文的另一方向的五元组;如有冲突,则重新选择一个转换后的第二协议的源端口,重新构造一个另一方向的五元组并进行冲突校验,如此循环处理,直到构造的另一方向的五元组的冲突校验结果为无冲突时,再将当前构造的另一方向的五元组作为所述IP报文的另一方向的五元组;
其中,所述冲突校验是判断所述连接跟踪表中是否已存在与当前构造的另一方向的五元组相同的五元组,如存在,则有冲突,如不存在,则无冲突。
5.如权利要求1或2或4所述的方法,其特征在于:
所述连接跟踪表为哈希表,所述哈希表中的每一哈希值对应一个链表;
将根据所述IP报文信息所构造的五元组及所述另一方向的五元组写入所述新的连接记录并挂载到所述连接跟踪表中,包括:
将两个五元组写入所述新的连接记录进行存储,获取所述两个五元组的地址信息,所述两个五元组包括根据所述IP报文信息所构造的五元组及所述另一方向的五元组;
分别计算所述两个五元组的哈希值,将所述两个五元组的地址信息分别***到各自哈希值对应的链表中;
其中,计算所述两个五元组的哈希值时,使用的哈希算法兼容IPv4类型和IPv6类型的五元组。
6.一种可实现IPv4地址与IPv6地址有状态转换的网络地址转换设备,其特征在于,包括:
连接跟踪查找单元,用于在接收到IP报文后,根据所述IP报文信息所构造的五元组到连接跟踪表查找对应的连接记录,将查找结果通知报文转换单元和连接记录生成单元,所述五元组包含第一协议的IP地址和端口;
所述报文转换单元,用于在所述查找结果为未查找到时,将所述IP报文中第一协议的所述IP地址和端口转换为第二协议的IP地址和端口,其中,第一协议和第二协议分别为IPv4协议和IPv6协议中的一种且互不相同;
所述连接记录生成单元,用于在查找结果为未查找到时,为所述IP报文生成新的连接记录,并根据第二协议的所述IP地址和端口构造所述IP报文的另一方向的五元组,将根据所述IP报文信息所构造的五元组及所述另一方向的五元组写入所述新的连接记录中;
连接跟踪表维护单元,用于对连接跟踪表进行维护,在新的连接记录生成完成后,将写入其中的两个五元组均挂载到连接跟踪表中。
7.如权利要求6所述的网络地址转换设备,其特征在于:
所述报文转换单元还用于在所述查找结果为查找到时,从查找到的连接记录中获取所述IP报文的另一方向的五元组,将所述IP报文中的IP地址和端口转换为所述另一方向的五元组中另一协议的相应IP地址和端口。
8.如权利要求6或7所述的网络地址转换设备,其特征在于:
所述报文转换单元将第一协议的所述IP地址和端口转换为第二协议的IP地址和端口,包括:
将第一协议的目的IP地址和目的端口转换为第二协议的目的IP地址和目的端口,将第一协议的源IP地址和源端口转换为第二协议的源IP地址的源端口;其中,所述第二协议的源端口是从可选的第二协议的源端口中选择得到的。
9.如权利要求8所述的网络地址转换设备,其特征在于:
所述连接记录生成单元根据第二协议的所述IP地址和端口构造所述IP报文的另一方向的五元组,包括:
根据第二协议的所述IP地址和端口构造一个另一方向的五元组并进行冲突校验,如无冲突,将当前构造的另一方向的五元组作为所述IP报文的另一方向的五元组;如有冲突,则重新选择一个转换后的第二协议的源端口,重新构造一个另一方向的五元组并进行冲突校验,如此循环处理,直到构造的另一方向的五元组的冲突校验结果为无冲突时,再将当前构造的另一方向的五元组作为所述IP报文的另一方向的五元组;
其中,所述冲突校验是判断所述连接跟踪表中是否已存在与当前构造的另一方向的五元组相同的五元组,如存在,则有冲突,如不存在,则无冲突。
10.如权利要求6或7或9所述的网络地址转换设备,其特征在于:
所述连接跟踪表维护单元维护的连接跟踪表为哈希表,所述哈希表中的每一哈希值对应一个链表;
所述连接跟踪表维护单元将写入新生成的连接记录中的两个五元组挂载到连接跟踪表中,包括:
确定所述两个五元组在所述新生成的连接记录中的地址信息;
分别计算所述两个五元组的哈希值,将所述两个五元组的地址信息分别***到各自哈希值对应的链表中;
其中,计算所述两个五元组的哈希值时,使用的哈希算法兼容IPv4类型和IPv6类型的五元组。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410539660.7A CN104243631A (zh) | 2014-10-13 | 2014-10-13 | 一种IPv4地址与IPv6地址有状态转换的方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410539660.7A CN104243631A (zh) | 2014-10-13 | 2014-10-13 | 一种IPv4地址与IPv6地址有状态转换的方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104243631A true CN104243631A (zh) | 2014-12-24 |
Family
ID=52230958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410539660.7A Pending CN104243631A (zh) | 2014-10-13 | 2014-10-13 | 一种IPv4地址与IPv6地址有状态转换的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104243631A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107872545A (zh) * | 2017-09-26 | 2018-04-03 | 中兴通讯股份有限公司 | 一种报文传输方法及装置、计算机可读存储介质 |
CN107995117A (zh) * | 2017-12-13 | 2018-05-04 | 迈普通信技术股份有限公司 | 一种报文转发方法及板卡 |
CN109688237A (zh) * | 2018-03-26 | 2019-04-26 | 新华三技术有限公司 | 一种nat转换方法、装置及nat设备 |
CN109729059A (zh) * | 2017-10-31 | 2019-05-07 | 杭州华为数字技术有限公司 | 数据处理方法、装置及计算机 |
CN109819070A (zh) * | 2019-04-12 | 2019-05-28 | 苏州浪潮智能科技有限公司 | 一种网络地址转换方法 |
WO2019184803A1 (zh) * | 2018-03-26 | 2019-10-03 | 新华三技术有限公司 | 网络地址转换 |
CN110855810A (zh) * | 2019-11-07 | 2020-02-28 | 北京天融信网络安全技术有限公司 | 一种nat转换方法、装置、网络安全设备及存储介质 |
CN111787010A (zh) * | 2020-07-01 | 2020-10-16 | 深信服科技股份有限公司 | 一种报文处理方法、装置、设备及可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101123582A (zh) * | 2007-09-21 | 2008-02-13 | 中兴通讯股份有限公司 | 一种私网终端间的通讯方法 |
CN102821032A (zh) * | 2011-06-10 | 2012-12-12 | 中兴通讯股份有限公司 | 一种快速转发数据包的方法及三层设备 |
WO2013063791A1 (en) * | 2011-11-04 | 2013-05-10 | Qualcomm Atheros, Inc. | Nat/firewall accelerator |
WO2013139337A2 (en) * | 2012-03-05 | 2013-09-26 | Netiter Aps | SYSTEM AND METHOD FOR DATA COMMUNICATION BETWEEN A FIRST INTERNET PROTOCOL VERSION (IPv4) AND A SECOND INTERNET PROTOCOL VERSION (IPv6) |
CN103347014A (zh) * | 2013-06-25 | 2013-10-09 | 深圳市共进电子股份有限公司 | 网络快速转发模块及网络快速转发实现方法 |
CN103516820A (zh) * | 2012-06-25 | 2014-01-15 | 中兴通讯股份有限公司 | 基于mac地址的端口映射方法和装置 |
CN103634216A (zh) * | 2013-11-04 | 2014-03-12 | 汉柏科技有限公司 | 一种基于nat64的数据报文转发方法和转发设备 |
-
2014
- 2014-10-13 CN CN201410539660.7A patent/CN104243631A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101123582A (zh) * | 2007-09-21 | 2008-02-13 | 中兴通讯股份有限公司 | 一种私网终端间的通讯方法 |
CN102821032A (zh) * | 2011-06-10 | 2012-12-12 | 中兴通讯股份有限公司 | 一种快速转发数据包的方法及三层设备 |
WO2013063791A1 (en) * | 2011-11-04 | 2013-05-10 | Qualcomm Atheros, Inc. | Nat/firewall accelerator |
WO2013139337A2 (en) * | 2012-03-05 | 2013-09-26 | Netiter Aps | SYSTEM AND METHOD FOR DATA COMMUNICATION BETWEEN A FIRST INTERNET PROTOCOL VERSION (IPv4) AND A SECOND INTERNET PROTOCOL VERSION (IPv6) |
CN103516820A (zh) * | 2012-06-25 | 2014-01-15 | 中兴通讯股份有限公司 | 基于mac地址的端口映射方法和装置 |
CN103347014A (zh) * | 2013-06-25 | 2013-10-09 | 深圳市共进电子股份有限公司 | 网络快速转发模块及网络快速转发实现方法 |
CN103634216A (zh) * | 2013-11-04 | 2014-03-12 | 汉柏科技有限公司 | 一种基于nat64的数据报文转发方法和转发设备 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107872545A (zh) * | 2017-09-26 | 2018-04-03 | 中兴通讯股份有限公司 | 一种报文传输方法及装置、计算机可读存储介质 |
CN109729059B (zh) * | 2017-10-31 | 2020-08-14 | 华为技术有限公司 | 数据处理方法、装置及计算机 |
US11509749B2 (en) | 2017-10-31 | 2022-11-22 | Huawei Technologies Co., Ltd. | Data processing method and apparatus, and computer |
CN109729059A (zh) * | 2017-10-31 | 2019-05-07 | 杭州华为数字技术有限公司 | 数据处理方法、装置及计算机 |
CN107995117A (zh) * | 2017-12-13 | 2018-05-04 | 迈普通信技术股份有限公司 | 一种报文转发方法及板卡 |
CN107995117B (zh) * | 2017-12-13 | 2021-03-16 | 迈普通信技术股份有限公司 | 一种报文转发方法及板卡 |
US10965642B2 (en) | 2018-03-26 | 2021-03-30 | New H3C Technologies Co., Ltd. | Network address translation |
CN109688237B (zh) * | 2018-03-26 | 2020-05-12 | 新华三技术有限公司 | 一种nat转换方法、装置及nat设备 |
WO2019184804A1 (zh) * | 2018-03-26 | 2019-10-03 | 新华三技术有限公司 | 网络地址转换 |
WO2019184803A1 (zh) * | 2018-03-26 | 2019-10-03 | 新华三技术有限公司 | 网络地址转换 |
US11201852B2 (en) | 2018-03-26 | 2021-12-14 | New H3C Technologies Co., Ltd. | Network address translation |
CN109688237A (zh) * | 2018-03-26 | 2019-04-26 | 新华三技术有限公司 | 一种nat转换方法、装置及nat设备 |
CN109819070A (zh) * | 2019-04-12 | 2019-05-28 | 苏州浪潮智能科技有限公司 | 一种网络地址转换方法 |
CN110855810A (zh) * | 2019-11-07 | 2020-02-28 | 北京天融信网络安全技术有限公司 | 一种nat转换方法、装置、网络安全设备及存储介质 |
CN110855810B (zh) * | 2019-11-07 | 2022-07-12 | 北京天融信网络安全技术有限公司 | 一种nat转换方法、装置、网络安全设备及存储介质 |
CN111787010A (zh) * | 2020-07-01 | 2020-10-16 | 深信服科技股份有限公司 | 一种报文处理方法、装置、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104243631A (zh) | 一种IPv4地址与IPv6地址有状态转换的方法及设备 | |
US10027623B2 (en) | Internet protocol address resolution | |
US9537793B2 (en) | Ensuring any-to-any reachability with opportunistic layer 3 forwarding in massive scale data center environments | |
US10103962B1 (en) | Return path trace | |
CN108718278B (zh) | 一种报文传输方法和装置 | |
US8149840B2 (en) | Method, system and processor for processing network address translation service | |
Hinds et al. | Evaluation of OSPF and EIGRP routing protocols for ipv6 | |
CN109218467B (zh) | 一种网络地址转换方法及芯片 | |
CN110417657A (zh) | 一种处理组播数据报文的方法及装置 | |
US10574570B2 (en) | Communication processing method and apparatus | |
US11516179B2 (en) | Automatic recovery from duplicate network addresses | |
CN104811392A (zh) | 用于处理网络中的资源访问请求的方法和*** | |
US11296979B2 (en) | Method and system for symmetric integrated routing and bridging | |
US9954772B2 (en) | Source imposition of network routes in computing networks | |
CN103118148A (zh) | 一种arp缓存更新方法和设备 | |
CN105530159A (zh) | 一种实现跨IPv6和IPv4的VPN互访的方法和*** | |
US20170111260A1 (en) | Trill isis-based route calculation method and device | |
CN114172853A (zh) | 流量转发及裸机服务器的配置方法、装置 | |
US20160218959A1 (en) | Method for managing domain routing table in router on network structure based on hierarchical domain | |
JP2006174399A (ja) | グループ内通信方法、システム及び記録媒体 | |
JP4638849B2 (ja) | 機能分散型通信装置および経路制御方法 | |
CN110401594B (zh) | 报文转发方法、装置、电子设备及机器可读存储介质 | |
US10812370B2 (en) | Unified control plane over MPLS and internet interfaces through BGP | |
CN111935019A (zh) | 数字对象寻址方法、装置及设备、存储介质 | |
WO2016015518A1 (zh) | 一种bgp逻辑拓扑生成的方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141224 |