基于网络地址转换规则的报文转换方法及装置的制造方法

文档序号:10578073阅读:263来源:国知局
基于网络地址转换规则的报文转换方法及装置的制造方法
【专利摘要】本申请提供一种基于网络地址转换规则的报文转换方法及装置,该方法包括:对接收的报文进行解析,得到所述报文的五个匹配域的信息;根据所述五个匹配域的信息查找预先根据网络地址转换NAT规则编译的最新的决策树,得到NAT规则的唯一标识;根据所述NAT规则的唯一标识在转换表中查找得到转换信息;基于所述转换信息对所述报文进行转换。本申请的网络设备通过使用决策树的方法,对报文信息进行转换,能够有效减少时延,节省耗时,实现对NAT规则的快速匹配。
【专利说明】
基于网络地址转换规则的报文转换方法及装置
技术领域
[0001] 本申请设及网络通信技术领域,尤其设及一种基于网络地址转换规则的报文转换 方法及装置。
【背景技术】
[0002] 目前,随着互联网的飞速发展,互联网协议版本4 (Internet Protocol Version, IPv4)地址已经耗尽,IPv6正处于不断完善的过程中,尚未正式取代IPv4,作为一种过渡方 式,用于处理IP地址的转投,能够将内部私有网络地址转换成外部合法网络地址的网络地 址转换(Net AcMress Translation, NAT)已成转发设备的一种必要功能。
[0003] 现有技术中,由于MT设备在网络传输过程中需要由网络封包进行网络层解析和 修改、重算校验和等流程,耗时严重,尤其在用户配置复杂、规则条目多的情况下,匹配MT 规则导致的时延更加严重。

【发明内容】

[0004] 有鉴于此,本申请提供一种网络地址转换规则的匹配方法,应用于网络设备中,所 述方法包括: 阳〇化]对接收的报文进行解析,得到所述报文的五个匹配域的信息;
[0006] 根据所述五个匹配域的信息查找预先根据网络地址转换MT规则编译的最新的 决策树,得到NAT规则的唯一标识;
[0007] 根据所述NAT规则的唯一标识在转换表中查找得到转换信息;
[0008] 基于所述转换信息对所述报文进行转换。
[0009] 本申请还提供了一种基于网络地址转换规则的报文转换装置,应用于网络设备 上,包括:
[0010] 解析模块,被配置为对接收的报文进行解析,得到所述报文的五个匹配域的信 息;
[0011] 标识查找模块,被配置为根据所述五个匹配域的信息查找预先根据MT规则编译 的最新的决策树,得到NAT规则的唯一标识;
[0012] 转换信息查找模块,被配置为根据所述MT规则的唯一标识在转换表中查找得到 转换信息;
[0013] 转换模块,被配置为基于所述转换信息对所述报文进行转换。
[0014] 本申请的网络设备通过使用决策树的方法,对报文信息进行转换,能够有效减少 时延,节省耗时,实现对NAT规则的快速匹配。
【附图说明】
[0015] 图1是本申请一种实施例中基于网络地址转换规则的报文转换方法的处理流程 图;
[0016] 图2是本申请一种实施例中决策树的编译方法的处理流程图;
[0017] 图3是本申请一种实施例中决策树的编译方法的示意图;
[0018] 图4是本申请一种实施例中决策树的编译方法的另一示意图;
[0019] 图5是本申请一种实施例中基于网络地址转换规则的报文转换装置的基础硬件 不意图;
[0020] 图6是本申请一种实施例中基于网络地址转换规则的报文转换装置的结构示意 图。
【具体实施方式】
[0021] 运里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述设及 附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。W下示例性实施例 中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附 权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0022] 在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。 在本申请和所附权利要求书中所使用的单数形式的"一种"、"所述"和"该"也旨在包括多 数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语"和/或"是指 并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0023] 应当理解,尽管在本申请可能采用术语第一、第二、第S等来描述各种信息,但运 些信息不应限于运些术语。运些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离 本申请范围的情况下,第一信息也可W被称为第二信息,类似地,第二信息也可W被称为第 一信息。取决于语境,如在此所使用的词语"如果"可W被解释成为"在……时"或"当…… 时"或"响应于确定"。
[0024] 现有技术中,对NAT规则进行匹配时,由于网络层解析和修改、重算校验和的流程 不可避免,因而设备存在较大的时延,且优化空间不大,在运种背景下,如何快速匹配MT 规则变成减小设备时延的关键。
[00巧]如图1所示,为本申请一示例性实施例示出的一种网络地址转换规则的匹配方法 的流程图,该方法应用于网络设备,例如路由器上,包括W下步骤:
[0026] 步骤101、对接收到的报文进行解析,得到报文对应五个匹配域的信息。
[0027] 本实施例中,网络设备接收到报文,将报文进行解析得到的对应各匹配域的信息, 即五元组信息,运五个匹配域包括:源端口、源IP地址、目的IP地址、四层协议和目的端口。 [00測步骤102、根据解析得到的五个匹配域的信息,查找预先根据各MT规则编译的最 新决策树,得到NAT规则的唯一标识。
[0029] 其中,决策树包括根节点、中间节点和叶节点。叶节点上存储有NAT规则的唯一标 识。
[0030] 例如,决策树的根节点上的匹配域为源IP地址,匹配条件为源IP地址〉0,那么根 据解析得到的报文的源IP地址,去匹配根节点的匹配条件,由此开始查找决策树。
[0031] 步骤103、根据MT规则的唯一标识在转换表中查找得到对应的转换信息。 阳03引其中,MT规则包括匹配域的数据和转换信息。
[0033] 步骤104、根据转换信息对报文进行转换处理。
[0034] 本实施例中,转换信息可W为,例如:将报文的源IP地址转换为某段公网地址,将 报文的出端口转换为某些端口范围。从而报文可W依据该转换信息进行转换。
[0035] 其中,在步骤102中使用到了决策树,在本实施例中,需要基于MT规则预先生成 决策树。如图2所示,为决策树的编译方法的流程图;该方法包括:
[0036] 步骤201、为编译决策树组织匹配规则W及转换信息。
[0037] 一方面,网络设备对MT规则中的匹配域数据进行处理,得到匹配规则。
[0038] 具体而言,NAT规则包括各个匹配域上的数据及转换信息。匹配域数据即各个匹 配域上的数据或数据范围。
[0039] 在某一个匹配域包括多个数据或数据范围时,需要根据多个数据之间的关系对运 些范围进行处理。对于数据范围,具体而言,当某个匹配域包含的多个数据范围没有重合 时,按照数据范围的大小顺序对各个匹配域的数据范围进行排序。某MT规则中的源IP 地址引用多个IP地址对象,或一个IP地址对象中包含例外IP地址而将一个地址范围分 为多个范围时,需要按照数据范围的大小进行排序,W便后续获取投影点。例如IP地址 1. 1. 1-1. 1. 10排在IP地址1. 1. 12-1. 1. 20的前面,源端口 3排在源端口 1的后面。
[0040] 在某个匹配域包含的多个数据范围存在重合或交叉时,可W将重合或交叉的范围 进行结合得到完整的区间范围。例如IP地址1. 1. 1-1. 1. 13和IP地址1. 1. 12-1. 1. 20存 在部分重合,则对两个地址进行结合得到IP地址1. 1. 1-1. 1. 20。
[0041] 从上可W看出,由于每一个匹配域的范围不一定只有一个,因而可W按照每个匹 配域所包含的范围的个数进行排列组合,得到若干条匹配规则,每条匹配规则包括匹配域 及该匹配域的范围,且每一条匹配规则中的每个域只包含一个连续的区间范围。例如,一条 NAT规则包含的五个匹配域中,源IP地址包括2个,源端口包括3个,其他域各自只有1个, 那么根据排列组合,最终将该MT规则拆分和组合为6条匹配规则。
[0042] 另一方面,将各NAT规则的唯一标识和转换信息对应地进行存储。
[0043] 多条匹配规则可W对应一条转换信息,在决策树的叶节点中使用匹配规则的唯一 标识。
[0044] 步骤202、基于所组织的匹配规则W及转换信息编译决策树。
[0045] 具体包括W下步骤:
[0046] 步骤2021、将满足当前匹配域及匹配条件的所有匹配规则的集合确定为当前捜索 空间,判断当前捜索空间是否满足停止拆分条件,若否,从当前捜索空间的匹配域中确定拆 分域,在拆分域中确定拆分点,通过确定的拆分点对确定的拆分域进行拆分。
[0047] 当决策树只有一个节点时,根节点即叶节点,叶节点上存储的信息为MT规则的 唯一标识;当决策树上有多于一个节点时,根节点和中间节点上存储的信息均为匹配域和 匹配值。
[0048] 中间节点是通过匹配规则生成的一个索引,通过此索引能得到对应的规则集合。 W例将首先确定的拆分域W及拆分点作为根节点,W该拆分点对拆分域进行拆分。
[0050] 在根节点不符合拆分条件的情况下,从根节点的匹配域中确定拆分域,并从拆分 域中确定拆分点。该拆分条件可W为:与当前捜索空间相交的匹配规则完全包含捜索空间 中各个匹配域的最大范围。
[0051] 本实施例中,计算每条匹配规则在各个匹配域上的投影点,统计各个匹配域上的 投影点个数,并将投影点个数总数最少的匹配域作为拆分域,也可称之为拆分维度;然后将 该拆分域上两侧的投影点个数最接近的点作为二分点,即拆分点。 阳0巧如图3所示,假设某一 NAT规则的五个匹配域拆分组合得到了五条匹配规则:rl、 r2、r3、r4和巧,图3示出了该五条匹配规则在五个域的其中两个匹配域上的投影示意图。 运里的X和Y表示任意两个匹配域,并W二进制数字表示其单位,当然也可W W其他数字来 表示。为了绘制方便,运里仅示出了两个匹配域的示意图做示例,实际应用中,确定拆分域 需要计算匹配规则在五个匹配域上的投影点的个数。
[0053] 确定拆分点时,在拆分域上,W相邻的两个端点构成一个区间,如果共有m个点则 构成m-1个区间,在该m-1个区间里计算投影点个数。其中m表示规则集合R中的所有规 贝IJ rl、r2、r3、r4和巧在第f个域上的投影点构成的投影点的个数,其中1《f《d。
[0054] 例如,在图3中,在X匹配域上,rl的范围是(-〇〇,1],r2的范围是(-〇〇,1],r3 的范围是(l,2],r4的范围是化+-),巧的范围也是化+ -),则该五个匹配规则rl、 r2、r3、r4和巧在X匹配域上的投影点为--、1、2、+ 结合图3所示的场景,该过程具 体描述如下: 阳05引在X域上,在OO-Ol范围内,有匹配规则rl和r2的两个投影点;
[0056] 在01-10范围内,有匹配规则rl和r2的两个投影点;
[0057] 在10-11范围内,有匹配规则r3和r4的两个投影点;因而在X域上一共有六个投 影点。 阳化引在Y域上,在OO-Ol范围内,有匹配规则rl、r2、r3和巧的四个投影点;
[0059] 在01-10范围内,有匹配规则r2、r3和巧的S个投影点; W60] 在10-11范围内,有匹配规则r2、r3和巧的;个投影点捆而在Y域上一共有十 个投影点。
[0061] 根据取小原则公式(1),将X域确定为拆分域。 W创
式(1)
[0063] 其中,F表示拆分域的维度,d表示维度数-,Sr[j]表示在F维度上,落入第j个 投影区间的匹配规则的个数。
[0064] 式(1)的意思是确定每一维度的Sr的平均值,即平均权重的值,然后再从中选出 平均权重值最小的维度。 阳0化]然后,根据二分点选择方法,基于公式(2),在X域中,端点Ol两侧的投影点的个数 最相近,因而将端点Ol作为二分拆分点,然后,所选择的拆分域和拆分点构成决策树的根 节点。初始捜索空间为五个匹配域中各个匹配域的最大范围的集合,拆分之后,捜索空间为 拆分之后的各匹配域的最大范围的集合。 W66]
式似
[0067] 拆分之后,得到两个子空间,也可W称之为子匹配域。例如,对于某一初始捜索空 间 S,S= {[0,232-1],[0,232-1],[0,216-1],[0,216-1],[0,28-1]},若第一次确定的拆 分域为第1个域,在第1个域上确定的二分拆分点为P,则W点P在第1个域上进行二分后 得到两个捜索子空间S 1 = {[0,P-1],[0,232-1],[0,216-1],[0,216-1],[0,28-1]},S2 ={[P,232-1], [0,232-1], [0,216-1], [0,216-1], [0,28-1]}〇 W側在图4所示的实施例中,根节点即狂,01)。表示拆分域为X域,拆分点为01,经过 拆分,捜索空间变为Sl和S2,在x<01时,确定拆分域为Y,拆分点为00 ;在x〉01时,确定拆 分域为X,拆分点为10,并分别在Sl和S2上继续拆分。 W例如果子空间能够继续拆分,则子空间为中间节点,如果不能够继续拆分,则该子空 间对应的匹配规则为叶节点,规则集中与子空间相交的规则即为子空间对应的匹配规则。
[0070] 此外,通过图3可W看出,生成根节点时狂,01),将源规则集(图中圆圈所示)分 为两部分,在左侧部分的规则集再拆分时,X域上不需要再拆分,只需要在Y域上拆分,获得 拆分点为化00),所W决策树中的中间节点上的匹配域不是固定的。
[0071] 步骤2022、对步骤2021拆分得到的两个子空间分别判断是否满足拆分条件,是则 对满足条件的子空间进行拆分,即确定拆分域和拆分点。
[0072] 拆分条件包括:与该子空间相交的匹配规则是否完全包含该子空间中各个匹配域 的最大范围,如果不满足该拆分条件,则继续拆分,如果满足该拆分条件,则继续拆分。
[0073] 在不能够继续拆分时,最后得到的叶节点指向与其相交的匹配规则。
[0074] 如图4所示,本实施例提供的基于MT规则的报文转换方法通过W下程序实现: [00巧]步骤301、生成匹配规则集合R0、捜索空间SO W及对应的根节点V0,并将其存入 R'、S'、V'。
[0076] 步骤302、将R'、S'和V'送入队列Q,队列Q为先进先出队列。
[0077] 步骤303、从队列Q中取尺'、5'、¥',分别记为尺、5、¥。
[0078] 步骤304、判断R中所有匹配规则是否都包含S的最大范围,如果判断为是,执行步 骤312,如果判断为否,则执行步骤305。
[0079] 步骤305、选择划分域F,并在划分域F上按照二分点选择节内启发式算法,选择二 分点P (维度为巧。
[0080] 步骤306、将S在划分域F上W划分点P进行空间划分,得到子空间Sl和子空间 S2〇
[0081] 步骤307、将R中所有与子空间SI有相交的匹配规则记为R1,将R中所有与子空 间S2相交的匹配规则记为R2。
[0082] 步骤308、生成与RUSl对应的子节点VI,及与R2、S2对应的子节点V2,并使得Vl 和V2的存储地址空间连续,即为Vl和V2 -起申请内存,顺序存储。
[0083] 步骤309、将V设置为中间节点,并将V赋值为:V. field = F,V. point = P, V. offset = Vl的起始地址。
[0084] 步骤310、生成新的一组R'、S'和V',赋值为RU SI和Vl之后送入队列Q。 阳0化]步骤311、生成新的一组R'、S'和V',赋值为R2、S2和V2之后送入队列Q,返回执 行步骤3。
[0086] 也就是说,对新的子空间Sl和S2进行与上述空间S -样的处理,判断是否可W继 续拆分,如果符合拆分条件,则继续拆分。
[0087] 步骤312、获取R中优先级最高的规则r,将V设置为叶节点,并将V赋值为如下数 据结构:V. field = r.曰ction,V. point = r. pri,V. offset = 0 ;其中,r.曰Ction 为规则 r 中的分类结果,r. pri为规则r中的优先级。 阳08引步骤313、判断当前队列Q是否为空,若是,执行步骤14,若否,返回执行步骤3。
[0089] 步骤314、返回根节点VO,将其作为数据结构索引的起点。
[0090] 此外,决策树W及编译结果均存储在策略表中。本实施例中网络设备上具有两个 策略表,其中一个策略表中的决策树处于运行状态,另一个策略表中的决策树处于备份状 态。当有新的MT规则下发时,启动决策树的编译,由于MT规则通常上万条,决策树的编译 过程需要花费一两分钟的时间,因而运个时间段内如果接收到报文,则报文无法进行匹配 决策树,运种情况下,该最新的决策树在备份的策略表中进行编译。编译完成之后,将决策 树的匹配进程切换到该最新的决策树下,另一个决策树转为备份状态,报文的匹配在该最 新的决策树下进行。当再次接收到新的MT规则时,在处于备份的决策树上进行编译。过 程同上。
[0091] 其中,编译结果即为编译所得的决策树,策略表中存储有:决策树、NAT转换信息, 决策树中包括中间节点和叶节点,中间节点包含匹配域和匹配域值,叶节点包含对应NAT 规则的唯一标识,通过该唯一标识可W直接获取NAT转换信息。
[0092] 通过上述实施例,通过使用决策树的方法,能够有效减少时延,节省耗时,实现对 NAT规则的快速匹配。
[0093] 与前述网络地址转换规则的报文转换方法的实施例相对应,本申请还提供了网络 地址转换规则的报文转换装置的实施例。
[0094] 本申请网络地址转换规则的报文转换装置的实施例可W应用在网络设备上。装置 实施例可W通过软件实现,也可W通过硬件或者软硬件结合的方式实现。W软件实现为例, 作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算 机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本申请网络地址转 换规则的报文转换装置所在设备的一种硬件结构图,除了图5所示的处理器、内存、网络接 口、W及非易失性存储器之外,实施例中装置所在的设备通常根据该装置的实际功能,还可 W包括其他硬件,对此不再寶述。 阳〇巧]请参考图6,为本申请一种实施例中基于网络地址转换规则的报文转换装置的结 构示意图,该装置可W包括网络设备,用于实现图1所示实施例的方法,该装置可W包括: 解析模块610、标识查找模块620、转换信息查找模块630和转换模块640。
[0096] 解析模块610,被配置为对接收的报文进行解析,得到报文的五个匹配域的信息;
[0097] 标识查找模块620,被配置为根据解析模块610解析到的五个匹配域的信息查找 预先根据MT规则编译的最新的决策树,得到MT规则的唯一标识;
[0098] 转换信息查找模块630,被配置为根据标识查找模块620查找到的MT规则的唯一 标识在转换表中查找得到转换信息;
[0099] 转换模块640,被配置为基于转换信息查找模块630查找到的转换信息对报文进 行转换。
[0100] 在一个可选的实现方式中,该装置还可W包括: 阳101] 编译模块650,被配置为预先基于NAT规则编译决策树 阳102] 在一个可选的实现方式中,编译模块650可W包括:
[0103] 处理子模块,被配置为对所述NAT规则中的各个匹配域的数据进行处理,得到若 干个匹配规则,各所述匹配规则在各匹配域上只有一个范围;
[0104] 判断子模块,被配置为判断当前捜索空间是否满足停止拆分条件;
[0105] 拆分域确定子模块,被配置为若所述判断子模块判断为否,从所述当前捜索空间 的所述匹配域中确定拆分域,在所述拆分域中确定拆分点;所述当前捜索空间为满足当前 匹配域及匹配条件的所有匹配规则的集合
[0106] 拆分子模块,被配置为通过所述拆分点对所述拆分域进行拆分;
[0107] 若是,则对所述当前捜索空间停止拆分,将与所述当前捜索空间相交的匹配规则 作为叶节点;
[0108] 其中,所述拆分条件为:与所述当前捜索空间相交的匹配规则完全包含所述捜索 空间中各个匹配域的最大范围。
[0109] 在一个可选的实现方式中,处理子模块包括:
[0110] 合并子模块,被配置为对于所述匹配域数据包括两个或两个W上相交叉的范围 时,将有重合的范围合并为一个范围; 阳111] 排列子模块,被配置为根据各个所述匹配域所包含的范围个数进行排列组合,得 到若干个匹配规则。
[0112] 在一个可选的实现方式中,拆分域确定子模块包括:
[0113] 第一确定子模块,被配置为基于式(1)来确定所述拆分域:
[0114]
式(1)
[0115] 其中,F表示拆分域的维度,d表示维度数,Sr[j]表示在F维度上,落入第j个投 影区间的匹配规则的个数。
[0116] 在一个可选的实现方式中,拆分域确定子模块包括:
[0117] 第二确定子模块,被配置为基于式(2)从所述拆分域中确定拆分点:
阳11引 式似。
[0119] 仕一/|、W化W头现々巧甲,巧策树包括两个决策树,一个所述决策树处于运行状 态,另一个所述决策树处于备份状态;所述装置还包括:
[0120] 覆盖模块,被配置为当所述MT规则有变化时,基于新的MT规则编译决策树并覆 盖处于备份状态的所述决策树; 阳121] 提醒模块,被配置为当编译完成时,发出决策树切换的提醒消息,将新编译的决策 树作为正在运行的决策树,将原处于运行状态的决策树停止运行,进入备份状态。
[0122] 上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的 实现过程,在此不再寶述。
[0123] 对于装置实施例而言,由于其基本对应于方法实施例,所W相关之处参见方法实 施例的部分说明即可。W上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件 说明的单元可W是或者也可W不是物理上分开的,作为单元显示的部件可W是或者也可W 不是物理单元,即可W位于一个地方,或者也可W分布到多个网络单元上。可W根据实际的 需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付 出创造性劳动的情况下,即可W理解并实施。
[0124] W上所述仅为本申请的较佳实施例而已,并不用W限制本申请,凡在本申请的精 神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
【主权项】
1. 一种基于网络地址转换规则的报文转换方法,应用于网络设备上,其特征在于,包 括: 对接收的报文进行解析,得到所述报文的五个匹配域的信息; 根据所述五个匹配域的信息查找预先根据网络地址转换NAT规则编译的最新的决策 树,得到NAT规则的唯一标识; 根据所述NAT规则的唯一标识在转换表中查找得到转换信息; 基于所述转换信息对所述报文进行转换。2. 根据权利要求1所述的方法,其特征在于,所述方法还包括: 预先基于NAT规则编译决策树。3. 根据权利要求2所述的方法,其特征在于,所述预先基于NAT规则编译决策树,包 括: 对所述NAT规则中的各个匹配域的数据进行处理,得到若干个匹配规则,各所述匹配 规则在各匹配域上只有一个范围; 判断当前捜索空间是否满足停止拆分条件,若否,从所述当前捜索空间的所述匹配域 中确定拆分域,在所述拆分域中确定拆分点;所述当前捜索空间为满足当前匹配域及匹配 条件的所有匹配规则的集合; 通过所述拆分点对所述拆分域进行拆分; 若是,则对所述当前捜索空间停止拆分,将与所述当前捜索空间相交的匹配规则作为 叶节点; 其中,所述拆分条件为:与所述当前捜索空间相交的匹配规则完全包含所述捜索空间 中各个匹配域的最大范围。4. 根据权利要求3所述的方法,其特征在于,所述对所述NAT规则中的各个匹配域数据 进行处理,得到若干个匹配规则,包括: 对于所述匹配域数据包括两个或两个W上相交叉的范围时,将有重合的范围合并为一 个范围; 根据各个所述匹配域所包含的范围个数进行排列组合,得到若干个匹配规则。5. 根据权利要求3所述的方法,其特征在于,所述从所述匹配域中确定拆分域,包括: 基于式(1)来确定所述拆分域:式(1) 其中,F表示拆分域的维度,d表示维度数,Sr [j]表示在F维度上,落入第j个投影区 间的匹配规则的个数。6. 根据权利要求3所述的方法,其特征在于,所述从所述拆分域中确定拆分点,包括: 基于式(2)从所述拆分域中确定拆分点:式似。7. 根据权利要求1所述的方法,其特征在于,所述决策树包括两个决策树,一个所述决 策树处于运行状态,另一个所述决策树处于备份状态;所述方法还包括: 当所述NAT规则有变化时,基于新的NAT规则编译决策树并覆盖处于备份状态的所述 决策树; 当编译完成时,发出决策树切换的提醒消息,将新编译的决策树作为正在运行的决策 树,将原处于运行状态的决策树停止运行,进入备份状态。8. -种基于网络地址转换规则的报文转换装置,应用于网络设备上,其特征在于,包 括: 解析模块,被配置为对接收的报文进行解析,得到所述报文的五个匹配域的信息; 标识查找模块,被配置为根据所述五个匹配域的信息查找预先根据NAT规则编译的最 新的决策树,得到NAT规则的唯一标识; 转换信息查找模块,被配置为根据所述NAT规则的唯一标识在转换表中查找得到转换 ?目息; 转换模块,被配置为基于所述转换信息对所述报文进行转换。9. 根据权利要求8所述的装置,其特征在于,所述装置还包括: 编译模块,被配置为预先基于NAT规则编译决策树。10. 根据权利要求9所述的装置,其特征在于,所述编译模块包括: 处理子模块,被配置为对所述NAT规则中的各个匹配域的数据进行处理,得到若干个 匹配规则,各所述匹配规则在各匹配域上只有一个范围; 判断子模块,被配置为判断当前捜索空间是否满足停止拆分条件; 拆分域确定子模块,被配置为若所述判断子模块判断为否,从所述当前捜索空间的所 述匹配域中确定拆分域,在所述拆分域中确定拆分点;所述当前捜索空间为满足当前匹配 域及匹配条件的所有匹配规则的集合 拆分子模块,被配置为通过所述拆分点对所述拆分域进行拆分; 若是,则对所述当前捜索空间停止拆分,将与所述当前捜索空间相交的匹配规则作为 叶节点; 其中,所述拆分条件为:与所述当前捜索空间相交的匹配规则完全包含所述捜索空间 中各个匹配域的最大范围。11. 根据权利要求10所述的装置,其特征在于,所述处理子模块包括: 合并子模块,被配置为对于所述匹配域数据包括两个或两个W上相交叉的范围时,将 有重合的范围合并为一个范围; 排列子模块,被配置为根据各个所述匹配域所包含的范围个数进行排列组合,得到若 干个匹配规则。12. 根据权利要求10所述的装置,其特征在于,所述拆分域确定子模块包括: 第一确定子模块,被配置为基于式(1)来确定所述拆分域:式(1) 其中,F表示拆分域的维度,d表示维度数,Sr [j]表示在F维度上,落入第j个投影区 间的匹配规则的个数。13. 根据权利要求10所述的装置,其特征在于,所述拆分域确定子模块包括: 第二确定子模块,被配置为基于式(2)从所述拆分域中确定拆分点:式似。14.根据权利要求8所述的装置,其特征在于,所述决策树包括两个决策树,一个所述 决策树处于运行状态,另一个所述决策树处于备份状态;所述装置还包括: 覆盖模块,被配置为当所述NAT规则有变化时,基于新的NAT规则编译决策树并覆盖处 于备份状态的所述决策树; 提醒模块,被配置为当编译完成时,发出决策树切换的提醒消息,将新编译的决策树作 为正在运行的决策树,将原处于运行状态的决策树停止运行,进入备份状态。
【文档编号】H04L12/749GK105939269SQ201510967791
【公开日】2016年9月14日
【申请日】2015年12月18日
【发明人】袁野
【申请人】杭州迪普科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1