基于流突发性的多路径路由系统转让专利

申请号 : CN202010332340.X

文献号 : CN111490934B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 党浩许都马旭阳

申请人 : 电子科技大学

摘要 :

本发明公开了一种基于流突发性的多路径路由系统,包括网关节点和转发节点,每当新的Flowlet数据报文到达网关后,网关节点为其寻找尚未使用的标签,并记录该标签的使用,然后先发送控制信令报文为后续转发节点建立标签指令表,最后将数据报文添加标签转化为携带标签报文进行转发;转发节点先收取控制信令报文,读取其中的内容并将其加入标签指令表中,后续收取到携带标签报文时直接查找标签进行转发处理。本发明利用网络流量突发性特点,通过在TTL字段中设置标签实现多路径路由,在兼容现有协议的同时提高路由性能。

权利要求 :

1.一种基于流突发性的多路径路由系统,其特征在于包括网关节点和转发节点,其中:网关节点用于接收用户发送的数据报文并进行Flowlet划分,划分时所采用的时间间隔大于该数据报文源地址和目的地址间所有路径的最大时延差,然后对数据报文进行处理,即基于Flowlet为其确定转发策略并进行路径计算,对其分发标签后进行转发,具体包括:

网关节点维护Flowlet状态表、转发策略表、已使用标签表,其中Flowlet状态表用于存储各个Flowlet的匹配项和对应的标签、路径以及Flowlet的持续时间;转发策略表用于存储各Flowlet所对应的转发策略,具体转发策略预先根据需要进行设置;已使用标签表用于存储当前系统中正在使用的标签及其对应的失效时间;

网关节点对数据报文的处理步骤包括:

S1:判断该数据报文所在的Flowlet是否存在于Flowlet状态表,即从数据报文中提取匹配项,在Flowlet状态表中查找是否存在,如果不存在,进入步骤S2,否则进入步骤S6;

S2:在转发策略表中搜索该数据报文所在的Flowlet对应的转发策略,即提取该数据报文的匹配项,在转发策略表中进行匹配,如果不存在对应的转发策略,进入步骤S3,否则进入步骤S4;

S3:将当前数据报文的TTL字段中的最高2位设置为“00”,即标记为传统路由数据报文,然后进行转发;

S4:从转发策略表中提取出数据报文所在Flowlet的转发策略,根据该转发策略计算出N条并行的转发路径,其中N根据实际需要设置;

S5:从未使用标签中选择一个作为当前数据报文所在Flowlet的标签,根据需要设置其失效时间,失效时间采用相对时间,然后将该标签和失效时间记录至已使用标签表中,并将Flowlet匹配项和对应的标签、路径以及Flowlet的持续时间记录至Flowlet状态表中;

S6:判断Flowlet控制信息是否失效,如果失效,进入步骤S7,否则进入步骤S9;

S7:从Flowlet状态表提取出当前数据报文所在Flowlet的标签和N条转发路径,进入步骤S8,同时在已使用标签表将该Flowlet标签对应的失效时间推后一个Flowlet间隔;

S8:分别为每条转发路径生成对应的控制信令报文,其中控制信令报文的源地址和目的地址与当前数据报文相同,其内容为数据报文所在Flowlet的标签、对应的失效时间以及转发路径,并设置报头中TTL字段的最高2位为“01”,然后发送控制信息报文;

S9:设置数据报文的报头中TTL字段的最高1位为“1”,第2位至第4位为数据报文所在Flowlet的标签,将原始数据报文转化为携带标签报文进行发送;

转发节点维护一个标签指令表,包括Flowlet标识以及其对应的指令和失效时间,其中Flowlet标识包括Flowlet的源地址和目的地址以及标签,指令包括转发路径中当前转发节点所需完成的操作;转发节点在接收到数据报文后,首先提取其TTL字段中最高1位,如果是

1则该数据报文为携带标签报文,如果不是再进一步提取TTL字段中第2位,如果是0则为传统路由数据报文,否则为控制信令报文,对三种数据报文的处理方式分别如下:对于传统路由数据报文,转发节点按照传统路由方法进行转发;

对于控制信令报文,转发节点提取出Flowlet的源地址和目的地址、标签、指令、失效时间,记录至标签指令表中,然后按照控制信令报文中的路径信息转发至下一节点;

对于携带标签报文,转发节点首先判断自己是否是目的节点,如果是,则提取数据发送至上层应用,如果不是,则提取出数据报文的源地址和目的地址和标签,在标签指令表中查询得到对应指令进行操作,转发至下一节点,同时在标签指令表将该Flowlet标签对应的失效时间推后一个Flowlet间隔。

2.根据权利要求1所述的基于流突发性的多路径路由系统,其特征在于,所述的网关节点包括集中功能处理单元、路径控制引擎和数据库,其中:集中功能处理单元用于完成对数据报文的处理,包括确定转发策略、控制信令报文的生成与发送,数据报文的修改与发送,在确定好转发策略需要计算并行转发路径时,提取数据报文的源地址和目的地址,和转发策略一起打包为路径请求,发送给路径控制引擎,然后接收路径控制引擎反馈的并行转发路径进而生成控制信令报文;

路径控制引擎用于对路径请求进行响应,从路径请求提取源地址和目的地址和转发策略,计算得到相应的并行转发路径反馈于集中功能处理单元;

数据库用于存储Flowlet状态表、转发策略表、已使用标签表。

3.根据权利要求1所述的基于流突发性的多路径路由系统,其特征在于,所述的标签失效时间为当前数据报文所在Flowlet的间隔。

4.根据权利要求1所述的基于流突发性的多路径路由系统,其特征在于,所述转发节点在对标签指令表进行查询时,先对数据报文的源地址和目的地址使用16比特CRC算法查询,然后对标签值直接计算得到指令的存储位置。

说明书 :

基于流突发性的多路径路由系统

技术领域

[0001] 本发明属于多路径传输技术领域,更为具体地讲,涉及一种基于流突发性的多路径路由系统。

背景技术

[0002] 当今的OSPF(Open Shortest Path First,最短路优先协议)和BGP(Border Gateway Protocol,边界网关协议)等Internet路由协议主要被设计来提供端到端的“尽力
而为”服务。这些协议通过利用分布式的自治协议提供到达目的子网的单一路径来实现“尽
力而为”的概念。互联网的巨大成功使得各种互联网应用数量爆炸式增长,多种多样的互联
网应用显然已经不满足于传统的“尽力而为”服务,对链路带宽、端到端最小时延、高可靠性
链路等指标都提出了新的要求;海量的互联网应用产生的巨大流量也使得运营商不断的部
署新的网络设备,铺设更高速度的底层链路,传统的路由协议已无法充分利用规模越来越
大的网络结构,同时也难以向上层业务提供灵活的传输服务。因此,各种新的网络技术不断
崭露头角,其中多路径传输提供了一种新的传输技术。
[0003] 路由设备的多网卡接口实现,自治系统ISP(InternetService Provider,互联网服务提供商)的多宿主机部署方式,使得Internet拓扑天然具有多路径的特性。多路径传输
打破了原有单路径思路,从根本上比当前单路径传输更有效。就像数据包交换比电路交换
更有效一样,因为它充分利用了单个链路上空间和时间复用能力,网络的时间和空间维度
的复用增益效果从多路径传输上得以体现。除了充分利用网络的底层传输能力,多路径传
输还可以做为带宽聚合,最小化端到端时延,提高鲁棒性,增加稳定性,实现负载均衡,安全
分散路由等网络功能的实现技术手段。
[0004] 目前在无线移动网络中已经有很多多路径源路由技术的研究,也有许多与无线移动网相适应的多路径路由协议,路由算法,系统框架。无线网络路由协议从最开始的动态源
路由发展到多路径源路由,针对多路径下最小资源消耗、端到端时延、数据安全等问题的路
由算法不断改进,这些技术为Internet中的多路径路由问题提供了解决方案,技术储备上
已经能够支撑多路径路由的转发方式,然而现实应用中还存在一些实际问题需要解决。
[0005] 和Internet经过多年的发展,许多网络设备和协议已经在核心系统上运行,全面改造这些设备和协议以适应多路径路由显然是一个代价巨大的工程。现有的多路径路由系
统(例如MPTCP(Multiath TCP,多路径TCP)协议、等价(Equal Cost MultiPath,ECMP)协议)
难以兼容目前Internet中运行的已有协议,灵活性低,难以适应大规模多变的网络环境,系
统的部署存在困难。
[0006] 多路径路由也会引起单个流的报文在汇聚点乱序,当路径之间的时延不同时,后发送的报文可能会提前到达,造成报文的乱序,从而导致传输层协议TCP误判为网络拥塞,
最终导致传输层协议性能下降。系统的传输性能也是多路径路由系统需要解决的问题。
[0007] 可见,尽管多路径在减少时延,提高鲁棒性,增加系统稳定性有诸多优势,但是由于现有多路径传输系统不能完全兼容传统系统,无法满足不断增长的网络规模,也不能在
部署和功能上提供足够的灵活性。

发明内容

[0008] 本发明的目的在于克服现有技术的不足,提供一种基于流突发性的多路径路由系统,利用网络流量突发性特点,通过在TTL字段中设置标签实现多路径路由,在兼容现有协
议的同时提高路由性能。
[0009] 为了实现上述发明目的,本发明基于流突发性的多路径路由系统包括网关节点和转发节点,其中:
[0010] 网关节点用于接收用户发送的数据报文并进行Flowlet划分,划分时所采用的时间间隔大于该数据报文源目地址间所有路径的最大时延差,然后对数据报文进行处理,即
基于Flowlet为其确定转发策略并进行路径计算,对其分发标签后进行转发,具体包括:
[0011] 网关节点维护Flowlet状态表、转发策略表、已使用标签表,其中Flowlet状态表用于存储各个Flowlet的匹配项和对应的标签、路径以及Flowlet的持续时间;转发策略表用
于存储各Flowlet所对应的转发策略,具体转发策略可以预先根据需要进行设置;已使用标
签表用于存储当前系统中正在使用的标签及其对应的失效时间;
[0012] 网关节点对数据报文的处理步骤包括:
[0013] S1:判断该数据报文所在的Flowlet是否存在于Flowlet状态表,即从数据报文中提取匹配项,在Flowlet状态表中查找是否存在,如果不存在,进入步骤S2,否则进入步骤
S6;
[0014] S2:在转发策略表中搜索该该数据报文所在的Flowlet对应的转发策略,即提取该数据报文的匹配项,在转发策略表中进行匹配,如果不存在对应的转发策略,进入步骤S33,
否则进入步骤S4;
[0015] S3:将当前数据报文的TTL字段中的最高2位设置为“00”,即标记为传统路由数据报文,然后进行转发;
[0016] S4:从转发策略表中提取出数据报文所在Flowlet的转发策略,根据该转发策略计算出N条并行的转发路径,其中N根据实际需要设置;
[0017] S5:从未使用标签中选择一个作为当前数据报文所在Flowlet的标签,根据需要设置其失效时间,失效时间采用相对时间,然后将该标签和失效时间记录至已使用标签表中,
并将Flowlet匹配项和对应的标签、路径以及Flowlet的持续时间记录至Flowlet状态表中;
[0018] S6:判断Flowlet控制信息是否失效,如果失效,进入步骤S7,否则进入步骤S9;
[0019] S7:从Flowlet状态表提取出当前数据报文所在Flowlet的标签和N条转发路径,进入步骤S8,同时在已使用标签表将该Flowlet标签对应的失效时间推后一个Flowlet间隔;
[0020] S8:分别为每条转发路径生成对应的控制信令报文,其中控制信令报文的源地址和目的地址与当前数据报文相同,其内容为数据报文所在Flowlet的标签、对应的失效时间
以及转发路径,并设置报头中TTL字段的最高2位为“01”,然后发送控制信息报文;
[0021] S9:设置数据报文的报头中TTL字段的最高1位为“1”,第2位至第4位为数据报文所在Flowlet的标签,将原始数据报文转化为携带标签报文进行发送;
[0022] 转发节点维护一个标签指令表,包括Flowlet标识以及其对应的指令和失效时间,其中Flowlet标识包括Flowlet的源目地址以及标签,指令包括转发路径中当前转发节点所
需完成的操作;转发节点在接收到数据报文后,首先提取其TTL字段中最高1位,如果是1则
该数据报文为携带标签报文,如果不是再进一步提取TTL字段中第2位,如果是0则为传统路
由数据报文,否则为控制信令报文,对三种数据报文的处理方式分别如下:
[0023] 对于传统路由数据报文,转发节点按照传统路由方法进行转发。
[0024] 对于控制信令报文,转发节点提取出Flowlet的源目地址、标签、指令、失效时间,记录至标签指令表中,然后按照控制信令报文中的路径信息转发至下一节点。
[0025] 对于携带标签报文,转发节点首先判断自己是否是目的节点,如果是,则提取数据发送至上层应用,如果不是,则提取出数据报文的源目地址和标签,在标签指令表中查询得
到对应指令进行操作,转发至下一节点,同时在标签指令表将该Flowlet标签对应的失效时
间推后一个Flowlet间隔。
[0026] 本发明基于流突发性的多路径路由系统,包括网关节点和转发节点,每当新的Flowlet数据报文到达网关后,网关节点为其寻找尚未使用的标签,并记录该标签的使用,
然后先发送控制信令报文为后续转发节点建立标签指令表,最后将数据报文添加标签转化
为携带标签报文进行转发;转发节点先收取控制信令报文,读取其中的内容并将其加入标
签指令表中,后续收取到携带标签报文时直接查找标签进行转发处理。
[0027] 本发明具有以下有益效果:
[0028] 1、本发明具有很好的兼容性:以现有的IP网络结构为前提,从报文的格式到转发规范都遵守了现有网络协议的规范,仅仅对IP报文的TTL字段部分比特赋予了新的含义,因
而可以直接在现有网络结构中部署而无需进行改造;
[0029] 2、本发明解决了多路径路由系统中的报文乱序问题:多路径路由系统使用Flowlet作为基本传输单位,由网关节点计算出不同路径之间的最大时延差,然后可以利用
Flowlet间隔抵消路径时延差,从而解决了多路径传输的报文乱序问题;
[0030] 3、本发明简化了转发节点的结构,通过标签的使用提高了报文转发路径查找速度;
[0031] 4、本发明的路由计算更加灵活:网关节点可以针对不同的业务匹配不同的转发路径,从而使用不同的算法选择不同的路径。

附图说明

[0032] 图1是本发明中TTL字段设置示意图;
[0033] 图2是本发明基于流突发性的多路径路由系统的一种具体实施方式结构图;
[0034] 图3是本发明中网关节点对数据报文的处理流程图;
[0035] 图4是本发明中网关节点的结构图;
[0036] 图5是本发明多路径路由系统与传统非受控网络混合部署示意图。

具体实施方式

[0037] 下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许
会淡化本发明的主要内容时,这些描述在这里将被忽略。
[0038] 实施例
[0039] 为了更好地说明本发明的技术方案,首先对本发明所采用的技术进行简要说明。
[0040] ●Flowlet技术
[0041] Flowlet(微流)是一种介于报文和流(Flow)之间的传输单元。通常在应用程序、中间件、操作系统、传输层和链路层的整个网络系统中会使用批处理技术,而批处理会导致短
期的数据报突发。因此,在微观时间角度网络流量具有突发性的“火车式行为”,并不是均匀
的连续报文。将连续报文之间时间间隔超过一定隔阈值的报文划分到不同的组,相同的组
的报文构成一组突发报文,这组突发报文就称为一个Flowlet。
[0042] 以Flowlet为基本传输单位为多路径路由提供了一种新的解决思路。不同的传输路径拥有不同的时延差,而Flowlet之间也存在时间差,因此可以使用Flowlet之间的时间
差抵消不同传输路径的时延差。假设多条路径的最大时延差为△t,两个Flowlet之间的时
间间隔为t,那么发送端发送出的Flowlet到达接收端的时间差为t‑△t或y+△t,只要保证
(t‑△t)>0或(t+△t)>0,先发送的Flowlet就一定会先到达。由于时间都是正数,t+△t天然
大于0,所以只要保证(t‑△t)>0,也就是Flowlet的时间间隔大于路径时延差,即可保证
Flowlet之间不会乱序。由于Flowlet内部报文顺序在传输过程中不会发生变化,所以保证
了Flowlet之间的顺序正确性,自然就保证了报文之间顺序的正确性。Flowlet之间的时间
间隔控制是非常容易实现的,只要将划分Flowlet的时间阈值设置为相应值便可实现。因此
通过引入Flowlet可以避免对单个流使用多路径传输带来的报文乱序问题。
[0043] ●源路由
[0044] 源路由是指由最先接到数据报文的路由节点确定数据报的整个路由,不再是每个路由节点都参与路径决策的方式,而路由的标识会使用数据报头中的标签传递给后续的路
由节点。从而避免传统IP路由中要求每个路由节点在查询自己的路由表之前通过检查数据
包的目标IP地址来独立确定数据报的下一跳,节省时间和硬件资源,避免可能造成的应用
程序性能下降的问题。
[0045] ●TTL携带标签
[0046] 为了便于实现数据报文转发,需要在报文头部携带相应的标签信息,使得路由节点可以直接读取标签信息决定转发路径。在报文头部携带标签需要对头部数据做修改,由
于要兼容传统协议所以不能违反传统协议的规定。本发明选用报文头部的TTL字段携带标
签信息。TTL字段在每经过一个转发设备就会减1,只要不产生借位,TTL高比特的值永远保
持不变,这是因为欧几里和数学都是从低位开始运算,TTL的这一数据特性可以允许把标签
信息放在高4位比特位上,只要在低位TTL值没有被消耗尽前,所放置的标签信息都不会被
修改。
[0047] 图1是本发明中TTL字段设置示意图。如图1所示,本发明的多路径路由系统中存在三种类型的报文,通过TTL字段中的特殊编码区分,前两比特为00则表示传统路由数据报
文,前两比特为01则为控制信令报文,第一比特为1则表示携带标签报文;其中x表示用来作
为传统跳数限制的比特,y表示标签信息的比特。这种编码尽量考虑了减少对TTL字段的修
改比特,即使在携带标签报文中仍然有4比特作为跳数限制,最大可取值到15跳,其它两种
报文可取值到63。
[0048] 图2是本发明基于流突发性的多路径路由系统的一种具体实施方式结构图。如图2所示,本发明基于流突发性的多路径路由系统包括网关节点和转发节点,下面分别对两种
节点进行详细说明。
[0049] 网关节点用于接收用户发送的数据报文并进行Flowlet划分,划分时所采用的时间间隔大于该数据报文源目地址间所有路径的最大时延差,然后对数据报文进行处理,即
基于Flowlet为其确定转发策略并进行路径计算,对其分发标签后进行转发。网关节点对数
据报文进行处理的具体工作包括以下几个方面:
[0050] 网关节点维护Flowlet状态表、转发策略表、已使用标签表,其中Flowlet状态表用于存储各个Flowlet的匹配项和对应的标签、路径以及Flowlet的持续时间,Flowlet的持续
时间为网关节点为该Flowlet所计算的并行转发路径的最大时延差。表1是Flowlet状态表
的表项示例。
[0051]
[0052] 表1
[0053] 一般来说,为了控制表的大小,网关节点会对Flowlet进行监测,当超过一段时间不使用时,则在Flowlet状态表中将该Flowlet对应的信息删除。
[0054] 转发策略表用于存储各Flowlet所对应的转发策略,即Flowlet数据报文的转发方式,具体转发策略可以预先根据需要进行设置。表2是转发策略表的表项示例。
[0055]
[0056]
[0057] 表2
[0058] 已使用标签表用于存储当前系统中正在使用的标签及其对应的失效时间。表3是已使用标签表示例。
[0059]已使用标签 失效时间
1 t1
7 t2
… …
[0060] 表3
[0061] 图3是本发明中网关节点对数据报文的处理流程图。如图3所示,本发明中网关节点对数据报文的处理步骤包括:
[0062] S301:判断该数据报文所在的Flowlet是否存在于Flowlet状态表,即从数据报文中提取匹配项,在Flowlet状态表中查找是否存在,如果不存在,进入步骤S302,否则进入步
骤S306。
[0063] S302:匹配转发策略:
[0064] 在转发策略表中搜索该该数据报文所在的Flowlet对应的转发策略,即提取该数据报文的匹配项,在转发策略表中进行匹配,如果不存在对应的转发策略,进入步骤S303,
否则进入步骤S304。
[0065] S303:标记为传统路由数据报文:
[0066] 将当前数据报文的TTL字段中的最高2位设置为“00”,即标记为传统路由数据报文,然后进行转发。
[0067] S304:计算转发路径:
[0068] 从转发策略表中提取出数据报文所在Flowlet的转发策略,根据该转发策略计算出N条并行的转发路径,其中N根据实际需要设置。也就是说,本发明中Flowlet数据报文可
以通过N条并行的转发路径传输。
[0069] S305:分配Flowlet标签:
[0070] 从未使用标签中选择一个作为当前数据报文所在Flowlet的标签,根据需要设置其失效时间,失效时间采用相对时间,然后将该标签和失效时间记录至已使用标签表中,并
将Flowlet匹配项和对应的标签、路径以及Flowlet的持续时间记录至Flowlet状态表中。进
入步骤S308。
[0071] 可以看出,在本发明中,新标签信息的分发并不是使用周期性交互实现,而是通过新Flowlet来触发,这种方式可以适应Flowlet的突发性,提高控制信息建立的响应速度。
[0072] 一般来说,将失效时间设置为当前数据报文所在Flowlet的间隔。标签失效时间采用相对时间,可以避免不同设备之间时间同步的问题,后续转发节点采用相对时间也可以
抵消控制信令报文在路径上的传输时间。
[0073] S306:判断Flowlet控制信息是否失效,如果失效,进入步骤S307,否则进入步骤S309。
[0074] S307:提取Flowlet标签和转发路径:
[0075] 从Flowlet状态表提取出当前数据报文所在Flowlet的标签和N条转发路径,进入步骤S308,同时在已使用标签表将该Flowlet标签对应的失效时间推后一个Flowlet间隔。
[0076] 对于失效时间的更新,可以令标签信息在当前Flowlet流未传输完成之前不会失效,同时也能保证在下一个Flowlet到来之前旧的标签信息已经失效。通过Flowlet的持续
性自动维护标签的失效时间不需要引入额外的开销,极大地降低了控制信息同步的开销。
[0077] S308:生成控制信令报文:
[0078] 分别为每条转发路径生成对应的控制信令报文,其中控制信令报文的源地址和目的地址与当前数据报文相同,其内容为数据报文所在Flowlet的标签、对应的失效时间以及
转发路径,并设置报头中TTL字段的最高2位为“01”,然后发送控制信息报文。
[0079] S309:转发数据报文:
[0080] 设置数据报文的报头中TTL字段的最高1位为“1”,第2位至第4位为数据报文所在Flowlet的标签,将原始数据报文转化为携带标签报文进行发送。
[0081] 转发节点维护一个标签指令表,包括Flowlet标识以及其对应的指令和失效时间,其中Flowlet标识包括Flowlet的源目地址以及标签,指令包括转发路径中当前转发节点所
需完成的操作,一般包括TTL值的调整方式、转发的端口和链路。表4是标签指令表示例。
[0082] Flowlet标识 指令 失效时间源地址、目地址、1 m1 t1
源地址、目地址、7 m2 t2
… … …
[0083] 表4
[0084] 由于网关节点会发送出三种数据报文,因此转发节点针对每种数据报文有不同的处理方式。具体方法如下:
[0085] 转发节点在接收到数据报文后,首先提取其TTL字段中最高1位,如果是1则该数据报文为携带标签报文,如果不是再进一步提取TTL字段中第2位,如果是0则为传统路由数据
报文,否则为控制信令报文,对三种数据报文的处理方式分别如下:
[0086] 对于传统路由数据报文,转发节点按照传统路由方法进行转发。
[0087] 对于控制信令报文,转发节点提取出Flowlet的源目地址、标签、指令、失效时间,记录至标签指令表中,然后按照控制信令报文中的路径信息转发至下一节点。
[0088] 对于携带标签报文,转发节点首先判断自己是否是目的节点,如果是,则提取数据发送至上层应用,如果不是,则提取出数据报文的源目地址和标签,在标签指令表中查询得
到对应指令进行操作,转发至下一节点,同时在标签指令表将该Flowlet标签对应的失效时
间推后一个Flowlet间隔。
[0089] 在对标签指令表进行查询时,采用源目地址和标签作为标签标识,标签的取值范围非常小,将标签值作为数据的物理存储位置,一步查找即可获取到相应信息;IP地址由于
取值范围非常大,并且源目地址对组成的数值毫无规律,如果使用和标签一样的方式则耗
费大量存储空间进而导致系统无法工作。因此本实施例中,首先对数据报文的源目地址使
用16比特CRC(Cyclic Redundancy Check,循环冗余校验)算法查询,然后对标签值直接计
算得到指令的存储位置,从而提高查询效率。
[0090] 在本发明中,转发节点通过查找标签转发数据报文相比于传统的查找IP路由表速度将会有很大提升,同时转发节点的简化,不用再实现路由决策等三层网络功能。相比于传
统路由节点,转发节点无论从处理速度还是实现复杂度都会有非常大的优势。
[0091] 根据以上说明可知,在本发明中由网关节点承载了路由决策大部分功能,其操作相对复杂。因此,为了提高网关节点的运行效率,本实施例对网关节点的具体结构进行了改
进。图4是本发明中网关节点的结构图。如图4所示,本发明中网关节点包括集中功能处理单
元、路径控制引擎和数据库。下面分别对每个模块进行详细说明。
[0092] 集中功能处理单元用于完成对数据报文的处理,包括确定转发策略、控制信令报文的生成与发送,数据报文的修改与发送,在确定好转发策略需要计算并行转发路径时,提
取数据报文的源目地址,和转发策略一起打包为路径请求,发送给路径控制引擎,然后接收
路径控制引擎反馈的并行转发路径进而生成控制信令报文。
[0093] 路径控制引擎用于对路径请求进行响应,从路径请求提取源目地址和转发策略,计算得到相应的并行转发路径反馈于集中功能处理单元。
[0094] 数据库用于存储Flowlet状态表、转发策略表、已使用标签表。
[0095] 集中功能处理单元对于数据报文的具体处理步骤包括:
[0096] 1)接收到数据报文后,提取匹配项,查询数据库中的Flowlet状态表,判断该数据报文所在的Flowlet是否存在于Flowlet状态表,如果不存在,进入步骤2),否则进入步骤
S6;
[0097] 2)提取该数据报文的匹配项,查询数据库中的转发策略表,判断是否匹配成功,如果匹配不成功,进入步骤3),否则进入步骤4);
[0098] 3)将当前数据报文的TTL字段中的最高2位设置为“00”,即标记为传统路由数据报文,然后进行转发;
[0099] 4)从数据库的转发策略表中提取出数据报文所在Flowlet的转发策略,提取数据报文的源目地址,和转发策略一起打包为路径请求,发送给路径控制引擎;
[0100] 5)接收到路径控制引擎反馈的并行转发路径后,从未使用标签中选择一个作为当前数据报文所在Flowlet的标签,根据需要设置其失效时间,失效时间采用相对时间,然后
将该标签和失效时间记录至数据库的已使用标签表中,并将Flowlet匹配项和对应的标签、
路径以及Flowlet的持续时间记录至数据库的Flowlet状态表中;
[0101] 6)判断Flowlet控制信息是否失效,如果失效,进入步骤7),否则进入步9);
[0102] 7)从数据库的Flowlet状态表提取出当前数据报文所在Flowlet的标签和N条转发路径,进入步骤S8,同时在已使用标签表将该Flowlet标签对应的失效时间推后一个
Flowlet间隔;
[0103] 8)分别为每条转发路径生成对应的控制信令报文,其中控制信令报文的源地址和目的地址与当前数据报文相同,其内容为数据报文所在Flowlet的标签、对应的失效时间以
及转发路径,并设置报头中TTL字段的最高2位为“01”,然后发送控制信息报文;
[0104] 9)设置数据报文的报头中TTL字段的最高1位为“1”,第2位至第4位为数据报文所在Flowlet的标签,将原始数据报文转化为携带标签报文进行发送;
[0105] 为了便于路径控制引擎进行路径计算与更新,还可以在数据库中设置拓扑信息表和路径信息表,用于保存网络拓扑信息和现有的并行转发路径信息。通过拓扑信息表的设
置,可以令路径控制引擎在收到拓扑信息变化通知的情况下才会重新获取最新的拓扑信
息,从而加快路径计算的处理过程,减少与数据库的交互时间。而路径信息表的设置,使得
重新规划路径时无需和原来的业务请求方进行交互,直接修改路径转发表中的路径信息即
可。因为链路变化引起的路径调整过程对集中功能处理单元来说是透明的,通过数据库的
原子性保证两者对数据读取与修改的一致性,极大地降低了路径控制引擎的复杂性,使路
径控制引擎可以将更多的资源放在路径计算上。
[0106] 为了实现了网络结构的灵活性,集中功能处理单元、路径控制引擎和数据库之间通过相应网络接口进行交互,这样既可将三个功能模块部署到一台机器上,也可部署到多
台机器上进行冗余配置,以提高系统安全性和可靠性。
[0107] 本发明基于流突发性的多路径路由系统在实际进行系统部署时,既可以单独部署,也可以和传统的非受控网络混合部署。图5是本发明多路径路由系统与传统非受控网络
混合部署示意图。如图5所示,在混合部署时,有部分网络是传统非受控网络,传统非受控网
络具有IP报文传输能力,对于本发明的多路径路由系统来说,传统非受控网络是透明的,只
是将其看作点对点的传输路线;反过来,对于传统网络来说,本发明的多路径路由系统是透
明的,多路径路由系统所产生的报文被当作普通的传统IP报文处理。对于多路径路由系统
与传统网络来说相互都是透明的,各自独立工作,能实现这一模式的关键点在于对于TTL字
段的设置。借助TTL的数学特性,本发明以TTL字段作为中间桥梁,既完成了传统网络中跳数
限制的功能,又传递了多路径路由系统所需的信息。只要当报文穿越传统非受控网络时,
TTL中的跳数限制比特不被耗尽,TTL中的多路径路由系统的信息就不会受到破坏,一旦报
文重新进入多路径路由系统可以对报文的TTL进行矫正以保证后续正常传输。IP报文在十
几跳的条件下穿越一个传统非受控网络的条件在现有Internet网络中基本上都能满足,即
使存在一些不满足的网络,部署时注意避开这些网络即可。
[0108] 尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技
术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些
变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。