通过网络指定和利用路径制造技术

技术编号:35245350 阅读:17 留言:0更新日期:2022-10-19 09:52
本发明专利技术公开涉及通过网络指定和利用路径。流量工程是指网络管理程序通过其为一系列数据消息流定义通过网络的特定路径的处理。迄今为止使用的方法包括MPLS(多协议标签交换)技术,该技术在第2层和第3层报头之间添加路径描述信息。由于路径描述的该位置,MPLS通常被称为2.5层协议。但是,MPLS技术和其它先前的流量工程技术并不容易支持封装租户标识符。将这些现有解决方案绑定到租户将需要其它策略以及用于覆盖层和底层的多个封装。用于覆盖层和底层的多个封装。用于覆盖层和底层的多个封装。

【技术实现步骤摘要】
通过网络指定和利用路径
[0001]本申请是申请日为2018年10月23日、申请号为201880061074.2、专利技术名称为“通过网络指定和利用路径”的专利技术专利申请的分案申请。


[0002]本专利技术公开一般而言涉及网络技术,更具体地涉及通过网络指定和利用路径的技术。

技术介绍

[0003]流量工程是指网络管理程序通过其为一系列数据消息流定义通过网络的特定路径的处理。迄今为止使用的方法包括MPLS(多协议标签交换)技术,该技术在第2层和第3层报头之间添加路径描述信息。由于路径描述的这个位置,MPLS通常被称为2.5层协议。但是,MPLS技术和其它先前的流量工程技术并不容易支持封装租户标识符。将这些现有解决方案绑定到租户将需要其它策略以及用于覆盖层和底层的多个封装。

技术实现思路

[0004]对于多租户环境,本专利技术的一些实施例提供了一种新颖的方法,该方法用于(1)将通过网络的租户数据消息流的特定路径嵌入到封装数据消息流的隧道报头中,并且然后(2)使用嵌入的路径信息来引导数据消息流通过网络。在一些实施例中,封装隧道报头被放置在流中每个数据消息的第2

4层报头前面(即,其外面)。
[0005]在一些实施例中,该方法从两个或更多个可行的通过网络的这样的路径中选择用于数据消息流的特定路径。为了从数据消息流的源和目的地之间的一组可行路径中选择路径,在一些实施例中,该方法对数据消息流执行分类操作。在一些实施例中,分类操作可以基于数据消息流的第2

4层报头值(例如,五个元组标识符,即协议、源端口和目的地端口以及源IP地址和目的地IP地址)和/或其相关联的上下文属性,诸如其流量类型(即,数据消息流中携带的内容的类型)、QoS(服务质量)等级、第7层参数、进程标识符、用户标识符、组标识符等。
[0006]在这些实施例中的一些实施例中,上下文属性是从数据消息流的源机器(例如,虚拟机、容器等)捕获的,和/或在该源机器在其上执行的主机计算机上捕获的。当上下文属性集合包括流的流量类型时,该方法提供了一种新颖的方式来选择数据消息流的流量工程路径、将关于该路径的信息嵌入到数据消息流的隧道报头中,并使用该信息引导数据消息流通过网络。
[0007]在为数据消息流选择路径之后,在一些实施例中,该方法将识别出的路径嵌入在它用于封装该流的数据消息的隧道报头中。同样,在一些实施例中,该方法在隧道报头中嵌入租户标识符(例如,嵌入VNI、虚拟网络标识符)以指定数据消息与特定租户相关联(例如,是从特定租户的机器发出的)。该方法沿着隧道将封装的消息发送到第一中间转发元件,该第一中间转发元件用作沿着所选择的路径的第一跳。
[0008]一些实施例使用通用网络虚拟化封装(Geneve)隧道协议来携带路径信息(例如,下一跳索引和跳列表)和租户标识符。在一些实施例中,租户标识符被嵌入在Geneve基础报头中,而路径信息被嵌入在Geneve隧道报头的选项TLV(类型、长度、值)中。租户标识符的嵌入允许多个租户的数据消息流在两个跳之间使用同一隧道。
[0009]在一些实施例中,该方法通过识别和嵌入沿着路径的各跳(例如,中间转发元件)的网络地址(例如,目的地IP地址)列表来识别所选择的路径,并将该路径嵌入到隧道报头中。而且,在一些实施例中,该方法将跳索引值嵌入在隧道报头中,该跳索引值将嵌入的网络地址之一识别为用于识别沿着路径的下一跳的“下一”跳的网络地址。如下所述,当沿着路径的各跳以相反的顺序被嵌入到隧道报头中时(第一跳出现在跳列表中最后一个并且最后一跳出现在跳列表中第一个),沿着路径的每一跳都递减跳索引值。
[0010]在一些实施例中,沿着所选择的路径的跳通过隧道集合彼此连接。在一些实施例中,跳中的一些或全部是在主机计算机上执行的软件转发元件(例如,软件交换机或路由器)。在一些实施例中,跳中的一个或多个是硬件转发元件,诸如架顶式交换机、硬件路由器等。
[0011]因此,在选择数据消息的路径并用包含沿着该路径的跳的网络地址的隧道报头封装该数据消息之后,在一些实施例中,该方法将封装的数据消息沿着隧道传递给在连接到源机器的转发元件之后(例如,在与源机器在同一主机计算机上执行的软件转发元件之后)的沿着路径的第一跳(例如,第一SFE)。
[0012]对于沿着路径连接两个跳的每个隧道,在一些实施例中,每个消息的封装隧道报头包括外部报头,该外部报头包括源和目的地网络地址。在一些实施例中,外部报头的源地址是沿着隧道发送消息的跳的网络地址(例如,IP地址),而目的地地址是沿着隧道接收消息的跳的网络地址。在源机器的转发元件之后的每个特定跳处,该特定跳都会检查嵌入在隧道报头中的信息,以确定该隧道报头将其识别为下一跳。在一些实施例中,特定跳通过从接收到的消息的隧道报头中提取下一跳索引、使用该索引来检索下一跳的网络地址,并且然后确定该网络地址为其地址来做出该确定。
[0013]在确定接收到的数据消息将其识别为下一跳之后,特定跳确定它是否被指定为指定路径的最后一跳。如果是,那么该特定跳将检查嵌入在数据消息的报头中的目的地网络地址。该目的地网络地址(例如,IP地址)指定连接到跳的机器(例如,独立计算机、虚拟机或容器)。因此,该特定跳将解封装的数据消息提供给该机器。
[0014]另一方面,当特定跳确定它未被指定为沿着嵌入在接收到的数据消息的隧道报头中的路径的最后一跳时,特定跳在调整隧道报头参数之后将封装的数据消息沿着另一个隧道转发到另一跳。具体而言,为了将数据消息转发到另一跳,在一些实施例中,特定跳(1)递减下一跳索引(从接收到的数据消息的隧道报头中提取),以将另一跳的网络地址识别为沿着路径的下一跳的网络地址,(2)将下一跳的网络地址解析为从特定跳开始并终止于下一跳的底层隧道,并且(3)将该递减的跳索引值与租户标识符和沿着路径的各跳的网络地址列表一起嵌入在隧道报头中。在一些实施例中,特定跳将特定跳的网络地址作为封装的数据信息的源网络地址并且将另一跳的网络地址作为封装的数据信息的目的地网络地址嵌入在数据消息的隧道报头的外部部分中。
[0015]代替调整隧道报头参数,在其它实施例中,特定跳从接收到的数据消息中解封装
(即,移除)隧道报头,并用新的隧道报头重新封装数据消息。普通技术人员将认识到,上述用于处理嵌入路径信息的方法仅仅是用于处理这种信息的一种方式。其它实施例以不同方式处理该信息。例如,其它实施例不在隧道报头中存储下一跳索引,因为每个中间跳被配置为选择下一跳地址(例如,第一跳地址)并在将封装的数据消息传递到沿着路径的下一跳之前从路径跳网络地址的列表中移除其网络地址。而且,在一些实施例中使用上述方法来将所选择的路径嵌入在单个租户环境中。因此,本领域的普通技术人员将认识到,本专利技术的一些实施例同样适用于单个租户数据中心。
[0016]前面的
技术实现思路
旨在用作对本专利技术的一些实施例的简要介绍。这并不意味着是对本文档中公开的所有专利技术性主题的介绍或概述。以下的具体实施方式和在具体实施方式中提及的附本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种为通过网络的数据消息流指定到达目的地的路径的方法,所述方法包括:在连接到所述数据消息流的源机器的入口转发元件处:基于由数据消息流携带的内容的类型,从多条候选路径中选择特定路径,所述多条候选路径是通过网络到数据消息流的目的地的可行路径;用隧道报头封装流中的每个数据消息,所述隧道报头存储识别沿着网络的跳的集合的跳标识符集合,所述跳定义通过所述网络的所选择的路径;以及沿着所述网络转发流的封装数据消息,所述下一跳标识符集合由网络中的转发元件处理以将所述数据消息指引到目的地。2.如权利要求1所述的方法,其中选择所述特定路径包括:识别由所述数据消息流携带的内容的类型;以及从到所述目的地的多条路径中,通过使用数据消息流的识别出的内容类型来识别记录,选择到所述目的地的路径,其中所述记录识别所述特定路径。3.如权利要求1所述的方法,其中所述下一跳标识符集合包括转发元件标识符的集合,所述转发元件标识符识别沿着所选择的特定路径到所述目的地的转发元件集合。4.如权利要求1所述的方法,其中所述网络是多租户网络,所述方法还包括:在所述封装隧道报头中存储租户标识符以识别与所述数据消息流相关联的租户。5.如权利要求4所述的方法,其中所存储的租户标识符允许多个不同租户在通过其定义了路径集合的转发元件集合之间使用同一隧道集合。6.如权利要求5所述的方法,其中所述隧道报头包括用于存储所述租户标识符的基本隧道报头和用于存储跳标识符集合的选项报头。7.如权利要求1所述的方法,其中所述隧道报头通过被放置在所述数据消息的层2和层3报头之外来封装每个数据消息。8.如权利要求1所述的方法,其中所述隧道报头基于隧道协议,所述隧道协...

【专利技术属性】
技术研发人员:S
申请(专利权)人:NICIRA股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1