数据包处理和溯源方法、装置及系统的制作方法

文档序号:7735867阅读:147来源:国知局
专利名称:数据包处理和溯源方法、装置及系统的制作方法
技术领域
本发明涉及通信技术领域,尤其是一种数据包处理和溯源方法、装置及系统。
背景技术
网络地址转换(Network Address Translation,以下简称NAT)是将一个网络中使用的IP地址转换为另一个网络中已知的不同IP地址的过程。内部网络用户连接互联网时,NAT设备将用户的内部IP地址转换成一个外部IP地址,并将这个地址转换记录下来, 当数据从外部返回时,NAT设备根据地址转换记录将目标地址,也就是用户的外部IP地址, 替换成用户的内部IP地址。在现有的网络管理中,经常需要对IP地址进行溯源以确定其对应的原始IP地址, 进而定位这个IP地址的使用者。NAT技术对原始IP地址的隐藏具体导致了面向IP地址的溯源必须依赖于NAT设备的地址转换记录,也可以称为地址转换日志。但由于NAT设备中地址的转换一般是动态完成的,因此地址转换记录的增长非常迅速,很多NAT设备仅能维护较短时间的地址转换记录。在网络管理的溯源过程中,经常需要查询之前某段时间的地址转换记录,而这些地址转换记录已经在NAT设备中删除了,导致溯源失败。因此,通过 NAT设备之中存储的地址转换记录来实现IP地址溯源的方法在实践中经常溯源失败,使得网络管理非常困难。

发明内容
本发明提供一种数据包处理和溯源的方法、装置及系统,用于解决现有技术中由于NAT设备存储有限,而使得通过NAT设备中存储的地址转换记录来溯源导致溯源失败的问题。本发明提供了一种数据包处理方法,包括接收第一数据包,所述第一数据包的源地址为N-I级源地址,N为正整数;根据预设的地址转换规则,将所述N-I级源地址转换为N级源地址,生成包含所述 N级源地址和N-I级源地址的第二数据包;发送所述第二数据包。本发明提供了一种数据包溯源方法,包括接收数据包,所述数据包的源地址为N级源地址,所述数据包中包含N-I级源地址,所述N-I级源地址是所述N级源地址进行地址转换前的源地址,N为正整数;确定所述N级源地址对应的接入网;查询地址分配设备中与所述接入网对应的地址分配记录。确定所述N级源地址的分配对象,所述分配对象是将所述N-I级源地址转换为所述N级源地址的N级网络地址转换NAT设备;根据所述N级NAT设备对应的N级接入子网,查询地址分配设备中与所述N级接入子网对应的地址分配记录,确定所述N-I级源地址的分配对象。
本发明提供了一种数据包处理装置,包括第一接收单元,用于接收第一数据包,所述第一数据包的源地址为N-I级源地址, N为正整数;地址转换单元,用于根据预设的地址转换规则,将所述N-I级源地址转换为N级源地址;数据包生成单元,用于生成包含所述N级源地址和N-I级源地址的第二数据包;发送单元,用于发送所述第二数据包。本发明提供了一种数据包溯源装置,包括第二接收单元,用于接收数据包,所述数据包的源地址为N级源地址,所述数据包中包含N-I级源地址,所述N-I级源地址是所述N级源地址进行地址转换前的源地址,N为正整数;接入网确定单元,用于确定所述N级源地址对应的接入网;查询单元,用于查询地址分配设备中与所述接入网对应的地址分配记录。确定所述N级源地址的分配对象,所述分配对象是将所述N-I级源地址转换为所述N级源地址的 N级网络地址转换NAT设备;溯源单元,用于根据所述N级NAT设备对应的N级接入子网,查询地址分配设备中与所述N级接入子网对应的地址分配记录,确定所述N-I级源地址的分配对象。本发明还提供了一种溯源系统,包括地址分配设备,用于分配地址,并存储地址分配记录;与地址分配设备连接的NAT 设备和溯源设备;所述NAT设备包括如上所述的数据包处理装置;所述溯源设备包括如上所述的数据包溯源装置。本发明通过地址转换时将转换前的地址存放在数据包里,使得溯源时能够直接从数据包中找到转换前的地址,而无需查找NAT设备的地址转换记录,解决现有技术中由于 NAT设备存储有限,使得通过NAT设备中存储的地址转换记录来溯源导致溯源失败的问题。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本发明的一种应用场景示意图。图2是本发明提供的一种数据包处理方法实施例一的流程图。图3a是本发明提供的一种数据包处理方法实施例二的流程图。图北是IPv4数据包的包头格式图。图3c是IPv6数据包的格式图。图4是本发明提供的一种数据包溯源方法实施例一的流程图。图5是本发明提供的一种数据包溯源方法实施例二的流程图。图6是本发明提供的一种数据包溯源方法实施例三的流程图。
图7是本发明提供的一种数据包处理装置实施例一的结构示意图。图8是本发明提供的一种数据包处理装置实施例二的结构示意图。图9是本发明提供的一种数据包溯源装置实施例一的结构示意图。图10是本发明提供的一种数据包溯源装置实施例二的结构示意图。图11是本发明提供的一种溯源系统实施例的结构示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1是本发明的一种应用场景示意图。如图1所示,主机在分配到地址10. 1. 5. 1 之后,经过两次地址转换,源地址最终变为192. 168. 2. 5。在每次地址转换中,NAT设备将转换前的地址也放置在IP数据包中。因此,最终的数据包中包含了每次地址转换的记录。每一个NAT设备代表了一个接入网的层次,每个层次对其下游的NAT设备的地址池配置进行了规划。例如,NAT设备A上配置的地址池为172. 16/16,另一个和NAT设备A处于同一层次的NAT设备维护的地址池可能为172. 15/16。一个NAT设备代表了一个接入子网。如图1所示,溯源过程中,首先根据源地址192. 168. 2. 5定位到数据发送者的接入网,然后根据该接入网的地址池配置记录定位到NAT设备B,也即定位到了 NAT设备B管理的接入子网;然后根据上一级地址转换记录(172. 16. 55. 6)和NAT设备B所对应的接入子网的地址池配置记录定位到NAT设备A,也即定位到了 NAT设备A管理的接入子网;至此, 溯源流程就直接面向原始的IP地址了,根据NAT设备A所对应接入子网的地址分配记录, 就可以获得10. 1. 5. 1在特定时间段的分配对象。图2是本发明提供的一种数据包处理方法实施例一的流程图,如图2所示,本实施例的方法可以包括步骤201、接收第一数据包,所述第一数据包的源地址为N-I级源地址,N为正整数;若该第一数据包之前未经过地址转换,则N = 1,N-I级源地址即数据包发送者的初始源地址。另外,N-I级源地址通常是在数据包包头的源地址字段中。步骤202、根据预设的地址转换规则,将所述N-I级源地址转换为N级源地址;这里预设的地址转换规则具体可以是转换前后地址的映射关系,比如[A,B]区间的N-I级源地址转换为N级源地址a,[C,D]区间的N-I级源地址转换为N级源地址b,等。 地址转换规则可以是管理员手工设定的,也可以是根据地址分配设备的指令自动设定。步骤203、生成包含所述N级源地址和N-I级源地址的第二数据包;第二数据包的包头源地址字段中包含所述N级源地址。所述N-I级源地址可以包含在所述第二数据包的其他位置,当然除了源地址字段以外,所述N级源地址还可以和所述N-I级源地址一起包含在第二数据包的其他位置。步骤204、发送所述第二数据包。根据网络环境的不同,第二数据包可以直接发送给了数据包的接收者,也可以发送到下一级NAT设备,再次进行地址转换,本发明实施例对此不作限定。本发明实施例通过在地址转换时将转换前的地址存放在数据包里,使得溯源时能够直接从数据包中找到转换前的地址,而无需查找NAT设备的地址转换记录,解决现有技术中由于NAT设备存储有限,使得通过NAT设备中存储的地址转换记录来溯源导致溯源失败的问题。图3a为发明提供的一种数据包处理法实施例二的流程图,如图3a所示,本实施例的方法可以包括步骤301、接收第一数据包,所述第一数据包的源地址为N-I级源地址,N为正整数;步骤302、根据预设的地址转换规则,将所述N-I级源地址转换为N级源地址;步骤303、生成第二数据包,所述第二数据包的源地址为所述N级源地址;若所述第二数据包和所述第一数据包遵从的网络协议相同的话,两个数据包相比,就是源地址字段发生了变化。但若所述第二数据包和所述第一数据包遵从的网络协议不同的话,所述第二数据包的格式也会跟所述第一数据包不同,如第二数据包为IPv6数据包而第一数据包为IPv4数据包的情况。但不论协议、格式是否相同,第二数据包和第一数据包的数据载荷部分的内容应该是相同的。 步骤304、判断第二数据包是IPv4数据包还是IPv6数据包,若是IPv4数据包则执行步骤305,若是IPv6数据包则执行步骤306 ;由于不同协议数据包的格式不一样,可扩展使用的域也不一样,因此对于不同协议数据包的处理不一样。步骤305、将所述N-I级源地址包含在所述第二数据包包头的选项字段中,执行步骤 307 ;IPv4数据包的包头格式如图北所示,包头中含有一个选项字段,可以用来定义新的选项类型。由于IPv4数据包包头的选项字段最多可以携带40字节的内容,考虑到IPv6 地址的长度为16字节,如果最终转换的是一个IPv4地址,那么之前最多可容纳两次IPv6 地址的转换记录;而对于IPv4地址,由于其地址长度为4字节,因此对于最终转换地址是 IPv4地址的情况,之前可容纳较多的IPv4地址记录。步骤306、将所述N-I级源地址包含在所述第二数据包的扩展包头中,执行步骤 307 ;IPv6数据包引入了扩展包头的概念,数据包格式如图3c所示,在数据包的基础包头和数据载荷之间可以有多个扩展包头,用来定义新的包头类型。而IPv6数据包的扩展包头最多可携带2048字节的内容,这样无论是对于IPv4地址和IPv6地址来说,都可以容纳足够多的地址转换前的地址。步骤307、发送所述第二数据包。若步骤301中接收到的第一数据包之前已经进行过地址转换,即(N-I) > 0,也就是N >= 2,那么第一数据包中除了 N-I级源地址还可以包含N-2级源地址,甚至N-3级源地址等。对应地,步骤305和306中还需要判断所述第二数据包中是否包含其他源地址,如果有,以包含N-2级源地址为例,则将N-I级源地址和N-2级源地址按照预设顺序存放,否则将所述N-I级源地址存放在预设的位置。若是第二数据包中还有N-3级源地址甚至0级源地址,也是类似的处理。这里预设的顺序可以是越早地址转换前的地址,即越低级别的源地址,放在越前面,比如将N-I级源地址存放在N-2级源地址后面,当然也可以反过来。预设的位置可以是存放空间的最前面,比如在第一个字节起始的位置存放,也可以是存放空间的设定字节起始的位置存放,也可以是存放空间的最后面。实际应用中,通常将第一次地址转换前的源地址即0级源地址,放置在存放空间的最前面,将第二次地址转换前的源地址即1级源地址,存放在第一次地址转换前的源地址后面,将第三次地址转换前的源地址即2 级源地址,存放在第二次地址转换前的源地址后面,以此类推;当然反过来也可以。存放位置和存放顺序设定好了,溯源时就可以根据预设的存放位置和存放顺序来依次获取上一次地址转换前的源地址。在现有的地址转换过程中,可用作转换后的地址通常有多个。对应地,步骤302具体包括从至少一个目标源地址中选择一个作为所述N级源地址,将所述N-I级源地址转换为N级源地址。这些目标源地址可以是管理员手工设定的,也可以是根据地址分配设备分配的地址自动设定。若是地址分配设备分配的,则本实施例方法还包括步骤30 、根据地址分配设备分配的所述至少一个目标源地址,设置所述地址转换规则。本发明实施例通过在地址转换时将转换前的地址放在IPv4数据包的扩展字段或是IPv6数据包的扩展包头里,使得溯源时能够直接从IPv4数据包的扩展字段或是IPv6数据包的扩展包头中找到转换前的地址,而无需查找NAT设备的地址转换记录,解决现有技术中由于NAT设备存储有限,使得通过NAT设备中存储的地址转换记录来溯源导致溯源失败的问题。图4是本发明提供的一种数据包溯源方法实施例一的流程图,如图4所示,该方法包括步骤401、接收数据包,所述数据包的源地址为N级源地址,所述数据包中包含N-I 级源地址,N为正整数;通常,N级源地址包含在所述数据包的源地址字段,所述N-I级源地址是所述N级源地址进行地址转换前的源地址,可以包含在所述数据包除源地址字段外的其他位置。步骤402、确定所述N级源地址对应的接入网,查询地址分配设备中与所述接入网对应的地址分配记录,确定所述N级源地址的分配对象,所述分配对象是将所述N-I级源地址转换为所述N级源地址的N级NAT设备;所述确定所述N级源地址对应的接入网具体包括,确定所述N级源地址确定对应的接入网地址。比如N级源地址为192. 168. 2. 5,假设对应的接入网地址为192. 168/16。地址分配设备跟现有技术中一样,负责给用户分配地址,也负责给NAT设备分配目标源地址, 并且存储对应的地址分配记录。所述地址分配记录可以以接入网/接入子网地址为索引, 查找到与该接入网/接入子网对应的地址分配记录,也叫地址池配置记录。拿上面这个例子来说,查询地址分配设备中与192. 168/16对应的地址池配置记录,确定192. 168. 2. 5分配给哪个NAT设备作为目标源地址了,这样就定位到了 N级NAT设备。步骤403、根据所述N级NAT设备对应的N级接入子网,查询地址分配设备中与所述N级接入子网对应的地址分配记录,确定所述N-I级源地址的分配对象。定位到了 N级NAT设备后,就可以确定N级NAT设备管理的N级接入子网,这时再根据N级接入子网地址查找地址分配设备中对应的地址分配记录,从中找出N-I级源地址的分配对象。若所述数据包只经过一次地址转换,也就是N= 1时,这个N-I级源地址的分配对象就是数据包发送者了。本发明实施例根据数据包里存放的地址转换前的地址和地址分配设备的地址分配记录,进行地址溯源,而无需查找NAT设备的地址转换记录,解决现有技术中由于NAT设备存储有限,使得通过NAT设备中存储的地址转换记录来溯源导致溯源失败的问题。图5是本发明提供的一种数据包溯源方法实施例二的流程图,如图5所示,该方法包括步骤501、接收数据包,所述数据包的源地址为N级源地址,所述数据包中包含N-I 级源地址,N为正整数;步骤502、确定所述N级源地址对应的接入网,查询地址分配设备中与所述接入网对应的地址分配记录,确定所述N级源地址的分配对象,所述分配对象是将所述N-I级源地址转换为所述N级源地址的N级NAT设备;步骤503、判断所述数据包是IPv4数据包还是IPv6数据包,若是IPv4数据包则执行步骤504,若是IPv6数据包则执行步骤505 ;步骤504、从所述数据包包头的选项字段中读取所述N-I级源地址,执行步骤 506 ;步骤505、从所述数据包的扩展包头中读取所述N-I级源地址,执行步骤506 ;步骤506、根据所述N级NAT设备对应的N级接入子网,查询地址分配设备中与所述N级接入子网对应的地址分配记录,确定所述N-I级源地址的分配对象;若所述数据包经过不止一次地址转换,那么所述数据包中除了 N-I级源地址,还包括N-2级源地址,甚至可能还包括N-3级源地址等。当数据包中包含多级地址转换前的地址时,这些地址都是按照预设的顺序存放的,对应地,步骤505中可以在所述数据包中按照预设的存放顺序读取所述N-I级源地址和所述N-2级源地址。以所述数据包经过两次地址转换、数据包中还包括N-2级源地址为例,步骤506中确定所述N-I级源地址的分配对象具体包括确定将N-2级源地址转换为N-I级源地址的 N-I级NAT设备,执行步骤507。步骤507、根据N-I级NAT设备对应的N_1级接入子网,查询地址分配设备中与所述N-I级接入子网对应的地址分配记录,确定所述N-2级源地址的分配对象。若数据包中还包括N-3级源地址等,则按照类似于步骤507的步骤重复,直到找到最初始的源地址的分配对象。本发明实施例根据IPv4数据包包头选项字段或IPv6数据包扩展包头中存放的地址转换前的地址和地址分配设备的地址分配记录进行地址溯源,无需查找NAT设备的地址转换记录,解决现有技术中由于NAT设备存储有限,使得通过NAT设备中存储的地址转换记录来溯源导致溯源失败的问题。图6是本发明提供的一种数据包溯源方法实施例三的流程图,如图6所示,该方法包括步骤601 接收数据包,该数据包的包头中有N个地址转换前的地址;N为大于0的自然数,这个N通常等于该数据包进行地址转换的次数,N个地址转换前的地址也就是O级源地址,1级源地址,...,N-I级源地址。
步骤602 根据数据包源地址字段中的N级源地址,定位该N级源地址对应的接入网;也就是上述实施例中所说的包头源地址字段中的N级源地址,步骤603 查询地址分配设备中与所述接入网对应的地址分配记录,确定进行N级地址转换的N级NAT设备,确定N级NAT设备对应的N级接入子网;其中,N级地址转换也就是最后一次地址转换,也就是将包头源地址地段中的地址转换为N级源地址的那次。步骤604 判断N是否大于1,若大于,执行步骤605,若不大于执行步骤607 ;步骤605 读取N-I级源地址,查询地址分配设备中与N级接入子网对应的地址分配记录,确定进行N-I级地址转换的N-I级NAT设备,并确定该N-I级NAT设备对应的N-I 级接入子网;步骤606 令N = N-1,返回步骤604 ;步骤607 查询地址分配设备中与1级接入子网对应的地址分配记录,确定1级地址转换前的地址的分配对象。1级地址转换前的地址也就是0级源地址,即最初始的源地址。本发明实施例通过数据包中存放的多个地址转换前的地址和地址分配设备中对应多个接入网层次的地址分配记录,进行多级地址溯源,而无需查找多个接入网层次对应的多级NAT设备的地址转换记录,解决现有技术中由于NAT设备存储有限,而使得通过NAT 设备中存储的地址转换记录来溯源导致溯源失败的问题。图7是本发明提供的一种数据包处理装置实施例一的结构示意图,如图7所示,该装置包括第一接收单元71,用于接收第一数据包,所述第一数据包的源地址为N-I级源地址,N为正整数;地址转换单元72,用于根据预设的地址转换规则,将所述N-I级源地址转换为N级源地址;数据包生成单元73,用于生成包含所述N级源地址和N-I级源地址的第二数据包;发送单元74,用于发送所述第二数据包。本发明实施例的具体实现参照本发明提供的一种数据包处理方法实施例一。本发明实施例通过在地址转换时将转换前的地址存放在数据包里,使得溯源时能够直接从数据包中找到转换前的地址,而无需查找NAT设备的地址转换记录,解决现有技术中由于NAT设备存储有限,而使得通过NAT设备中存储的地址转换记录来溯源导致溯源失败的问题。图8是本发明提供的一种数据包处理装置实施例二的结构示意图,如图8所示,该装置包括第一接收单元81,用于接收第一数据包,所述第一数据包的源地址为N-I级源地址,N为正整数;地址转换单元82,用于根据预设的地址转换规则,将所述N-I级源地址转换为N级源地址;数据包生成单元83,用于生成第二数据包,若所述第二数据包是IPv4数据包,则将所述N-I级源地址包含在所述第二数据包包头的选项字段中;若所述第二数据包是IPv6 数据包,则将所述N-I级源地址包含在所述第二数据包的扩展包头中;发送单元84,用于发送所述第二数据包。优选地,数据包生成单元83具体用于若N大于等于2,所述第一数据包还包含 N-2级源地址,则所述第二数据包中所述N-2级源地址与所述N-I级源地址按预设顺序存放。优选地,地址转换单元82具体包括选择子单元821,用于从至少一个目标源地址中选择一个作为所述N级源地址;转换子单元822,用于将所述N-I级源地址转换为N级源地址。优选地,地址转换单元82还包括地址接收子单元823,用于接收地址分配设备分配的所述至少一个目标源地址。本发明实施例的具体实现参照本发明提供的一种数据包处理方法实施例二。本发明实施例通过在地址转换时将转换前的地址放在IPv4数据包的扩展字段或是IPv6数据包的扩展包头里,使得溯源时能够直接从IPv4数据包的扩展字段或是IPv6数据包的扩展包头中找到转换前的地址,而无需查找NAT设备的地址转换记录,解决现有技术中由于NAT设备存储有限,而使得通过NAT设备中存储的地址转换记录来溯源导致溯源失败的问题。图9是本发明提供的一种数据包溯源装置实施例一的结构示意图,如图9所示,该装置包括第二接收单元91,用于接收数据包,所述数据包的源地址为N级源地址,所述数据包中包含N-I级源地址,所述N-I级源地址是所述N级源地址进行地址转换前的源地址,N 为正整数;查询单元92,用于确定所述N级源地址对应的接入网,查询地址分配设备中与所述接入网对应的地址分配记录。确定所述N级源地址的分配对象,所述分配对象是将所述 N-I级源地址转换为所述N级源地址的N级网络地址转换NAT设备;溯源单元93,用于根据所述N级NAT设备对应的N级接入子网,查询地址分配设备中与所述N级接入子网对应的地址分配记录,确定所述N-I级源地址的分配对象。本发明实施例的具体实现可以参照本发明提供的一种数据包溯源方法实施例一。 本发明实施例根据数据包里存放的地址转换前的地址和地址分配设备的地址分配记录,进行地址溯源,而无需查找NAT设备的地址转换记录,解决现有技术中由于NAT设备存储有限,而使得通过NAT设备中存储的地址转换记录来溯源导致溯源失败的问题。图10是本发明提供的一种数据包溯源装置实施例二的结构示意图,如图10所示, 该装置包括第二接收单元11,用于接收数据包,所述数据包的源地址为N级源地址,所述数据包中包含N-I级源地址,所述N-I级源地址是所述N级源地址进行地址转换前的源地址,N 为正整数;查询单元12,用于确定所述N级源地址对应的接入网,查询地址分配设备中与所述接入网对应的地址分配记录。确定所述N级源地址的分配对象,所述分配对象是将所述 N-I级源地址转换为所述N级源地址的N级网络地址转换NAT设备;溯源单元13,用于根据所述N级NAT设备对应的N级接入子网,查询地址分配设备中与所述N级接入子网对应的地址分配记录,确定所述N-I级源地址的分配对象。溯源单元13具体包括地址读取子单元131,用于若所述数据包是IPv4数据包,则从所述数据包包头的选项字段中读取所述N-I级源地址,若所述数据包是IPv6数据包,则从所述数据包的扩展包头中读取所述N-I级源地址;溯源子单元132,用于根据所述N级NAT设备对应的N级接入子网,查询地址分配设备中与所述N级接入子网对应的地址分配记录,确定所述N-I级源地址的分配对象。优选地,若N大于等于2,所述数据包中还包含N-2级源地址,所述N_2级源地址是所述N-I级源地址进行地址转换前的源地址,溯源子单元132具体用于确定将所述N-2级源地址转换为所述N-I级源地址的N-I级NAT设备,根据所述N-I级NAT设备对应的N-I级接入子网,查询地址分配设备中与所述N-I级接入子网对应的地址分配记录,确定所述N-2 级源地址的分配对象。优选地,溯源单元132具体用于在所述数据包中按照预设的存放顺序读取所述 N-I级源地址和所述N-2级源地址。本发明实施例的具体实现参照本发明提供的一种数据包溯源方法实施例二。本发明实施例根据IPv4数据包包头选项字段或IPv6数据包扩展包头中存放的地址转换前的地址和地址分配设备的地址分配记录,进行地址溯源,而无需查找NAT设备的地址转换记录, 解决现有技术中由于NAT设备存储有限,而使得通过NAT设备中存储的地址转换记录来溯源导致溯源失败的问题。图11是本发明提供的一种溯源系统实施例的结构示意图,如图11所示,该系统包括地址分配设备21,用于分配地址,并存储地址分配记录;与地址分配设备连接21 的NAT设备22和溯源设备23 ;NAT设备22包括如上述任一实施例所述的数据包处理装置;溯源设备23包括如上述任一实施例所述的数据包溯源装置。本发明通过地址转换时将转换前的地址存放在数据包里,使得溯源时能够根据从数据包中找到转换前的地址和地址分配设备的地址分配记录进行溯源,而无需查找NAT设备的地址转换记录,解决现有技术中由于NAT设备存储有限,使得通过NAT设备中存储的地址转换记录来溯源导致溯源失败的问题。本发明实施例中的地址分配设备和现有技术中的地址分配设备一样,可以给各网络节点分配地址,包括用户和本发明所提供的数据包处理装置,并且在地址分配设备中存储有对应用户和接入网/接入子网的地址分配记录,其中对应于接入网/接入子网的地址分配记录也叫做地址池配置记录。在实际应用中,地址分配设备通常采用分布式架构,可以看成对应每一级接入网/接入子网有一个地址分配实体,该地址分配实体中存储有对应接入网/接入子网的地址池配置记录。为了实现方便,每个地址分配实体还可以跟同一级的数据包处理装置在一个硬件平台上实现,比如集成在NAT设备中。这种情况下,虽然地址分配实体和数据包处理装置共用NAT设备的存储资源,但是由于地址分配实体中的地址分配记录是一种静态的信息,且信息结构很简单,相对于NAT设备的动态的结构复杂的地址转换记录来说,占用存储量极少,因此仍可以解决现有技术中由于NAT设备存储有限,而使得通过NAT设备中存储的地址转换记录来溯源导致溯源失败的问题。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1.一种数据包处理方法,其特征在于,包括接收第一数据包,所述第一数据包的源地址为N-I级源地址,N为正整数;根据预设的地址转换规则,将所述N-I级源地址转换为N级源地址;生成包含所述N级源地址和N-I级源地址的第二数据包;发送所述第二数据包。
2.根据权利要求1所述的方法,其特征在于,若所述第二数据包是IPv4数据包,则所述N-I级源地址包含在所述第二数据包包头的选项字段中;若所述第二数据包是IPv6数据包,则所述N-I级源地址包含在所述第二数据包的扩展包头中。
3.根据权利要求1或2所述的方法,其特征在于,若N不小于2,所述第一数据包还包含N-2级源地址,则所述第二数据包中所述N-2级源地址与所述N-I级源地址按预设顺序存放。
4.根据权利要求1或2所述的方法,其特征在于,所述根据预设的地址转换规则,将所述N-I级源地址转换为N级源地址具体包括从至少一个目标源地址中选择一个作为所述N级源地址,将所述N-I级源地址转换为 N级源地址。
5.根据权利要求4所述的方法,其特征在于,所述从至少一个目标源地址中选择一个作为所述N级源地址之前还包括接收地址分配设备分配的所述至少一个目标源地址。
6.一种数据包溯源方法,其特征在于,包括接收数据包,所述数据包的源地址为N级源地址,所述数据包中包含N-I级源地址,N为正整数;确定所述N级源地址对应的接入网,查询地址分配设备中与所述接入网对应的地址分配记录,确定所述N级源地址的分配对象,所述分配对象是将所述N-I级源地址转换为所述 N级源地址的N级网络地址转换NAT设备;根据所述N级NAT设备对应的N级接入子网,查询地址分配设备中与所述N级接入子网对应的地址分配记录,确定所述N-I级源地址的分配对象。
7.根据权利要求6所述的方法,其特征在于,若N不小于2,所述数据包中还包含N-2 级源地址,所述N-2级源地址是所述N-I级源地址进行地址转换前的源地址;所述确定所述N-I级源地址的分配对象具体包括确定将所述N-2级源地址转换为所述N-I级源地址的N-I级NAT设备;所述确定所述N-I级源地址的分配对象之后还包括根据所述N-I级NAT设备对应的 N-I级接入子网,查询地址分配设备中与所述N-I级接入子网对应的地址分配记录,确定所述N-2级源地址的分配对象。
8.根据权利要7所述的方法,其特征在于,还包括在所述数据包中按照预设的存放顺序读取所述N-I级源地址和所述N-2级源地址。
9.根据权利要求6 8任一所述的方法,其特征在于,所述确定所述N-I级源地址的分配对象之前还包括若是IPv4数据包,则从所述数据包包头的选项字段中读取所述N-I级源地址;若是 IPv6数据包,则从所述数据包的扩展包头中读取所述N-I级源地址。
10.一种数据包处理装置,其特征在于,包括第一接收单元,用于接收第一数据包,所述第一数据包的源地址为N-I级源地址,N为正整数;地址转换单元,用于根据预设的地址转换规则,将所述N-I级源地址转换为N级源地址;数据包生成单元,用于生成包含所述N级源地址和N-I级源地址的第二数据包; 发送单元,用于发送所述第二数据包。
11.根据权利要求10所述的装置,其特征在于,所述数据包生成单元具体用于 若所述第二数据包是IPv4数据包,则所述N-I级源地址包含在所述第二数据包包头的选项字段中;若所述第二数据包是IPv6数据包,则所述N-I级源地址包含在所述第二数据包的扩展包头中。
12.根据权利要求10或11所述的装置,其特征在于,所述数据包生成单元具体用于 若N不小于2,所述第一数据包还包含N-2级源地址,则所述第二数据包中所述N-2级源地址与所述N-I级源地址按预设顺序存放。
13.根据权利要求10或11所述的装置,其特征在于,所述地址转换单元具体包括 选择子单元,用于从至少一个目标源地址中选择一个作为所述N级源地址;转换子单元,用于将所述N-I级源地址转换为N级源地址。
14.根据权利要求13所述的装置,其特征在于,所述地址转换单元还包括 地址接收子单元,用于接收地址分配设备分配的所述至少一个目标源地址。
15.一种数据包溯源装置,其特征在于,包括第二接收单元,用于接收数据包,所述数据包的源地址为N级源地址,所述数据包中包含N-I级源地址,所述N-I级源地址是所述N级源地址进行地址转换前的源地址,N为正整数;查询单元,用于确定所述N级源地址对应的接入网,查询地址分配设备中与所述接入网对应的地址分配记录。确定所述N级源地址的分配对象,所述分配对象是将所述N-I级源地址转换为所述N级源地址的N级网络地址转换NAT设备;溯源单元,用于根据所述N级NAT设备对应的N级接入子网,查询地址分配设备中与所述N级接入子网对应的地址分配记录,确定所述N-I级源地址的分配对象。
16.根据权利要求15所述的装置,其特征在于,若N不小于2,所述数据包中还包含N-2 级源地址,所述N-2级源地址是所述N-I级源地址进行地址转换前的源地址,所述溯源单元具体用于确定将所述N-2级源地址转换为所述N-I级源地址的N-I级 NAT设备,根据所述N-I级NAT设备对应的N-I级接入子网,查询地址分配设备中与所述N-I 级接入子网对应的地址分配记录,确定所述N-2级源地址的分配对象。
17.根据权利要16所述的装置,其特征在于,所述溯源单元具体用于在所述数据包中按照预设的存放顺序读取所述N-I级源地址和所述N-2级源地址。
18.根据权利要求15 17任一所述的装置,其特征在于,所述溯源单元具体包括 地址读取子单元,用于若所述数据包是IPv4数据包,则从所述数据包包头的选项字段中读取所述N-I级源地址,若所述数据包是IPv6数据包,则从所述数据包的扩展包头中读取所述N-I级源地址;溯源子单元,用于根据所述N级NAT设备对应的N级接入子网,查询地址分配设备中与所述N级接入子网对应的地址分配记录,确定所述N-I级源地址的分配对象。
19. 一种溯源系统,包括地址分配设备,用于分配地址,并存储地址分配记录;与地址分配设备连接的NAT设备和溯源设备;其特征在于,所述NAT设备包括如权利要求10 14任一所述的数据包处理装置; 所述溯源设备包括如权利要求15 18任一所述的数据包溯源装置。
全文摘要
本发明提供一种数据包处理和溯源方法、装置及系统。数据包处理方法包括接收第一数据包,所述第一数据包的源地址为N-1级源地址,N为正整数;根据预设的地址转换规则,将所述N-1级源地址转换为N级源地址,生成包含所述N级源地址和N-1级源地址的第二数据包;发送所述第二数据包。本发明通过在地址转换时将转换前的地址存放在数据包里,溯源时能够直接从数据包中找到转换前的地址,而无需查找NAT设备的地址转换记录,解决现有技术中由于NAT设备存储有限,使得通过NAT设备中存储的地址转换记录来溯源导致溯源失败的问题。
文档编号H04L29/12GK102316176SQ201110212609
公开日2012年1月11日 申请日期2011年7月27日 优先权日2011年7月27日
发明者朱田, 王伟, 王利明, 马迪 申请人:中国科学院计算机网络信息中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1