一种基于二分查找的域间路径标识前缀匹配方法

文档序号:1802158 发布日期:2021-11-05 浏览:19次 >En<

阅读说明:本技术 一种基于二分查找的域间路径标识前缀匹配方法 (Inter-domain path identifier prefix matching method based on binary search ) 是由 罗洪斌 刘洲彪 张珊 于 2021-08-09 设计创作,主要内容包括:本发明公开了一种基于二分查找的域间路径标识前缀匹配方法,该方法基于CoLoR架构中的网络拓扑树,利用其中保存的PID前缀及其长度信息,计算匹配时需要使用的前缀位数,并截取该位数对应的前缀作为索引对路径进行排序,并将该序列信息保存至网络拓扑树中,再利用请求包中携带的PID序列信息,将PID序列中的每一个PID与网络拓扑树中的路径进行匹配,将PID按照需要使用的前缀位数进行截取作为索引进行二分查找,从而找到对应的路径,对PID序列中的每一个PID进行该匹配操作,即可找到该请求包的发送者。该方法解决了如何利用网络拓扑树及请求包中的PID序列信息找到该请求包发送者的问题,提高了网络溯源的准确性。(The invention discloses an inter-domain path identification prefix matching method based on binary search, which is based on a network topology tree in a CoLoR framework, calculates prefix digits required to be used during matching by utilizing stored PID prefixes and length information thereof, intercepts the prefixes corresponding to the digits as indexes to sequence paths, stores the sequence information into the network topology tree, matches each PID in a PID sequence with the paths in the network topology tree by utilizing PID sequence information carried in a request packet, intercepts the PID according to the prefix digits required to be used as the indexes to perform binary search, thereby finding the corresponding path, and performs the matching operation on each PID in the PID sequence to find a sender of the request packet. The method solves the problem of how to find the sender of the request packet by using the network topology tree and the PID sequence information in the request packet, and improves the accuracy of network tracing.)

一种基于二分查找的域间路径标识前缀匹配方法

技术领域

本发明涉及计算机网络技术领域,更具体的是,本发明涉及一种基于二分查找的域间路径标识前缀匹配方法。

背景技术

随着互联网技术的飞速发展,网络攻击、非法入侵等危害网络安全的事件频频发生,网络安全技术成为一个越来越受到全球用户和网络建设者关注的研究领域之一。现有TCP/IP网络架构设计非常简洁,按照“尽全力交付”的思想进行设计,主要目标是将数据报文从发送者转发至接收者,而无法为服务质量提供保证,在安全性的保护上存在天然的缺失。由于现有TCP/IP网络架构中缺少安全机制的设计,恶意的网络攻击者可以通过伪造源地址等方式发起分布式拒绝服务攻击等各类网络攻击行为,而现有的流量溯源方法大都需要部署额外的网络设备,或者付出额外的计算开销,并且溯源的规模和准确性都存在问题,无法进行大规模部署。因此对于新型网络架构的设计者来说,溯源问题成为一个需要关注的重点问题。

“CoLoR架构”是一种基于路径标识的新型路由体系结构,其核心思想是边界路由器为每条域间路径分配一个域间路径标识前缀(Path Identifier,PID),域间按域间路径标识前缀进行路由。“CoLoR架构”出处请参考“IEEE Network”2014年第3期第28卷《CoLoR:an information-centric internet architecture for innovations》罗洪斌,陈哲等人。

在CoLoR架构中,自治域(AS:Autonomous System)、域间路径(Path)、域间路径标识(PID:Path Identifier)和域间路径标识前缀(PX:PID-Prefix)等定义如下:

自治域AS:指一组处于相同的管理与技术控制下的路由器集合所在的同一个区域。

域间路径Path:两个自治域之间进行数据传输的通道。

域间路径标识PID:是一串二进制数字,如011011001101010101。一个域间路径标识PID可由域间路径标识前缀(Path Prefix,PX)部分和域间路径标识非前缀部分构成;在具体应用中,域间路径标识长度(Length)通常是固定的。如0x10A4/14,“/”后的数字14表明Length是14位。

CoLoR架构为自治域间的每条域间路径Path分配一个域间路径标识前缀PX。分配的原则是:给定一个自治域,为该自治域与其它自治域之间的所有域间路径分配的域间路径标识前缀不同,且这些域间路径标识前缀PX互不相交(即:任意两个域间路径标识前缀之间,没有相同的域间路径标识PID)。

在CoLoR网络体系架构中,网络报文转发过程中会将路径标识封装在报文内,自治域的管理者可通过收集报文中的路径标识信息,实现网络拓扑推断、流量溯源等功能。其中,利用报文中包含的路径标识序列信息,在网络拓扑树中进行逐跳匹配,最终找到报文的发送者,成为网络溯源功能实现的基础。

发明内容

为了解决网络溯源中域间路径标识前缀匹配问题,本发明提出了基于二分查找的的域间路径标识前缀匹配方法。本发明能够根据已知的网络拓扑树,以及每条域间路径对应的域间路径标识前缀,计算匹配时所需要的域间路径标识的比较位数,并按照该位数截取域间路径标识前缀,再利用域间路径标识前缀的数值大小基于二分查找进行匹配。通过本发明方法能够将输入的域间路径标识前缀与已知的网络拓扑树进行匹配,从而找到报文的发送者。

本发明的一种基于二分查找的域间路径标识前缀匹配方法,其特征在于包括有下列步骤:

步骤1,获得以观察节点O为根节点的域间路径网络拓扑树TREE;

在以观察节点O为根节点的域间路径网络拓扑树TREE中,自治域节点的总个数为M+η;

M表示属于根节点O的子节点个数;

η表示属于子节点Nn的子节点个数;

根节点O的子节点集合,记为根节点O的父-子-节点集SSNode,O,且SSNode,O=[N1,N2,…,Nn,…,Nm,…NM];

O为网络拓扑树的根节点;

N1为网络拓扑树的第1个自治域节点;

N2为网络拓扑树的第2个自治域节点;

Nm为网络拓扑树的第m个自治域节点;

下角标m表示自治域节点的标识号;

NM为网络拓扑树的最后一个自治域节点;

为了方便说明,所述Nm也称为任意一个自治域节点;Nn为网络拓扑树的第n个自治域节点;自治域节点Nm与自治域节点Nn为不同节点;Nm∈NM,Nn∈NM

令自治域节点Nn为域间路径网络拓扑树TREE中的子节点;

根节点O的子节点Nn的子节点集合,记为子节点Nn的父-子-节点集Nη为网络拓扑树的第η个自治域节点;

在域间路径网络拓扑树TREE中,根节点O与所述SSNode,O的域间路径集合,记为节点O的父-子-域间路径集合SPNow,O,且

提取SPNow,O中最短的域间路径标识长度,记为LengthO;所述LengthO对应的是节点Nm域间路径标识长度;

在域间路径网络拓扑树TREE中,子节点Nn与所述的域间路径集合,记为子节点Nn的父-子-域间路径集合

提取中最短的域间路径标识长度,记为所述对应的是节点N3的域间路径标识长度;

步骤2,统一域间路径标识长度Length;

设置域间路径标识长度为统一长度,不足位的用零补位;统一长度是32位、48位、64位或者128位;

对所述SPNow,O中的域间路径进行补充零至统一长度为止,得到充位后的域间路径标识序列,记为

对所述中的域间路径进行补充零至统一长度为止,得到充位后的域间路径标识序列,记为

步骤3,获取域间路径标识前缀PX;

比较充位后的域间路径标识序列从左至右找出不相同的数字,则为根节点O与其子节点的域间路径标识前缀PX-SSNode,O

比较充位后的域间路径标识序列从左至右找出不相同的数字,则为子节点Nn与其子节点的域间路径标识前缀

步骤4,截取位数的设置;

中,以LengthO为截取位数,从左至右从所述中截取部分域间路径标识,得到截取后的域间路径标识序列,记为LO表示根节点O与其子节点的最大截取位;

中,以为截取位数,从左至右从所述中截取部分域间路径标识,得到截取后的域间路径标识序列,记为 表示子节点Nn与其子节点的最大截取位;

比较LO选取最大的最大截取位作为匹配截取位数,记为Lmax

步骤5,依据匹配截取位数Lmax截取映射域间路径;

依据Lmax中从左至右截取域间路径,得到根节点O的域间路径-截取-映射集合,记为

依据Lmax中从左至右截取域间路径,得到子节点Nn的域间路径-截取-映射集合,记为

步骤6,对根节点为O的拓扑结构树进行映射域间路径的排序;

按照截取的域间路径标识的大小对中进行从小到大的顺序进行排序,获得有序的域间路径-截取-映射序列,记为PPOrder

从所述PPOrder中能够获得以观察节点O为根节点的域间路径网络拓扑树TREE的二分查找的索引,记为PINow

步骤7,通过请求包的截取域间路径获取请求包发送者;

待匹配的请求包中有β条域间路径标识序列,分别是MPID1,MPID2,…,MPIDβ

步骤701,依据步骤4得到的匹配截取位数Lmax对请求包中的域间路径标识序列进行从左至右截取,得到请求包的截取域间路径,记为

步骤702,从步骤6获得的PPOrder中找出与相同的截取域间路径,记为请求包的截取域间路径PP请求包

步骤703,将PPOrder中位于所述PP请求包之前的元素作为匹配元素,记为PNHit

步骤704,由于匹配元素PNHit中存在有多条有序的域间路径-截取-映射序列,提取出各个节点的域间路径标识序列;然后,对比域间路径标识序列大小,选取最小的域间路径标识序列作为请求包的发送者。

本发明基于二分查找的的域间路径标识前缀匹配方法的优点在于:

①本发明所述的一种基于二分查找的域间路径标识前缀匹配方法,可以根据已知的域间路径标识前缀长度信息,计算域间路径标识前缀长度不同的情况下匹配时所使用的比较位数,便于对待匹配的域间路径标识进行截取。

②本发明所述的一种基于二分查找的域间路径标识前缀匹配方法,利用域间路径标识前缀本身数值大小的信息,可以对域间路径进行排序,并利用二分查找快速获得匹配的结果,为网络溯源奠定基础。

附图说明

图1为本发明的一种基于二分查找的域间路径标识前缀匹配方法流程图。

图2为域间路径标识。

图3为本发明的以观察节点为根节点构建的域间路径网络拓扑树。

图4为待匹配请求包中的域间路径标识序列。

图5为本发明基于二分查找的域间路径标识前缀匹配方法中第一跳路径的前缀补位示意图。

图6为本发明基于二分查找的域间路径标识前缀匹配方法中第二跳路径的前缀补位示意图。

具体实施方式

下面将结合附图和实施例对本发明做进一步的详细说明。

域间路径标识长度(Length):指构成域间路径标识(PID)的二进制数字的个数。域间路径标识长度可为32、48、64、128位等任意数字,如图2所示。为了便于表述,后面假定域间路径标识长度为32位,并采用类似IPv4地址的点分十进制记法,如1.0.0.0。所述域间路径标识的二进制数中有前缀和非前缀位,如:一个长度为32为的域间路径标识由21位前缀和11位非前缀位构成,其结构如表1所示:

表1域间路径标识结构

域间路径标识前缀(PX) 非前缀(PXN)

注:非前缀(PXN)是依据“计算HASH的方法”所得的二进制数字串。

域间路径标识前缀(Path Prefix,PX):指给定域间路径标识长度时,一段连续的域间路径标识,并且这些域间路径标识最左边的若干二进制数相同。例如,假定域间路径标识的长度为8位,则域间路径标识00001000、00001001、00001010、00001011的前6位二进制数相同。因此,000010为这四个域间路径标识的前缀,其长度Length=6。

实施例1

CoLoR网络架构中的请求包(GET)中包含有域间路径标识(PID)信息,请求包(GET)每经过一条域间路径(Path),就会在其中添加一个域间路径标识(PID),请求包的接收者(Recipient)可提取请求包中的域间路径标识序列,并与已知的网络拓扑树进行匹配,从而定位请求包的发送者(Sender)。已知的网络拓扑树中有根节点、子节点和叶子节点。本发明的基于二分查找的域间路径标识前缀匹配只是针对根节点和子节点处理,就能够定位出请求包的发送者(Sender)。

在实施例1中的一个网络拓扑树如图3所示,图中根节点O为请求包的接收者或称为观察者。

网络拓扑树中的自治域节点集合,记为SNode={O,N1,N2,N3,N4,N5,N6,N7,N8}。

O为网络拓扑树的根节点。

N1为网络拓扑树的第1个自治域节点。

N2为网络拓扑树的第2个自治域节点。

N3为网络拓扑树的第3个自治域节点。

N4为网络拓扑树的第4个自治域节点。

N5为网络拓扑树的第5个自治域节点。

N6为网络拓扑树的第6个自治域节点。

N7为网络拓扑树的第7个自治域节点。

N8为网络拓扑树的第8个自治域节点。

为了表示出父-子的节点信息的自治域节点集合形式,所述SNode也表示为其中,根节点为O,子节点为N2,其余均为叶子节点。

网络拓扑树中的根节点O的子节点集合,记为节点O的父-子-节点集SSNode,O,且SSNode,O=[N1,N2,N3,N4,N5]。

网络拓扑树中的节点N2的子节点集合,记为节点N2的父-子-节点集

网络拓扑树中的根节点O的子节点的子节点集合,记为节点O的父-子-子-节点集

网络拓扑树中节点O与自身子节点之间的域间路径集合,记为节点O的父-子-域间路径集合SPNow,O,且

表示根节点O与节点N1之间进行数据传输的通道,且 为根节点O与节点N1的域间路径, 的Length=14。所述简称为根节点O的第1条域间路径。

表示根节点O与节点N2之间进行数据传输的通道,且 为根节点O与节点N2的域间路径, 的Length=12。所述简称为根节点O的第2条域间路径。

表示根节点O与节点N3之间进行数据传输的通道,且 为根节点O与节点N3的域间路径, 的Length=11。所述简称为根节点O的第3条域间路径。

表示根节点O与节点N4之间进行数据传输的通道,且 为根节点O与节点N4的域间路径, 的Length=12。所述简称为根节点O的第4条域间路径。

表示根节点O与节点N5之间进行数据传输的通道,且 为根节点O与节点N5的域间路径, 的Length=13。所述简称为根节点O的第1条域间路径。

网络拓扑树中节点N2与自身子节点之间的域间路径集合,记为节点N2的父-子-域间路径集合

表示节点N2与节点N6之间进行数据传输的通道,且 为节点N2与节点N6的域间路径, 的Length=10。所述简称为节点N2的第1条域间路径。

表示节点N2与节点N7之间进行数据传输的通道,且 为节点N2与节点N7的域间路径, 的Length=12。所述简称为节点N2的第2条域间路径。

表示节点N2与节点N8之间进行数据传输的通道,且 为节点N2与节点N8的域间路径, 的Length=13。所述简称为节点N2的第3条域间路径。

在图3中的网络拓扑树中存在的域间路径集合,记为

一个可能的请求包(GET)中携带的域间路径标识序列(MPID)如图2、图4所示。按照本发明方法能够完成域间路径标识序列(MPID)的匹配,定位出该请求包(GET)的发送者。

本发明的一种基于二分查找的域间路径标识前缀匹配方法,有包括下列步骤:步骤1,获得以观察节点O为根节点的域间路径网络拓扑树TREE;

如图3所示,在以观察节点O为根节点的域间路径网络拓扑树TREE中,根节点O的子节点集合,记为根节点O的父-子-节点集SSNode,O,且SSNode,O=[N1,N2,N3,N4,N5]。

根节点O的子节点N2的子节点集合,记为节点N2的父-子-节点集

在域间路径网络拓扑树TREE中,根节点O与节点O的父-子-节点集SSNode,O的域间路径集合,记为节点O的父-子-域间路径集合SPNow,O,且进而

在SPNow,O中的最短域间路径标识长度是11。即节点N3的域间路径标识长度。在域间路径网络拓扑树TREE中,节点N2与节点N2的父-子-节点集的域间路径集合,记为节点N2的父-子-域间路径集合进而

中的最短域间路径标识长度是10。即节点N6的域间路径标识长度。步骤2,统一域间路径标识长度Length;

在实施例1中域间路径标识长度(Length)统一为32位。

对所述SPNow,O中的域间路径进行补充零至32位为止,如图5所示,得到充位后的域间路径标识序列,记为

对所述中的域间路径进行补充零至32位为止,如图6所示,得到充位后的域间路径标识序列,记为

步骤3,获取域间路径标识前缀PX;

比较充位后的域间路径标识序列从左至右找出不相同的数字,则为域间路径标识前缀PX。

如图5所示,[0001 0000]为的域间路径标识前缀PX,位于所述[0001 0000]之后的域间路径标识为非前缀PXN。

比较充位后的域间路径标识序列从左至右找出不相同的数字,则为域间路径标识前缀PX。

如图6所示,[0001 0000]为的域间路径标识前缀PX,位于所述[0001 0000]之后的域间路径标识为非前缀PXN。

步骤4,截取位数的设置;

中,以SPNow,O的最短域间路径标识长度11为截取位数,从左至右从所述中截取部分域间路径标识,得到截取后的域间路径标识序列,记为LO表示根节点O与其子节点的最大截取位。

中,以的最短域间路径标识长度10为截取位数,从左至右从所述中截取部分域间路径标识,得到截取后的域间路径标识序列,记为 表示节点N2与其子节点的最大截取位。

比较LO=11与选取最大的最大截取位作为匹配截取位数,记为Lmax,且Lmax=11。

步骤5,依据匹配截取位数Lmax截取映射域间路径;

依据Lmax=11从中从左至右截取域间路径,得到根节点O的域间路径-截取-映射集合,记为

依据Lmax=11从中从左至右截取域间路径,得到节点N2的域间路径-截取-映射集合,记为

步骤6,对根节点为O的拓扑结构树进行映射域间路径的排序;

按照截取的域间路径标识的大小对中进行从小到大的顺序进行排序,获得有序的域间路径-截取-映射序列,记为PPOrder,且

从所述PPOrder中能够获得以观察节点O为根节点的域间路径网络拓扑树TREE的二分查找的索引,记为PINow,且PINow=0001 0000 011。二分查找索引的元素个数,记为MPINow,且MPINow={1}。

步骤7,通过请求包的截取域间路径获取请求包发送者;

如图4所示,实施例1中待匹配的请求包中有2条域间路径标识序列,分别是MPID1和MPID2。

第1条域间路径标识MPID1=<0001 0000 0110 1010 1101 0011 0110 1011>。

第2条域间路径标识MPID2=<0001 0000 0110 1110 0101 1001 1110 0011>。

步骤701,依据步骤4得到的匹配截取位数Lmax(Lmax=11)对请求包中的域间路径标识序列进行从左至右截取,得到请求包的截取域间路径,记为

步骤702,从步骤6获得的中找出与相同的截取域间路径,记为请求包的截取域间路径PP请求包,且赋值后

步骤703,将中位于之前的元素作为匹配元素,记为PNHit,且赋值后

步骤704,由于匹配元素PNHit中存在有多条有序的域间路径-截取-映射序列,提取出各个节点的域间路径标识序列;

然后,通过对比节点N6比节点N5的域间路径标识序列大小,选取最小的域间路径标识序列作为请求包的发送者,则节点N6为请求包的发送者。

节点N5的域间路径标识序列为<0001 0000 0100 1000 0000 0000 0000 0000>。

节点N6的域间路径标识序列为<0001 0000 0100 0000 0000 0000 0000 0000>。

本发明是一种基于二分查找的域间路径标识前缀匹配方法,所要解决的是如何利用已知网络拓扑树和请求包中的域间路径标识序列匹配到请求包发送者的技术问题,该方法根据网络拓扑树中包含的域间路径标识信息,计算最大截取位数,并据此截取域间路径标识前缀作为二分查找的索引,再将请求包中域间路径标识序列中的域间路径标识按照相同的最大截取位数进行截取,利用二分查找的技术手段进行匹配,从而实现准确而快速的域间路径标识前缀匹配,定位请求包的发送者,获得依据网络拓扑树及请求包中的域间路径标识序列进行请求包溯源的技术效果。

19页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:网络优化方法、系统及网络设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!