CN116506379A - 一种流量转发方法、报文发送方法、消息发送方法及装置 - Google Patents

一种流量转发方法、报文发送方法、消息发送方法及装置 Download PDF

Info

Publication number
CN116506379A
CN116506379A CN202210074405.4A CN202210074405A CN116506379A CN 116506379 A CN116506379 A CN 116506379A CN 202210074405 A CN202210074405 A CN 202210074405A CN 116506379 A CN116506379 A CN 116506379A
Authority
CN
China
Prior art keywords
traffic
tunnel
message
communication device
vpn
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210074405.4A
Other languages
English (en)
Inventor
曹自清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202210074405.4A priority Critical patent/CN116506379A/zh
Priority to PCT/CN2023/070024 priority patent/WO2023138351A1/zh
Publication of CN116506379A publication Critical patent/CN116506379A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种流量转发方法、报文发送方法、消息发送方法及装置,用于在不使用VPN路由表的前提下转发VPN流量,提升VPN流量的转发性能。其中,所述流量转发方法由第一通信装置执行,具体包括:获取第一流量过滤信息,所述第一流量过滤信息包括虚拟专用网VPN标签、第一流规则和第一流量过滤动作,其中,所述第一流量过滤动作包括重定向的第一下一跳,所述重定向的第一下一跳为第二通信装置的第一公网互联网协议IP地址,所述第一流量过滤动作指示所述第一通信装置向所述第一下一跳转发与所述第一流规则匹配的流量;根据所述第一流量过滤信息转发与所述第一流规则匹配的流量。

Description

一种流量转发方法、报文发送方法、消息发送方法及装置
技术领域
本申请涉及通信技术领域,尤其涉及一种流量转发方法、报文发送方法、消息发送方法及装置。
背景技术
虚拟专用网(Virtual Private Network,VPN)技术可以在公共网络中建立专用的通信网络。该专用的通信网络可以被称为VPN或者私网。设备在VPN中的互联网协议(Internet Protocol,IP)被称为私网IP地址。相应的,公共网络可以被称为公网,设备在公网中的IP地址被称为公网IP地址。
为了转发VPN流量,可以在运营商边缘(Provider Edge,PE)设备上部署VPN路由表。VPN路由表独立于公网路由表,包括私网IP地址与PE设备的出接口之间的对应关系。如果报文的目的地址为VPN中某设备的私网IP地址,在接收到通过该报文之后,PE设备根据VPN路由表查找该私网IP地址对应的出接口,并通过出接口发送报文,实现VPN流量的转发。
但是,VPN路由表限制了流量的转发性能。例如,随着VPN中设备数量的增加,VPN路由表中记载的私网IP地址的数量也会相应地增加,导致PE设备查找VPN路由表消耗的时间增加。另外,根据VPN路由表转发报文也无法灵活地控制报文的转发路径。
发明内容
本申请提供了一种流量转发方法、报文发送方法、消息发送方法及装置,用于在不使用VPN路由表的前提下转发VPN流量,提升VPN流量的转发性能。
第一方面,本申请提供了一种流量转发方法,该方法可以应用于第一通信装置,第一通信装置是用于转发VPN流量的网络设备,例如可以是公网中的PE设备。具体地,所述流量转发方法包括:第一通信装置先获取第一流量过滤信息。第一流量过滤信息可以是控制器通过通告报文向第一通信装置发送的,也可以是网管设备在第一通信装置上配置的。第一流量过滤信息包括VPN标签、第一流规则和第一流量过滤动作,第一流量过滤动作包括作为重定向的第一下一跳,该第一下一跳是第二通信装置的第一公网IP地址。第一流量过滤动作用于指示第一通信装置为与第一流规则匹配的报文添加VPN标签,并根据第一流量过滤动作将添加了VPN标签的报文向第二通信装置的第一公网IP地址。相应地,在获取到第一流量过滤信息之后,第一通信装置根据第一流量过滤信息转发与第一流规则匹配的流量。也就是说,第一通信装置根据第一流量过滤信息的指示,向指定的公网IP地址转发与第一流规则匹配、且添加了VPN标签的报文。这样,根据第一流量过滤信息,在不使用VPN路由表的前提下实现了VPN流量的转发,降低了VPN流量的转发时延。另外,通过第一流量过滤信息,还可以指定VPN流量的公网下一跳,灵活地调整VPN流量的转发路径,提升VPN流量的灵活转发。如此,根据第一流量过滤信息转发VPN流量,可以避免查找VPN路由表,提升了VPN流量的转发性能。
在一种可能的实现方式中,第一流量过滤信息还包括隧道类型信息,隧道类型信息指示隧道的类型,该隧道为用于转发与第一流规则匹配的流量的隧道。相应地,第一通信装置可以根据隧道类型信息,从第一通信装置到第二通信装置的第一IP地址之间的多条公网隧道之中选择一条公网隧道,作为转发与第一流规则匹配的VPN流量的公网隧道。在本申请技术方案中,该用于转发与第一流规则匹配的VPN流量的公网隧道被称为第一隧道。
在一种可能的实现方式中,第一通信装置通过控制器发送的通告消息获取第一流量过滤信息。具体地,控制器向第一通信装置发送的通告消息是边界网关协议(BorderGateway Protocol,BGP)消息,BGP消息包括第一流量过滤信息。或者,控制器向第一通信装置发送的通告消息是路径计算单元通信协议(Path Computation Element CommunicationProtocol,PCEP)消息。
在一种可能的实现方式中,第一流量过滤信息中的VPN标签可以作为扩展团体(Extended Community)属性被携带在控制器向第一通信装置发送的BGP消息中。具体地,BGP消息包括第一扩展团体属性,第一扩展团体属性用于携带VPN标签。
在一种可能的实现方式中,第一扩展团体属性还包括隧道类型字段,隧道类型信息字段用于承载隧道类型信息,隧道类型信息用于指示隧道的类型,隧道用于转发与第一流规则匹配的VPN流量。具体地,第一扩展团体属性中隧道类型字段用于携带第一隧道的隧道类型信息。
在一种可能的实现方式中,第一通信装置通过第一隧道转发与第一流规则匹配的VPN流量。那么在转发VPN流量之前,第一通信装置先确定第一隧道。具体地,第一通信装置根据第一流量过滤信息中第二通信装置的第一公网IP地址迭代第一隧道,第一隧道的标识被称为第一隧道标识。接着,第一通信装置将VPN标签、第一流规则、第一公网IP地址和第一隧道标识关联存储到第一通信装置的转发面。这样,第一通信装置的转发面包括第一关联关系,第一关联关系包括VPN标签、第一流规则、第一公网IP地址和第一隧道标识之间的关联关系。
在一种可能的实现中,第一关联关系以第一流规则转发表项的形式被存储在第一通信装置的转发面。其中,第一流规则转发表项包括VPN标签、第一索引、第一公网IP地址和第一隧道标识。其中,第一索引用于索引第一流规则,标识第一流规则在第一通信装置中的存储位置。
在一种可能的实现中,第一关联关系还包括第一隧道的类型。也就是说,第一关联关系包括VPN标签、第一流规则、第一公网IP地址、第一隧道标识和第一隧道的类型之间的关联关系。相应地,第一流规则转发表项包括VPN标签、第一索引、第一公网IP地址、第一隧道标识和第一隧道的类型。
在一种可能的实现中,第一通信装置还可以获取第二流量过滤信息,并根据第二流量规律信息转发VPN流量。第二流量过滤信息包括VPN标签、第二流规则和第二流量过滤动作。其中,第二流量过滤信息中的VPN标签和第一流量过滤信息中的VPN标签相同,第二流量过滤动作包括重定向的第二下一跳,重定向的第二下一跳为第二通信装置的第二公网IP地址。也就是说,第二流量过滤信息用于指示第一通信装置为与第二流规则匹配的报文添加VPN标签,并向第二通信装置的第二公网IP地址转发。这样,通过第一流规则和第二流规则,区分了流经同一设备(即第二通信装置)的不同VPN流量,实现了VPN流量的灵活转发。与获取第一流量过滤信息的方法相似,第二流量过滤信息可以是第一通信装置根据控制器发送的通告消息得到的,也可以是网管设备在第一通信装置上配置的。
在一种可能的实现中,第一通信装置通过公网隧道转发与第二流规则匹配的VPN流量。该用于转发与第二流规则匹配的VPN流量的公网隧道被称为第二隧道。相应地,在接收第二流量过滤信息之后,第一通信装置可以根据第二通信装置的第二公网IP地址迭代第二隧道。第二隧道的标识被称为第二隧道标识。另外,第一通信装置还在第一通信装置的转发面保存第二关联关系。第二关联关系包括VPN标签、第二流规则、第二公网IP地址和第二隧道标识之间的关联关系。
在一种可能的实现中,与第一关联关系类似,第一通信装置以第二流规则转发表项的形式存储第二关联关系。具体地,第二流规则转发表项包括VPN标签、第二索引、第二公网IP地址和第二隧道标识。第二索引用于索引第二流规则,标识第二流规则在第一通信装置中的存储位置。
下面介绍第一通信装置根据第一流量过滤信息转发报文的方法。
在一种可能的实现中,第一通信装置基于第一公网IP地址转发与第一流规则匹配的报文。具体地,第一通信装置通过与第一关联关系绑定的入接口接收第一报文。接着,第一通信装置判断第一报文是否与第一流规则相匹配。如果第一报文与第一流规则相匹配,第一通信装置在第一报文中添加VPN标签,并向第一下一跳发送添加了VPN标签的第一报文,实现VPN流量的转发。可选地,第一通信装置可以查找第一流规则转发表项,并根据第一流规则转发表项确定第一索引、VPN标签和第一公网IP地址,并根据第一索引确定第一流规则。
在一种可能的实现中,第一通信装置通过第一隧道转发与第一流规则匹配的报文。具体地,第一通信装置通过与第一关联关系绑定的入接口接收第二报文。接着,第一通信装置判断第二报文是否与第一流规则相匹配。如果第二报文与第一流规则相匹配,第一通信装置在第二报文中添加VPN标签,并通过第一隧道向第二通信装置的第一公网IP地址发送添加了VPN标签的第二报文,实现VPN流量的转发。
在一种可能的实现中,如果第一流规则转发表项包括第一索引、VPN标签、第一公网IP地址和第一隧道标识,第一通信装置可以根据第一流规则转发表项确定第一隧道标识。具体地,第一通信装置通过与第一流规则转发表项绑定的入接口接收第三报文。第一通信装置根据第一流规则转发表项确定第一索引、VPN标签、第一公网IP地址和第一隧道标识,并根据第一索引确定第一流规则。接着,第一通信装置判断第三报文是否与第一流规则相匹配。如果第三报文与第一流规则相匹配,第一通信装置在第三报文中添加VPN标签,并通过第一隧道向第二通信装置的第一公网IP地址发送添加了VPN标签的第三报文,实现VPN流量的转发。
在一种可能的实现中,如果第一通信装置还获取第二流量匹配信息,第一通信装置根据第二流量匹配信息转发与第二流规则匹配的报文。具体地,第一通信装置通过与第一流规则转发表项和第二流规则转发表项绑定的入接口接收第四报文。接着,第一通信装置判断第四报文是否与第一流规则或第二流规则相匹配。如果第四报文与第二流规则相匹配,第一通信装置在第四报文中添加VPN标签,并向第二通信装置的第二公网IP地址发送添加了VPN标签的第四报文,实现VPN流量的转发。
在一种可能的实现中,如果第二流规则转发表项包括第二索引、VPN标签、第二公网IP地址和第二隧道标识,第一通信装置可以根据第二流规则转发表项确定第二隧道标识。具体地,第一通信装置通过与第一流规则转发表项和第二流规则转发表项绑定的入接口接收第五报文。接着,第一通信装置判断第五报文是否与第一流规则或第二流规则相匹配。如果第五报文与第二流规则相匹配,第一通信装置根据第二流规则转发表项确定VPN标签、第二公网IP地址和第二隧道标识,从而在第五报文中添加VPN标签,并通过第二隧道向第二通信装置的第二公网IP地址发送添加了VPN标签的第五报文,实现VPN流量的转发。
第二方面,本申请提供了一种报文发送方法,该方法可以应用于第一通信装置,第一通信装置是用于转发VPN流量的网络设备,例如可以是公网中的PE设备。所述报文发送方法包括:第一通信装置接收第一报文。具体地,第一通信装置接收第一报文的入接口与第一关联关系相关联。第一关联关系包括第一流规则、VPN标签和第一流量过滤动作之间的关联关系,第一流量过滤动作包括重定向的第一下一跳,重定向的第一下一跳为第二通信装置的第一公网IP地址。在接收到的第一报文之后,第一通信装置根据接收第一报文的入接口确定第一关联关系,根据第一关联关系确定第一流规则,并判断第一报文是否与第一流规则匹配。如果第一报文与第一流规则匹配,第一通信装置根据第一关联关系在第一报文中添加VPN标签,并向第二通信装置的第一IP地址转发添加了VPN标签的第一报文。这样,根据第一流量过滤信息转发VPN流量,在不使用VPN路由表的前提下实现了VPN流量的转发,降低了VPN流量的转发时延,提升了VPN流量的转发性能。
在一种可能的实现中,第一流量过滤动作还包括第一隧道标识,用于指示第一通信装置通过第一隧道转发与第一流规则匹配的流量。其中,第一隧道标识用于标识第一隧道,第一隧道为第一通信装置和第二通信装置之间建立的第一公网隧道。相应地,在转发第一报文时,第一通信装置通过第一隧道向第一下一跳发送添加了VPN标签的第一报文。
在一种可能的实现中,第一关联关系以第一流规则转发表项的形式被保存在第一通信装置的转发面。相应地,第一流规则转发表项包括VPN标签、第一索引、第二通信装置的第一公网IP地址和第一隧道标识。其中,第一索引用于索引第一流规则。
在一种可能的实现中,第一通信装置的转发面还包括第二关联关系,第二关联关系包括第二流规则、VPN标签和第二流量过滤动作之间的关联关系,第二流量过滤动作包括重定向的第二下一跳,重定向的第二下一跳为第二通信装置的第二公网IP地址。也就是说,第二关联关系用于指示第一通信装置向第二通信装置的第二公网IP地址转发与第二流规则匹配的VPN流量。具体地,如果第一通信装置通过与第一关联关系和第二关联关系绑定的入接口接收第二报文,第一通信装置先判断第二报文是否与第一流规则或第二流规则匹配。如果第二报文与第二流规则匹配,第一通信装置在第二报文中添加VPN标签,并向第二下一跳发送添加了VPN的第二报文。
在一种可能的实现中,第二流量过滤动作还包括第二隧道标识,用于指示第一通信装置通过第二隧道转发与第二流规则匹配的流量。其中,第二隧道标识用于标识第二隧道,第二隧道为第一通信装置和第二通信装置之间建立的第二公网隧道。相应地,在转发第二报文时,第一通信装置通过第二隧道向第二下一跳发送添加了VPN标签的第二报文。
第三方面,本申请提供了一种消息发送方法,该方法应用于控制管理设备,控制管理设备可以是网管设备,也可以是控制器。如果控制管理设备为控制器,控制管理设备可以是多级控制器架构中用于控制PE设备的控制器。具体地,所述消息发送方法包括:控制管理设备获取第一流量过滤信息并向第一通信装置发送第一流量过滤信息。其中,第一流量过滤信息包括VPN标签、第一流规则和第一流量过滤动作。第一流量过滤动作包括重定向的第一下一跳,重定向的第一下一跳为第二通信装置的第一公网IP地址,第一流量过滤动作用于指示第一通信装置向第一下一跳转发与第一流规则匹配的VPN流量。这样,在接收到第一流量过滤信息之后,第一通信装置可以根据第一流量过滤信息而非VPN路由表转发VPN流量,可以避免查找VPN路由表,提升了VPN流量的转发性能。
在一种可能的实现中,控制管理设备为网管设备,控制管理设备可以获取技术人员在网管设备上配置的第一流量过滤信息。
在一种可能的实现中,控制管理设备为控制器,控制管理设备可以接收网管设备发送的第一流量过滤信息,或者获取技术人员在控制器上配置的第一流量过滤信息。或者,如果控制管理设备为多级控制器架构中用于控制PE设备的控制器,第一流量过滤信息可以是多级控制器架构中控制控制管理设备的控制器向控制管理设备发送的。
在一种可能的实现中,第一流量过滤信息还包括第一隧道的类型信息,第一隧道的隧道类型信息用于指示第一隧道的类型。第一隧道为第一通信装置和第二通信装置之间建立的公网隧道,用于转发与第一流规则匹配的VPN流量。也就是说,第一通信装置在确定报文与第一流规则匹配之后,可以通过第一隧道向第二通信装置的第一公网IP地址转发添加了VPN标签的报文。
在一种可能的实现中,控制管理设备为控制器,控制管理设备可以通过发送通告报文向第一通信装置发送第一流量过滤信息。其中,控制管理设备发送的通告消息可以是BGP消息,也可以是PCEP消息。
在一种可能的实现中,控制管理设备为控制器,控制管理设备通过BGP消息向第一通信装置发送第一流量过滤信息。第一流量过滤信息中的VPN标签可以作为扩展团体属性被携带在BGP消息中。具体地,BGP消息包括第一扩展团体属性,第一扩展团体属性包括VPN标签。
在一种可能的实现中,第一扩展团体属性还包括隧道类型字段,隧道类型字段用于承载隧道类型信息,隧道类型信息用于还是隧道的类型,该隧道为转发与第一流规则匹配的流量的公网隧道。例如,隧道类型字段可以用于携带上述第一隧道的隧道类型信息。
在一种可能的实现中,控制管理设备为控制器,控制管理设备通过BGP消息向第一通信装置发送第一流量过滤信息。BGP消息还包括路由目标(Route Target,RT)。路由目标RT关联第一通信装置中的VPN实例。第一流量过滤信息用于对来自与VPN实例绑定的VPN站点中的VPN流量进行过滤。相应地,第一通信装置在接收到BGP消息后,可以根据RT进行路由交叉,确定第一流量过滤信息对应的VPN实例的标识,从而确定与第一关联关系绑定的入接口。
在一种可能的实现中,控制管理设备还可以获取第二流量过滤信息,第二流量过滤信息包括VPN标签、第二流规则和第二流量过滤动作,其中,第二流量过滤信息中的VPON标签与第一流量过滤信息中的VPN标签相同,第二流量过滤动作包括重定向的第二下一跳,重定向的第二下一跳为第二通信装置的第二公网IP地址。也就是说,第二流量过滤信息用于指示第一通信装置为与第二流规则匹配的报文添加VPN标签,并向第二通信装置的第二公网IP地址转发。这样,通过第一流规则和第二流规则,区分了流经同一设备(即第二通信装置)的不同VPN流量,实现了VPN流量的灵活转发。。
在一种可能的实现中,第二流量过滤信息还包括第二隧道的类型信息,第二隧道的隧道类型信息用于指示第二隧道的类型。第二隧道为第一通信装置和第二通信装置之间建立的公网隧道,用于转发与第二流规则匹配的VPN流量。也就是说,第一通信装置在确定报文与第二流规则匹配之后,可以通过第二隧道向第二通信装置的第二公网IP地址转发添加了VPN标签的报文。
第四方面,本申请提供一种用于流量转发的网络设备,该网络设备应用于第一通信装置,包括处理模块和收发模块。
其中,所述处理模块,用于获取第一流量过滤信息,所述第一流量过滤信息包括VPN标签、第一流规则和第一流量过滤动作,其中,所述第一流量过滤动作包括重定向的第一下一跳,所述重定向的第一下一跳为第二通信装置的第一公网IP地址,所述第一流量过滤动作指示所述第一通信装置向所述第一下一跳转发与所述第一流规则匹配的流量;所述收发模块,还用于根据所述第一流量过滤信息转发与所述第一流规则匹配的流量。
在一种可能的实现中,所述第一流量过滤信息还包括隧道类型信息,所述隧道类型信息指示隧道的类型,所述隧道用于转发与所述第一流规则匹配的流量。
在一种可能的实现中,所述收发模块,还用于接收控制器发送的BGP消息,所述BGP消息包括所述第一流量过滤信息。
在一种可能的实现中,所述BGP消息包括第一扩展团体属性,所述第一扩展团体属性中携带所述VPN标签。
在一种可能的实现中,所述第一扩展团体属性还包括隧道类型字段,所述隧道类型字段承载隧道类型信息,所述隧道类型信息指示隧道的类型,所述隧道用于转发与所述第一流规则匹配的流量。
在一种可能的实现中,所述收发模块,还用于接收控制器发送的PCEP消息,所述PCEP消息包括所述第一流量过滤信息。
在一种可能的实现中,所述处理模块,用于根据所述第一公网IP地址迭代第一隧道,所述第一隧道为所述第一通信装置和所述第二通信装置之间建立的第一公网隧道;在转发面保存第一关联关系,所述第一关联关系包括所述VPN标签、所述第一流规则,所述第一公网IP地址和第一隧道标识之间的关联关系,所述第一隧道标识用于标识所述第一隧道。
在一种可能的实现中,所述处理模块,用于在所述转发面保存第一流规则转发表项,所述第一流规则转发表项包括所述VPN标签、第一索引,所述第一公网IP地址和所述第一隧道标识,所述第一索引用于索引所述第一流规则。
在一种可能的实现中,所述第一关联关系还包括所述第一隧道的类型。
在一种可能的实现中,所述处理模块,还用于获取第二流量过滤信息,所述第二流量过滤信息包括所述VPN标签、第二流规则和第二流量过滤动作,其中,所述第二流量过滤动作携带重定向的第二下一跳,所述重定向的第二下一跳为所述第二通信装置第二公网互联网协议IP地址,所述第二流量过滤动作指示所述第一通信装置向所述第二下一跳转发与所述第二流规则匹配的流量;根据所述第二流量过滤信息转发与所述第二流规则匹配的流量。
在一种可能的实现中,所述处理模块,用于据所述第二公网IP地址迭代第二隧道,所述第二隧道为所述第一通信装置和所述第二通信装置之间建立的第二公网隧道;在所述转发面保存所述第二关联关系,所述第二关联关系包括所述VPN标签、所述第二流规则,所述第二公网IP地址和第二隧道标识之间的关联关系,所述第二隧道标识用于标识所述第二隧道。
在一种可能的实现中,所述收发模块,用于接收第一报文;
所述处理模块,用于响应于所述第一报文与所述第一流规则相匹配,在所述第一报文中添加所述VPN标签;
所述收发模块,还用于向所述第一下一跳发送添加所述VPN标签后的第一报文。
在一种可能的实现中,所述收发模块,用于接收第二报文;
所述处理模块,用于响应于所述第二报文与所述第一流规则相匹配,在所述第二报文中添加所述VPN标签;
所述收发模块,用于通过所述第一隧道向所述第一下一跳发送添加所述VPN标签后的第二报文。
在一种可能的实现中,所述收发模块,用于接收第三报文;
所述处理模块,用于响应于所述第三报文与所述第一流规则相匹配,根据所述第一流规则转发表项,确定与所述第一流规则对应的所述VPN标签和所述第一隧道标识,在所述第三报文中添加所述VPN标签;
所述收发模块,用于通过所述第一隧道向所述第一下一跳发送添加所述VPN标签后的第三报文。
在一种可能的实现中,所述收发模块,用于接收第四报文;
所述处理模块,用于响应于所述第四报文与所述第二流规则相匹配,在所述第四报文中添加所述VPN标签;
所述收发模块,用于向所述第二下一跳发送添加所述VPN标签后的第四报文。
在一种可能的实现中,所述收发模块,用于接收第五报文;
所述处理模块,用于响应于所述第五报文与所述第二流规则相匹配,根据所述第二流规则转发表项,确定与所述第二流规则对应的所述VPN标签和所述第二隧道标识,在所述第五报文中添加所述VPN标签;
所述收发模块,用于通过所述第二隧道向所述第二下一跳发送添加所述VPN标签后的第五报文。
第五方面,本申请提供了一种用于发送报文的网络设备,该网络设备应用于第一通信装置,包括收发模块和处理模块。
其中,所述收发模块,用于接收第一报文;
所述处理模块,用于响应于所述第一报文与第一流规则相匹配,根据第一关联关系确定VPN标签和第一流量过滤动作,所述第一关联关系包括所述第一流规则、所述VPN标签和所述第一流量过滤动作之间的关联关系,所述第一流量过滤动作包括重定向的第一下一跳,所述重定向的第一下一跳为第二通信装置的第一公网IP地址;为所述第一报文添加所述VPN标签;
所述收发模块,用于向所述第一下一跳发送添加所述VPN标签后的第一报文。
在一种可能的实现中,所述第一流量过滤动作还包括第一隧道标识,所述第一隧道标识用于标识第一隧道,所述第一隧道为所述第一通信装置和所述第二通信装置之间建立的第一公网隧道;
所述收发模块,用于通过所述第一隧道向所述第一下一跳发送添加所述VPN标签后的第一报文。
在一种可能的实现中,所述处理模块,用于根据第一流规则转发表项,确定与所述第一流规则对应的VPN标签和所述第一隧道标识,所述第一流规则转发表项包括所述VPN标签、第一索引,所述第一公网IP地址和第一隧道标识,所述第一索引用于索引所述第一流规则。
在一种可能的实现中,所述收发模块,还用于接收第二报文;
所述处理模块,还用于响应于所述第二报文与第二流规则相匹配,根据第二关联关系确定所述VPN标签和第二流量过滤动作,所述第二关联关系包括所述第二流规则、所述VPN标签和所述第二流量过滤动作之间的关联关系,所述第二流量过滤动作包括重定向的第二下一跳,所述重定向的第二下一跳为所述第二通信装置的第二公网互联网协议IP地址;为所述第二报文添加所述VPN标签;
所述收发模块,还用于向所述第二下一跳发送添加所述VPN标签后的第二报文。
在一种可能的实现中,所述第二流量过滤动作还包括第二隧道标识,所述第二隧道标识用于标识第二隧道,所述第二隧道为所述第一通信装置和所述第二通信装置之间建立的第二公网隧道;
所述收发模块,用于通过所述第二隧道向所述第二下一跳发送添加所述VPN标签后的第二报文。
第六方面,本申请提供了一种用于发送消息的控制管理设备,所述控制管理设备应用于控制器或网管设备,所述控制管理设备包括处理模块和收发模块。其中,所述处理模块,用于获取第一流量过滤信息,所述第一流量过滤信息包括VPN标签、第一流规则和第一流量过滤动作,其中,所述第一流量过滤动作包括重定向的第一下一跳,所述重定向的第一下一跳为第二通信装置的第一公网IP地址,所述第一流量过滤动作指示第一通信装置向所述第一下一跳转发与所述第一流规则匹配的VPN流量;所述收发模块,用于向所述第一通信装置发送所述第一流量过滤信息。
在一种可能的实现中,所述第一流量过滤信息还包括第一隧道的隧道类型信息,所述第一隧道的隧道类型信息指示第一隧道的类型,所述第一隧道用于转发与所述第一流规则匹配的流量,所述第一隧道为所述第一通信装置和所述第二通信装置之间建立的第一公网隧道。
在一种可能的实现中,所述控制管理设备为控制器,所述收发模块,用于向所述第一通信装置发送BGP消息,所述BGP消息包括所述第一流量过滤信息。
在一种可能的实现中,所述BGP消息包括第一扩展团体属性,所述第一扩展团体属性中携带所述VPN标签。
在一种可能的实现中,所述第一扩展团体属性还包括隧道类型字段,所述隧道类型字段承载隧道类型信息,所述隧道类型信息指示隧道的类型,所述隧道用于转发与所述第一流规则匹配的流量。
在一种可能的实现中,所述BGP消息还包括RT,所述路由目标关联所述第一通信装置中的VPN实例,第一流量过滤信息用于对来自与所述VPN实例绑定的VPN站点中的VPN流量进行过滤。
在一种可能的实现中,所述收发模块,用于向所述第一通信装置发送PCEP消息,所述PCEP消息包括所述第一流量过滤信息。
在一种可能的实现中,所述处理模块,还用于获取第二流量过滤信息,所述第二流量过滤信息包括所述VPN标签、第二流规则和第二流量过滤动作,其中,所述第二流量过滤动作包括重定向的第二下一跳,所述重定向的第二下一跳为第二通信装置的第二公网IP地址,所述第二流量过滤动作指示第一通信装置向所述第二下一跳转发与所述第二流规则匹配的流量;向所述第一通信装置发送所述第二流量过滤信息。
在一种可能的实现中,所述第二流量过滤信息还包括第二隧道的隧道类型信息,所述第二隧道的隧道类型信息指示第二隧道的类型,所述第二隧道用于转发与所述第二流规则匹配的流量,所述第二隧道为所述第一通信装置和所述第二通信装置之间建立的第二公网隧道。
第七方面,本申请提供一种网络设备,该网络设备包括处理器和存储器,存储器用于存储指令或程序代码,处理器用于从存储器中调用并运行指令或程序代码,使得所述网络设备执行第一方面、第一方面的任意一种可能的实现方式中的方法,或者执行第二方面或第二方面的任意一种可能的实现方式中的方法。
第八方面,本申请提供一种控制管理设备,所述控制管理设备包括处理器和存储器,存储器用于存储指令或程序代码,处理器用于从存储器中调用并运行指令或程序代码,并使得所述控制管理设备执行第三方面、第三方面的任意一种可能的实现方式中的方法。
第九方面,本申请提供一种网络系统,网络系统包括如第四方面或者第五方面所述的网络设备,以及如第六方面所述的控制管理设备。
第十方面,本申请提供一种计算机可读存储介质,包括指令、程序或代码,当其在处理器上执行时,实现如第一方面或第一方面的任意一些可能的实现方式中的流量转发方法,或者如第二方面或第二方面的任意一种可能的实现方式中的报文发送方法,或者如第三方面或第三方面的任意一种可能的实现方式中的消息发送方法。
附图说明
图1-A为本申请实施例提供的一种网络架构的示意图;
图1-B为本申请实施例提供的另一种网络架构的示意图;
图1-C为本申请实施例提供的又一种网络架构的示意图;
图1-D为本申请实施例提供的再一种网络架构的示意图;
图2为本申请实施例提供的流量转发方法的一种信令交互图;
图3为本申请实施例提供的消息发送方法的一种信令交互图;
图4为本申请实施例提供的第一扩展团体属性的一种格式示意图;
图5为本申请实施例提供的报文发送方法的一种信令交互图;
图6为本申请实施例提供的流量转发方法的另一种信令交互图;
图7为本申请实施例提供的一种设备的一种结构示意图;
图8为本申请实施例提供的一种设备的结构示意图;
图9为本申请实施例提供的一种设备的结构示意图。
具体实施方式
在传统的VPN技术中,PE设备基于VPN路由表转发VPN流量。但是,VPN路由表会影响VPN流量的转发性能。例如,如果VPN路由表中IP地址的数量较多,PE设备查找VPN路由表的耗时较长,增加了VPN流量中报文的时延。另外,VPN路由表指定了传输报文的出接口和下一跳,固定了VPN流量的转发路径,限制了VPN流量转发的灵活性。
下面结合附图1-A对本申请实施例的一种网络架构进行简单介绍。
参见图1-A,该图为本申请实施例提供的系统的一种结构示意图。在图1-A所示的系统中,包括设备1、设备2、设备3、CE 1、CE 2、PE 1、PE 2和P1。其中,CE1分别与设备1和PE1连接,P1分别与PE1和PE2连接,CE2分别与PE2、设备2和设备3连接。设备1、设备2、设备3、CE1和CE2属于VPN1,PE1、PE2和P1属于公网。设备1的私网IP地址为100.1.1.1,设备2的私网IP地址为200.2.2.2,设备3的私网IP地址为300.3.3.3。PE1上与CE1连接的入接口的标识为A1,PE1上与P1设备连接的出接口的标识为A2,PE2上与P1连接的入接口的标识为B1。
为了隔离不同的VPN,PE设备上创建不同的VPN实例,每个VPN实例维护一张单独的VPN路由表(也可以称之为私网路由表),其中,VPN实例,也可以称之为虚拟路由转发(Virtual Routing Forwarding,VRF)。通过虚拟路由转发标识(Virtual RoutingForwarding Identifier,VRF ID)可以区分PE设备上不同的VPN实例。假设PE1上VPN1对应的VPN实例的VRF ID为1,那么VPN1对应的VPN路由表包括VRF ID1、设备2的私网IP地址200.2.2.2和出接口A2之间的第一对应关系,以及VPN1的VRF ID1,设备3的私网IP地址300.3.3.3和出接口A2之间的第二对应关系。
PE设备上VPN实例可以与PE设备的入接口绑定,表示通过该入接口接收的流量通过VPN实例转发。在图1-A所示的场景中,PE1的入接口A1与VPN1的VPN实例绑定,即入接口A1与VRF ID1相关联。
如果设备1通过CE1发送向设备2发送报文1,那么PE1通过入接口A1接收目的地址为200.2.2.2的报文1。在接收到报文1之后,PE1根据入接口A1确定报文1基于VPN1的VPN路由表转发。接着,根据报文1的目的地址200.2.2.2,PE1查找VPN1的VPN路由表确定报文1对应的出接口为出接口A2,从而通过出接口A2转发报文1。
相似地,如果设备1通过CE1发送目的设备为设备3的报文2,那么PE1通过入接口A1接收目的地址为300.3.3.3的报文2。在接收到报文2之后,PE1根据入接口A1确定报文2基于VPN1的VPN路由表转发。接着,根据报文2的目的地址300.3.3.3,PE1查找VPN1的VPN路由表,确定报文2对应的出接口为出接口A2,从而通过出接口A2转发报文2。
下面结合图1-B对本申请实施例的另一种网络架构进行简单介绍。
参见图1-B,该图为本申请实施例提供的系统的另一种结构示意图。在图1-A所示系统的基础上,图1-B所示的系统还包括P2。P2分别与PE1和PE2连接。其中,PE1上与P2连接的出接口的标识为A3,PE2上与P2连接的入接口的标识为B2。
在生成VPN路由表时,PE1获取来自CE2的两条路由,其中一条路由包括设备2的私网IP地址200.2.2.2,另一条路由包括设备3的私网IP地址300.3.3.3。经过路由计算,PE1生成的VPN路由表包括VPN1的VRF ID1、私网IP地址200.2.2.2和出接口A2之间的对应关系,以及VPN1的VRF ID1、私网IP地址300.3.3.3和出接口A2的对应关系。
相应地,PE1通过出接口A2转发目的地址为设备2或设备3的VPN流量。
在一些可能的实现中,VPN路由表还包括掩码。根据掩码和私网IP地址,可以得到私网路由前缀。相应地,上述根据报文的目的地址确定出接口,是指从VPN路由表中查找与报文的目的地址相匹配的私网路由前缀,再根据所述私网路由前缀确定出接口。
通过上述介绍可以看出,VPN路由表对VPN流量的转发性能的影响具体包括但不限于以下三个方面。
第一方面:随着VPN路由的不断增加,查询VPN路由表的时间不断增加,因而增加了VPN流量的转发时延。
具体来说,VPN路由表包括VPN中设备的私网IP地址。那么随着VPN中设备的增加,VPN路由表的数据量逐渐增加。相应地,PE1查找VPN路由表的用时也会增加。如此,增加了PE1转发报文的耗时,影响了VPN流量的转发时延。
第二方面,VPN路由表限制了报文的转发路径,降低了VPN流量转发的灵活性。
VPN路由表指定了转发报文的出接口和下一跳。即PE1收到VPN流量后,根据VPN路由表,通过指定的出接口向指定的下一跳转发。如此,限制了报文的转发路径,无法实现报文的灵活转发。
例如,在图1-B给出的实现方式中,发往设备2和设备3的流量通过相同的出接口A2转发,不能通过不同的出接口转发发往不同设备的流量,不能实现流量的灵活转发。
第三方面,VPN路由表更改难度较大,降低了VPN流量转发的灵活性。
VPN路由表基于其他设备通告的VPN路由生成。因此,如果需要调整流量的转发路径,需要设备2和/或设备3重新进行路由通告,才能修改VPN1的VPN路由表。可见,基于VPN路由表转发VPN流量也不能灵活地调整流量的转发路径。
通过上述介绍可以看出,受到VPN路由表的限制,基于VPN路由表的流量转发技术无法保证VPN流量的转发性能。
为了解决上述问题,本申请实施例提供了一种流量过滤方法,第一通信装置可以根据流量过滤信息的指示,向公网下一跳转发与流规则匹配的流量。这样,根据流量过滤信息而非VPN路由表转发VPN流量,可以在不使用VPN路由表的前提下转发VPN流量。如此,避免查找VPN路由表,提升了VPN流量的转发性能。
本申请实施例提供的方法可以应用于图1-A或图1-B所示的网络架构。其中,PE设备可以是具有转发功能的设备,比如:路由器(Router)或交换机(Switch)等设备。在一种可能的实现中,PE1和PE2具有基于多协议标记交换(Multiprotocol Label Switching,MPLS)协议转发报文的能力。一种具体的实现中,当本申请实施例的方法应用于图1-A或图1-B所示的网络架构时,第一通信装置例如可以是图1-A和图1-B中的PE1,用于执行下文图2、图3、图5和图6所示方法中第一通信装置执行的步骤。第二通信装置例如可以是图1-A和图1-B中的PE2。
在上文介绍的基础上,图1-A和图1-B所示的系统还包括控制管理设备。控制管理设备用于对PE1进行管理。在本申请实施例中,控制管理设备可以是控制器、网管设备或者其他能够实现控制和/或管理的设备。具体地,如果控制管理设备为网管设备,控制管理设备可以用于在PE1上配置第一流量过滤信息,用于执行图2所示实施例中网管设备执行的步骤。如果控制管理设备为控制器,控制管理设备可以用于执行下文图2、图3和图6所示实施例中控制器执行的步骤。
如果控制管理设备为控制器,控制管理设备所在的系统可以包括多级控制器架构。在多级控制器架构中等级较高的控制器可以控制等级较低的控制器。典型的多级控制器架构包括一个父控制器和多个子控制器。本申请实施例中的控制管理设备(以及图2、图3和图6所示的控制器)可以是用于控制PE设备的控制器。该控制器可以是父控制器,也可以是子控制器。控制管理设备和PE1之间建立邻居关系,向PE1发送消息。作为一种可能的实现,控制管理设备和PE1之间的邻居关系可以是VPN流规则(Flow Specification,Flowspec)邻居关系,也可以是VPN邻居关系。控制管理设备和PE1之间建立VPN邻居关系时,表示控制管理设备和PE1属于同一个VPN。
在一种可能的实现方式中,PE1和PE2之间可以建立有一条或多条公网隧道,公网隧道可以是标签分发协议(Label Distribution Protocol,LDP)隧道或者流量工程(Traffic Engineering,TE)隧道,也可以是其他类型的隧道。例如,在图1-A所示的实现方式中,PE1和PE2之间可以建立有公网隧道1,公网隧道1对应转发路径为“PE1→P1→PE2”。在图1-B所示的实现方式中,PE1和PE2之间建立有公网隧道1和公网隧道2。其中,公网隧道1对应转发路径为“PE1→P1→PE2”,公网隧道2对应转发路径为“PE1→P2→PE2”。PE1和PE2之间建立的公网隧道的隧道类型可以相同,也可以不同。
下面结合图2,以公网隧道1为LDP类型的公网隧道,公网隧道2为TE类型的公网隧道为例,对本申请实施例提供的技术方案进行介绍。参见图2,该图为本申请实施例提供的流量转发方法200的一种信令交互图,具体包括以下S201、S202和S203。
S201:控制管理设备获取第一流量过滤信息。
首先对第一流量过滤信息进行介绍。
在本申请实施例中,第一流量过滤信息包括VPN标签、第一流量过滤动作和第一流规则,用于指示通信装置为与第一流规则匹配的报文添加所述VPN标签,并向第二通信装置的第一公网IP地址转发所述报文。
在本申请实施例中,VPN标签是第二通信装置为VPN路由分配的标签,在本申请中,VPN标签例如可以是MPLS标签。具体地,第二通信装置可以以每VPN实例每标签的方式分配VPN标签,也可以以每VPN路由每标签的方式分配VPN标签。
如果第二通信装置以每VPN实例每标签的方式分配VPN标签,属于同一VPN的多个VPN路由具有相同的VPN标签。如果第二通信装置以每VPN路由每标签的方式分配VPN标签,属于同一VPN的多个VPN路由具有不同的VPN标签。
例如,在图1-A所示的实现方式中,如果PE2以每VPN实例每标签的方式分配VPN标签,VPN1中不同的VPN路由对应相同的VPN标签,设备2对应的VPN路由和设备3对应的VPN路由对应相同的VPN标签;如果PE2以每VPN路由每标签的方式分配VPN标签,VPN1中不同的VPN路由对应不同的VPN标签,设备2对应的VPN路由和设备3对应的VPN路由对应不同的VPN标签。
为了便于说明,后文中以第二通信装置以每VPN实例每标签的方式为例进行介绍。
在本申请实施例中,第一流规则是对报文的限制条件,用于判断报文是否需要被重定向到第一下一跳。与第一流规则匹配的报文被第一通信装置添加VPN标签,并向第一下一跳转发。
具体地,第一流规则可以包括至少一个用于匹配报文的特征字段的取值的匹配规则,用于限定报文中特征字段的取值。相应地,与第一流规则匹配的报文,其中特征字段的取值与匹配规则中限定的取值一致。
举例说明。第一流规则包括第一匹配规则和第二匹配规则。与第一流规则匹配的报文分别与第一匹配规则和第二匹配规则匹配。假设第一匹配规则用于限定报文中目的地址字段的取值,第二匹配规则用于限定报文中源地址字段的取值,且第一匹配规则包括第一私网IP地址,第二匹配规则包括第二私网IP地址。那么与第一流规则匹配的报文的目的地址为第一私网IP地址,源地址为第二私网IP地址。
以图1-A为例进行说明。如果第一流规则用于匹配从设备1发往设备2的报文,那么第一流规则中第一匹配规则包括私网IP地址200.2.2.2,用于限定报文目的地址字段的取值为200.2.2.2;第一流规则中第二匹配规则包括私网IP地址100.1.1.1,用于限定报文源地址字段的取值为100.1.1.1。如果PE1接收到报文X,且报文X的目的地址为200.2.2.2,源地址为100.1.1.1,那么PE1确定报文X与第一流规则匹配。
可选地,上述第一匹配规则和/或第二匹配规则还可以包括网段。如果报文的目的地址属于第一匹配规则所包括的网段,且报文的源地址属于第二匹配规则所包括的网段,那么该报文与第一流规则相匹配。
在本申请实施例中,第一流量过滤动作包括第二通信装置的第一公网IP地址,用于指示第一通信装置将与第一流规则匹配的流量重定向到第二通信装置的第一公网IP地址。第二通信装置的第一公网IP地址又可以被称为重定向的第一下一跳。
可选地,第二通信装置可以对应一个或多个公网IP地址。例如,第二通信装置具有多个接口,每个接口可以对应一个公网IP地址。其中,第二通信装置的一个接口对应的公网IP地址为上述第一下一跳,即第一公网IP地址。相应地,第一流量过滤动作用于指示第一通信装置将与第一流规则匹配的流量重定向到第二通信装置的第一公网IP地址。第二通信装置通过与第一公网IP地址对应的接口接收与第一流规则匹配的流量。
在一些可能的实现中,第一流量过滤信息还包括第一隧道标识和/或第一隧道的隧道类型信息。第一隧道标识用于标识第一隧道,例如可以是第一隧道的隧道标识(TunnelID)。第一隧道的隧道类型信息用于指示第一隧道的类型。第一隧道为第一通信装置和第二通信装置之间建立的第一公网隧道。具体地,第一隧道为从第一通信装置到第二通信装置上第一公网IP地址对应的接口之间的公网隧道。
这样,如果第一通信装置和第二通信装置之间存在多条公网隧道,第一通信装置可以根据第一隧道类型从多条公网隧道中确定第一隧道,或者,第一通信装置可以根据第一隧道的隧道类型信息,从多条公网隧道中选择隧道类型与第一隧道的隧道类型信息匹配的公网隧道作为第一隧道。也就是说,第一隧道标识和/或第一隧道的隧道类型信息用于确定第一隧道。
在本申请实施例中,第一流量过滤信息可以是技术人员在控制管理设备上配置的。可选地,如果控制管理设备为控制器,第一流量过滤信息也可以是控制管理设备根据控制消息生成的。控制消息是控制管理设备的上级控制器向控制管理设备发送的消息,包括第一流量过滤信息。
S202:控制管理设备向第一通信装置发送第一流量过滤信息。
在获取到第一流量过滤信息之后,控制管理设备可以向第一通信装置发送第一流量过滤信息。根据上文介绍可知,控制管理设备可以是网管设备,也可以是控制器。相应地,控制管理设备向第一通信装置发送第一流量过滤信息具体包括但不限于以下两种方式。
方式一:控制管理设备在第一通信装置上配置第一流量过滤信息。
如果控制管理设备为网管设备,控制管理设备可以通过命令行或网络配置协议(Network Configuration Protocol,NETCONF)在第一通信装置上配置第一流量过滤信息。上述过程也可以被称为静态配置。相应地,第一通信装置可以基于网管设备配置的内容获取第一流量过滤信息。
在一种可能的实现中,控制管理设备可以在第一通信装置的转发面上配置第一流规则转发表项,以便第一通信装置的转发面根据第一流规则转发表项转发流量。关于第一流规则转发表项的介绍可以参见图3相关的介绍,这里不再赘述。
方式二:控制管理设备向第一通信装置发送包括第一流量过滤信息的第一通告消息。
如果控制管理设备为控制器,控制管理设备可以通过第一通告消息向第一通信装置发送第一流量过滤信息。其中,第一通告消息包括第一流量过滤信息。第一通告消息可以是控制管理设备生成的。或者,如果系统中存在多级控制器,第一通告消息也可以是控制管理设备的上级控制器生成并向控制管理设备发送的。控制管理设备在接收到上级控制器发送的第一通告消息之后,可以向第一通信装置转发第一通告消息。
在本申请实施例中,第一通告消息可以包括一条流量过滤信息(即第一流量过滤信息),也可以包括多条流量过滤信息。例如,第一通告消息可以包括第一流量过滤信息和第二流量过滤信息。
也就是说,除了静态配置以外,第一通信装置也可以通过第一通告消息获取第一流量过滤信息。第一通告消息是控制器向第一通信装置发送的通告消息。方式二的具体实现过程将在下文中结合图3进行具体介绍,此处不再赘述。
S203:第一通信装置根据第一流量过滤信息转发与第一流规则匹配的流量。
如果第一通信装置接收到多条与第一流规则匹配的报文,可以称第一通信装置接收到与第一流规则匹配的流量。根据第一流量过滤信息,第一通信装置向与第一流规则匹配的报文中添加VPN标签,并向第二通信装置的第一公网IP地址转发添加了VPN标签的报文。上述过程可以被称为第一通信装置根据第一流量过滤信息转发与第一流规则匹配的流量。
关于第一通信装置转发VPN流量的详细介绍可以参见图5所示实施例,这里不再赘述。
在本申请实施例中,控制管理设备向第一通过信装置发送第一流量过滤信息。第一通信装置根据第一流量过滤信息的指示,向指定的公网IP地址转发与第一流规则匹配的报文。如果VPN流量中的报文与第一流规则相匹配,第一通信装置可以向重定向的第一下一跳转发添加了VPN表亲的报文。这样,根据第一流量过滤信息,在不使用VPN路由表的前提下实现了VPN流量的转发。如此,避免查找VPN路由表,提升了VPN流量的转发性能。
进一步地,在一些可能的实现中,控制管理设备还可以向第一通信装置发送第二流量过滤信息。第二流量过滤信息包括第二流规则、作为重定向的第二下一跳的第二通信装置的第二公网IP地址和所述VPN标签。根据第二流量过滤信息,第一通信装置在与第二流规则匹配的报文中添加所述VPN标签,并向第二通信装置的第二公网IP地址发送。这样,通过不同的传输路径向第二通信装置转发不同的流量,实现了流量的差异化传输。可以更好地满足流量传输的要求,提升VPN流量的灵活转发。
下面以第一通信装置根据控制器发送的第一通告消息确定第一流量过滤信息(即上述方式二)为例,对本申请实施例提供的技术方案进行详细介绍。
参见图3,该图为本申请实施例提供的消息发送方法300的一种信令交互图,具体包括以下S301-S303。
S301:控制器获取第一通告消息。
为了向第一通信装置通告第一流量过滤信息,控制器先获取第一通告消息,第一通告消息包括第一流量过滤信息。其中,第一通告消息是控制器生成的,或者是控制器的上级控制器向控制器发送的。可选地,第一通告消息还可以包括多条流量过滤信息,例如,第一通告消息可以包括第一流量过滤信息和第二流量过滤信息。关于第一流量过滤信息的基本介绍可以参见上文,这里不再赘述。
作为一种可能的实现,控制器向第一通信装置发送第一通告消息,用于通告Flowspec路由,该第一通告消息包括VPN标签,第一流规则和第一流量过滤动作。相应地,上述第一流规则又可以被称为匹配项(Match),上述VPN标签和第一流量过滤动作可以被称为动作项(Action)。
所述VPN标签可以是第二通信装置向控制器上报,也可以由控制器统一分配。
根据前文介绍可知,第一通告消息还可以包括第一隧道的隧道类型信息和/或第一隧道标识。
在本申请实施例中,第一通告消息可以是BGP消息,也可以是PCEP消息。下面以第一通告消息为BGP消息为例,对第一通告消息携带第一流量过滤信息的方法进行介绍。
第一通告消息可以是BGP更新(BGP Update)消息。上述第一流规则可以被携带在第一通告消息的网络层可达性信息(Network Layer Reachability Information,NLRI)字段中。VPN标签和第一流量过滤动作可以携带在新的BGP的扩展团体属性。具体地,VPN标签和第一流量过滤动作可以被携带在相同的扩展团体属性中,也可以被携带在不同的扩展团体属性中。
根据前文介绍可知,第一通告消息还可以包括第一隧道的隧道类型信息。一种具体的实现中,第一隧道的隧道类型信息和VPN标签可以携带在同一个扩展团体属性中。携带有第一隧道的隧道类型信息和VPN标签的扩展团体属性可以被称为第一扩展团体属性。示例性的,第一扩展团体属性的一种具体格式可以如图4所示。其中,第一扩展团体属性的子类型(Sub-Type)字段的值用于标识第一扩展团体属性包括VPN标签和第一隧道的隧道类型信息,第一扩展团体属性的隧道类型(Tunnel Type)字段用于携带第一隧道的隧道类型信息,MPLS标签(MPLS Label)字段用于携带所述VPN标签。
可以理解的是,第一隧道的隧道类型信息也可以被携带在独立的扩展团体属性中。
根据前文介绍可知,第一通信装置和控制器之间可以存在VPN Flowspec邻居关系。那么第一通告消息还包括第一RT。在生成第一关联关系的过程中,第一通信装置可以根据第一RT确定第一流量过滤动作对应的VPN标识。关于第一RT的作用可以参见S303的介绍,这里不再赘述。
S302:控制器向第一通信装置发送所述第一通告消息。
在获取到第一通告消息之后,控制器向第一通信装置发送第一通告消息,以使第一通信装置根据第一通告消息得到第一流量过滤信息。可选地,控制器向第一通信装置发送第一通告消息,又可以被称为控制器向第一通信装置发送Flowspec路由。
S303:第一通信装置根据第一流量过滤信息生成第一关联关系。
在接收到第一通告消息之后,第一通信装置根据第一通告消息得到第一流量过滤信息,并基于第一流量过滤信息生成第一关联关系。接着,第一通信装置在转发面中保存所述第一关联关系,以便根据第一关联关系为与第一流规则匹配的报文添加VPN标签并向第二通信装置的第一公网IP地址转发。
所述第一关联关系包括所述VPN标签,所述第一流规则和所述第一下一跳的IP地址之间的关联关系。
在本申请中,所述第一关联关系具体包括但不限于以下三种实现方式。
实现方式一:第一关联关系包括VPN标签、第一流规则和下一跳之间的关联关系,表示与第一流规则相匹配的报文需要被添加VPN标签并向所述第二通信装置的第一公网IP地址发送。
实现方式二:第一关联关系包括VPN标签、第一流规则、第一隧道标识和下一跳之间的关联关系,表示与第一流规则相匹配的报文需要被添加VPN标签,并经由第一隧道向所述第二通信装置的第一公网IP地址发送。
实现方式三:第一关联关系包括VPN标签、第一流规则、第一隧道标识、第一隧道的隧道类型信息和下一跳之间的关联关系。
在上述第二种实现方式和第三种实现方式中,第一关联关系包括第一隧道标识。第一隧道标识可以是第一通告消息中携带的,也可以是第一通信装置根据通告消息确定的。具体地,如果第一通告消息不包括第一隧道标识,第一通信装置根据通告消息确定第一隧道标识。具体地,第一通信装置确定第一隧道标识具体包括但不限于以下两种实现方式。
实现方式一:第一通信装置根据所述第一公网IP地址迭代第一隧道,得到第一隧道标识。
具体地,第一通信装置可以根据第一公网IP地址,从第一通信装置对应的多条隧道中查找到达第二通信装置的第一公网IP地址的公网隧道,并将该公网隧道确定为第一隧道,得到第一隧道标识。
实现方式二:第一通信装置根据第一公网IP地址和第一隧道的隧道类型信息确定第一隧道,得到第一隧道标识。
具体地,第一通信装置先根据第一公网IP地址确定第一通信装置和第一公网IP地址之间的一条或多条公网隧道,再从一条或多条公网隧道中选择隧道类型与第一隧道的隧道类型一致的公网隧道作为第一隧道,得到第一隧道标识。
结合图1-B对实现方式二进行说明,如果控制管理设备向PE1发送的第一通告消息包括第一隧道的隧道类型信息,且第一隧道的隧道类型信息指示第一隧道为LDP类型的公网隧道,那么PE1可以将公网隧道1确定为第一隧道。如果第一隧道的隧道类型信息指示第一隧道为TE类型的公网隧道,那么PE1可以将公网隧道2确定为第一隧道。
上述第一关联关系可以以第一流规则转发表项的形式保存到第一通信装置的转发面。第一通信装置的转发面基于第一流规则转发表项转发VPN流量。相应地,第一通信装置根据第一流量过滤信息生成第一关联关系包括:第一通信装置的控制面根据第一流量过滤信息生成第一流规则转发表项。在生成第一流规则转发表项之后,第一通信装置的控制面向第一通信装置的转发面下发第一流规则转发表项。
如果第一关联关系为VPN标签、第一流规则和第一公网IP地址之间的关联关系,第一流规则转发表项包括VPN标签、第一索引和第一公网IP地址。
如果第一关联关系为VPN标签、第一流规则、第一隧道标识和第一公网IP地址之间的关联关系,第一流规则转发表项包括VPN标签、第一索引、第一隧道标识和第一公网IP地址。
如果第一关联关系为VPN标签、第一流规则、第一隧道标识、第一隧道的隧道类型信息和第一公网IP地址之间的关联关系,第一流规则转发表项包括VPN标签、第一索引、第一隧道标识、第一隧道的隧道类型信息和第一公网IP地址。
其中,第一索引用于索引第一流规则,例如可以用于标识第一流规则的存储位置。这样,第一通信装置的转发面在使用第一流规则转发表项时,可以根据第一索引查找第一流规则,以便判断报文是否与第一流规则匹配。或者,在一些可能的实现方式中,第一流规则转发表项也可以包括第一流规则。
在一些可能的实现方式中,第一流规则转发表项还包括VPN实例的标识,该VPN实例标识用于标识第一流规则对应的VPN实例,例如可以是第一流规则对应的VRF ID。在这样,第一通信装置在通过与VRF ID对应的入接口接收到流量之后,可以根据VRF ID确定流量基于第一流规则转发表项转发。
下面介绍第一通信装置获取VPN标识的方法。第一通信装置获取VRF ID具体包括但不限于以下两种实现方式。
实现方式一:第一通信装置基于和控制器之间的邻居关系获取VRF ID。
如果第一通信装置和控制器之间为VPN邻居,第一通信装置上与控制器连接的接口与VPN实例绑定,那么第一通信装置在接收到控制管理设备发送的第一通告消息之后,可以基于接收第一通告消息的接口确定VRF ID。
实现方式二:第一通信装置基于第一RT获取VRF ID。
根据前文介绍可知,如果第一通信装置和控制器之间为VPN Flowspec邻居,控制器发送的第一通告消息还包括第一RT。那么第一通信装置在接收到第一通告消息之后,可以根据第一RT进行路由交叉,从而根据第一RT确定VRF ID。
上面介绍了第一通信装置根据控制器发送的第一通告消息获取第一流量过滤信息的方法。下面结合图5对第一通信装置转发流量的过程进行介绍。可以理解的是,图5所示的方法由第一通信装置的转发面执行。所述第一流规则转发表项可以是第一通信装置根据第一通告消息生成的,也可以是网管设备在第一通信装置上配置的。
参见图5,该图为本申请实施例提供的报文发送方法500的一种信令交互图,具体包括以下S501-S504。
S501:第一通信装置接收第一报文。
在本申请实施例中,第一报文的源设备和目的设备为VPN中的设备,第一通信装置通过与VPN绑定的入接口接收第一报文。以图1-A为例,第一报文可以是图1-A中的设备1向设备2发送的报文,那么第一报文的目的地址为设备2的私网IP地址200.2.2.2,第一报文的源地址为设备1的私网IP地址100.1.1.1。PE1通过与VPN1绑定的入接口A1接收第一报文。
S502:第一通信装置确定第一报文与第一流规则匹配。
在接收到第一报文之后,第一通信装置根据接收第一报文的入接口确定第一报文对应的VRF ID,进而根据VRF ID确定基于第一流量过滤信息转发第一报文。接着,第一通信装置判断第一报文是否与第一流规则匹配。
根据图3对应实施例的介绍可知,第一通信装置以第一流规则转发表项保存第一关联关系。相应地,第一通信装置可以根据第一报文对应VRF ID确定第一流规则转发表项,再根据第一流规则转发表项中的第一索引确定第一流规则,进而判断第一报文是否与第一流规则匹配。
如果第一报文与第一流规则匹配,第一通信装置根据第一流量过滤动作转发第一报文,执行S503和S504。如果第一报文与第一流规则不匹配,且第一报文不匹配VRF ID对应的其他任意流规则,第一通信装置可以查找VPN路由表,根据VPN路由表转发第一报文。
S503:第一通信装置为第一报文添加VPN标签。
S504:第一通信装置向所述第一下一跳发送添加所述VPN标签后的第一报文。
在确定第一报文与第一流规则匹配之后,第一通信装置根据第一流量过滤动作转发第一报文。具体地,第一通信装置为第一报文添加VPN标签,并向第二通信装置的第一公网IP地址发送添加VPN标签后的第一报文。
根据前文介绍可知,第一流规则转发表项可以包括第一隧道标识。相应地,第一通信装置可以根据第一隧道标识确定第一隧道,并通过第一隧道发送添加了VPN标签的第一报文。
通过上文介绍可以看出,通过第一流量过滤信息,控制器可以在第一通信装置上配置第一关联关系。在接收到VPN流量之后,第一通信装置可以判断VPN流量是否与第一流规则匹配。如果VPN流量与第一流规则匹配,第一通信装置根据第一关联关系确定第一流规则对应的VPN标签和第一下一跳,从而为VPN流量中的报文添加VPN标签,并向第一下一跳转发。第一通信装置可以根据第一流量过滤信息转发VPN流量。如此,避免查找VPN路由表,降低了第一通信装置转发流量的转发时延。
另外,由于第一流量过滤信息是网管设备在第一通信装置上配置的,或者第一流量过滤信息是第一通信装置根据控制器发送的第一通告消息得到的。如果需要调整第一关联关系,可以重新配置第一流量过滤信息或发送新的第一通告消息,无需重新进行路由通告并调整VPN路由表。如此,可以灵活调整流量的转发路径。
下面结合图1-A所示的应用场景,以控制管理设备为控制器为例,对图3和图5所示的方法进行介绍。
为了转发VPN1的VPN流量,控制器生成通告消息M1并向PE1发送。其中,通告消息M1包括第一RT、VPN1的VPN标签100、流规则1、作为重定向的第一下一跳的PE2的第一公网IP地址1.1.1.1。其中,第一流规则用于匹配从设备1发往设备2的流量。
在接收到通告消息M1后,PE1第一RT进行路由交叉得到VPN1的VRF ID1,并生成流规则转发表项1。流规则转发表项1包括VRF ID1、流规则1对应的流规则索引1、PE2的公网IP地址1.1.1.1,公网隧道1的隧道类型信息LDP、公网隧道1的隧道标识1和VPN标签100。
假设设备1通过公网向设备2发送报文N1,PE1可以通过入接口A1接收CE1转发的报文N1。根据接收报文N1的入接口A1,PE1确定报文N1对应VRF ID1,并根据流规则转发表项1判断报文N1是否与流规则1匹配。在确定报文N1与流规则1匹配之后,PE1在报文N1中添加VPN1的VPN标签100,并通过公网隧道1向PE2发送添加了VPN标签100的报文N1,实现VPN流量的转发。报文N1的传输过程可以如图1-C所示。
通过上述介绍可知,PE1可以根据控制器发送的通告消息生成流规则转发表项1。流规则转发表项1指示PE1向PE2的第一公网IP地址转发与第一流规则匹配的报文。这样,在接收到报文之后,PE1可以判断报文是否与流规则1匹配,若匹配,PE1根据流规则转发表项1确定VPN标签100,以及转发报文的公网隧道1。这样,PE1可以不根据VPN1的VPN路由表转发VPN1的流量。如此,避免查找VPN路由表,从而降低了PE1转发报文的用时,提升了VPN1流量的转发性能。
在一些可能的实现中,第一通信装置和第二通信装置之间存在多条转发路径。例如,在图1-B所示的应用场景中,PE1和PE2之间存在公网隧道1和公网隧道2两条公网隧道,对应2条转发路径。在本申请实施例中,可以通过流量过滤动作,控制特定的流量通过特定的转发路径传输。
具体地,第一通信装置可以获取第二流量过滤信息,第二流量过滤信息包括VPN标签、第二流规则和第二流量过滤动作。第二流量过滤动作包括重定向的第二下一跳,重定向的第二下一跳为第二通信装置的第二公网IP地址。第一通信装置根据第二流量过滤信息转发与第二流规则匹配的流量。也就是说,对于与第二流规则相匹配的报文,第一通信装置在报文中添加VPN标签,并向第二通信装置的第二公网IP地址发送。这样,VPN中与第一流规则匹配的流量被发往第二通信装置的第一公网IP地址,与第二流规则匹配的流量被发往第二通信装置的第二公网IP地址。如此,通过不同的传输路径发送经过同一设备(即第二通信装置)的VPN流量,实现了VPN流量的灵活转发。
与第一流量过滤信息相似,第二流量过滤信息可以是网管设备在第一通信装置上配置的,也可以是第一通信装置根据控制器发送的通告消息获取的。如果第一通信装置根据控制器发送的通告消息获取第二流量过滤信息,第二流量过滤信息和第一流量过滤信息可以被携带在同一条通告消息中,也可以被携带在不同的通告消息中。如果第二流量过滤信息被携带在独立的通告消息中,为了区别携带第一流量过滤信息的第一通告消息,携带第二流量过滤信息的通告消息被称为第二通告消息。
下面以第一通信装置根据控制器发送的第二通告消息获取第二流量过滤信息为例,结合说明书附图进行介绍。
参见图6,该图为本申请实施例提供的流量转发方法600的另一种信令交互图,具体包括以下步骤S601-S607。可以理解的是,图6所示的方案可以在图2、图3和图5任一对应的实现方式的基础上实现。
S601:控制器获取第二通告消息。
为使第一通信装置获取第二流量过滤信息,控制器获取第二通告消息并向第一通信装置发送。与第一通告消息相似,第二通告消息可以是控制器生成的,也可以是控制器的上级控制器向控制器发送的。
第二通告消息用于通告第二流量过滤信息,第二流量过滤信息包括所述VPN标签、第二流规则和第二流量过滤动作。其中,第二流量过滤信息中的VPN标签和第一流量过滤信息中的VPN标签为相同的VPN标签。第二流量过滤动作包括重定向的第二下一跳。第二下一跳为第二通信装置的第二公网IP地址。也就是说,第二流量过滤信息用于指示设备为与第二流规则匹配的报文添加VPN标签,并向第二通信装置的第二公网IP地址发送。
在本申请实施例中,第二通信装置的第一公网IP地址可以是第二通信装置上一个接口的公网IP地址,第二通信装置的第二公网IP地址可以是第二通信装置上另一个接口的公网IP地址。以图1-B为例进行说明。第二通信装置的第一公网IP地址可以是PE2上接口B1的公网IP地址2.2.2.2,第二通信装置的第二公网IP地址可以是PE2上接口B2的公网IP地址22.22.22.22。
与第一通告消息相似,第二通告消息可以包括第二隧道标识和/或第二隧道的隧道类型信息。其中,第二隧道标识用于标识第二隧道,第二隧道为从第一通信装置到第二通信装置的第二公网IP地址之间的公网隧道。仍然以图1-B为例进行说明。如果第二通信装置的第一公网IP地址为接口B1的公网IP地址2.2.2.2,且第二通信装置的第二公网IP地址为接口B2的公网IP地址22.22.22.22,,那么第一隧道为图1-B中的公网隧道1,第二隧道为图1-B中的公网隧道2。
关于第二通告消息以及第二流量过滤信息的详细介绍可以参见图2和图3中对第一通告消息以及第一流量过滤信息的介绍,这里不再赘述。
S602:控制器向第一通信装置发送第二通告消息。
可以理解的是,控制器可以一起发送第一通告消息和第二通告消息,也可以分开发送第一通告消息和第二通告消息。在图6所示的实现方式中,第一流量过滤信息和第二流量过滤信息通过不同的两条通告消息(即第一通告消息和第二通告消息)发送。在一些其他坑你的实现中,第一流量过滤信息和第二流量过滤信息通过相同的两条通告消息发送。
S603:第一通信装置根据第二通告消息生成第二关联关系。
在接收到第二通告消息后,第一通信装置根据第二通告消息生成第二关联关系。其中,第二关联关系表示与第二流规则相匹配的报文需要被封装VPN标签,并向第二通信装置的第二公网IP地址发送。具体地,第二关联关系为VPN标签、第二流规则和第二公网IP地址之间的关联关系,或者,第二关联关系为VPN标签、第二流规则、第二隧道标识和第二公网IP地址之间的关联关系,或者,第二关联关系为VPN标签、第二流规则、第二隧道标识、第二隧道的隧道类型信息和第二公网IP地址之间的关联关系,
与第一关联关系相似,第二关联关系可以以第二流规则转发表项的形式保存到第一通信装置的转发面。第二流规则转发表项包括VPN标签、第二索引和第二公网IP地址。或者,第二流规则转发表项包括VPN标签、第二索引、第二隧道标识和第二公网IP地址。或者,第二关联关系包括VPN标签、第二索引、第二隧道标识和第二公网IP地址之间的关联关系。其中,第二索引用于索引第二流规则,例如可以用于标识第二流规则的存储位置。可选地,第二流规则转发表项也可以包括第二流规则。
在上述S601-S603中,第二关联关系是第一通信装置根据控制器发送的第二通告消息得到的。在一些其他可能的实现中,第二关联关系也可以网管设备是在第一通信装置上配置的。
S604:第一通信装置接收第二报文。
在本申请实施例中,第二报文的源设备和目的设备为VPN中的设备,且第二报文的目的设备和第二报文的源设备之间通过公网连接,第一通信装置通过与VPN绑定的入接口接收第二报文。可选地,第二报文的目的设备与第一报文的目的设备不同。以图1-B为例,如果第一报文为设备1向设备2发送的报文,第二报文可以是设备1向设备3发送的报文。
S605:第一通信装置判断第二报文是否与第一流规则或第二流规则匹配。
在接收到第二报文之后,第一通信装置根据接收第二报文的入接口确定第二报文对应的VPN标识,并根据VPN标识判断第二报文是否与第一关联关系中的第一流规则或第二关联关系中的第二流规则匹配。如果第二报文与第一关联关系中的第一流规则匹配,第一通信装置根据S503和S504所示的方法转发第二报文。如果第二报文与第二关联关系中的第二流规则匹配,第一通信装置根据S606和S607所示的方法转发第二报文。如果第二报文与第一流规则和第二流规则均不匹配,且第二报文不匹配VPN标识对应的其他任意流规则,第一通信装置根据VPN路由表转发第二报文。
S606:第一通信装置为第二报文添加VPN标签。
S607:第一通信装置向所述第一下一跳发送添加所述VPN标签后的第二报文。
在确定第二报文与第二流规则匹配之后,第一通信装置在第二报文中添加VPN标签,并向第二通信装置的第二公网IP地址发送添加了VPN标签的第二报文。在一种可能的实现中,第二通信装置通过第二隧道向第二通信装置发送添加了VPN标签的第一报文。
在上述介绍中,第一通信装置可以通过不同的传输路径,向第二通信装置传输不同的流量。这样,通过不同的传输路径向相同的设备传输不同流量,实现了流量的差异化传输。可以更好地满足流量传输的要求。
例如,假设第一业务流量与第二业务流量对网络性能指标的要求不同。那么可以通过第一流规则和第二流规则区分第一业务流量和第二业务流量,并通过满足第一业务流量的要求的第一隧道转发第一业务流量,通过满足第二业务流量的要求的第二隧道转发第二业务流量。或者,如果经第一通信装置发往和第二通信装置的VPN流量较多,可以通过第一流规则和第二流规则区分VPN流量,从而通过两条转发路径转发VPN流量,实现负载分担,降低了转发路径的压力。
另外,第一流规则转发表项和第二流规则转发表项是第一通信装置根据控制器发送的通告消息生成的。如果需要调整第一流规则和/或第二流规则对应的转发路径,可以下发新的通告消息,以便第一通信装置生成新的流规则转发表项。如此,无需重新通告VPN路由,提升了VPN流量转发的灵活性。
下面结合图1-B所示的应用场景,以控制管理设备为控制器为例,对图6所示的方法进行介绍。
为了转发VPN1的流量,控制器生成通告消息M1和通告消息M2,并向PE1发送通告消息M1和通告消息M2。关于通告消息M1的介绍可以参见前文。通告消息M2包括第一RT、VPN1的VPN标签100、流规则2、作为重定向的第二下一跳的PE2的第二公网IP地址22.22.22.22。流规则2用于匹配从设备1发往设备3的流量
在接收到通告消息M2后,PE1根据第一RT进行路由交叉得到VPN1的VRF ID1,并生成流规则转发表项2。流规则转发表项2包括VRF ID1、流规则1对应的流规则索引2、PE2的第二公网IP地址22.22.22.22,公网隧道2的隧道类型信息TE、公网隧道2的隧道标识2和VPN标签100。
假设设备1通过公网向设备2发送报文N1。PE1可以通过入接口A1接收报文N1,并通过公网隧道1转发报文N1。具体转发过程可以参见上文。
假设设备1通过公网向设备3发送报文N2。PE1可以通过入接口A1接收报文N2。根据接收报文N2的入接口A1,PE1确定报文N2对应VRF ID1,并根据流规则转发表项1和流规则转发表项2判断报文N2是否与流规则1或流规则2匹配。在确定报文N2与流规则2匹配之后,PE1在报文N2中添加VPN1的VPN标签100,并通过公网隧道2向PE2发送添加了VPN标签100的报文N2,实现VPN流量的转发。报文N2的传输过程可以如图1-D所示。
通过上述介绍可知可见,PE1获取VPN1对应的流规则转发表项1和流规则转发表项2。流规则转发表项1指示PE1向PE2的第一公网IP地址转发与流规则1匹配的报文,流规则转发表项2指示PE1向PE2的第二公网IP地址转发与流规则2匹配的报文。这样,在接收到VPN1对应的流量之后,PE1可以判断流量是否与流规则1或流规则2匹配。如果流量与流规则1匹配,PE1根据流规则转发表项1的指示向PE2的第一公网IP地址转发流量;如果流量与流规则2匹配,PE1根据流规则转发表项2的指示向PE2的第二公网IP地址转发流量。如此,通过流规则1和流规则2区分途经PE2的流量,实现了流量的灵活转发。
参见图7,本申请实施例还提供了一种设备700,该设备700可以实现图2所示实施例所对应的方法200、图3所示实施例所对应的300、图5所示实施例所对应的方法500和图6所示实施例所对应的方法600中第一通信装置的功能。或者,该设备700也可以实现图2所示实施例所对应的方法200、图3所示实施例所对应的300、图5所示实施例所对应的方法500和图6所示实施例所对应的方法600中控制管理设备(或控制器)的功能。
该设备700包括收发10和处理模块720,其中,所述收发模块710用于执行上述各实施例所对应的方法中由第一通信装置所执行的接收和/或发送操作,所述处理模块720用于执行上述各实施例所对应的方法中由第一通信装置所执行的接收和/或发送操作之外的其它操作。或者,所述收发模块710用于执行上述各实施例所对应的方法中由控制管理设备所执行的接收和/或发送操作,所述处理模块720用于执行上述各实施例所对应的方法中由控制管理设备所执行的接收和/或发送操作之外的其它操作
举例来说,当设备700具体用于实现方法200中第一通信装置的功能时,所述处理模块720,用于获取第一流量过滤信息,所述第一流量过滤信息包括VPN标签、第一流规则和第一流量过滤动作,其中,所述第一流量过滤动作包括重定向的第一下一跳,所述重定向的第一下一跳为第二通信装置的第一公网IP地址,所述第一流量过滤动作指示所述第一通信装置向所述第一下一跳转发与所述第一流规则匹配的流量;所述收发模块710,用于根据所述第一流量过滤信息转发与所述第一流规则匹配的流量。
在一个示例中,当设备700具体用于实现方法300中第一通信装置的功能时,所述收发模块710用于接收控制器发送的第一通告消息,所述第一通告消息包括第一流量过滤信息,所述第一流量过滤信息包括VPN标签、第一流规则和第一流量过滤动作。所述第一流量过滤动作包括重定向的第一下一跳,所述重定向的第一下一跳为第二通信装置的第一公网IP地址,所述第一流量过滤动作指示所述第一通信装置向所述第一下一跳转发与所述第一流规则匹配的流量。所述处理模块720用于根据第一流量过滤信息生成第一关联关系。
在一个示例中,当设备700具体用于实现方法500中第一通信装置的功能时,所述收发模块710用于接收第一报文和发送添加了VPN标签的第一报文,所述处理模块720,用于判断所述第一报文是否与第一流规则相匹配,根据第一关联关系确定VPN标签和第一流量过滤动作,所述第一关联关系包括所述第一流规则、所述VPN标签和所述第一流量过滤动作之间的关联关系,所述第一流量过滤动作包括重定向的第一下一跳,所述重定向的第一下一跳为第二通信装置的第一公网IP地址;为所述第一报文添加所述VPN标签。
在一个示例中,当设备700具体用于实现方法600中第一通信装置的功能时,所述收发模块710,用于接收第二通告消息,接收第二报文,向第二通信装置发送添加了VPN标签的第二报文。其中,第二通告消息包括第二流量过滤信息,所述第二流量过滤信息包括所述VPN标签、第二流规则和第二流量过滤动作,所述第二流量过滤动作携带重定向的第二下一跳,所述重定向的第二下一跳为所述第二通信装置第二公网IP地址。所述处理模块720,用于根据第二通告消息生成第二关联关系,响应于第二报文与第二流规则匹配,为第二报文添加VPN标签。
在一个示例中,当设备700具体用于实现方法200中控制管理设备的功能时,所述处理模块720用于获取第一流量过滤信息,所述第一流量过滤信息包括VPN标签、第一流规则和第一流量过滤动作,其中,所述第一流量过滤动作包括重定向的第一下一跳,所述重定向的第一下一跳为第二通信装置的第一公网IP地址,所述第一流量过滤动作指示所述第一通信装置向所述第一下一跳转发与所述第一流规则匹配的流量。所述收发模块710用于向所述第一通信装置发送所述第一流量过滤信息。
在一个示例中,当设备700具体用于实现方法300中控制管理设备的功能时,所述处理模块720用于获取第一通告消息,第一通告消息包括第一流量过滤信息,所述第一流量过滤信息包括VPN标签、第一流规则和第一流量过滤动作,其中,所述第一流量过滤动作包括重定向的第一下一跳,所述重定向的第一下一跳为第二通信装置的第一公网IP地址,所述第一流量过滤动作指示所述第一通信装置向所述第一下一跳转发与所述第一流规则匹配的流量。所述收发模块710用于向所述第一通信装置发送所述第一通告消息。
在一个示例中,当设备700具体用于实现方法600中控制管理设备的功能时,所述处理模块720用于获取第二通告消息,第二通告消息包括第二流量过滤信息,所述第二流量过滤信息包括VPN标签、第二流规则和第一流量过滤动作,其中,所述第一流量过滤动作包括重定向的第二下一跳,所述重定向的第二下一跳为第二通信装置的第二公网议IP地址,所述第二流量过滤动作指示所述第一通信装置向所述第二下一跳转发与所述第二流规则匹配的流量。所述收发模块710用于向所述第一通信装置发送所述第二通告消息。
具体执行过程请参上述图2、图3、图5和图6所示实施例中相应步骤的详细描述,这里不再一一赘述。
需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。本申请实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。例如,上述实施例中,获取单元和处理单元可以是同一个模块,也不同的模块。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
本申请实施例还提供了一种网络系统,该网络系统用于实现前述方法实施例中的流量转发方法、报文发送方法和消息发送方法。其中,该网络系统包括网络设备和控制管理设备。网络设备可以实现上述方法实施例中第一通信装置的功能,控制管理设备可以实现上述方法实施例中控制管理设备的功能。具体执行过程请参考上述方法实施例中相应步骤的详细描述,这里不再一一赘述。
图8是本申请实施例提供的一种设备800的结构示意图。上文中的设备700可以通过图8所示的设备来实现。参见图8,该设备800包括至少一个处理器801,通信总线802,存储器803以及至少一个网络接口804。
处理器801可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。处理器还可以是专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:genericarray logic,缩写:GAL)或其任意组合。处理器801可以是指一个处理器,也可以包括多个处理器。例如图8中所示的处理器801和处理器805。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。
比如,当图2中的第一通信装置通过图8所示的设备来实现时,该处理器可以用于,获取第一流量过滤信息,所述第一流量过滤信息包括VPN标签、第一流规则和第一流量过滤动作,其中,所述第一流量过滤动作包括重定向的第一下一跳,所述重定向的第一下一跳为第二通信装置的第一公网IP地址,所述第一流量过滤动作指示所述第一通信装置向所述第一下一跳转发与所述第一流规则匹配的流量;根据所述第一流量过滤信息转发与所述第一流规则匹配的流量。
通信总线802用于在处理器801、网络接口804和存储器803之间传送信息。
存储器803可以是只读存储器(Read-only Memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,存储器803还可以是随机存取存储器(Random AccessMemory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是只读光盘(Compact Disc Read-only Memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器803可以是独立存在,通过通信总线802与处理器801相连接。存储器803也可以和处理器801集成在一起。存储器803可以是指一个存储器,也可以包括多个存储器。在一个实施方式中,存储器803中存储有计算机可读指令,所述计算机可读指令包括多个软件模块,例如收发模块和处理模块。处理器1003执行各个软件模块后可以按照各个软件模块的指示进行相应的操作。在本申请实施例中,一个软件模块所执行的操作实际上是指处理器根据所述软件模块的指示而执行的操作。
可选地,处理器801也可以存储执行本申请实施例提供的技术方案的程序代码或指令,在这种情况下处理器801不需要到存储器1003中读取程序代码或指令。
网络接口804可以为收发器一类的装置,用于与其它设备或通信网络通信,通信网络可以为以太网、无线接入网(RAN)或无线局域网(Wireless Local Area Networks,WLAN)等。在本申请实施例中,网络接口1004可以用于接收分段路由网络中的其他节点发送的报文,也可以向分段路由网络中的其他节点发送报文。网络接口804可以为以太接口(Ethernet)接口、快速以太(Fast Ethernet,FE)接口或千兆以太(Gigabit Ethernet,GE)接口等。
在具体实现中,作为一种实施例,设备800可以包括多个处理器,例如图8中所示的处理器801和处理器805。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
图9是本申请实施例提供的一种设备900的结构示意图。图1-A和图1-B中的各个设备可以通过图9所示的设备来实现。设备900具体可以用于实现前述各方法实施例所对应的方法中的任意一个或多个操作。参见图9所示的设备结构示意图,设备900包括主控板和一个或多个接口板。主控板与接口板通信连接。主控板也称为主处理单元(Main ProcessingUnit,MPU)或路由处理卡(Route Processor Card),主控板包括CPU和存储器,主控板负责对设备900中各个组件的控制和管理,包括路由计算、设备管理和维护功能。接口板也称为线处理单元(Line Processing Unit,LPU)或线卡(Line Card),用于接收和发送报文。在一些实施例中,主控板与接口板之间或接口板与接口板之间通过总线通信。在一些实施例中,接口板之间通过交换网板通信,在这种情况下设备900也包括交换网板,交换网板与主控板、接口板通信连接,交换网板用于转发接口板之间的数据,交换网板也可以称为交换网板单元(Switch Fabric Unit,SFU)。接口板包括CPU、存储器、转发引擎和接口卡(InterfaceCard,IC),其中接口卡可以包括一个或多个网络接口。网络接口可以为Ethernet接口、FE接口或GE接口等。CPU与存储器、转发引擎和接口卡分别通信连接。存储器用于存储转发表。转发引擎用于基于存储器中保存的转发表转发接收到的报文,如果接收到的报文的目的地址为设备900的IP地址,则将该报文发送给主控板或接口板的CPU进行处理;如果接收到的报文的目的地址不是设备900的IP地址,则根据该目的地查转发表,如果从转发表中查找到该目的地址对应的下一跳和出接口,将该报文转发到该目的地址对应的出接口。转发引擎可以是网络处理器(Network Processor,NP)。接口卡也称为子卡,可安装在接口板上,负责将光电信号转换为数据帧,并对数据帧进行合法性检查后转发给转发引擎处理或接口板CPU。在一些实施例中,CPU也可执行转发引擎的功能,比如基于通用CPU实现软转发,从而接口板中不需要转发引擎。在一些实施例中,转发引擎可以通过ASIC或现场可编程门阵列(FieldProgrammable Gate Array,FPGA)实现。在一些实施例中,存储转发表的存储器也可以集成到转发引擎中,作为转发引擎的一部分。
本申请实施例还提供一种芯片系统,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该芯片系统实现上述图2、图3、图5和图6所示实施例中第一通信装置执行的流量转发方法或报文发送方法,或使得该芯片系统实现上述图2、图3、图5和图6所示实施例中控制管理设备执行的消息发送方法。
可选地,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。可选地,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本申请并不限定。示例性的,存储器可以是非瞬时性处理器,例如只读存储器ROM,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型,以及存储器与处理器的设置方式不作具体限定。
示例性的,该芯片系统可以是FPGA,可以是ASIC,还可以是系统芯片(System onChip,SoC),还可以是CPU,还可以是NP,还可以是数字信号处理电路(Digital SignalProcessor,DSP),还可以是微控制器(Micro Controller Unit,MCU),还可以是可编程控制器(Programmable Logic Device,PLD)或其他集成芯片。
应理解,上述方法实施例中的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在处理器上运行时,实现以上任一方法实施例提供的、由第一通信装置执行的方法中的任意一个或多个操作,或实现以上任一方法实施例提供的、由控制管理设备执行的方法中的任意一个或多个操作。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在处理器上运行时,实现以上任一方法实施例提供的由第一通信装置执行的方法中的任意一个或多个操作,或实现以上任一方法实施例提供的、由控制管理设备执行的方法中的任意一个或多个操作。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑模块划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要获取其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各模块单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件模块单元的形式实现。
所述集成的单元如果以软件模块单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (37)

1.一种流量转发方法,其特征在于,由第一通信装置执行,所述方法包括:
获取第一流量过滤信息,所述第一流量过滤信息包括虚拟专用网VPN标签、第一流规则和第一流量过滤动作,其中,所述第一流量过滤动作包括重定向的第一下一跳,所述重定向的第一下一跳为第二通信装置的第一公网互联网协议IP地址,所述第一流量过滤动作指示所述第一通信装置向所述第一下一跳转发与所述第一流规则匹配的流量;
根据所述第一流量过滤信息转发与所述第一流规则匹配的流量。
2.根据权利要求1所述的方法,其特征在于,所述第一流量过滤信息还包括隧道类型信息,所述隧道类型信息指示隧道的类型,所述隧道用于转发与所述第一流规则匹配的流量。
3.根据权利要求1所述的方法,其特征在于,所述获取第一流量过滤信息包括:
接收控制器发送的边际网关协议BGP消息,所述BGP消息包括所述第一流量过滤信息。
4.根据权利要求3所述的方法,其特征在于,所述BGP消息包括第一扩展团体属性,所述第一扩展团体属性中携带所述VPN标签。
5.根据权利要求4所述的方法,其特征在于,所述第一扩展团体属性还包括隧道类型字段,所述隧道类型字段承载隧道类型信息,所述隧道类型信息指示隧道的类型,所述隧道用于转发与所述第一流规则匹配的流量。
6.根据权利要求1或2所述的方法,其特征在于,所述获取第一流量过滤信息包括:
接收控制器发送的路径计算单元通信协议PCEP消息,所述PCEP消息包括所述第一流量过滤信息。
7.根据权利要求1-6任一项所述的方法,其特征在于,在根据所述第一流量过滤信息转发与所述第一流规则匹配的流量之前,所述方法还包括:
根据所述第一公网IP地址迭代第一隧道,所述第一隧道为所述第一通信装置和所述第二通信装置之间建立的第一公网隧道;
在转发面保存第一关联关系,所述第一关联关系包括所述VPN标签、所述第一流规则,所述第一公网IP地址和第一隧道标识之间的关联关系,所述第一隧道标识用于标识所述第一隧道。
8.根据权利要求7所述的方法,其特征在于,所述在转发面保存所述第一关联关系包括:
在所述转发面保存第一流规则转发表项,所述第一流规则转发表项包括所述VPN标签、第一索引,所述第一公网IP地址和所述第一隧道标识,所述第一索引用于索引所述第一流规则。
9.根据权利要求7或8所述的方法,其特征在于,所述第一关联关系还包括所述第一隧道的类型。
10.根据权利要求1-9任一项所述的方法,其特征在于,所述方法还包括:
获取第二流量过滤信息,所述第二流量过滤信息包括所述VPN标签、第二流规则和第二流量过滤动作,其中,所述第二流量过滤动作携带重定向的第二下一跳,所述重定向的第二下一跳为所述第二通信装置第二公网互联网协议IP地址,所述第二流量过滤动作指示所述第一通信装置向所述第二下一跳转发与所述第二流规则匹配的流量;
根据所述第二流量过滤信息转发与所述第二流规则匹配的流量。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
根据所述第二公网IP地址迭代第二隧道,所述第二隧道为所述第一通信装置和所述第二通信装置之间建立的第二公网隧道;
在所述转发面保存所述第二关联关系,所述第二关联关系包括所述VPN标签、所述第二流规则,所述第二公网IP地址和第二隧道标识之间的关联关系,所述第二隧道标识用于标识所述第二隧道。
12.根据权利要求1-11任一项所述的方法,其特征在于,所述根据所述第一流量过滤信息转发与所述第一流规则匹配的流量包括:
接收第一报文;
响应于所述第一报文与所述第一流规则相匹配,在所述第一报文中添加所述VPN标签;
向所述第一下一跳发送添加所述VPN标签后的第一报文。
13.根据权利要求7-9任一项所述的方法,其特征在于,所述根据所述第一流量过滤信息转发与所述第一流规则匹配的流量包括:
接收第二报文;
响应于所述第二报文与所述第一流规则相匹配,在所述第二报文中添加所述VPN标签;
通过所述第一隧道向所述第一下一跳发送添加所述VPN标签后的第二报文。
14.根据权利要求8所述的方法,其特征在于,所述根据所述第一流量过滤信息转发与所述第一流规则匹配的流量包括:
接收第三报文;
响应于所述第三报文与所述第一流规则相匹配,根据所述第一流规则转发表项,确定与所述第一流规则对应的所述VPN标签和所述第一隧道标识;
在所述第三报文中添加所述VPN标签;
通过所述第一隧道向所述第一下一跳发送添加所述VPN标签后的第三报文。
15.根据权利要求10所述的方法,其特征在于,所述根据所述第二流量过滤信息转发与所述流规则匹配的流量包括:
接收第四报文;
响应于所述第四报文与所述第二流规则相匹配,在所述第四报文中添加所述VPN标签;
向所述第二下一跳发送添加所述VPN标签后的第四报文。
16.根据权利要求11所述的方法,其特征在于,所述根据所述第二流量过滤信息转发与所述流规则匹配的流量包括:
接收第五报文;
响应于所述第五报文与所述第二流规则相匹配,根据所述第二流规则转发表项,确定与所述第二流规则对应的所述VPN标签和所述第二隧道标识;
在所述第五报文中添加所述VPN标签;
通过所述第二隧道向所述第二下一跳发送添加所述VPN标签后的第五报文。
17.一种报文发送方法,其特征在于,所述方法应用于第一通信装置,包括:
接收第一报文;
响应于所述第一报文与第一流规则相匹配,根据第一关联关系确定虚拟专用网VPN标签和第一流量过滤动作,所述第一关联关系包括所述第一流规则、所述VPN标签和所述第一流量过滤动作之间的关联关系,所述第一流量过滤动作包括重定向的第一下一跳,所述重定向的第一下一跳为第二通信装置的第一公网互联网协议IP地址;
为所述第一报文添加所述VPN标签;
向所述第一下一跳发送添加所述VPN标签后的第一报文。
18.根据权利要求17所述的方法,其特征在于,所述第一流量过滤动作还包括第一隧道标识,所述第一隧道标识用于标识第一隧道,所述第一隧道为所述第一通信装置和所述第二通信装置之间建立的第一公网隧道;
所述向所述第一下一跳发送添加所述VPN标签后的第一报文包括:
通过所述第一隧道向所述第一下一跳发送添加所述VPN标签后的第一报文。
19.根据权利要求18所述的方法,其特征在于,所述方法还包括:
根据第一流规则转发表项,确定与所述第一流规则对应的VPN标签和所述第一隧道标识,所述第一流规则转发表项包括所述VPN标签、第一索引,所述第一公网IP地址和第一隧道标识,所述第一索引用于索引所述第一流规则。
20.根据权利要求17-19任一项所述的方法,其特征在于,所述方法还包括:
接收第二报文;
响应于所述第二报文与第二流规则相匹配,根据第二关联关系确定所述VPN标签和第二流量过滤动作,所述第二关联关系包括所述第二流规则、所述VPN标签和所述第二流量过滤动作之间的关联关系,所述第二流量过滤动作包括重定向的第二下一跳,所述重定向的第二下一跳为所述第二通信装置的第二公网互联网协议IP地址;
为所述第二报文添加所述VPN标签;
向所述第二下一跳发送添加所述VPN标签后的第二报文。
21.根据权利要求20所述的方法,其特征在于,所述第二流量过滤动作还包括第二隧道标识,所述第二隧道标识用于标识第二隧道,所述第二隧道为所述第一通信装置和所述第二通信装置之间建立的第二公网隧道;
所述向所述第二下一跳发送添加所述VPN标签后的第二报文包括:
通过所述第二隧道向所述第二下一跳发送添加所述VPN标签后的第二报文。
22.一种消息发送方法,其特征在于,所述方法应用于控制管理设备,包括:
获取第一流量过滤信息,所述第一流量过滤信息包括虚拟专用网VPN标签、第一流规则和第一流量过滤动作,其中,所述第一流量过滤动作包括重定向的第一下一跳,所述重定向的第一下一跳为第二通信装置的第一公网互联网协议IP地址,所述第一流量过滤动作指示第一通信装置向所述第一下一跳转发与所述第一流规则匹配的VPN流量;
向所述第一通信装置发送所述第一流量过滤信息。
23.根据权利要求22所述的方法,其特征在于,所述第一流量过滤信息还包括第一隧道的隧道类型信息,所述第一隧道的隧道类型信息指示第一隧道的类型,所述第一隧道用于转发与所述第一流规则匹配的流量,所述第一隧道为所述第一通信装置和所述第二通信装置之间建立的第一公网隧道。
24.根据权利要求22所述的方法,其特征在于,所述控制管理设备为控制器,所述向所述第一通信装置发送所述第一流量过滤信息包括:
向所述第一通信装置发送边际网关协议BGP消息,所述BGP消息包括所述第一流量过滤信息。
25.根据权利要求24所述的方法,其特征在于,所述BGP消息包括第一扩展团体属性,所述第一扩展团体属性中携带所述VPN标签。
26.根据权利要求25所述的方法,其特征在于,所述第一扩展团体属性还包括隧道类型字段,所述隧道类型字段承载隧道类型信息,所述隧道类型信息指示隧道的类型,所述隧道用于转发与所述第一流规则匹配的流量。
27.根据权利要求24-26任一项所述的方法,其特征在于,所述BGP消息还包括路由目标RT,所述路由目标关联所述第一通信装置中的VPN实例,第一流量过滤信息用于对来自与所述VPN实例绑定的VPN站点中的VPN流量进行过滤。
28.根据权利要求22或23所述的方法,其特征在于,所述控制管理设备为控制器,所述向所述第一通信装置发送所述第一流量过滤信息包括:
向所述第一通信装置发送路径计算单元通信协议PCEP消息,所述PCEP消息包括所述第一流量过滤信息。
29.根据权利要求22-28任一项所述的方法,其特征在于,所述方法还包括:
获取第二流量过滤信息,所述第二流量过滤信息包括所述VPN标签、第二流规则和第二流量过滤动作,其中,所述第二流量过滤动作包括重定向的第二下一跳,所述重定向的第二下一跳为第二通信装置的第二公网IP地址,所述第二流量过滤动作指示第一通信装置向所述第二下一跳转发与所述第二流规则匹配的流量;
向所述第一通信装置发送所述第二流量过滤信息。
30.根据权利要求29所述的方法,其特征在于,所述第二流量过滤信息还包括第二隧道的隧道类型信息,所述第二隧道的隧道类型信息指示第二隧道的类型,所述第二隧道用于转发与所述第二流规则匹配的流量,所述第二隧道为所述第一通信装置和所述第二通信装置之间建立的第二公网隧道。
31.一种网络设备,其特征在于,所述网络设备,包括收发模块和处理模块,所述收发模块用于执行权利要求1-21任一项所述的方法中的接收和/或发送操作;所述处理模块用于执行权利要求1-21任一项所述的方法中接收和/或发送操作以外的操作。
32.一种控制管理设备,其特征在于,所述控制管理设备,包括收发模块和处理模块,所述收发模块用于执行权利要求22-30任一项所述的方法中的接收和/或发送操作,所述处理模块用于执行权利要求22-30任一项所述的方法中接收和/或发送操作以外的操作。
33.一种网络设备,其特征在于,所述网络设备包括存储器和处理器,所述存储器用于存储指令,所述处理器用于运行所述指令,以使得所述网络设备执行如权利要求1-16任一项权利要求所述的流量转发方法,或执行如权利要求17-21任一项权利要求所述的报文发送方法。
34.一种控制管理设备,特征在于,所述控制管理设备包括存储器和处理器,所述存储器用于存储指令,所述处理器用于运行所述指令,以使得所述控制管理设备执行如权利要求22-30任一项所述的消息发送方法。
35.一种网络系统,其特征在于,所述网络系统包括网络设备和控制管理设备,所述网络设备用于执行权利要求1-21任一项所述的方法,所述控制管理设备用于执行权利要求22-30任一项所述的方法。
36.一种计算机可读存储介质,其特征在于,包括指令,当其在处理器上执行时,实现权利要求1-30任一项所述的方法。
37.一种计算机程序产品,其特征在于,包括程序,当所述程序在处理器上运行时,执行上述权利要求1-30任一项所述的方法。
CN202210074405.4A 2022-01-21 2022-01-21 一种流量转发方法、报文发送方法、消息发送方法及装置 Pending CN116506379A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210074405.4A CN116506379A (zh) 2022-01-21 2022-01-21 一种流量转发方法、报文发送方法、消息发送方法及装置
PCT/CN2023/070024 WO2023138351A1 (zh) 2022-01-21 2023-01-03 一种流量转发方法、报文发送方法、消息发送方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210074405.4A CN116506379A (zh) 2022-01-21 2022-01-21 一种流量转发方法、报文发送方法、消息发送方法及装置

Publications (1)

Publication Number Publication Date
CN116506379A true CN116506379A (zh) 2023-07-28

Family

ID=87318958

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210074405.4A Pending CN116506379A (zh) 2022-01-21 2022-01-21 一种流量转发方法、报文发送方法、消息发送方法及装置

Country Status (2)

Country Link
CN (1) CN116506379A (zh)
WO (1) WO2023138351A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7225270B2 (en) * 2000-10-17 2007-05-29 Cisco Technology, Inc. Selective diversion and injection of communication traffic
CN105791109B (zh) * 2014-12-25 2020-03-10 中兴通讯股份有限公司 多协议标签交换中间节点组播转发的方法、装置和节点
CN107026796B (zh) * 2016-02-01 2021-01-05 华为技术有限公司 一种vpn路由通告方法、数据流转发方法及相关设备
EP3468117B1 (en) * 2016-07-01 2023-05-24 Huawei Technologies Co., Ltd. Service function chaining (sfc)-based packet forwarding method, device and system
CN108259379B (zh) * 2017-05-08 2021-11-02 新华三技术有限公司 一种流量转发方法及装置

Also Published As

Publication number Publication date
WO2023138351A1 (zh) 2023-07-27

Similar Documents

Publication Publication Date Title
US10193812B2 (en) Multicast load balancing in multihoming EVPN networks
CN108574616A (zh) 一种处理路由的方法、设备及系统
CN113300951B (zh) 一种发送报文的方法、设备及系统
EP4239973A1 (en) Packet sending method, device, and system
CN102986176A (zh) 用于bgp mac-vpn的mpls标签分配的方法和装置
CN109729012B (zh) 一种单播报文传输方法和装置
EP3682597B1 (en) Modeling access networks as trees in software-defined network controllers
CN114465920B (zh) 确定对应关系的方法、装置以及系统
CN109660441A (zh) Overlay网络中组播复制的方法及装置
EP3289735B1 (en) Transport software defined networking (sdn) logical to physical topology discovery
EP3396897B1 (en) Multicast load balancing in multihoming evpn networks
US20160099858A1 (en) Span Session Monitoring
CN108141392A (zh) 伪线负载分担的方法和设备
CN114465943A (zh) 拓扑信息的发布方法、网络拓扑收集方法及设备
WO2023274083A1 (zh) 路由发布和转发报文的方法、装置、设备和存储介质
EP3295623B1 (en) Transport software defined networking (sdn) zero configuration adjacency via packet snooping
CN115865769A (zh) 报文处理方法、网络设备及系统
CN114301839B (zh) 一种组播报文传输方法及装置
CN114598635A (zh) 报文传输的方法和装置
CN114567544A (zh) 一种路由通告方法、装置及系统
CN106230730B (zh) 一种组播传输方法和装置
US20230353479A1 (en) Edge Computing Data and Service Discovery Using an Interior Gateway Protocol (IGP)
CN116506379A (zh) 一种流量转发方法、报文发送方法、消息发送方法及装置
CN116828024A (zh) 业务连接的标识方法、装置、系统及存储介质
CN115242699A (zh) 报文传输方法、切片生成方法、装置及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication