报文转发方法及装置的制造方法

文档序号:10690979
报文转发方法及装置的制造方法
【专利摘要】本申请提供一种报文转发方法及装置。所述方法,包括转发设备将接收到的报文与转发表中的转发表项进行匹配;如果接收到的所述报文匹配到所述转发表中的任一转发表项,跳转至与所述转发表项匹配的策略转发表项,继续进行与所述策略转发表项的匹配;如果所述报文匹配所述策略转发表项,基于所述策略转发表项中所指定的转发下一跳,转发所述报文;其中,所述策略转发表项中所指定的转发下一跳为与该策略转发表项匹配的转发表项中的转发下一跳。应用本发明实施例,转发设备可以实现对支持隧道协议的报文和其他通过非路由技术进行转发的报文,进行策略转发。
【专利说明】
报文转发方法及装置
技术领域
[0001]本申请涉及网络通信技术领域,尤其涉及报文转发方法及装置。
【背景技术】
[0002]策略路由是现今常用的一种报文策略转发机制。它是一种基于用户制定的策略进行路由选择的机制,它比基于目的网络进行路由选择的报文转发方式更加灵活,并且可以实现网络安全管理、负载分担等功能。
[0003]应用策略路由进行报文策略转发的方法主要是将接收到的报文与策略路由表项进行匹配。如果该报文匹配该策略路由表项,则按照该策略路由表项进行转发,否则按照普通路由表项转发报文。然而,如果转发设备需要对隧道报文,或者需要对其他通过非路由技术进行转发的报文进行策略转发时,采用策略路由就很难实现对上述报文进行策略转发。

【发明内容】

[0004]有鉴于此,本申请提供一种报文转发方法及装置,用以实现针对支持隧道协议的报文和其他通过非路由技术进行转发的报文,进行策略转发。
[0005]根据本发明实施例的第一方面,提供一种报文转发方法,所述方法应用于转发设备,包括:
[0006]将接收到的报文与转发表中的转发表项进行匹配;
[0007]如果接收到的所述报文匹配到所述转发表中的任一转发表项,跳转至与所述转发表项匹配的策略转发表项,继续进行与所述策略转发表项的匹配;
[0008]如果所述报文匹配所述策略转发表项,基于所述策略转发表项中所指定的转发下一跳,转发所述报文;其中,所述策略转发表项中所指定的转发下一跳为与该策略转发表项匹配的转发表项中的转发下一跳。
[0009]根据本发明实施例的第二方面,提供一种报文转发装置,所述装置包括:
[0010]匹配单元,用于将接收到的报文与转发表中的转发表项进行匹配;
[0011 ]跳转单元,用于如果接收到的所述报文匹配到所述转发表中的任一转发表项,跳转至与所述转发表项匹配的策略转发表项,继续进行与所述策略转发表项的匹配;
[0012]转发单元,如果所述报文匹配所述策略转发表项,基于所述策略转发表项中所指定的转发下一跳,转发所述报文;其中,所述策略转发表项中所指定的转发下一跳为与该策略转发表项匹配的转发表项中的转发下一跳。
[0013]本发明实施例提出了一种新的报文转发的方法,转发设备可以将接收到的报文与转发表中的转发表项进行匹配。如果接收到的报文匹配到该转发表中的任一转发表项,则可以跳转至与该转发表项匹配的策略转发表项,继续进行与该策略转发表项的匹配。如果该报文匹配该策略转发表项,可以基于该策略转发表项中所指定的转发下一跳,转发所述报文;其中,该策略转发表项中所指定的转发下一跳为与该策略转发表项匹配的转发表项中的转发下一跳。
[0014]由于本实施例的转发表项和策略转发表项是关联的,接收到的报文在匹配转发表项的基础上,才可以跳转至与该转发表项匹配的策略转发表项,进行策略匹配,并且该策略转发表项可以指定与之匹配的转发表项中的转发下一跳。由于,该策略转发表项除了包含有指定转发下一跳的相关指示信息,可以不包含其他任何有关转发的信息,因此,可以克服策略路由技术扩展性和通用性较差的缺陷,实现对支持隧道协议的报文和其他通过非路由技术进行转发的报文,进行策略转发。
【附图说明】
[0015]图1是本申请一示例性实施例示出的一种报文转发方法的相关技术方案的流程图;
[0016]图2是本申请一示例性实施例示出的一种报文转发方法的流程图;
[0017]图3是本申请一示例性实施例示出的另一种报文转发方法的流程图;
[0018]图4是本申请一示例性实施例示出的一种报文转发方法的应用场景图;
[0019]图5是本申请一示例性实施例示出的另一种报文转发方法的流程图;
[0020]图6是本申请一示例性实施例示出的一种报文转发装置所在设备的一种硬件结构图;
[0021]图7是本申请一示例性实施例示出的一种报文转发装置的框图。
【具体实施方式】
[0022]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0023]在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0024]应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0025]参见图1,图1是本申请一示例性实施例示出的一种报文转发方法的相关技术方案的流程图。
[0026]在相关的报文转发机制中,一般采用策略路由的方式实现报文的策略转发。策略路由是一种基于用户制定的策略进行路由选择的机制,它比基于目的网络进行路由选择的报文转发方式更加灵活,并且可以实现网络安全管理、负载分担等功能。
[0027]在使用策略路由实现报文转发的相关机制中,当转发设备接收到报文后,可以将该报文与策略转发表项匹配,如果该报文匹配该策略转发表项,则可以按照该策略转发表项中描述的策略转发信息,对该报文进行转发。
[0028]如果该报文与策略转发表项不匹配,则转发设备可以将该报文与路由表中的任一路由表项进行匹配,如果该报文匹配其中一个路由表项,则按照该路由表项对该报文进行转发。如果该报文与该路由表中的所有路由表项都不匹配,则可以将该报文丢弃。
[0029]然而,在隧道技术中,如果转发设备需要对隧道报文,或者需要对其他通过非路由技术进行转发的报文进行策略转发时,采用策略路由就很难实现对上述报文进行策略转发。
[0030]本发明实施例提出了一种新的报文转发的方法,转发设备可以将接收到的报文与转发表中的转发表项进行匹配。如果接收到的报文匹配到该转发表中的任一转发表项,则可以跳转至与该转发表项匹配的策略转发表项,继续进行与所述策略转发表项的匹配。如果该报文匹配该策略转发表项,可以基于该策略转发表项中所指定的转发下一跳,转发所述报文;其中,该策略转发表项中所指定的转发下一跳为与该策略转发表项匹配的转发表项中的转发下一跳。
[0031]由于本实施例的转发表项和策略转发表项是关联的,接收到的报文在匹配转发表项的基础上,才可以跳转至与该转发表项匹配的策略转发表项,进行策略匹配,并且该策略转发表项可以指定与之匹配的转发表项中的转发下一跳。由于该策略转发表项,除了包含有指定转发下一跳的相关指示信息,可以不包含其他任何有关转发的信息,因此,可以克服策略路由技术扩展性和通用性较差的缺陷,实现对支持隧道协议的报文和其他通过非路由技术进行转发的报文,进行策略转发。
[0032]参见图2,图2是本申请一示例性实施例示出的一种报文转发方法的流程图,该方法应用于转发设备,包括如下所示的步骤:
[0033]步骤201:将接收到的报文与转发表中的转发表项进行匹配。
[0034]在相关的采用策略路由对报文实现策略转发的机制中,匹配策略路由表项和匹配路由表项是相互独立的两个过程,当接收到的报文匹配到策略路由表项时,则基于该策略路由表项转发。只有当报文与策略路由表项都不匹配时,才将该报文与路由表项匹配,并按照与之匹配的路由表项进行转发。此时,策略路由表项中需要包含关于转发的相关信息。
[0035]此外,如果转发设备需要对隧道报文,或者需要对其他通过非路由技术进行转发的报文进行策略转发时,采用策略路由就很难实现对上述报文进行策略转发。
[0036]本实施例是一种新的策略转发技术。不同于相关的技术中的报文匹配策略路由表项和转发表项是两个独立的过程,在本实施例中,报文在策略转发的过程中,匹配转发表项与匹配策略转发表项是一个连续的过程。当接收到的报文匹配该转发表项后,才可以跳转至与该转发表项匹配的策略转发表项,并可以将本地接收的报文与该策略转发表项匹配,当接收到的报文与该策略转发表项匹配后,基于该策略转发表项中指定的与之匹配的转发表项中的转发下一跳,转发该报文。
[0037]由于本发明实施例中的转发表项和策略转发表项是关联的,所以策略转发表项中除了包含用于指示上述转发下一跳的信息外,可以不包含其他任何与转发的相关信息。
[0038]由于本发明是在转发表项的基础上,匹配与转发表项对应的策略转发表项,并可以基于策略转发表项指定的与之匹配的转发表项中的转发下一跳,选择出口链路。所以本实施例可以实现对支持隧道协议的报文和其他通过非路由技术进行转发的报文,进行策略转发。
[0039]在实现时,转发设备可以接收上一级设备发送的报文。当接收到该报文后,可以将该报文与转发表中的转发表项进行匹配。如果该报文匹配到该转发表中的任一转发表项,则可以跳转至与该转发表项匹配的策略转发表项。如果该报文与该转发表中的任何转发表项都不匹配,则可以将该接收到的报文丢弃。
[0040]步骤202:如果接收到的所述报文匹配到所述转发表中的任一转发表项,跳转至与所述转发表项匹配的策略转发表项,继续进行与所述策略转发表项的匹配。
[0041 ]步骤203:如果所述报文匹配所述策略转发表项,基于所述策略转发表项所指定的转发下一跳,转发所述报文;其中,所述策略转发表项中所指定的转发下一跳为与该策略转发表项匹配的转发表项中的转发下一跳。
[0042]在本实施例中,如果上述报文匹配上述转发表中的任一转发表项,可以跳转至与该转发表项匹配的策略转发表项,继续将该报文与该策略转发表项进行匹配。如果该报文匹配该策略转发表项,则可以根据该策略转发表项中的指示信息,找到与该策略转发表项匹配的转发表项中的转发下一跳信息,选择链路,转发该报文。
[0043]如果上述报文与该策略转发表项不匹配或者匹配到的策略转发表项中的指示信息所指示的下一跳不存在于与之匹配的转发表项中,则可以基于上述匹配到的转发表项,通过现有转发设备默认的负载分担算法,选择链路,转发该报文。
[0044]其中,该策略转发表中的指示信息,包含下一跳路由信息、出接口信息等信息,主要用于指定与之匹配的转发表项中的转发下一跳。例如,假设,转发表项中包含的转发下一跳IPA,IPB,IPC,报文需要匹配策略,根据转发下一跳IPA进行转发。那么,与该转发表项匹配的策略转发表项的指示信息,就是用来指定出该转发表项中的转发下一跳IPA。
[0045]在本实施例中,该转发设备可以基于全局策略转发表,跳转至与上述转发表项匹配的策略转发表项。
[0046]在实现时,转发设备可以基于全局转发策略表的指针,跳转至全局转发策略表。并且可以遍历该全局策略转发表,基于该转发表项中的标识信息,通过查找与之匹配的策略转发表项,判断是否存在与上述转发表项匹配的策略转发表项。
[0047]如果存在与上述转发表项匹配的该策略转发表项,则可以跳转到与该转发表项匹配的策略转发表项,并可以基于该策略转发表项中指定的与之匹配的转发表项中的转发下一跳,选择链路,转发该报文。
[0048]如果不存在与上述报文匹配的策略转发表项或者上述报文匹配到的策略转发表项中的指示信息所指示的下一跳不存在于与之匹配的转发表项中,则可以将接收到的报文按照该转发表项,通过现有转发设备默认的负载分担算法,选择链路,转发该报文,进行转发。
[0049 ]其中,上述转发表可以是路由表,也可以是标签转发表等,在此,不再--赘述。
[0050]上述标识信息,主要用于标识转发表项和策略转发表项的匹配关系,转发设备可以基于该标识信息,匹配与策略转发表项对应的转发表项。该标识信息可以是类似于目的网段,源网段等的一个或者多个报文特征,在此,不再一一赘述。
[0051]上述全局策略转发表的指针可以储存在转发表等中,在此,不再一一赘述。
[0052]上述全局策略转发表中包含有一个或者多个策略转发表项,上述转发表中包含有一个或者多个转发表项。
[0053]为了提高报文转发的性能,加快报文的转发速度。转发设备除了可以通过上述的全局策略转发表,实现跳转到与该转发表项匹配的策略转发表项外,还可以通过储存在转发表项中策略转发表项的指针,实现跳转到与该转发表项匹配的策略转发表项。
[0054]在实现时,该转发设备可以基于上述转发表项中的策略转发表项的指针,跳转至上述全局策略转发表中的策略转发表项。
[0055]其中,上述策略转发表项的指针,是指与该策略转发表项指针对应的策略转发表项的在全局策略转发表中的地址信息。
[0056]此外,该策略转发表项指针的可以通过如下方式进行储存:
[0057]当该转发设备接收到策略配置指令时,可以将该策略配置指令中携带的策略转发信息,以策略转发表项的形式储存在全局转发策略表中,然后根据该策略转发表项中的相关标识信息匹配与之对应的转发表项,并将代表该策略转发表项地址信息的策略转发表项的指针储存在该转发表项中。
[0058]上述标识信息,主要用于标识转发表项和策略转发表项的匹配关系,转发设备可以基于该标识信息,匹配与策略转发表项对应的转发表项。该标识信息可以是类似于目的网段,源网段等的一个或者多个报文特征,在此,不再一一赘述。
[0059]例如,假如以目的网段作为上述的标识信息。当全局策略转发表中的策略转发表项是配置了目的网段的策略转发表项,则可以基于该目的网段,匹配与该目的网段相同的转发表项,并可以将该策略转发表项在全局策略转发表中的地址信息,以指针的形成,储存在该与之匹配的转发表项中。
[0060]当全局策略转发中的策略转发表项没有配置目的网段,则默认该策略转发表项匹配所有的转发表项,并可以将该策略转发表项在全局策略转发表中的地址信息,以指针的形成,储存在所有的转发表项中。
[0061]此外,当存在与该转发表项匹配的多个转发策略时,可以在该转发表项中储存多个指针。在指针的储存过程中,可以基于指针指向的策略转发表项的优先级顺序,以指针链表的形式储存在该转发表项中。例如,指针链表的头部可以储存优先级最高的策略转发表项的指针。然后可以基于指针链表从头至尾的顺序,依次储存优先级由高到底的策略转发表项的指针。
[0062]当报文匹配的该转发表项后,可以先基于该转发表项中的指针链表头部储存的指针,跳转至最高优先级的策略转发表项,并与该最高优先级的策略转发表项匹配。当上述报文与该策略转发表项不匹配时,或者匹配到的策略转发表项中的指示信息所指示的下一跳不存在于与之匹配的转发表项中,转发设备则可以基于指针链表从头至尾的顺序,查找下一个指向次高优先级的策略转发表项的指针,并将上述报文与该指针指向的策略转发表项匹配。
[0063]以此方法,直到上述报文到匹配到策略转发表项,并且,转发设备可以基于该策略转发表项指定的与之匹配的转发表项中的转发下一跳,转发该报文。如果该报文与所有策略转发表项都不匹配,或者匹配到的策略转发表项中的指示信息所指示的下一跳不存在于与之匹配的转发表项中,则可以基于转发表项,通过现有转发设备默认的负载分担算法,选择链路,转发该报文。
[0064]除了上述方法外,如果上述转发表项中储存有多个策略指针,上述转发设备可以基于这些策略指针,在全局策略转发表中找到与之对应的策略转发表项,然后可以基于该策略转发表项的优先级顺序,与接收到的报文进行匹配。当报文匹配最高优先级等级的策略转发表项后,可以基于该策略转发表项指定的与之匹配的转发表项中的转发下一跳,选择链路,转发该报文。当报文与最高优先级等级的策略转发表不匹配或者匹配到的策略转发表项中的指示信息所指示的下一跳不存在于与之匹配的转发表项中时,则可以继续与次高优先级的策略转发表项进行匹配,直至匹配到策略转发表项。如果报文与上述所有优先级等级的策略转发表项都不匹配或者匹配到的策略转发表项中的指示信息所指示的下一跳不存在于与之匹配的转发表项中时,则基于转发表项,通过现有转发设备默认的负载分担算法,选择链路,转发该报文。
[0065]其中,上述全局转发策略表中包含有多个策略转发表项和该策略转发表项对应的优先级ig息。
[0066]此外,为了便于精细控制报文的策略转发,该转发设备不仅可以基于该策略转发表项中的基本匹配项,还可以在基于基本匹配项进行匹配的基础上,根据该策略转发表项中预配置的报文协议类型,将接收到的报文与该策略转发表项中的协议类型进行匹配。
[0067]其中,上述基本匹配项可以包含报文的五元组特征、报文优先级、MAC地址、报文字段等信息,在此,不再一一赘述。
[0068]为了控制该报文策略转发的生效时间,该转发设备可以基于该策略转发表项中预先配置的生效时间,控制该策略转发表项的生效时间段。例如,可以是每周某几天策略转发表项生效或者是某天的某个时段策略转发表项生效等,在此,不再一一赘述。
[0069]上述策略转发表项可以包含策略名称、源网段、目的网段、T0S(Type of Servicein the Internet Protocol Suite,互联网协议集的服务类型)、入接口、配置时间、协议以及动作等信息。
[0070]其中,上述TOS 为 IP 报文头 C0S(Class of S e r v i c e,服务等级)、D SCP(Differentiated Service Code Point,差分服务编码点)或是标签中的EXP信息;上述协议的配置可以针对UDP、TCP或是MPLS(MultiprotocoI Label Switching,多协议标签交换)等协议。如果上述协议类型为UDP或是TCP协议,则该策略转发表项还可以包括端口号范围等。在此,不再一一赘述。
[0071]本发明实施例提出了一种新的报文转发的方法,转发设备可以将接收到的报文与转发表中的转发表项进行匹配。如果接收到的报文匹配到该转发表中的任一转发表项,则可以跳转至与该转发表项匹配的策略转发表项,继续进行与所述策略转发表项的匹配。如果该报文匹配该策略转发表项,可以基于该策略转发表项所指定的转发下一跳,转发该报文。其中,该策略转发表项所指定的转发下一跳为与该策略转发表项匹配的转发表项中的转发下一跳。
[0072]该转发设备可以基于该策略转发表项中预配置的报文协议类型,将接收到的报文在基于基本匹配项进行匹配的基础上,根据该策略转发表项中预配置的报文协议类型,将接收到的报文与该策略转发表项中的协议类型进行匹配。
[0073]此外,该转发设备可以基于该策略转发表项中预先配置的生效时间,控制该策略转发表项的生效时间段
[0074]—方面,由于本实施例的转发表项和策略转发表项是关联的,接收到的报文在匹配转发表项的基础上,才可以跳转至与该转发表项匹配的策略转发表项,进行策略匹配,并且该策略转发表项可以指定与之匹配的转发表项中的转发下一跳。由于该策略转发表项,除了包含有指定转发下一跳的相关指示信息,可以不包含其他任何有关转发的信息,因此,可以克服策略路由技术扩展性和通用性较差的缺陷,实现对支持隧道协议的报文和其他通过非路由技术进行转发的报文,进行策略转发。
[0075]另一方面,由于该转发设备可以基于协议类型,将接收到的报文在基于基本匹配项进行匹配的基础上,继续与该协议类型进行匹配,因此可以实现报文策略转发的精细控制。
[0076]此外,由于该转发设备还可以基于该策略转发表项中预先配置的生效时间,控制该策略转发表项的生效时间段,因此可以更为灵活地实现报文的策略转发。
[0077]以下以上述转发表为标签转发表为例,并结合基于MPLS隧道技术对报文进行策略转发的场景为例,对上述实施例的技术方案进行详细地描述。
[0078]参见图3,图3是本申请一示例性实施例示出的另一种报文转发方法的流程图,所述方法应用于MPLS技术中的边缘路由器或者核心路由器,可以包括如下所示步骤:
[0079]步骤301:接收报文。
[0080]步骤302:将该报文与标签转发表项进行匹配
[0081 ]步骤303:如果该报文未匹配到标签转发表项,则丢弃该报文。
[0082]在本实施例中,MPLS隧道中的边缘路由器或者核心路由器接收到报文后,可以将该报文与标签转发表项进行匹配。如果该报文与标签转发表中的任一标签转发表项匹配,则可以执行步骤304,跳转至与该标签转发表项匹配的策略转发表项。如果该报文与该标签转发表中的所有标签转发表项都不匹配,则可以执行步骤303,将报文丢弃。
[0083]步骤304:如果该报文可以匹配到标签转发表中的任一标签转发表项,则基于全局策略转发表或者该标签转发表项中储存的策略转发表项的指针,跳转至与该标签转发表项匹配的策略转发表项。
[0084]在本实施例中,可以基于全局策略转发表的指针,跳转至全局策略转发表,然后基于该标签转发表项的标识信息,查找策略转发表项,该策略转发表项即为与标签转发表项匹配的策略转发表项。
[0085]此外,还可以基于储存在该标签转发表项中的策略转发表项的指针,跳转至与该标签转发表项匹配的策略转发表项。
[0086]其中,全局策略转发表包含一个或者多个策略转发表项。
[0087]步骤305:将该报文与该策略转发表项进行匹配。
[0088]步骤306:如果该报文与该策略转发表项匹配,则可以基于该策略转发表项指定的与之匹配的标签转发表项中的转发下一跳,转发该报文。
[0089]步骤307:如果该报文与该策略转发表项不匹配,则可以基于标签转发表项,通过默认的负载分担算法,选择链路转发该报文。
[0090]在本实施例中,当跳转至与上述标签转发表项匹配的策略转发表项后,该边缘路由器或者核心路由器可以继续将该报文与策略转发表项进行匹配。
[0091]如果该报文与策略转发表项匹配,则可以基于该策略转发表项指定的与之匹配的标签转发表项中的转发下一跳,转发该报文。
[0092]如果该报文与策略转发表项不匹配或者匹配到的策略转发表项中的指示信息所指示的下一跳不存在于与之匹配的标签转发表项中,则执行步骤306,可以基于该策略转发表项指定的与该策略转发表项匹配的标签转发表项中的转发下一跳,通过转发设备默认的负载分担算法,选择链路,转发该报文。
[0093]其中,例如,假设,转发表项中包含的转发下一跳有A、B、C,报文经过策略匹配之后,可以基于转发下一跳A进行转发。那么,与该标签转发表项匹配的策略转发表项的指示信息,就是用来指定出报文基于该转发表项中的转发下一跳A,进行转发。
[0094]如果该报文与策略转发表项不匹配,则执行步骤307,则可以基于标签转发表项,通过默认的负载分担算法,选择链路转发该报文。
[0095]参见图4,图4是本申请一示例性实施例示出的一种报文转发方法的应用场景图。
[0096]例如,假设图4是报文在MPLS隧道中进行转发的场景。
[0097]如图4所示,假设在MPLS隧道中,核心路由器P-A和P-B之间有三条可以选择的链路,假设A类报文可以通过匹配策略转发表项I,选择链路I进行转发。其他报文可以通过核心路由器默认的负载分担算法进行转发。
[0098]在实现时,当核心路由器P-A接收到报文后,可以将该报文与标签转发表中的任一标签转发表项进行匹配,如果该报文匹配标签转发表项1,则可以跳转至与该标签转发表项I匹配的策略转发表项I,继续进行匹配。假设,该标签转发表项I包含的转发下一跳为A、B、C;该策略转发表项I中包含的指示信息,用于指定出标签转发表项I中的转发下一跳A,该策略转发表项I中除了包含有指示与之匹配的标签转发表项I中转发下一跳A的指示信息外,可以不包含其他与转发相关的信息。
[0099]核心路由器P-A可以基于全局策略转发表的指针,跳转至全局策略转发表,然后基于标签转发表项I中的标识信息,查找到与该标签转发表项I匹配的策略转发表项I。
[0100]当然,核心路由器P-A还可以基于该标签转发表项I中储存的策略转发表项I的指针,跳转至与该标签转发表项I匹配的策略转发表项I。
[0101]如果接收到的报文为A类报文,则该报文可以匹配该策略转发表项I,可以基于该策略转发表项I指定的与之匹配的标签转发表项中的转发下一跳A,将报文转发送到地址为A路由器,选择链路I进行转发。如果接收到的报文是其他报文,则该报文与该策略转发表项不匹配,则该报文会以该核心路由器默认的负载分担算法,进行转发。
[0102]本发明实施例提出了一种新的报文转发的方法,隧道中的边缘路由器和核心路由器可以将接收到的报文与标签转发表中的标签转发表项进行匹配。如果接收到的报文匹配到该标签转发表中的任一标签转发表项,则可以跳转至与该标签转发表项匹配的策略转发表项,继续进行与所述策略转发表项的匹配。如果该报文匹配该策略转发表项,可以基于该策略转发表项所指定的转发下一跳,转发该报文。其中,该策略转发表项所指定的转发下一跳为与该策略转发表项匹配的标签转发表项中的转发下一跳。
[0103]由于本实施例的标签转发表项和策略转发表项是关联的,接收到的报文在匹配标签转发表项的基础上,才可以跳转至与该标签转发表项匹配的策略转发表项,进行策略匹配,并且该策略转发表项可以指定与之匹配的标签转发表项中的转发下一跳。由于该策略转发表项,除了包含有指定转发下一跳的相关指示信息,可以不包含其他任何有关转发的信息,因此,可以克服策略路由技术扩展性和通用性较差的缺陷,实现对通过标签转发技术进行转发的报文,进行策略转发。
[0104]以下以上述转发表为路由转发表为例,并结合基于报文的路由转发场景为例,对上述实施例的技术方案进行详细地描述。
[0105]参见图5,图5是本申请一示例性实施例示出的另一种报文转发方法的流程图,所述方法应用于普通路由器,可以包括如下所示步骤:
[0106]步骤501:接收报文。
[0107]步骤502:将该报文与路由表项进行匹配。
[0108]步骤503:如果该报文未匹配到路由表项,则丢弃该报文。
[0109]在本实施例中,普通路由器接收到报文后,可以将该报文与路由表项进行匹配。如果该报文与路由表中的任一路由表项匹配,则可以执行步骤304,跳转至与该路由表项匹配的策略转发表项。如果该报文与该路由表中的所有路由表项都不匹配,则可以执行步骤303,将报文丢弃。
[0110]步骤504:如果该报文可以匹配到路由表中的任一路由表项,则基于全局策略转发表或者该路由表项中储存的策略转发表项的指针,跳转至与该路由表项匹配的策略转发表项。
[0111]在本实施例中,可以基于全局策略转发表的指针,跳转至全局策略转发表,然后基于该路由表项的标识信息,查找策略转发表项,该策略转发表项即为与路由表项匹配的策略转发表项。
[0112]此外,还可以基于储存在该路由表项中的策略转发表项的指针,跳转至与该路由表项匹配的策略转发表项。
[0113]其中,全局策略转发表包含一个或者多个策略转发表项。
[0114]步骤505:将该报文与该策略转发表项进行匹配。
[0115]步骤506:如果该报文与该策略转发表项匹配,则可以基于该策略转发表项指定的与之匹配的路由表项中的转发下一跳,转发该报文。
[0116]步骤507:如果该报文与该策略转发表项不匹配,则可以基于路由表项,通过默认的负载分担算法,选择链路转发该报文。
[0117]在本实施例中,当跳转至与上述路由表项匹配的策略转发表项后,该普通路由器可以继续将该报文与策略转发表项进行匹配。
[0118]如果该报文与该策略转发表项匹配,则可以基于该策略转发表项指定的与之匹配的路由表项中的转发下一跳,转发该报文。
[0119]如果该报文与策略转发表项不匹配或者匹配到的策略转发表项中的指示信息所指示的下一跳不存在于与之匹配的路由表项中,则执行步骤306,可以基于该策略转发表项指定的与之匹配的路由表项中的转发下一跳,通过转发设备默认的负载分担算法,选择链路,转发该报文。
[0120]其中,该策略转发表项中包含预配置的指示信息,该指示信息用于指定与之匹配的路由表项中的转发下一跳。并且,该策略转发表项除了包含有该指示信息,可以不包含任何与转发相关的信息。例如,假设,转发表项中包含的转发下一跳IPA,IPB,IPC,报文需要通过匹配策略,根据匹配出转发下一跳IPA进行转发。那么,与该转发表项匹配的策略转发表项的指示信息,就是用来指定出该转发表项中的转发下一跳IPA。
[0121]如果该报文与策略转发表项不匹配,则执行步骤307,则可以基于路由表项,通过默认的负载分担算法,选择链路转发该报文。
[0122]参见图4,图4是本申请一示例性实施例示出的一种报文转发方法的应用场景图。
[0123]例如,假设图4是报文通过普通路由器进行策略转发的场景。
[0124]如图4所示,假设普通路由器P-A和P-B之间有三条可以选择的链路,假设A类报文可以通过匹配策略转发表项I,选择链路I进行转发。其他报文会通过普通路由器默认的负载分担算法进行转发。
[0125]在实现时,当普通路由器P-A接收到报文后,可以将该报文与路由表中的任一路由表项进行匹配,如果该报文匹配路由表项I,则可以跳转至与该路由表项I匹配的策略转发表项I,继续进行匹配。假设,该路由表项I包含的转发下一跳为IPA,IPB,IPC;该策略转发表项I中包含的指示信息,指向路由表项I中的转发下一跳IPA,该策略转发表项中除了包含有指示信息,可以不包含其他与转发相关的信息。
[0126]普通路由器P-A可以基于全局策略转发表的指针,跳转至全局策略转发表,然后基于路由表项I中的标识信息,查找到与该路由表项I匹配的策略转发表项I。
[0127]当然,普通路由器P-A还可以基于该路由表项I中储存的策略转发表项I的指针,跳转至与该路由表项I匹配的策略转发表项I。
[0128]如果接收到的报文为A类报文,则该报文可以匹配该策略转发表项I,可以基于该策略转发表项I指定的路由表项I中的转发下一跳IPA,将报文转发送到地址为IPA路由器,选择链路I进行转发。如果接收到的报文是其他报文,则该报文与该策略转发表项不匹配,则该报文会以该普通路由器默认的负载分担算法,进行转发。
[0129]本发明实施例提出了一种新的报文转发的方法,普通路由器可以将接收到的报文与路由表中的路由表项进行匹配。如果接收到的报文匹配到该路由表中的任一路由表项,则可以跳转至与该路由表项匹配的策略转发表项,继续进行与所述策略转发表项的匹配。如果该报文匹配所述策略转发表项,基于该策略转发表项所指定的转发下一跳,转发上述报文;其中,该策略转发表项所指定的转发下一跳为与该策略转发表项匹配的路由表项中的转发下一跳。
[0130]由于本实施例的路由表项和策略转发表项是关联的,接收到的报文在匹配路由表项的基础上,才可以跳转至与该路由表项匹配的策略转发表项,进行策略匹配,并且该策略转发表项可以指定与之匹配的路由表项中的转发下一跳。由于该策略转发表项,除了包含有指定转发下一跳的相关指示信息,可以不包含其他任何有关转发的信息,因此,不仅可以克服策略路由技术扩展性和通用性较差的缺陷,实现对支持隧道协议的报文和其他通过非路由技术进行转发的报文,进行策略转发;而且,还可以实现对IP报文进行策略转发。
[0131]本申请报文转发装置的实施例可以应用在转发设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在转发设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图6所示,为本申请报文转发装置所在转发设备的一种硬件结构图,除了图6所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的转发设备通常根据该报文转发的实际功能,还可以包括其他硬件,对此不再赘述。
[0132]请参考图7,图7是本申请一示例性实施例示出的一种报文转发装置的框图,所述装置应用于转发设备,所述装置包括:匹配单元710、跳转单元720和转发单元730。
[0133]其中,匹配单元710,用于将接收到的报文与转发表中的转发表项进行匹配;
[0134]跳转单元720,用于如果接收到的所述报文匹配到所述转发表中的任一转发表项,跳转至与所述转发表项匹配的所述策略转发表项,继续进行与所述策略转发表项的匹配;
[0135]转发单元730,用于如果所述报文匹配所述策略转发表项,基于所述策略转发表项中所指定的转发下一跳,转发所述报文;其中,所述策略转发表项中所指定的转发下一跳为与该策略转发表项匹配的转发表项中的转发下一跳。
[0136]在一个可选的实现方式中:
[0137]上述跳转单元720,可以包括:第一跳转子单元,用于基于全局策略转发表的指针,跳转至所述全局策略转发表;第二跳转子单元,用于遍历所述全局策略转发表,跳转至与所述转发表项匹配的策略转发表项;其中,所述全局策略转发表包含有一个或者多个策略转发表项。
[0138]在另一个可选的实现方式中:
[0139]上述跳转单元720,可以包括:第三跳转子单元,用于基于所述转发表项中储存的所述策略转发表项的指针,跳转至所述全局策略转发表中的所述策略转发表项。
[0140]在另一个可选的实现方式中:
[0141]上述策略转发表项还可以包括预配置的所述报文的协议类型;
[0142]上述跳转单元720,还可以包括:匹配子单元,用于将报文与所述策略转发表项中的基本匹配项进行匹配之后,基于所述策略转发表项中的所述协议类型,将所述报文与该协议类型继续进行匹配。
[0143]在另一个可选的实现方式中:
[0144]上述策略转发表项还可以包括预配置的生效时间;
[0145]所述装置,还可以包括(图7中未示出):控制单元,用于基于所述生效时间,控制所述策略转发表项的生效时间段。
[0146]上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0147]对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0148]以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
【主权项】
1.一种报文转发方法,其特征在于,所述方法应用于转发设备,包括: 将接收到的报文与转发表中的转发表项进行匹配; 如果接收到的所述报文匹配到所述转发表中的任一转发表项,跳转至与所述转发表项匹配的策略转发表项,继续进行与所述策略转发表项的匹配; 如果所述报文匹配所述策略转发表项,基于所述策略转发表项中所指定的转发下一跳,转发所述报文;其中,所述策略转发表项中所指定的转发下一跳为与该策略转发表项匹配的转发表项中的转发下一跳。2.根据权利要求1所述的方法,其特征在于,所述跳转至与所述转发表项匹配的策略转发表项,包括: 基于全局策略转发表的指针,跳转至所述全局策略转发表; 遍历所述全局策略转发表,跳转至与所述转发表项匹配的所述策略转发表项;其中,所述全局策略转发表包含有一个或者多个策略转发表项。3.根据权利要求1所述的方法,其特征在于,所述跳转至与所述转发表项匹配的策略转发表项,包括: 基于所述转发表项中储存的所述策略转发表项的指针,跳转至所述全局策略转发表中的所述策略转发表项。4.根据权利要求1所述的方法,其特征在于,所述策略转发表项,还包括预配置的所述报文的协议类型; 所述继续进行与所述策略转发表项的匹配,包括: 将报文与所述策略转发表项中的基本匹配项进行匹配之后,基于所述策略转发表项中的所述协议类型,将所述报文与该协议类型继续进行匹配。5.根据权利要求1所述的方法,其特征在于,所述策略转发表项,还包括预配置的生效时间; 所述方法还包括: 基于所述生效时间,控制所述策略转发表项的生效时间段。6.一种报文转发装置,其特征在于,所述装置包括: 匹配单元,用于将接收到的报文与转发表中的转发表项进行匹配; 跳转单元,用于如果接收到的所述报文匹配到所述转发表中的任一转发表项,跳转至与所述转发表项匹配的策略转发表项,继续进行与所述策略转发表项的匹配; 转发单元,如果所述报文匹配所述策略转发表项,基于所述策略转发表项中所指定的转发下一跳,转发所述报文;其中,所述策略转发表项中所指定的转发下一跳为与该策略转发表项匹配的转发表项中的转发下一跳。7.根据权利要求6所述的装置,其特征在于,所述跳转单元,包括: 第一跳转子单元,用于基于全局策略转发表的指针,跳转至所述全局策略转发表; 第二跳转子单元,用于遍历所述全局策略转发表,跳转至与所述转发表项匹配的所述策略转发表项;其中,所述全局策略转发表包含有一个或者多个策略转发表项。8.根据权利要求6所述的装置,其特征在于,所述跳转单元,包括: 第三跳转子单元,用于基于所述转发表项中储存的所述策略转发表项的指针,跳转至所述全局策略转发表中的所述策略转发表项。9.根据权利要求6所述的装置,其特征在于,所述策略转发表项,还包括预配置的所述报文的协议类型; 所述跳转单元,包括: 匹配子单元,用于将报文与所述策略转发表项中的基本匹配项进行匹配之后,基于所述策略转发表项中的所述协议类型,将所述报文与该协议类型继续进行匹配。10.根据权利要求6所述的装置,其特征在于,所述策略转发表项,还包括预配置的生效时间; 所述装置,还包括: 控制单元,用于基于所述生效时间,控制所述策略转发表项的生效时间段。
【文档编号】H04L12/823GK106059931SQ201610642810
【公开日】2016年10月26日
【申请日】2016年8月4日 公开号201610642810.6, CN 106059931 A, CN 106059931A, CN 201610642810, CN-A-106059931, CN106059931 A, CN106059931A, CN201610642810, CN201610642810.6
【发明人】王富涛
【申请人】杭州迪普科技有限公司
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1