CN106936716B - 一种ttp解析转换方法、转发表项发送方法及装置 - Google Patents

一种ttp解析转换方法、转发表项发送方法及装置 Download PDF

Info

Publication number
CN106936716B
CN106936716B CN201511032984.2A CN201511032984A CN106936716B CN 106936716 B CN106936716 B CN 106936716B CN 201511032984 A CN201511032984 A CN 201511032984A CN 106936716 B CN106936716 B CN 106936716B
Authority
CN
China
Prior art keywords
ttp
flow
tree
node
level
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.)
Active
Application number
CN201511032984.2A
Other languages
English (en)
Other versions
CN106936716A (zh
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 CN201511032984.2A priority Critical patent/CN106936716B/zh
Publication of CN106936716A publication Critical patent/CN106936716A/zh
Application granted granted Critical
Publication of CN106936716B publication Critical patent/CN106936716B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content

Landscapes

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

Abstract

本发明实施例公开了一种TTP解析转换方法、转发表项发送方法及装置,用于解决控制器在没有适配某TTP格式的转发设备的商业芯片时,而导致在发给转发设备所需的转发表项时,转发设备无法识别该转发表项,从而导致转发设备无法转发报文的问题。本发明实施例控制器根据第一TTP和第二TTP确定第一TTP描述的第一业务流与第二TTP中描述的第二业务流描述的业务相同;获得第一业务流的流路径信息与第二业务流的流路径信息的对应关系,所述对应关系用于指示将需发送给第二转发设备的转发表项从遵循第一TTP转化为遵循第二TTP后发送给所述第二转发设备。

Description

一种TTP解析转换方法、转发表项发送方法及装置
技术领域
本发明涉及通信技术领域,尤其涉及一种TTP解析转换方法、转发表项发送方法及装置。
背景技术
软件定义网络(英文:Software Defined Network,简称:SDN)是一种控制功能和转发功能相互分离的网络架构。SDN分为控制层面和数据层面,其中控制层面负责全网的控制管理,数据层面则按照控制层面指定的规则转发数据。控制层面的控制设备称为中央控制器(简称控制器),数据层面的转发设备可以为网络交换机(简称交换机)。控制器是整个SDN的核心设备,决策数据层面上流量的正确转发。交换机依据控制器发送的流表实现对数据包的处理,例如数据包的转发、丢弃等操作。
OpenFlow为SDN架构中进行数据转发所遵循的转发协议。目前OpenFlow在转发面所面临的最大的问题是:现有的转发设备对应的商业芯片在转发上对OpenFlow的支持有限,无法做到理论上所能够支持的动作。但是商业芯片研发周期长,并且技术门槛较高。因此,为了推动SDN技术的发展和广泛部署,开放网络基金会提出了表类型模板(英文:TableTyping Patterns,简称TTP)。TTP主要是利用现有商业芯片的处理逻辑和表项组合出Openflow达到的功能。所以TTP定义了一个框架,可以根据实际的应用需求和现有商业芯片架构定义不同的转发模型,每种模型可以设计多个流表,包括多个不同的字段,执行不同的动作,由于TTP是在现有商业芯片的基础上实现,并且现有商业芯片在匹配的字段和执行的动作都是有标准的,因此一种商业芯片只能对应一种TTP格式。
现有的SDN控制器需要适配不同的厂商、不同类型的转发设备对应的商业芯片,因此若不同厂商的、不同类型的转发设备对应的商业芯片所能够支持的TTP格式不同,并且控制器并没有适配该TTP格式的转发设备的商业芯片时,会导致控制器在发给其所控制的转发设备所需的转发表项时,该转发设备无法识别该转发表项,从而导致该转发设备无法转发报文。
发明内容
本发明实施例公开了一种TTP解析转换方法、转发表项发送方法及装置,用于解决控制器在没有适配某TTP格式的转发设备的商业芯片时,而导致在发给转发设备所需的转发表项时,转发设备无法识别该转发表项,从而导致转发设备无法转发报文的问题。
第一方面,本发明实施例提供了一种TTP解析转换方法,该方法包括:
控制器获得第一表类型模板TTP,以及第二转发设备的第二TTP。
其中,所述第一TTP用于描述第一转发设备转发报文所遵循的规则,所述控制器与所述第一TTP完成了适配,所述第二TTP用于描述所述第二转发设备转发报文所遵循的规则,所述控制器与所述第二TTP未完成适配。
第一TTP以及第二TTP均可以通过文件格式进行存储,例如文本文件。
所述控制器从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径的第一流路径信息,并从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径的第二流路径信息。
然后所述控制器遍历所述第一流路径信息包括的业务流和所述第二流路径信息包括的业务流,确定所述第一流路径信息中的第一业务流与所述第二流路径信息中的第二业务流描述的业务相同;再获得所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系,所述对应关系用于指示所述控制器在向所述第二转发设备发送转发表项时,将所述转发表项从遵循第一TTP转化为遵循第二TTP后发送给所述第二转发设备。
通过上述方案得到所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系,从而在控制器向所述第二转发设备发送转发表项时,将所述转发表项从遵循第一TTP转化为遵循第二TTP后发送给所述第二转发设备,保证了第二转发设备可以根据接收到控制器发送的转发表项进行报文的转发,不会出现错误。并且使得控制器能够支持多种不同类型的转发设备、仅需要获取该转发设备设备的TTP即可,能够更好的支持SDN解决方案。并且本发明实施例提供的方案不需要在控制器端进行芯片上的改进来适配不同的TTP,从而不必延长商业芯片的研发周期,节省了资源。
在其中一种可能的设计中,所述控制器获得所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系后,所述控制器根据所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系生成控制信息,所述控制信息用于控制所述控制器在向所述第二转发设备发送转发表项时,根据所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系将所述转发表项从遵循第一TTP转化为遵循第二TTP后发送给所述第二转发设备。
上述设计中,生成的控制信息描述了控制器如何根据所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系对转发表项进行TTP格式的转换,也就是说控制信息描述了第一TTP与第二TTP之间的对应关系。当然还可以不生成控制信息,预先已经在控制器中配置了一种如何根据所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系进行转发表项遵循的TTP格式转换的配置信息,从而控制器能够直接根据所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系对转发表项遵循的TTP格式进行转化。
通过上述方案生成控制信息,从而在控制器向所述第二转发设备发送转发表项时,将所述转发表项从遵循第一TTP转化为遵循第二TTP后发送给所述第二转发设备,保证了第二转发设备可以根据接收到控制器发送的转发表项进行报文的转发,不会出现错误。并且使得控制器能够支持多种不同类型的转发设备、仅需要获取该转发设备设备的TTP即可,能够更好的支持SDN解决方案。并且本发明实施例提供的方案不需要在控制器端进行芯片上的改进来适配不同的TTP,从而不必延长商业芯片的研发周期,节省了资源。
控制器在生成控制信息后,可以将控制信息保存。从而不再需要每次都重新生成,节省了资源。
在其中一种可能的设计中,所述控制器从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径的第一流路径信息,可以通过如下方式实现:
所述控制器从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径关系的第一表树状图并存储;
其中,所述第一表树状图中的节点为所述第一转发设备所支持的业务流所需匹配的第一流表标识;所述第一表树状图中的节点携带从所述节点指向所述节点的子节点所需的字段以及所述字段的值;所述字段包含于作为所述节点的第一流表标识对应的第一流表中;
所述控制器从所述第二TTP中解析出所述第二转发设备所支持的业务流的流路径的第二流路径信息,包括:
所述控制器从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径关系的第二表树状图并存储;
其中,所述第二表树状图中的节点为所述第二转发设备所支持的业务流所需匹配的第二流表标识;所述第二表树状图中的节点携带从所述节点指向所述节点的子节点所需的字段以及所述字段的值;所述字段包含于所述节点的第二流表标识对应的第二流表中。
上述设计中,将转发设备所支持的业务流的流路径关系通过树状图的格式进行存储,便于存取。并且在表树状图中携带业务流匹配需要的字段以及字段的值,给业务流的匹配带来了便利,不再需要再到TTP中查询,节省了资源。
在其中一种可能的设计中,所述控制器遍历所述第一流路径信息包括的业务流和所述第二流路径信息包括的业务流,确定所述第一流路径信息中的第一业务流与所述第二流路径信息中的第二业务流描述的业务相同时,可以通过如下方式实现:
所述控制器遍历所述第一表树状图和所述第二表树状图中的节点携带的字段以及所述字段的值,对所述第一表树状图中的节点携带的字段以及字段的值与所述第二表树状图中的节点携带的字段以及字段的值进行匹配,根据匹配结果确定所述第一表树状图中描述的第一业务流与所述第二表树状图中描述的第二业务流所述描述的业务相同。
在其中一种可能的设计中,所述控制器在遍历所述第一表树状图和所述第二表树状图中的节点携带的字段以及字段的值,对所述第一表树状图中的节点携带的字段以及字段的值与所述第二表树状图中的节点携带的字段以及字段的值进行匹配时,可以通过如下方式实现:
所述控制器遍历所述第一表树状图和所述第二表树状图结构中的节点携带的字段,基于术语数据字典将所述第一表树状图中的节点携带的字段与所述第二表树状图中的节点携带的字段进行匹配;在匹配一致时,将匹配一致的第一表树状图中节点携带的字段的值与所述第二表树状图中的节点携带的字段的值进行匹配,得到匹配结果;
所述术语数据字典用于描述至少两个TTP中表述同一含义的不同字段的对应关系。例如:术语数据字典包括第一TTP中和第二TTP中用于描述同一含义的不同字段的对应关系。其中,术语数据词典中第一TTP表述的字段与第二TTP表述的字段的对应关系可以通过Openflow协议以及TTP协议中标准字段描述进行对应。
上述设计能够实现在两种TTP字段描述不一致时的TTP格式转化。
在其中一种可能的设计中,所述控制器获得所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系,可以通过如下方式实现:
所述控制器基于获得的第一业务流的流路径信息确定第一业务流的第一流表的顺序,根据确定的顺序依次确定第一流表中的字段对应在所述第二业务流的第二流表中的字段。
在其中一种可能的设计中,所述控制器从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径关系的第一表树状图,可以通过如下方式实现:
所述控制器根据所述第一TTP包括的多个标题以及多个标题之间的关系将所述第一TTP分解为第一TTP树状图并存储;
其中,所述第一TTP树状图中的根节点为所述第一TTP的名称;所述第一TTP树状图中的第一级节点是所述根节点的子节点;所述第一TTP树状图中的第一级节点包括所述第一TTP包含的第一级标题,所述第一TTP树状图中的第二级节点是所述第一TTP树状图中的第一级节点的子节点,所述第一TTP树状图中的第二级节点包括所述第一TTP包含的第二级标题;所述第一TTP树状图中的第三级节点是所述第一TTP树状图中的第二级节点的子节点,所述第一TTP树状图中的第三级节点包括所述第一TTP包含的第三级标题,所述第一TTP包含的第一级标题中包括第一流表,所述第一TTP包含的第二级标题中包括所述第一流表的名称,所述第一TTP包含的第三级标题中包括所述第一流表的属性;
所述控制器从分解后的所述第一TTP树状图解析出第一表树状图。
其中,第一级标题中不仅仅包括了第一流表,还可以包括组表,以及流路径等等。第二级标题中不仅仅包括的第一流表的名称,还可以包括组表的名称、以及流路径的名称等等,第三级标题中不仅仅包括了第一流表的属性,还可以包括组表的属性以及流路径的属性等等信息。
所述控制器从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径关系的第二表树状图,可以通过如下方式实现:
所述控制器根据所述第二TTP包括的多个标题以及多个标题之间的关系将所述第二TTP分解为第二TTP树状图并存储;
其中,所述第二TTP树状图中的根节点为所述第二TTP的名称;所述第二TTP树状图中的第一级节点是所述根节点的子节点;所述第二TTP树状图中的第一级节点包括所述第二TTP包含的第一级标题,所述第二TTP树状图中的第二级节点是所述第二TTP树状图中的第一级节点的子节点,所述第二TTP树状图中的第二级节点包括所述第二TTP包含的第二级标题;所述第二TTP树状图中的第三级节点是所述第二TTP树状图中的第二级节点的子节点,所述第二TTP树状图中的第三级节点包括所述第二TTP包含的第三级标题,所述第二TTP包含的第一级标题中包括第二流表,所述第二TTP包含的第二级标题中包括所述第二流表的名称,所述第二TTP包含的第三级标题中包括所述第二流表的属性;
所述控制器从分解后的所述第一TTP树状图解析出所述第一表树状图。
其中,第一级标题中不仅仅包括了第二流表,还可以包括组表,以及流路径等等。第二级标题中不仅仅包括的第二流表的名称,还可以包括组表的名称、以及流路径的名称等等,第三级标题中不仅仅包括了第一流表的属性,还可以包括组表的属性以及流路径的属性等等信息。可选的,属性中还可以进行划分,及划分为从属性,从而还可以包括第四级标题作为第三级标题的子节点。
上述设计中,先对TTP进行分解通过TTP树状图的格式存储,从而为后续解析表树状图提供了便利。
第二方面,本发明实施例还提供了一种转发表项发送方法,该方法包括:
控制器获得待发送给第二转发设备的转发表项,所述转发表项的格式遵循第一表类型模板TTP;所述第一TTP为第一转发设备转发报文所遵循的规则;所述控制器与所述第一TTP完成了适配;
所述控制器确定所述第一TTP与第二TTP不同,其中,所述第二TTP为所述第二转发设备转发报文所遵循的规则;所述控制器与所述第二TTP未完成适配;
所述控制器基于所述第一TTP与所述第二TTP的对应关系,将所述转发表项所遵循的规则由第一TTP转换为第二TTP,并将经过转换后的转发表项发送给所述第二转发设备。
其中,所述第一TTP与所述第二TTP的对应关系是在所述控制器与所述第二转发设备建立连接时建立的,或者是在所述控制器确定所述第二转发设备转发报文所遵循的规则与所述控制器所适配的所述第一转发设备转发报文所遵循的规则不同时建立的。
通过上述方案控制器向所述第二转发设备发送转发表项时,将所述转发表项从遵循第一TTP转化为遵循第二TTP后发送给所述第二转发设备,保证了第二转发设备可以根据接收到控制器发送的转发表项进行报文的转发,不会出现错误。并且使得控制器能够支持多种不同类型的转发设备、仅需要获取该转发设备设备的TTP即可,能够更好的支持SDN解决方案。并且本发明实施例提供的方案不需要在控制器端进行芯片上的改进来适配不同的TTP,从而不必延长商业芯片的研发周期,节省了资源。
在其中一种可能的设计中,所述控制器建立所述第一TTP与所述第二TTP的对应关系,可以通过如下方式实现:
所述控制器获得第一TTP,以及所述第二转发设备的第二TTP;
所述控制器从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径的第一流路径信息,并从所述第二TTP中解析出所述第二转发设备所支持的业务流的流路径的第二流路径信息;
所述控制器遍历所述第一流路径信息包括的业务流和所述第二流路径信息包括的业务流,确定所述第一流路径信息中的第一业务流与所述第二流路径信息中的第二业务流描述的业务相同;
所述控制器获得所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系,从而确定所述第一TTP与所述第二TTP的对应关系。
这里涉及的所述第一TTP与所述第二TTP的对应关系可以就是所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系。或者所述第一TTP与所述第二TTP的对应关系还可以在包括了所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系的基础上还包括如何进行根据所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系针对转发表项进行TTP格式转换的逻辑关系。
通过上述方案生成所述第一TTP与所述第二TTP的对应关系,从而在控制器向所述第二转发设备发送转发表项时,将所述转发表项从遵循第一TTP转化为遵循第二TTP后发送给所述第二转发设备,保证了第二转发设备可以根据接收到控制器发送的转发表项进行报文的转发,不会出现错误。并且使得控制器能够支持多种不同类型的转发设备、仅需要获取该转发设备设备的TTP即可,能够更好的支持SDN解决方案。并且本发明实施例提供的方案不需要在控制器端进行芯片上的改进来适配不同的TTP,从而不必延长商业芯片的研发周期,节省了资源。
在其中一种可能的设计中,所述控制器从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径的第一流路径信息,可以通过如下方式实现:
所述控制器从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径关系的第一表树状图并存储;
其中,所述第一表树状图中的节点为所述第一转发设备所支持的业务流所需匹配的第一流表标识;所述第一表树状图中的节点携带从所述节点指向所述节点的子节点所需的字段以及所述字段的值;所述字段包含于作为所述节点的第一流表标识对应的第一流表中;
所述控制器从所述第二TTP中解析出所述第二转发设备所支持的业务流的流路径的第二流路径信息,可以通过如下方式实现:
所述控制器从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径关系的第二表树状图并存储;
其中,所述第二表树状图中的节点为所述第二转发设备所支持的业务流所需匹配的第二流表标识;所述第二表树状图中的节点携带从所述节点指向所述节点的子节点所需的字段以及所述字段的值;所述字段包含于所述节点的第二流表标识对应的第二流表中。
上述设计中,将转发设备所支持的业务流的流路径关系通过树状图的格式进行存储,便于存取。并且在表树状图中携带业务流匹配需要的字段以及字段的值,给业务流的匹配带来了便利,不再需要再到TTP中查询,节省了资源。
在其中一种可能的设计中,所述控制器遍历所述第一流路径信息包括的业务流和所述第二流路径信息包括的业务流,确定所述第一流路径信息中的第一业务流与所述第二流路径信息中的第二业务流描述的业务相同,可以通过如下方式实现:
所述控制器遍历所述第一表树状图和所述第二表树状图中的节点携带的字段以及字段的值,对所述第一表树状图中的节点携带的字段以及字段的值与所述第二表树状图中的节点携带的字段以及字段的值进行匹配,根据匹配结果确定所述第一表树状图中描述的第一业务流与所述第二表树状图中描述的第二业务流所述描述的业务相同。
在其中一种可能的设计中,所述控制器遍历所述第一表树状图和所述第二表树状图中的节点携带的字段以及字段的值,对所述第一表树状图中的节点携带的字段以及字段的值与所述第二表树状图中的节点携带的字段以及字段的值进行匹配,可以通过如下方式实现:
所述控制器遍历所述第一表树状图和所述第二表树状图结构中的节点携带的字段,基于术语数据字典将所述第一表树状图中的节点携带的字段与所述第二表树状图中的节点携带的字段进行匹配;在匹配一致时,将匹配一致的第一表树状图中节点携带的字段的值与所述第二表树状图中的节点携带的字段的值进行匹配,得到匹配结果;
所述术语数据字典用于描述至少两个TTP中表述同一含义的不同字段的对应关系。例如:术语数据字典包括第一TTP中和第二TTP中用于描述同一含义的不同字段的对应关系。
在其中一种可能的设计中,所述控制器获得所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系,可以通过如下方式实现:
所述控制器基于获得的第一业务流的流路径信息确定第一业务流的第一流表的顺序,根据确定的顺序依次确定第一流表中的字段对应在所述第二业务流的第二流表中的字段。
在其中一种可能的设计中,所述控制器从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径关系的第一表树状图,可以通过如下方式实现:
所述控制器根据所述第一TTP包括的多个标题以及多个标题之间的关系将所述第一TTP分解为第一TTP树状图并存储;
其中,所述第一TTP树状图中的根节点为所述第一TTP的名称;所述第一TTP树状图中的第一级节点是所述根节点的子节点;所述第一TTP树状图中的第一级节点包括所述第一TTP包含的第一级标题,所述第一TTP树状图中的第二级节点是所述第一TTP树状图中的第一级节点的子节点,所述第一TTP树状图中的第二级节点包括所述第一TTP包含的第二级标题;所述第一TTP树状图中的第三级节点是所述第一TTP树状图中的第二级节点的子节点,所述第一TTP树状图中的第三级节点包括所述第一TTP包含的第三级标题,所述第一TTP包含的第一级标题中包括第一流表,所述第一TTP包含的第二级标题中包括所述第一流表的名称,所述第一TTP包含的第三级标题中包括所述第一流表的属性;
所述控制器从分解后的所述第一TTP树状图解析出第一表树状图;
所述控制器从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径关系的第二表树状图,可以通过如下方式实现:
所述控制器根据所述第二TTP包括的多个标题以及多个标题之间的关系将所述第二TTP分解为第二TTP树状图并存储;
其中,所述第二TTP树状图中的根节点为所述第二TTP的名称;所述第二TTP树状图中的第一级节点是所述根节点的子节点;所述第二TTP树状图中的第一级节点包括所述第二TTP包含的第一级标题,所述第二TTP树状图中的第二级节点是所述第二TTP树状图中的第一级节点的子节点,所述第二TTP树状图中的第二级节点包括所述第二TTP包含的第二级标题;所述第二TTP树状图中的第三级节点是所述第二TTP树状图中的第二级节点的子节点,所述第二TTP树状图中的第三级节点包括所述第二TTP包含的第三级标题,所述第二TTP包含的第一级标题中包括第二流表,所述第二TTP包含的第二级标题中包括所述第二流表的名称,所述第二TTP包含的第三级标题中包括所述第二流表的属性;
所述控制器从分解后的所述第二TTP树状图解析出第二表树状图。
上述设计中,先对TTP进行分解后通过TTP树状图的格式存储,从而为后续解析表树状图提供了便利。
第三方面,本发明实施例提供了一种TTP解析转换装置,所述装置应用于控制器,包括:
获取单元,用于获得第一表类型模板TTP,以及第二转发设备的第二TTP;所述第一TTP用于描述第一转发设备转发报文所遵循的规则,所述控制器与所述第一TTP完成了适配,所述第二TTP用于描述所述第二转发设备转发报文所遵循的规则,所述控制器与所述第二TTP未完成适配;
处理单元,用于从所述获取单元获得的所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径的第一流路径信息,并从所述获取单元获得的所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径的第二流路径信息;遍历所述第一流路径信息包括的业务流和所述第二流路径信息包括的业务流,确定所述第一流路径信息中的第一业务流与所述第二流路径信息中的第二业务流描述的业务相同;获得所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系,并根据所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系,所述对应关系用于指示所述控制器在向所述第二转发设备发送转发表项时,将所述转发表项从遵循第一TTP转化为遵循第二TTP后发送给所述第二转发设备。
该TTP解析转换装置可以设置于控制器内部,还可以设置于控制器外部。
通过上述方案控制器向所述第二转发设备发送转发表项时,将所述转发表项从遵循第一TTP转化为遵循第二TTP后发送给所述第二转发设备,保证了第二转发设备可以根据接收到控制器发送的转发表项进行报文的转发,不会出现错误。并且使得控制器能够支持多种不同类型的转发设备、仅需要获取该转发设备设备的TTP即可,能够更好的支持SDN解决方案。并且本发明实施例提供的方案不需要在控制器端进行芯片上的改进来适配不同的TTP,从而不必延长商业芯片的研发周期,节省了资源。
在其中一种可能的设计中,所述处理单元在获得所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系后,还用于:
根据所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系生成控制信息,所述控制信息用于控制所述控制器在向所述第二转发设备发送转发表项时,根据所述对应关系将所述转发表项从遵循第一TTP转化为遵循第二TTP后发送给所述第二转发设备。
通过上述设计生成的控制信息描述了控制器如何根据所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系进行转换,即控制信息也是一种描述了第一TTP与第二TTP之间的对应关系。当然还设计时,还可以不生成控制信息,预先已经在控制器中配置了一种如何转发的配置信息,从而控制器能够直接根据所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系对转发表项遵循的TTP格式进行转化。
通过上述方案生成控制信息,从而在控制器向所述第二转发设备发送转发表项时,将所述转发表项从遵循第一TTP转化为遵循第二TTP后发送给所述第二转发设备,保证了第二转发设备可以根据接收到控制器发送的转发表项进行报文的转发,不会出现错误。并且使得控制器能够支持多种不同类型的转发设备、仅需要获取该转发设备设备的TTP即可,能够更好的支持SDN解决方案。并且本发明实施例提供的方案不需要在控制器端进行芯片上的改进来适配不同的TTP,从而不必延长商业芯片的研发周期,节省了资源。
在其中一种可能的设计中,所述处理单元,在从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径的第一流路径信息时,具体用于:
从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径关系的第一表树状图并存储;
其中,所述第一表树状图中的节点为所述第一转发设备所支持的业务流所需匹配的第一流表标识;所述第一表树状图中的节点携带从所述节点指向所述节点的子节点所需的字段以及所述字段的值;所述字段包含于作为所述节点的第一流表标识对应的第一流表中;
所述处理单元,在从所述第二TTP中解析出所述第二转发设备所支持的业务流的流路径的第二流路径信息时,具体用于:
从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径关系的第二表树状图并存储;
其中,所述第二表树状图中的节点为所述第二转发设备所支持的业务流所需匹配的第二流表标识;所述第二表树状图中的节点携带从所述节点指向所述节点的子节点所需的字段以及所述字段的值;所述字段包含于所述节点的第二流表标识对应的第二流表中。
上述设计中,将转发设备所支持的业务流的流路径关系通过树状图的格式进行存储,便于存取。并且在表树状图中携带业务流匹配需要的字段以及字段的值,给业务流的匹配带来了便利,不再需要再到TTP中查询,节省了资源。
在其中一种可能的设计中,所述处理单元,在遍历所述第一流路径信息包括的业务流和所述第二流路径信息包括的业务流,确定所述第一流路径信息中的第一业务流与所述第二流路径信息中的第二业务流描述的业务相同时,具体用于:
遍历所述第一表树状图和所述第二表树状图中的节点携带的字段以及所述字段的值,对所述第一表树状图中的节点携带的字段以及字段的值与所述第二表树状图中的节点携带的字段以及字段的值进行匹配,根据匹配结果确定所述第一表树状图中描述的第一业务流与所述第二表树状图中描述的第二业务流所述描述的业务相同。
在其中一种可能的设计中,所述处理单元,在遍历所述第一表树状图和所述第二表树状图中的节点携带的字段以及字段的值,对所述第一表树状图中的节点携带的字段以及字段的值与所述第二表树状图中的节点携带的字段以及字段的值进行匹配时,具体用于:
遍历所述第一表树状图和所述第二表树状图结构中的节点携带的字段,基于术语数据字典将所述第一表树状图中的节点携带的字段与所述第二表树状图中的节点携带的字段进行匹配;在匹配一致时,将匹配一致的第一表树状图中节点携带的字段的值与所述第二表树状图中的节点携带的字段的值进行匹配,得到匹配结果;
所述术语数据字典用于描述至少两个TTP中表述同一含义的不同字段的对应关系。例如:术语数据字典包括第一TTP中和第二TTP中用于描述同一含义的不同字段的对应关系。
在其中一种可能的设计中,所述处理单元,在获得所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系时,具体用于:
基于获得的第一业务流的流路径信息确定第一业务流的第一流表的顺序,根据确定的顺序依次确定第一流表中的字段对应在所述第二业务流的第二流表中的字段。
在其中一种可能的设计中,所述处理单元,在从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径关系的第一表树状图时,具体用于:
根据所述第一TTP包括的多个标题以及多个标题之间的关系将所述第一TTP分解为第一TTP树状图并存储;
其中,所述第一TTP树状图中的根节点为所述第一TTP的名称;所述第一TTP树状图中的第一级节点是所述根节点的子节点;所述第一TTP树状图中的第一级节点包括所述第一TTP包含的第一级标题,所述第一TTP树状图中的第二级节点是所述第一TTP树状图中的第一级节点的子节点,所述第一TTP树状图中的第二级节点包括所述第一TTP包含的第二级标题;所述第一TTP树状图中的第三级节点是所述第一TTP树状图中的第二级节点的子节点,所述第一TTP树状图中的第三级节点包括所述第一TTP包含的第三级标题,所述第一TTP包含的第一级标题中包括第一流表,所述第一TTP包含的第二级标题中包括所述第一流表的名称,所述第一TTP包含的第三级标题中包括所述第一流表的属性;
从分解后的所述第一TTP树状图解析出第一表树状图;
所述处理单元,在从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径关系的第二表树状图时,具体用于:
根据所述第二TTP包括的多个标题以及多个标题之间的关系将所述第二TTP分解为第二TTP树状图并存储;
其中,所述第二TTP树状图中的根节点为所述第二TTP的名称;所述第二TTP树状图中的第一级节点是所述根节点的子节点;所述第二TTP树状图中的第一级节点包括所述第二TTP包含的第一级标题,所述第二TTP树状图中的第二级节点是所述第二TTP树状图中的第一级节点的子节点,所述第二TTP树状图中的第二级节点包括所述第二TTP包含的第二级标题;所述第二TTP树状图中的第三级节点是所述第二TTP树状图中的第二级节点的子节点,所述第二TTP树状图中的第三级节点包括所述第二TTP包含的第三级标题,所述第二TTP包含的第一级标题中包括第二流表,所述第二TTP包含的第二级标题中包括所述第二流表的名称,所述第二TTP包含的第三级标题中包括所述第二流表的属性;
从分解后的所述第一TTP树状图解析出所述第一表树状图。
上述设计中,先对TTP进行分解通过TTP树状图的格式存储,从而为后续解析表树状图提供了便利。
第四方面,本发明实施例还提供了一种转发表项发送装置,所述装置应用于控制器,包括:
获取单元,用于获得待发送给第二转发设备的转发表项,所述转发表项的格式遵循第一表类型模板TTP;所述第一TTP为第一转发设备转发报文所遵循的规则;所述控制器与所述第一TTP完成了适配;
存储单元,用于存储所述第一TTP与所述第二TTP的对应关系;
处理单元,用于确定所述所述获取单元获得的第一TTP与第二TTP不同,其中,所述第二TTP为所述第二转发设备转发报文所遵循的规则;所述控制器与所述第二TTP未完成适配;基于所述存储单元存储的所述第一TTP与所述第二TTP的对应关系,将所述转发表项所遵循的规则由第一TTP转换为第二TTP,并将经过转换后的转发表项发送给所述第二转发设备。
通过上述方案控制器向所述第二转发设备发送转发表项时,将所述转发表项从遵循第一TTP转化为遵循第二TTP后发送给所述第二转发设备,保证了第二转发设备可以根据接收到控制器发送的转发表项进行报文的转发,不会出现错误。并且使得控制器能够支持多种不同类型的转发设备、仅需要获取该转发设备设备的TTP即可,能够更好的支持SDN解决方案。并且本发明实施例提供的方案不需要在控制器端进行芯片上的改进来适配不同的TTP,从而不必延长商业芯片的研发周期,节省了资源。
在其中一种可能的设计中,所述第一TTP与所述第二TTP的对应关系是在所述控制器与所述第二转发设备建立连接时建立的,或者是在所述控制器确定所述第二转发设备转发报文所遵循的规则与所述控制器所适配的所述第一转发设备转发报文所遵循的规则不同时建立的。
在其中一种可能的设计中,所述处理单元,还用于建立第一TTP与所述第二TTP的对应关系,具体包括:
获得第一TTP,以及所述第二转发设备的第二TTP;
从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径的第一流路径信息,并从所述第二TTP中解析出所述第二转发设备所支持的业务流的流路径的第二流路径信息;
遍历所述第一流路径信息包括的业务流和所述第二流路径信息包括的业务流,确定所述第一流路径信息中的第一业务流与所述第二流路径信息中的第二业务流描述的业务相同;
获得所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系,从而确定所述第一TTP与所述第二TTP的对应关系。
在其中一种可能的设计中,所述处理单元,在从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径的第一流路径信息时,具体用于:
从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径关系的第一表树状图并存储;
其中,所述第一表树状图中的节点为所述第一转发设备所支持的业务流所需匹配的第一流表标识;所述第一表树状图中的节点携带从所述节点指向所述节点的子节点所需的字段以及所述字段的值;所述字段包含于作为所述节点的第一流表标识对应的第一流表中;
所述处理单元,在从所述第二TTP中解析出所述第二转发设备所支持的业务流的流路径的第二流路径信息时,具体用于:
从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径关系的第二表树状图并存储;
其中,所述第二表树状图中的节点为所述第二转发设备所支持的业务流所需匹配的第二流表标识;所述第二表树状图中的节点携带从所述节点指向所述节点的子节点所需的字段以及所述字段的值;所述字段包含于所述节点的第二流表标识对应的第二流表中。
在其中一种可能的设计中,所述处理单元,在遍历所述第一流路径信息包括的业务流和所述第二流路径信息包括的业务流,确定所述第一流路径信息中的第一业务流与所述第二流路径信息中的第二业务流描述的业务相同时,具体用于:
遍历所述第一表树状图和所述第二表树状图中的节点携带的字段以及字段的值,对所述第一表树状图中的节点携带的字段以及字段的值与所述第二表树状图中的节点携带的字段以及字段的值进行匹配,根据匹配结果确定所述第一表树状图中描述的第一业务流与所述第二表树状图中描述的第二业务流所述描述的业务相同。
在其中一种可能的设计中,所述处理单元,在遍历所述第一表树状图和所述第二表树状图中的节点携带的字段以及字段的值,对所述第一表树状图中的节点携带的字段以及字段的值与所述第二表树状图中的节点携带的字段以及字段的值进行匹配时,具体用于:
遍历所述第一表树状图和所述第二表树状图结构中的节点携带的字段,基于术语数据字典将所述第一表树状图中的节点携带的字段与所述第二表树状图中的节点携带的字段进行匹配;在匹配一致时,将匹配一致的第一表树状图中节点携带的字段的值与所述第二表树状图中的节点携带的字段的值进行匹配,得到匹配结果;
所述术语数据字典用于描述至少两个TTP中表述同一含义的不同字段的对应关系。例如:术语数据字典包括第一TTP中和第二TTP中用于描述同一含义的不同字段的对应关系。
在其中一种可能的设计中,所述处理单元,在获得所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系,并根据所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系生成控制信息时,具体用于:
基于获得的第一业务流的流路径信息确定第一业务流的第一流表的顺序,根据确定的顺序依次确定第一流表中的字段对应在所述第二业务流的第二流表中的字段。
在其中一种可能的设计中,所述处理单元,在从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径关系的第一表树状图时,具体用于:
根据所述第一TTP包括的多个标题以及多个标题之间的关系将所述第一TTP分解为第一TTP树状图并存储;
其中,所述第一TTP树状图中的根节点为所述第一TTP的名称;所述第一TTP树状图中的第一级节点是所述根节点的子节点;所述第一TTP树状图中的第一级节点包括所述第一TTP包含的第一级标题,所述第一TTP树状图中的第二级节点是所述第一TTP树状图中的第一级节点的子节点,所述第一TTP树状图中的第二级节点包括所述第一TTP包含的第二级标题;所述第一TTP树状图中的第三级节点是所述第一TTP树状图中的第二级节点的子节点,所述第一TTP树状图中的第三级节点包括所述第一TTP包含的第三级标题,所述第一TTP包含的第一级标题中包括第一流表,所述第一TTP包含的第二级标题中包括所述第一流表的名称,所述第一TTP包含的第三级标题中包括所述第一流表的属性;
从分解后的所述第一TTP树状图解析出第一表树状图;
所述处理单元,在从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径关系的第二表树状图时,具体用于:
根据所述第二TTP包括的多个标题以及多个标题之间的关系将所述第二TTP分解为第二TTP树状图并存储;
其中,所述第二TTP树状图中的根节点为所述第二TTP的名称;所述第二TTP树状图中的第一级节点是所述根节点的子节点;所述第二TTP树状图中的第一级节点包括所述第二TTP包含的第一级标题,所述第二TTP树状图中的第二级节点是所述第二TTP树状图中的第一级节点的子节点,所述第二TTP树状图中的第二级节点包括所述第二TTP包含的第二级标题;所述第二TTP树状图中的第三级节点是所述第二TTP树状图中的第二级节点的子节点,所述第二TTP树状图中的第三级节点包括所述第二TTP包含的第三级标题,所述第二TTP包含的第一级标题中包括第二流表,所述第二TTP包含的第二级标题中包括所述第二流表的名称,所述第二TTP包含的第三级标题中包括所述第二流表的属性;
从分解后的所述第二TTP树状图解析出第二表树状图。
通过上述方案控制器向所述第二转发设备发送转发表项时,将所述转发表项从遵循第一TTP转化为遵循第二TTP后发送给所述第二转发设备,保证了第二转发设备可以根据接收到控制器发送的转发表项进行报文的转发,不会出现错误。并且使得控制器能够支持多种不同类型的转发设备、仅需要获取该转发设备设备的TTP即可,能够更好的支持SDN解决方案。并且本发明实施例提供的方案不需要在控制器端进行芯片上的改进来适配不同的TTP,从而不必延长商业芯片的研发周期,节省了资源。
附图说明
图1为本发明实施例提供的报文转发系统架构图;
图2为本发明实施例提供的一种TTP解析转换方法流程图;
图3为本发明实施例提供的一种TTP树状图示意图;
图4为本发明实施例提供的另一种TTP树状图示意图;
图5为本发明实施例提供的一种第一表树状图示意图;
图6为本发明实施例提供的流路径示意图;
图7为本发明实施例提供的第一流路径树状图示意图;
图8为本发明实施例提供的一种第二表树状图示意图;
图9为本发明实施例提供的流表对应关系示意图;
图10为本发明实施例提供的一种转发表项发送方法流程图;
图11为本发明实施例提供的一种TTP解析转换装置示意图;
图12为本发明实施例提供的另一种TTP解析转换装置示意图;
图13为本发明实施例提供的一种转发表项发送装置示意图;
图14为本发明实施例提供的另一种转发表项发送装置示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例提供一种TTP解析转换方法、报文转发方法及装置,用于解决控制器在没有适配某TTP格式的转发设备的商业芯片时,而导致控制器在发给其所控制的转发设备所需的转发表项时,该转发设备无法识别该转发表项,从而导致该转发设备无法转发报文的问题。其中,方法和装置是基于同一发明构思的,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。
下面介绍一下本发明实施例出现名词。
流表
本发明实施例中所涉及的流表包括报文转发过程中用于获取转发路径的多个流表项。因此能够实现上述功能的流表均适用于本发明实施例。
例如本发明实施例中的流表在OpenFlow协议中可以是OpenFlow协议定义的流表、或者OpenFlow协议中定义的组表。本发明实施例中的流表在OpenFlow协议中,在广义上,组表可以称之为流表,流表也可以包括组表,即本技术领域里,将实现组表功能的组表可能称之为流表,任何关于组表和流表名称之间变换,均落在本发明的保护范围之内。
OpenFlow协议中定义的流表(flow table):Openflow技术将报文转发过程抽象为匹配(match)以及指令(Instruction)/动作(Action)两种对象。IP报文转发就是根据报文信息匹配(match)流表,匹配后根据匹配的流表中记录的指令/动作执行转发过程。
一个流表包括多个流表项,每个流表项包括多个字段,例如表1所示。
表1
OpenFlow协议中定义的组表(Group Table):
组表是OpenFlow为数据包指定在多个业务流中执行相同操作集的高效方法。
组表包括若干组表项,若干流表项指向一个组表项。每个组表包括多个字段,例如如表2所示。利用组表,每个数据流可以被划分到相应的组中,动作指令的执行可以针对属于同一个组标识符的所有数据包或者规定只执行动作桶中某些特定的操作集。其中,组类型规定了是否所有的动作桶中的指令都会被执行。
表2
关于本发明实施例描述中涉及的OpenFlow协议规范的具体细节,请参考ONF发布的《开放流交换机规范》版本1.x(OpenFlow Switch Specification 1.x)。关于NDM/TTP的具体细节,请参考ONF发布的《开放流可协商的数据转发面模型》(OpenFlow NegotiableDatapath Models)规范。
另外,本发明实施例中的第一、第二、第三等等仅用于标识区分,并不对数量进行具体限定。
参见图1,为本发明实施例提供的报文转发系统架构图。报文转发系统包括控制器101,至少一个转发设备。以图1所示的报文转发系统为例,其中包括3个转发设备,第一转发设备102a、第二转发设备102b以及第三转发设备102c。第一转发设备102a、第二转发设备102b以及第三转发设备102c采用的TTP格式分别是第一TTP、第二TTP和第三TTP,当前控制器101能够适配第一转发设备102a的采用的第一TTP。而按照控制器101目前的配置无法与第二转发设备102b以及第三转发设备102c完成适配。
其中,控制器101与第一转发设备102a使用的可以是同一厂家同一型号的商业芯片,还可以同一厂家的不同型号的商业芯片,但是适配的TTP相同。控制器101与第二转发设备102b以及第三转发设备102c使用的可以是不同厂家的商业芯片,可以是同一个厂家的不同型号的商业芯片等等,本发明实施例对此不作具体限定。
因此,可以看出第二转发设备102b和第三转发设备102c所采用的TTP格式与控制器不同,因此控制器在需要将转发表项发送给第二转发设备102b或第三转发设备102c时,第二转发设备102b或第三转发设备102c接收到转发表项后,无法使用该转发表项进行报文的转发。
基于上述应用场景,参见图2,为本发明实施例提供的一种TTP解析转换方法,该方法可以由控制器101实现。该方法流程具体如下:
S201,控制器获得第一TTP,以及第二转发设备的第二TTP。
其中,所述第一TTP用于描述第一转发设备转发报文所遵循的规则,所述第二TTP用于描述所述第二转发设备转发报文所遵循的规则。所述控制器与所述第一TTP完成了适配;所述控制器与第二TTP未完成适配。第一TTP以及第二TTP均可以通过文件格式进行存储,例如文本文件。
S202,所述控制器从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径的第一流路径信息,并从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径的第二流路径信息。
本发明实施例中所述第一流路径信息和第二流路径信息各自都是一个流路径的集合,第一流路径信息描述了第一TTP文件支持的所有业务流的流路径;第二流路径信息描述了第二TTP文件所支持的所有业务流的流路径描述。
S203,所述控制器遍历所述第一流路径信息包括的业务流和所述第二流路径信息包括的业务流,确定所述第一流路径信息中的第一业务流与所述第二流路径信息中的第二业务流描述的业务相同。
S204,所述控制器获得所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系。
所述对应关系用于指示所述控制器在向所述第二转发设备发送转发表项时,将所述转发表项从遵循第一TTP转化为遵循第二TTP后发送给所述第二转发设备。
通过上述方案得到所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系,从而在控制器向所述第二转发设备发送转发表项时,将所述转发表项从遵循第一TTP转化为遵循第二TTP后发送给所述第二转发设备,保证了第二转发设备可以根据接收到控制器发送的转发表项进行报文的转发,不会出现错误。并且使得控制器能够支持多种不同类型的转发设备、仅需要获取该转发设备设备的TTP即可,能够更好的支持SDN解决方案。并且本发明实施例提供的方案不需要在控制器端进行芯片上的改进来适配不同的TTP,从而不必延长商业芯片的研发周期,节省了资源。
可选地,所述控制器获得所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系后,所述控制器根据所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系生成控制信息,所述控制信息用于控制所述控制器在向所述第二转发设备发送转发表项时,根据所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系将所述转发表项从遵循第一TTP转化为遵循第二TTP后发送给所述第二转发设备。
上述方案中,生成的控制信息描述了控制器如何根据所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系对转发表项进行TTP格式的转换,也就是说控制信息描述了第一TTP与第二TTP之间的对应关系。当然还可以不生成控制信息,预先已经在控制器中配置了一种如何根据所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系进行转发表项遵循的TTP格式转换的配置信息,从而控制器能够直接根据所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系对转发表项遵循的TTP格式进行转换。
基于此,生成的控制信息用于描述第一TTP与第二TTP的对应关系,根据所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系生成控制信息,也就是根据所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系来生成一种如何控制由第一TTP转化为第二TTP的转化规则。
通过上述方案生成控制信息,从而在控制器向所述第二转发设备发送转发表项时,将所述转发表项从遵循第一TTP转化为遵循第二TTP后发送给所述第二转发设备,保证了第二转发设备可以根据接收到控制器发送的转发表项进行报文的转发,不会出现错误。并且使得控制器能够支持多种不同类型的转发设备、仅需要获取该转发设备设备的TTP即可,能够更好的支持SDN解决方案。并且本发明实施例提供的方案不需要在控制器端进行芯片上的改进来适配不同的TTP,从而不必延长商业芯片的研发周期,节省了资源。
可选地,所述控制器在基于TTP解析出不同转发设备所支持的业务流的流路径的流路径信息时,可以通过如下方式实现:
第一种实现方式:
所述控制器在从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径的第一流路径信息时,所述控制器可以通过以下方式实现:
所述控制器从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径关系的第一表树状图并存储;
其中,所述第一表树状图中的节点为所述第一转发设备所支持的业务流所需匹配的第一流表标识;所述第一表树状图中的节点携带从所述节点指向所述节点的子节点所需的字段以及所述字段的值;所述字段包含于作为所述节点的第一流表标识对应的第一流表中。
其中,字段可以是第一流表中包括的匹配(Match)和/或指令(Instruction)等等。
所述控制器在从所述第二TTP中解析出所述第二转发设备所支持的业务流的流路径的第二流路径信息时,所述控制器可以通过以下方式实现:
所述控制器从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径关系的第二表树状图并存储;
其中,所述第二表树状图中的节点为所述第二转发设备所支持的业务流所需匹配的第二流表标识;所述第二表树状图中的节点携带从所述节点指向所述节点的子节点所需的字段以及所述字段的值;所述字段包含于所述节点的第二流表标识对应的第二流表中。
上述实现方式中,将转发设备所支持的业务流的流路径关系通过树状图的格式进行存储,便于存取。并且在表树状图中携带业务流匹配需要的字段以及字段的值,给业务流的匹配带来了便利,不再需要再到TTP中查询,节省了资源。
第二种实现方式:
所述控制器从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径的第一流路径信息,可以通过如下方式实现:
所述控制器根据所述第一TTP包括的多个标题以及多个标题之间的关系将所述第一TTP分解为第一TTP树状图并存储;
其中,所述第一TTP树状图中的根节点为所述第一TTP的名称;所述第一TTP树状图中的第一级节点是所述根节点的子节点;所述第一TTP树状图中的第一级节点包括所述第一TTP包含的第一级标题,所述第一TTP树状图中的第二级节点是所述第一TTP树状图中的第一级节点的子节点,所述第一TTP树状图中的第二级节点包括所述第一TTP包含的第二级标题;所述第一TTP树状图中的第三级节点是所述第一TTP树状图中的第二级节点的子节点,所述第一TTP树状图中的第三级节点包括所述第一TTP包含的第三级标题,所述第一TTP包含的第一级标题中包括第一流表,所述第一TTP包含的第二级标题中包括所述第一流表的名称,所述第一TTP包含的第三级标题中包括所述第一流表的属性;
所述控制器从分解后的所述第一TTP树状图解析出第一表树状图;
所述控制器从所述第二TTP中解析出所述第二转发设备所支持的业务流的流路径的第二流路径信息,可以通过如下方式实现:
所述控制器根据所述第二TTP包括的多个标题以及多个标题之间的关系将所述第二TTP分解为第二TTP树状图并存储;
其中,所述第二TTP树状图中的根节点为所述第二TTP的名称;所述第二TTP树状图中的第一级节点是所述根节点的子节点;所述第二TTP树状图中的第一级节点包括所述第二TTP包含的第一级标题,所述第二TTP树状图中的第二级节点是所述第二TTP树状图中的第一级节点的子节点,所述第二TTP树状图中的第二级节点包括所述第二TTP包含的第二级标题;所述第二TTP树状图中的第三级节点是所述第二TTP树状图中的第二级节点的子节点,所述第二TTP树状图中的第三级节点包括所述第二TTP包含的第三级标题,所述第二TTP包含的第一级标题中包括第二流表,所述第二TTP包含的第二级标题中包括所述第二流表的名称,所述第二TTP包含的第三级标题中包括所述第二流表的属性;
所述控制器从分解后的所述第二TTP树状图解析出第二表树状图。
上述实现方式中,先对TTP进行分解后通过TTP树状图的格式存储,从而为后续解析表树状图提供了便利。
本发明实施例中的第一、第二仅用于区分两个表述相同含义的名词,并不是顺序上的限定。
本发明实施例中对TTP树状图中的每一级节点包括的节点数量不作具体限定。并且不对每一级节点的子节点的数量进行具体限定,当然其每一级可以包括子节点,还可以不包括子节点。
本发明实施例中针对TTP的描述,还可能包括第四级标题、第五级标题等等。包括的标题等级的数量根据TTP中描述确定。
例如,图3所示,以TTP的第一级标题包括流表为例说明。根节点为TTP的名称,第一级节点为TTP包括的第一级标题为流表。第二级节点包括TTP包括的第二级标题。第二级标题包括名称、流模式类型。第二级标题中的名称是指流表的名称,流模式类型用于指示该流表指向下一个流表的指令。其中流模式类型又可以分解成第三级标题:名称、域、匹配类型、指令。第三级标题中的名称为流模式类型的名称。例如:控制框架到控制器,控制框架到虚拟局域网。这里的域和匹配类型还可以统称为匹配集,在这种情况下,第三级标题包括名称、匹配集、指令。则还包括第四级标题:域和匹配类型。
例如,如图4所示为一个TTP分解后的TTP树状图,图4中以TTP的第一级标题在包括流表,还包括其他标题为例说明。
第一级标题包括:可协商的数据转发面模型(Negotiabable Data-plane Model,NDM)元数据(metadata)、表映射(table map)、标识(Identifiers)、流表(flow_table)、组表(group entry type)以及流路径。
流表的第二级标题包括:名称(name)、建立的流模型(built in flow mods)、表子集(table)、流模式类型(table_subsets),因此流表的子节点包括名称、建立的流模型、表子集、流模式类型。其中,第二级标题中名称、建立的流模型、表子集、流模式类型之间有关联关系。在名称节点下包括了多个名称信息、建立的流模型节点下包括多个流模型信息、在表子集节点下包括多个表子集信息、在流模式类型节点下包括了多个流模式类型信息。它们之间一个名称信息指向一个流模型信息指向一个表子集信息指向一个流模式类型信息。其他的级标题也是如此,本发明实施例在此不作详细说明。组表的第二级标题包括名称(name)、组表类型(group type)、桶类型(bucket types)。路径的第二级标题包括名称(name)、路径(path)。
流模式类型节点下的第三级标题包括:名称(name)、匹配集(match set)、指令集(instruction set)。表子集节点下的第三级标题包括:名称(name)、子集(subset)。桶类型节点下的第三级标题包括:动作子集(action set)。
匹配集节点下的第四级标题包括:域(field)、匹配类型(match type)。指令集节点下的第四级标题包括:指令(instruction)。动作子集节点下的第四级标题包括:动作(action)。
指令节点下的第五级标题包括:动作(action)。
其中每个不包括字节点的节点中均指向该节点包括的信息。另外,路径(path)节点指向了流表的第二级节点中的名称、表子集的第三级节点中的子集、以及组表的第二级节点中的名称。即path与流表的名称、表子集的第三级节点中的子集、以及组表的第二级节点中的名称有关联关系。具体的可以通过数据结构中的指针实现。
通过上述方法,一个TTP文件被分解为如图4所示的TTP树状图。
以所述控制器从分解后的所述第一TTP树状图解析出用于描述所述第一转发设备所支持的业务流的流路径关系的第一表树状图为例。所述控制器通过对TTP树状图解析分析,将业务流的流路径走向可以表示成如图5所示的第一表树状图。所述第一表树状图中的节点为所述第一转发设备所支持的业务流所需匹配的第一流表标识;所述第一表树状图中的节点携带从所述节点指向所述节点的子节点所需的字段以及所述字段的值;所述字段包含于作为所述节点的第一流表标识对应的第一流表中。本发明实施例中所述控制器直接从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径关系的第一表树状图,解析到的第一表树状图也可以是形如图5所示的结构。
每个业务流的流路径可以认为是匹配流表的过程,通过匹配流表最后指示从哪个端口输出。因此匹配不同的流表则走的路径不同。
图5所述为4条业务流的流路径,可以认为每个圆圈为一个流表。两条流路径中可能有交叉点,例如流表a。每个流表或组表还分别对应有业务流如何从该流表匹配指向到子节点的流表所需的字段以及该字段的值。例如,如表3所示。
表3
字段 字段的值
Match MAC_DST
Group Groupid
如下图6所示,从流表名称为控制框架(ControlFrame)出发,有两条向外的路径,分别是框架到控制器(Frame-To-Controller)表示上送控制器的路径对应的流表,和非控制框架(Non-Control-Frame)表示指向下一个流表名称为IngressVLAN的路径,而由IngressVLAN这个流表出发又有多条路径可以选择,其中一条名为Allow-Untagged的路径可以指向到另一个流表MacLearning,如此继续直到从出接口(port)转发出去,构成了一条流路径。则ControlFrame、Frame-To-Controller、IngressVLAN为表树状图中的节点。
如图6所示,一条流路径,比如Non-Control-Frame这条流路径,在TTP树状图中都会有一个匹配(match)/指令(instruction)/组(group)等的一个动作说明。由于已经将整个TTP文件已通过TTP树状图形式存储在了内存中,所以每条flowpath所包含的动作是以存储指针的方式来构成,比如如上这条flowpath,就是通过指针指向TTP树状图中的Non-Control-Frame等等节点。
可选的,还可以通过如下方式解析第一表树状图以及第二表树状图:
在将所述第一TTP分解为第一TTP树状图后,然后从分解后的第一TTP树状图中解析出第一流路径树状图;所述第一流路径树状图包括多个业务流的流路径对应的流路径树状图,每个流路径树状图中的每个节点为业务流的流路径中需要匹配的字段以及以及字段的值。例如如图7所示。然后从分解后的所述第一流路径树状图解析出用于描述所述第二转发设备所支持的业务流第一表树状图。
还可以在将所述第二TTP分解为第二TTP树状图后,然后从分解后的第二TTP树状图中解析出第二流路径树状图;所述第二流路径树状图包括多个业务流的流路径对应的流路径树状图,每个流路径树状图中的每个节点为业务流的流路径中需要匹配的字段以及字段的值。然后从分解后的所述第二流路径树状图解析出用于描述所述第一转发设备所支持的业务流的第二表树状图。
通过上述方法解析出的第一表树状图中的节点可以仅携带从所述节点指向所述节点的子节点所需的字段,具体在需要字段的值时,去查询第一流路径树状图中保存的字段的值;同时通过上述方法解析出的第二表树状图中的节点可以仅携带从所述节点指向所述节点的子节点所需的字段,具体在需要字段的值时,去查询第二流路径树状图中保存的字段的值。
在第一表树状图中的节点可以仅携带从所述节点指向所述节点的子节点所需的字段和字段的值,以及第二表树状图中的节点可以仅携带从所述节点指向所述节点的子节点所需的字段和字段的值的情况下,那么所述控制器遍历所述第一流路径信息包括的业务流和所述第二流路径信息包括的业务流,确定所述第一流路径信息中的第一业务流与所述第二流路径信息中的第二业务流描述的业务相同,可以通过如下方式实现:
所述控制器遍历所述第一表树状图和所述第二表树状图中的节点携带的字段以及所述字段的值,对所述第一表树状图中的节点携带的字段以及字段的值与所述第二表树状图中的节点携带的字段以及字段的值进行匹配,根据匹配结果确定所述第一表树状图中描述的第一业务流与所述第二表树状图中描述的第二业务流所述描述的业务相同。
其中,每条流路径则代表一条业务流,而这条业务流又是通过匹配(match)、指令(instruction)、动作(action)组合构成的。对于现有的业务,每条业务流需要匹配哪些字段、执行哪些动作等等都是有相关规定的,因此都体现在该业务流对应的表树状图中。例如单播路由转发业务,在控制器具体的转发过程中会匹配目的地址、执行减TTL动作等等。而这些字段可能会有先后执行顺序等关系,该关系会体现在字段值中,通过解析字段以及字段的值得到每条业务流所包括的这些关系,据此可以判断两条业务流所描述的业务是否相同。
可选的,可以针对每一条业务流的流路径所需匹配的字段以及字段的值,建立一个词组映射。并且词语映射的顺序是按照业务流所流经的网络节点的顺序。
例如:图5表示第一表树状图,第一表树状图种流路径(flowpath)1为a->b->e->l,可能会存在这么一个关系,a->b,这一段路径是需要match一个MAC_DST,其中MAC_DST表示MAC地址,那么所建立的词组就会有(match,MAC_DST);然后继续b->e可能会有match一个vlanid,其中,vlanid表示局域网ID;那么又会新增一个词组映射关系(match,vlanid),然后e->l又可能会是一个(group,groupid)也就是描述要跳转到组,group表示组,groupid表示组ID。
那么这条flowpath1的词组映射组合为,如表4所示:
表4
Figure BDA0000899149790000331
Figure BDA0000899149790000341
例如图8所示为第二表树状图。以将第一表树状图中flowpath1作为目标path,去第二表树状图中查找一条表述相同业务流的流路径。第二表树状图中包括流路径:C->A->F,C->A->B->G,C->A->E->H,C->A->E->I,C->A->D->J。那么再分别将这些流路径的词组找出来,假设其对应词组分别如下:C->A->F对应的词组映射如表5所示,C->A->B->G对应的词组映射如表4所示,C->A->E->H对应的词组映射如表7所示,C->A->E->I对应的词组映射如表6所示,C->A->D->J对应的词组如表9所示。
表5
Match Ipv4Dst
Output Controller
表6
Match Ipv4Dst
Match MAC_DST
Group Groupid
表7
Match MAC_DST
Match Vlanid
Group Groupid
表8
Figure BDA0000899149790000342
表9
Match Ipv4Dst
Output Controller
Group Groupid
通过将第一表树状图中的flowpath1对应的词组映射与第二树状图结构的各条流路径对应的词组映射进行比较,可以确定表6的词组映射与flowpath1对应的表3的词组映射相同,因此可以确定表6对应的流路径C->A->E->H与flowpath1所描述的业务相同。
具体的,在进行词组映射匹配时,可以通过如下方式实现:
初始化flowpath1的位图,例如初始化flowpath1的位图为三位000,每一位表示词组映射中的一个词组。将然后分别与第二树状图中各个flowpath进行比较,与C->A->F比较,所有词组都不匹配,最终位图依然为000,与C->A->B->G比较,先后出现了目标path位图中第一位的MAC_DST和第三位的Group,于是该位图最终为101;与第三个C->A->E->H比较,三个词组全部出现了,位图最终结果是111。与第四个C->A->E->I比较,位图为111;与第五个C->A->D->J比较,位图为001。然后分别得出来的这几个位图再分别与目标path的位图词组111进行按位与操作后所得与原目标path的位图111完全相等的,就是待选择的与目标path对应的业务流描述的业务相同的flowpath。
因为位图查找时主要关注有没有目标path中的词组值,不关注顺序,所以C->A->E->H和C->A->E->I最终的位图都是111,那么这时就有两条路径C->A->E->H和C->A->E->I可能与目标path相同,这时我们要关注目标path所描述的业务流正常转发时,其词组出现的先后关系,也就是有些业务流是严格要求转发关键字匹配关系的,这时候就只有词组出现顺序与目标path完全一致的C->A->E->H是与目标path对应业务流描述业务相同的flowpath。
可选地,所述控制器遍历所述第一表树状图和所述第二表树状图中的节点携带的字段以及字段的值,对所述第一表树状图中的节点携带的字段以及字段的值与所述第二表树状图中的节点携带的字段以及字段的值进行匹配,可以通过如下方式实现:
所述控制器遍历所述第一表树状图和所述第二表树状图结构中的节点携带的字段,基于术语数据字典将所述第一表树状图中的节点携带的字段与所述第二表树状图中的节点携带的字段进行匹配;在匹配一致时,将匹配一致的第一表树状图中节点携带的字段的值与所述第二表树状图中的节点携带的字段的值进行匹配,得到匹配结果;
其中,所述术语数据字典用于描述至少两个TTP中表述同一含义的不同字段的对应关系。例如:术语数据字典包括第一TTP中和第二TTP中用于表述同一含义的不同字段的对应关系。其中,术语数据词典中第一TTP表述的字段与第二TTP表述的字段的对应关系可以通过Openflow协议以及TTP协议中定义的标准字段进行对应。
例如,第一TTP中的目的MAC地址描述方式为:“MAC_DST”;而第二TTP中目的MAC地址描述方式为“ETH_DST”,因此术语数据字典中包括两种目的MAC地址描述方式的对应关系。即,对描述相同含义的字段之间作一个映射关系,构成术语数据字典。具体的,可以依据openflow标准中定义的字段描述方式做映射。
在建立上述第一表树状图以及第二表树状图后,所述控制器获得所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系,可以通过如下方式实现:
所述控制器基于获得的第一业务流的流路径信息确定第一业务流的第一流表的顺序,根据确定的顺序依次确定第一流表中的字段对应在所述第二业务流的第二流表中的字段。在根据确定的顺序依次确定第一流表中的字段对应在所述第二业务流的第二流表中的字段后生成控制信息。
例如:如图9所示,第一业务流对应的需要匹配的各个流表的顺序为B1->B2->B3,第二业务流对应的需要匹配的各个流表的顺序为H1->H2->H3->H4。B1对应H1和H2。然后根据每个需要匹配的那个流表的哪些字段生成控制信息。
其中,在有些应用场景中,控制器厂商会设置内部的数据字典,可以称为FES内部数据字典,以及FES私有表。FES私有表为厂商内部定义的业务流进行转发对应的字段描述信息。TTP则是在内部的FES私有表的基础上再外部包装的符合Openflow转发的一种描述文件。FES内部数据字典描述有TTP中所描述的各个字段与厂商内部设置的字段的对应关系。并且记载有每个字段所属的表。因此可以根据FES内部数据字典可以确定H1对应T1,H2对应T3和T5,因此可以确定B1对应为T1、T3、T5。其中FES内部数据字典用于描述第一TTP解析出的字段与FES私有表描述的字段的映射关系。其中,T1~T6为FES私有表描述的字段。
可选地,在根据所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系生成控制信息后,还可以将所述控制信息保存。
本发明实施例还提供了一种转发表项发送方法,如图10所示,该方法包括:
S1001,控制器获得待发送给第二转发设备的转发表项,所述转发表项的格式遵循第一TTP。
其中,所述第一TTP为第一转发设备转发报文所遵循的规则;所述控制器与所述第一TTP完成了适配。
S1002,所述控制器确定所述第一TTP与第二TTP不同。
其中,所述第二TTP为所述第二转发设备转发报文所遵循的规则;所述控制器与所述第二TTP未完成适配。
S1003,所述控制器基于所述第一TTP与所述第二TTP的对应关系,将所述转发表项所遵循的规则由第一TTP转换为第二TTP,并将经过转换后的转发表项发送给所述第二转发设备。
可选地,所述第一TTP与所述第二TTP的对应关系是在所述控制器与所述第二转发设备建立连接时建立的,或者是在所述控制器确定所述第二转发设备转发报文所遵循的规则与所述控制器所适配的所述第一转发设备转发报文所遵循的规则不同时建立的。
上述设计中,第一TTP与所述第二TTP的对应关系描述了控制器如何根据所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系对转发表项进行TTP格式的转换,第一TTP与第二TTP之间的对应关系作为控制信息。当然还可以不作为控制信息,预先已经在控制器中配置了一种如何根据所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系进行转发表项遵循的TTP格式转换的配置信息,从而控制器能够直接根据所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系对转发表项遵循的TTP格式进行转化。
可选地,建立所述第一TTP与所述第二TTP的对应关系,具体可以通过以下方式实现
所述控制器获得第一TTP,以及所述第二转发设备的第二TTP;
所述控制器从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径的第一流路径信息,并从所述第二TTP中解析出所述第二转发设备所支持的业务流的流路径的第二流路径信息;
所述控制器遍历所述第一流路径信息包括的业务流和所述第二流路径信息包括的业务流,确定所述第一流路径信息中的第一业务流与所述第二流路径信息中的第二业务流描述的业务相同;
所述控制器获得所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系,从而确定所述第一TTP与所述第二TTP的对应关系。
这里涉及的所述第一TTP与所述第二TTP的对应关系可以就是所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系。或者所述第一TTP与所述第二TTP的对应关系还可以在包括了所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系的基础上还包括如何进行根据所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系针对转发表项进行TTP格式转换的逻辑关系。
可选的,所述控制器从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径的第一流路径信息,可以通过如下方式实现:
所述控制器从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径关系的第一表树状图并存储;
其中,所述第一表树状图中的节点为所述第一转发设备所支持的业务流所需匹配的第一流表标识;所述第一表树状图中的节点携带从所述节点指向所述节点的子节点所需的字段以及所述字段的值;所述字段包含于作为所述节点的第一流表标识对应的第一流表中;
所述控制器从所述第二TTP中解析出所述第二转发设备所支持的业务流的流路径的第二流路径信息,可以通过如下方式实现:
所述控制器从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径关系的第二表树状图并存储;
其中,所述第二表树状图中的节点为所述第二转发设备所支持的业务流所需匹配的第二流表标识;所述第二表树状图中的节点携带从所述节点指向所述节点的子节点所需的字段以及所述字段的值;所述字段包含于所述节点的第二流表标识对应的第二流表中。
上述设计中,将转发设备所支持的业务流的流路径关系通过树状图的格式进行存储,便于存取。并且在表树状图中携带业务流匹配需要的字段以及字段的值,给业务流的匹配带来了便利,不再需要再到TTP中查询,节省了资源。
可选地,所述控制器从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径关系的第一表树状图,可以通过如下方式实现:
所述控制器根据所述第一TTP包括的多个标题以及多个标题之间的关系将所述第一TTP分解为第一TTP树状图并存储;
其中,所述第一TTP树状图中的根节点为所述第一TTP的名称;所述第一TTP树状图中的第一级节点是所述根节点的子节点;所述第一TTP树状图中的第一级节点包括所述第一TTP包含的第一级标题,所述第一TTP树状图中的第二级节点是所述第一TTP树状图中的第一级节点的子节点,所述第一TTP树状图中的第二级节点包括所述第一TTP包含的第二级标题;所述第一TTP树状图中的第三级节点是所述第一TTP树状图中的第二级节点的子节点,所述第一TTP树状图中的第三级节点包括所述第一TTP包含的第三级标题,所述第一TTP包含的第一级标题中包括第一流表,所述第一TTP包含的第二级标题中包括所述第一流表的名称,所述第一TTP包含的第三级标题中包括所述第一流表的属性;
所述控制器从分解后的所述第一TTP树状图解析出第一表树状图;
所述控制器从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径关系的第二表树状图,可以通过如下方式实现:
所述控制器根据所述第二TTP包括的多个标题以及多个标题之间的关系将所述第二TTP分解为第二TTP树状图并存储;
其中,所述第二TTP树状图中的根节点为所述第二TTP的名称;所述第二TTP树状图中的第一级节点是所述根节点的子节点;所述第二TTP树状图中的第一级节点包括所述第二TTP包含的第一级标题,所述第二TTP树状图中的第二级节点是所述第二TTP树状图中的第一级节点的子节点,所述第二TTP树状图中的第二级节点包括所述第二TTP包含的第二级标题;所述第二TTP树状图中的第三级节点是所述第二TTP树状图中的第二级节点的子节点,所述第二TTP树状图中的第三级节点包括所述第二TTP包含的第三级标题,所述第二TTP包含的第一级标题中包括第二流表,所述第二TTP包含的第二级标题中包括所述第二流表的名称,所述第二TTP包含的第三级标题中包括所述第二流表的属性;
所述控制器从分解后的所述第二TTP树状图解析出第二表树状图。
上述设计中,先对TTP进行分解后通过TTP树状图的格式存储,从而为后续解析表树状图提供了便利。
可选地,所述控制器在遍历所述第一流路径信息包括的业务流和所述第二流路径信息包括的业务流,确定所述第一流路径信息中的第一业务流与所述第二流路径信息中的第二业务流描述的业务相同时,具体可以通过如下方式实现:
所述控制器遍历所述第一表树状图和所述第二表树状图中的节点携带的字段以及字段的值,对所述第一表树状图中的节点携带的字段以及字段的值与所述第二表树状图中的节点携带的字段以及字段的值进行匹配,根据匹配结果确定所述第一表树状图中描述的第一业务流与所述第二表树状图中描述的第二业务流所述描述的业务相同。
可选的,所述控制器遍历所述第一表树状图和所述第二表树状图中的节点携带的字段以及字段的值,对所述第一表树状图中的节点携带的字段以及字段的值与所述第二表树状图中的节点携带的字段以及字段的值进行匹配,通过如下方式实现:
所述控制器遍历所述第一表树状图和所述第二表树状图结构中的节点携带的字段,基于术语数据字典将所述第一表树状图中的节点携带的字段与所述第二表树状图中的节点携带的字段进行匹配;在匹配一致时,将匹配一致的第一表树状图中节点携带的字段的值与所述第二表树状图中的节点携带的字段的值进行匹配,得到匹配结果;
所述术语数据字典用于描述至少两个TTP中表述同一含义的不同字段的对应关系。例如:术语数据字典包括第一TTP中和第二TTP中用于描述同一含义的不同字段的对应关系。
具体的,所述控制器获得所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系,可以通过如下方式实现:
所述控制器基于获得的第一业务流的流路径信息确定第一业务流的第一流表的顺序,根据确定的顺序依次确定第一流表中的字段对应在所述第二业务流的第二流表中的字段。
本发明实施例还提供了一种TTP解析转换装置,所述装置应用于控制器,该装置可以设置于控制器内部,当然还可以设置于控制器外部,独立于控制器的一个装置。为了控制的安全考虑,该装置可以为离线自动转换工具,也就是预先由该装置生成控制信息,然后将控制信息发送给控制器。当然还可以为控制器内部一个实时的转换装置。
如图11所示,该装置可以包括:
获取单元1101,用于获得第一表类型模板TTP,以及第二转发设备的第二TTP;所述第一TTP用于描述第一转发设备转发报文所遵循的规则,所述控制器与所述第一TTP完成了适配,所述第二TTP用于描述所述第二转发设备转发报文所遵循的规则,所述控制器与所述第二TTP未完成适配;
处理单元1102,用于从所述获取单元1101获得的所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径的第一流路径信息,并从所述获取单元1101获得的所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径的第二流路径信息;遍历所述第一流路径信息包括的业务流和所述第二流路径信息包括的业务流,确定所述第一流路径信息中的第一业务流与所述第二流路径信息中的第二业务流描述的业务相同;获得所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系,所述对应关系用于指示所述控制器在向所述第二转发设备发送转发表项时,将所述转发表项从遵循第一TTP转化为遵循第二TTP后发送给所述第二转发设备。
如果该装置为独立于控制的装置,那么这里处理单元1102在生成控制信息后将控制信息发送给控制器。
通过上述方案控制器向所述第二转发设备发送转发表项时,将所述转发表项从遵循第一TTP转化为遵循第二TTP后发送给所述第二转发设备,保证了第二转发设备可以根据接收到控制器发送的转发表项进行报文的转发,不会出现错误。并且使得控制器能够支持多种不同类型的转发设备、仅需要获取该转发设备设备的TTP即可,能够更好的支持SDN解决方案。并且本发明实施例提供的方案不需要在控制器端进行芯片上的改进来适配不同的TTP,从而不必延长商业芯片的研发周期,节省了资源。
可选地,所述处理单元1102在获得所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系后,还用于:
根据所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系生成控制信息,所述控制信息用于控制所述控制器在向所述第二转发设备发送转发表项时,根据所述对应关系将所述转发表项从遵循第一TTP转化为遵循第二TTP后发送给所述第二转发设备。
通过上述设计生成的控制信息描述了控制器如何根据所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系进行转换,即控制信息也是一种描述了第一TTP与第二TTP之间的对应关系。当然还设计时,还可以不生成控制信息,预先已经在控制器中配置了一种如何转发的配置信息,从而控制器能够直接根据所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系对转发表项遵循的TTP格式进行转化。
通过上述方案生成控制信息,从而在控制器向所述第二转发设备发送转发表项时,将所述转发表项从遵循第一TTP转化为遵循第二TTP后发送给所述第二转发设备,保证了第二转发设备可以根据接收到控制器发送的转发表项进行报文的转发,不会出现错误。并且使得控制器能够支持多种不同类型的转发设备、仅需要获取该转发设备设备的TTP即可,能够更好的支持SDN解决方案。并且本发明实施例提供的方案不需要在控制器端进行芯片上的改进来适配不同的TTP,从而不必延长商业芯片的研发周期,节省了资源。
可选地,所述处理单元1102,在从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径的第一流路径信息时,具体用于:
从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径关系的第一表树状图并存储;
其中,所述第一表树状图中的节点为所述第一转发设备所支持的业务流所需匹配的第一流表标识;所述第一表树状图中的节点携带从所述节点指向所述节点的子节点所需的字段以及所述字段的值;所述字段包含于作为所述节点的第一流表标识对应的第一流表中;
所述处理单元1102,在从所述第二TTP中解析出所述第二转发设备所支持的业务流的流路径的第二流路径信息时,具体用于:
从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径关系的第二表树状图并存储;
其中,所述第二表树状图中的节点为所述第二转发设备所支持的业务流所需匹配的第二流表标识;所述第二表树状图中的节点携带从所述节点指向所述节点的子节点所需的字段以及所述字段的值;所述字段包含于所述节点的第二流表标识对应的第二流表中。
上述设计中,将转发设备所支持的业务流的流路径关系通过树状图的格式进行存储,便于存取。并且在表树状图中携带业务流匹配需要的字段以及字段的值,给业务流的匹配带来了便利,不再需要再到TTP中查询,节省了资源。
可选地,所述处理单元1102,在遍历所述第一流路径信息包括的业务流和所述第二流路径信息包括的业务流,确定所述第一流路径信息中的第一业务流与所述第二流路径信息中的第二业务流描述的业务相同时,具体用于:
遍历所述第一表树状图和所述第二表树状图中的节点携带的字段以及所述字段的值,对所述第一表树状图中的节点携带的字段以及字段的值与所述第二表树状图中的节点携带的字段以及字段的值进行匹配,根据匹配结果确定所述第一表树状图中描述的第一业务流与所述第二表树状图中描述的第二业务流所述描述的业务相同。
可选地,所述处理单元1102,在遍历所述第一表树状图和所述第二表树状图中的节点携带的字段以及字段的值,对所述第一表树状图中的节点携带的字段以及字段的值与所述第二表树状图中的节点携带的字段以及字段的值进行匹配时,具体用于:
遍历所述第一表树状图和所述第二表树状图结构中的节点携带的字段,基于术语数据字典将所述第一表树状图中的节点携带的字段与所述第二表树状图中的节点携带的字段进行匹配;在匹配一致时,将匹配一致的第一表树状图中节点携带的字段的值与所述第二表树状图中的节点携带的字段的值进行匹配,得到匹配结果;
所述术语数据字典用于描述至少两个TTP中表述同一含义的不同字段的对应关系。例如:术语数据字典包括第一TTP中和第二TTP中用于描述同一含义的不同字段的对应关系。
可选地,所述处理单元1102,在获得所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系时,具体用于:
基于获得的第一业务流的流路径信息确定第一业务流的第一流表的顺序,根据确定的顺序依次确定第一流表中的字段对应在所述第二业务流的第二流表中的字段。
本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能单元可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
其中,集成的单元既可以采用硬件的形式实现时,如图12所示,获取单元1101对应的实体的硬件为通信接口1201,处理单元1102对应的实体硬件为处理器1202。处理器1202,可以是一个中央处理单元(英文:central processing unit,简称CPU),或者为数字处理单元等等。若该装置为独立于控制器的装置,则在该TTP解析转换装置生成第一TTP与第二TTP的对应关系后可以通过通信接口1201发送给控制器。
其中,该TTP解析转换装置还包括:存储器1203,用于存储处理器1202执行的程序。处理器1202用于执行存储器1203存储的程序,具体用于处理单元1102以及获取单元1101执行的方案。存储器1203还可以用于存储控制信息,还可以用于存储术语数据字典。
本发明实施例中不限定上述通信接口1201、处理器1202以及存储器1203之间的具体连接介质。本发明实施例在图12中以存储器1203、处理器1202以及通信接口1201之间通过总线1204连接,总线在图12中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1203可以是易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器1203也可以是非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD)、或者存储器1203是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1203可以是上述存储器的组合。
通过上述方案生成第一TTP与第二TTP的对应关系,从而在控制器向所述第二转发设备发送转发表项时,将所述转发表项从遵循第一TTP转化为遵循第二TTP后发送给所述第二转发设备,保证了第二转发设备可以根据接收到控制器发送的转发表项进行报文的转发,不会出现错误。并且使得控制器能够支持多种不同类型的转发设备、仅需要获取该转发设备设备的TTP即可,能够更好的支持SDN解决方案。并且本发明实施例提供的方案不需要在控制器端进行芯片上的改进来适配不同的TTP,从而不必延长商业芯片的研发周期,节省了资源。
本发明实施例还提供了一种转发表项发送装置,所述装置应用于控制器,具体的该装置可以由控制器实现,当然也可以由独立于控制器的装置实现。
如图13所示,该转发表项发送装置包括:
获取单元1301,用于获得待发送给第二转发设备的转发表项,所述转发表项的格式遵循第一表类型模板TTP;所述第一TTP为第一转发设备转发报文所遵循的规则;所述控制器与所述第一TTP完成了适配;
存储单元1302,用于存储所述第一TTP与所述第二TTP的对应关系;
处理单元1303,用于确定所述所述获取单元1301获得的第一TTP与第二TTP不同,其中,所述第二TTP为所述第二转发设备转发报文所遵循的规则;所述控制器与所述第二TTP未完成适配;基于所述存储单元存储的所述控制信息,将所述转发表项所遵循的规则由第一TTP转换为第二TTP,并将经过转换后的转发表项发送给所述第二转发设备。
转发表项发送装置如果为独立于控制器的装置,那么待发送给第二转发设备的转发表项可以由控制器发送给该转发表项发送装置,然后转发表项发送装置在将转发表项的格式进行转换后发送给第二转发设备。转发表项发送装置如果为设置于控制器的装置,即该转发表项发送装置由控制器实现,那么控制器在将待发送给第二转发设备的转发表项发送之前,先确定第一TTP与第二TTP是否不同,若不同,则转换后再发送给第二转发设备。
通过上述方案控制器向所述第二转发设备发送转发表项时,将所述转发表项从遵循第一TTP转化为遵循第二TTP后发送给所述第二转发设备,保证了第二转发设备可以根据接收到控制器发送的转发表项进行报文的转发,不会出现错误。并且使得控制器能够支持多种不同类型的转发设备、仅需要获取该转发设备设备的TTP即可,能够更好的支持SDN解决方案。并且本发明实施例提供的方案不需要在控制器端进行芯片上的改进来适配不同的TTP,从而不必延长商业芯片的研发周期,节省了资源。
可选地,所述第一TTP与所述第二TTP的对应关系是在所述控制器与所述第二转发设备建立连接时建立的,或者是在所述控制器确定所述第二转发设备转发报文所遵循的规则与所述控制器所适配的所述第一转发设备转发报文所遵循的规则不同时建立的。
可选地,所述处理单元1303,还用于建立所述第一TTP与所述第二TTP的对应关系,具体包括:
获得第一TTP,以及所述第二转发设备的第二TTP;
从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径的第一流路径信息,并从所述第二TTP中解析出所述第二转发设备所支持的业务流的流路径的第二流路径信息;
遍历所述第一流路径信息包括的业务流和所述第二流路径信息包括的业务流,确定所述第一流路径信息中的第一业务流与所述第二流路径信息中的第二业务流描述的业务相同;
获得所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系,从而确定所述第一TTP与所述第二TTP的对应关系。
可选地,所述处理单元1303,在从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径的第一流路径信息时,具体用于:
从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径关系的第一表树状图并存储;
其中,所述第一表树状图中的节点为所述第一转发设备所支持的业务流所需匹配的第一流表标识;所述第一表树状图中的节点携带从所述节点指向所述节点的子节点所需的字段以及所述字段的值;所述字段包含于作为所述节点的第一流表标识对应的第一流表中;
所述处理单元1303,在从所述第二TTP中解析出所述第二转发设备所支持的业务流的流路径的第二流路径信息时,具体用于:
从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径关系的第二表树状图并存储;
其中,所述第二表树状图中的节点为所述第二转发设备所支持的业务流所需匹配的第二流表标识;所述第二表树状图中的节点携带从所述节点指向所述节点的子节点所需的字段以及所述字段的值;所述字段包含于所述节点的第二流表标识对应的第二流表中。
所述处理单元1303,在从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径关系的第一表树状图时,具体用于:
根据所述第一TTP包括的多个标题以及多个标题之间的关系将所述第一TTP分解为第一TTP树状图并存储;
其中,所述第一TTP树状图中的根节点为所述第一TTP的名称;所述第一TTP树状图中的第一级节点是所述根节点的子节点;所述第一TTP树状图中的第一级节点包括所述第一TTP包含的第一级标题,所述第一TTP树状图中的第二级节点是所述第一TTP树状图中的第一级节点的子节点,所述第一TTP树状图中的第二级节点包括所述第一TTP包含的第二级标题;所述第一TTP树状图中的第三级节点是所述第一TTP树状图中的第二级节点的子节点,所述第一TTP树状图中的第三级节点包括所述第一TTP包含的第三级标题,所述第一TTP包含的第一级标题中包括第一流表,所述第一TTP包含的第二级标题中包括所述第一流表的名称,所述第一TTP包含的第三级标题中包括所述第一流表的属性;
从分解后的所述第一TTP树状图解析出第一表树状图;
所述处理单元1303,在从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径关系的第二表树状图时,具体用于:
根据所述第二TTP包括的多个标题以及多个标题之间的关系将所述第二TTP分解为第二TTP树状图并存储;
其中,所述第二TTP树状图中的根节点为所述第二TTP的名称;所述第二TTP树状图中的第一级节点是所述根节点的子节点;所述第二TTP树状图中的第一级节点包括所述第二TTP包含的第一级标题,所述第二TTP树状图中的第二级节点是所述第二TTP树状图中的第一级节点的子节点,所述第二TTP树状图中的第二级节点包括所述第二TTP包含的第二级标题;所述第二TTP树状图中的第三级节点是所述第二TTP树状图中的第二级节点的子节点,所述第二TTP树状图中的第三级节点包括所述第二TTP包含的第三级标题,所述第二TTP包含的第一级标题中包括第二流表,所述第二TTP包含的第二级标题中包括所述第二流表的名称,所述第二TTP包含的第三级标题中包括所述第二流表的属性;
从分解后的所述第二TTP树状图解析出第二表树状图。
可选地,所述处理单元1303,在遍历所述第一流路径信息包括的业务流和所述第二流路径信息包括的业务流,确定所述第一流路径信息中的第一业务流与所述第二流路径信息中的第二业务流描述的业务相同时,具体用于:
遍历所述第一表树状图和所述第二表树状图中的节点携带的字段以及字段的值,对所述第一表树状图中的节点携带的字段以及字段的值与所述第二表树状图中的节点携带的字段以及字段的值进行匹配,根据匹配结果确定所述第一表树状图中描述的第一业务流与所述第二表树状图中描述的第二业务流所述描述的业务相同。
可选地,所述处理单元1303,在遍历所述第一表树状图和所述第二表树状图中的节点携带的字段以及字段的值,对所述第一表树状图中的节点携带的字段以及字段的值与所述第二表树状图中的节点携带的字段以及字段的值进行匹配时,具体用于:
遍历所述第一表树状图和所述第二表树状图结构中的节点携带的字段,基于术语数据字典将所述第一表树状图中的节点携带的字段与所述第二表树状图中的节点携带的字段进行匹配;在匹配一致时,将匹配一致的第一表树状图中节点携带的字段的值与所述第二表树状图中的节点携带的字段的值进行匹配,得到匹配结果;
所述术语数据字典用于描述至少两个TTP中表述同一含义的不同字段的对应关系。例如:术语数据字典包括第一TTP中和第二TTP中用于描述同一含义的不同字段的对应关系。
可选地,所述处理单元1303,在获得所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系时,具体用于:
基于获得的第一业务流的流路径信息确定第一业务流的第一流表的顺序,根据确定的顺序依次确定第一流表中的字段对应在所述第二业务流的第二流表中的字段。
本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能单元可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
其中,集成的单元既可以采用硬件的形式实现时,如图14所示,获取单元1301对应的实体的硬件为通信接口1401,处理单元1303对应的实体硬件为处理器1402。处理器1402,可以是一个中央处理单元(英文:central processing unit,简称CPU),或者为数字处理单元等等。
其中,该转发表项发送装置中的存储单元对应的实体的硬件为存储器1403,用于存储处理器1402执行的程序。处理器1402用于执行存储器1403存储的程序,具体用于处理单元1303以及获取单元1301执行的方案。存储器1403还可以存储术语数据字典。
本发明实施例中不限定上述通信接口1401、处理器1402以及存储器1403之间的具体连接介质。本发明实施例在图14中以存储器1403、处理器1402以及通信接口1401之间通过总线1404连接,总线在图14中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图14中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1403可以是易失性存储器,例如RAM;存储器1403也可以是非易失性存储器,例如ROM,flash memory,HDD或SSD、或者存储器1403是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1403可以是上述存储器的组合。
通过上述方案提供了一种控制器与转发设备适配的方案,在控制器向所述第二转发设备发送转发表项时,将所述转发表项从遵循第一TTP转化为遵循第二TTP后发送给所述第二转发设备,保证了第二转发设备可以根据接收到控制器发送的转发表项进行报文的转发,不会出现错误。并且使得控制器能够支持多种不同类型的转发设备、仅需要获取该转发设备设备的TTP即可,能够更好的支持SDN解决方案。并且本发明实施例提供的方案不需要在控制器端进行芯片上的改进来适配不同的TTP,从而不必延长商业芯片的研发周期,实现起来相对简单,还节省了资源。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (28)

1.一种表类型模板TTP解析转换方法,其特征在于,包括:
控制器获得第一表类型模板TTP,以及第二转发设备的第二TTP;所述第一TTP用于描述第一转发设备转发报文所遵循的规则,所述控制器与所述第一TTP完成了适配,所述第二TTP用于描述所述第二转发设备转发报文所遵循的规则,所述控制器与所述第二TTP未完成适配;
所述控制器从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径的第一流路径信息,并从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径的第二流路径信息;
所述控制器遍历所述第一流路径信息包括的业务流和所述第二流路径信息包括的业务流,确定所述第一流路径信息中的第一业务流与所述第二流路径信息中的第二业务流描述的业务相同;
所述控制器获得所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系,所述对应关系用于指示所述控制器在向所述第二转发设备发送转发表项时,将所述转发表项从遵循第一TTP转化为遵循第二TTP后发送给所述第二转发设备。
2.如权利要求1所述的方法,其特征在于,所述控制器获得所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系后,还包括:
所述控制器根据所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系生成控制信息,所述控制信息用于控制所述控制器在向所述第二转发设备发送转发表项时,根据所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系将所述转发表项从遵循第一TTP转化为遵循第二TTP后发送给所述第二转发设备。
3.如权利要求1或2所述的方法,其特征在于,所述控制器从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径的第一流路径信息,包括:
所述控制器从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径关系的第一表树状图并存储;
其中,所述第一表树状图中的节点为所述第一转发设备所支持的业务流所需匹配的第一流表标识;所述第一表树状图中的节点携带从所述节点指向所述节点的子节点所需的字段以及所述字段的值;所述字段包含于作为所述节点的第一流表标识对应的第一流表中;
所述控制器从所述第二TTP中解析出所述第二转发设备所支持的业务流的流路径的第二流路径信息,包括:
所述控制器从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径关系的第二表树状图并存储;
其中,所述第二表树状图中的节点为所述第二转发设备所支持的业务流所需匹配的第二流表标识;所述第二表树状图中的节点携带从所述节点指向所述节点的子节点所需的字段以及所述字段的值;所述字段包含于所述节点的第二流表标识对应的第二流表中。
4.如权利要求3所述的方法,其特征在于,所述控制器遍历所述第一流路径信息包括的业务流和所述第二流路径信息包括的业务流,确定所述第一流路径信息中的第一业务流与所述第二流路径信息中的第二业务流描述的业务相同,包括:
所述控制器遍历所述第一表树状图和所述第二表树状图中的节点携带的字段以及所述字段的值,对所述第一表树状图中的节点携带的字段以及字段的值与所述第二表树状图中的节点携带的字段以及字段的值进行匹配,根据匹配结果确定所述第一表树状图中描述的第一业务流与所述第二表树状图中描述的第二业务流所述描述的业务相同。
5.如权利要求4所述的方法,其特征在于,所述控制器遍历所述第一表树状图和所述第二表树状图中的节点携带的字段以及字段的值,对所述第一表树状图中的节点携带的字段以及字段的值与所述第二表树状图中的节点携带的字段以及字段的值进行匹配,包括:
所述控制器遍历所述第一表树状图和所述第二表树状图结构中的节点携带的字段,基于术语数据字典将所述第一表树状图中的节点携带的字段与所述第二表树状图中的节点携带的字段进行匹配;在匹配一致时,将匹配一致的第一表树状图中节点携带的字段的值与所述第二表树状图中的节点携带的字段的值进行匹配,得到匹配结果;
所述术语数据字典包括第一TTP中和第二TTP中用于表述同一含义的不同字段的对应关系。
6.如权利要求4或5所述的方法,其特征在于,所述控制器获得所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系,包括:
所述控制器基于获得的第一业务流的流路径信息确定第一业务流的第一流表的顺序,根据确定的顺序依次确定第一流表中的字段对应在所述第二业务流的第二流表中的字段。
7.如权利要求3所述的方法,其特征在于,所述控制器从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径关系的第一表树状图,包括:
所述控制器根据所述第一TTP包括的多个标题以及多个标题之间的关系将所述第一TTP分解为第一TTP树状图并存储;
其中,所述第一TTP树状图中的根节点为所述第一TTP的名称;所述第一TTP树状图中的第一级节点是所述根节点的子节点;所述第一TTP树状图中的第一级节点包括所述第一TTP包含的第一级标题,所述第一TTP树状图中的第二级节点是所述第一TTP树状图中的第一级节点的子节点,所述第一TTP树状图中的第二级节点包括所述第一TTP包含的第二级标题;所述第一TTP树状图中的第三级节点是所述第一TTP树状图中的第二级节点的子节点,所述第一TTP树状图中的第三级节点包括所述第一TTP包含的第三级标题,所述第一TTP包含的第一级标题中包括第一流表,所述第一TTP包含的第二级标题中包括所述第一流表的名称,所述第一TTP包含的第三级标题中包括所述第一流表的属性;
所述控制器从分解后的所述第一TTP树状图解析出第一表树状图;
所述控制器从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径关系的第二表树状图,包括:
所述控制器根据所述第二TTP包括的多个标题以及多个标题之间的关系将所述第二TTP分解为第二TTP树状图并存储;
其中,所述第二TTP树状图中的根节点为所述第二TTP的名称;所述第二TTP树状图中的第一级节点是所述根节点的子节点;所述第二TTP树状图中的第一级节点包括所述第二TTP包含的第一级标题,所述第二TTP树状图中的第二级节点是所述第二TTP树状图中的第一级节点的子节点,所述第二TTP树状图中的第二级节点包括所述第二TTP包含的第二级标题;所述第二TTP树状图中的第三级节点是所述第二TTP树状图中的第二级节点的子节点,所述第二TTP树状图中的第三级节点包括所述第二TTP包含的第三级标题,所述第二TTP包含的第一级标题中包括第二流表,所述第二TTP包含的第二级标题中包括所述第二流表的名称,所述第二TTP包含的第三级标题中包括所述第二流表的属性;
所述控制器从分解后的所述第一TTP树状图解析出所述第一表树状图。
8.一种转发表项发送方法,其特征在于,包括:
控制器获得待发送给第二转发设备的转发表项,所述转发表项的格式遵循第一表类型模板TTP;所述第一TTP为第一转发设备转发报文所遵循的规则;所述控制器与所述第一TTP完成了适配;
所述控制器确定所述第一TTP与第二TTP不同,其中,所述第二TTP为所述第二转发设备转发报文所遵循的规则;所述控制器与所述第二TTP未完成适配;
所述控制器基于所述第一TTP与所述第二TTP的对应关系,将所述转发表项所遵循的规则由第一TTP转换为第二TTP,并将经过转换后的转发表项发送给所述第二转发设备;
所述第一TTP与所述第二TTP的对应关系通过如下方式建立:
所述控制器获得第一TTP,以及所述第二转发设备的第二TTP;
所述控制器从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径的第一流路径信息,并从所述第二TTP中解析出所述第二转发设备所支持的业务流的流路径的第二流路径信息;
所述控制器遍历所述第一流路径信息包括的业务流和所述第二流路径信息包括的业务流,确定所述第一流路径信息中的第一业务流与所述第二流路径信息中的第二业务流描述的业务相同;
所述控制器获得所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系,从而确定所述第一TTP与所述第二TTP的对应关系。
9.如权利要求8所述的方法,其特征在于,所述第一TTP与所述第二TTP的对应关系是在所述控制器与所述第二转发设备建立连接时建立的,或者是在所述控制器确定所述第二转发设备转发报文所遵循的规则与所述控制器所适配的所述第一转发设备转发报文所遵循的规则不同时建立的。
10.如权利要求8所述的方法,其特征在于,所述控制器从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径的第一流路径信息,包括:
所述控制器从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径关系的第一表树状图并存储;
其中,所述第一表树状图中的节点为所述第一转发设备所支持的业务流所需匹配的第一流表标识;所述第一表树状图中的节点携带从所述节点指向所述节点的子节点所需的字段以及所述字段的值;所述字段包含于作为所述节点的第一流表标识对应的第一流表中;
所述控制器从所述第二TTP中解析出所述第二转发设备所支持的业务流的流路径的第二流路径信息,包括:
所述控制器从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径关系的第二表树状图并存储;
其中,所述第二表树状图中的节点为所述第二转发设备所支持的业务流所需匹配的第二流表标识;所述第二表树状图中的节点携带从所述节点指向所述节点的子节点所需的字段以及所述字段的值;所述字段包含于所述节点的第二流表标识对应的第二流表中。
11.如权利要求10所述的方法,其特征在于,所述控制器遍历所述第一流路径信息包括的业务流和所述第二流路径信息包括的业务流,确定所述第一流路径信息中的第一业务流与所述第二流路径信息中的第二业务流描述的业务相同,包括:
所述控制器遍历所述第一表树状图和所述第二表树状图中的节点携带的字段以及字段的值,对所述第一表树状图中的节点携带的字段以及字段的值与所述第二表树状图中的节点携带的字段以及字段的值进行匹配,根据匹配结果确定所述第一表树状图中描述的第一业务流与所述第二表树状图中描述的第二业务流所述描述的业务相同。
12.如权利要求11所述的方法,其特征在于,所述控制器遍历所述第一表树状图和所述第二表树状图中的节点携带的字段以及字段的值,对所述第一表树状图中的节点携带的字段以及字段的值与所述第二表树状图中的节点携带的字段以及字段的值进行匹配,包括:
所述控制器遍历所述第一表树状图和所述第二表树状图结构中的节点携带的字段,基于术语数据字典将所述第一表树状图中的节点携带的字段与所述第二表树状图中的节点携带的字段进行匹配;在匹配一致时,将匹配一致的第一表树状图中节点携带的字段的值与所述第二表树状图中的节点携带的字段的值进行匹配,得到匹配结果;
所述术语数据字典包括第一TTP中和第二TTP中用于表述同一含义的不同字段的对应关系。
13.如权利要求11或12所述的方法,其特征在于,所述控制器获得所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系,包括:
所述控制器基于获得的第一业务流的流路径信息确定第一业务流的第一流表的顺序,根据确定的顺序依次确定第一流表中的字段对应在所述第二业务流的第二流表中的字段。
14.如权利要求10所述的方法,其特征在于,所述控制器从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径关系的第一表树状图,包括:
所述控制器根据所述第一TTP包括的多个标题以及多个标题之间的关系将所述第一TTP分解为第一TTP树状图并存储;
其中,所述第一TTP树状图中的根节点为所述第一TTP的名称;所述第一TTP树状图中的第一级节点是所述根节点的子节点;所述第一TTP树状图中的第一级节点包括所述第一TTP包含的第一级标题,所述第一TTP树状图中的第二级节点是所述第一TTP树状图中的第一级节点的子节点,所述第一TTP树状图中的第二级节点包括所述第一TTP包含的第二级标题;所述第一TTP树状图中的第三级节点是所述第一TTP树状图中的第二级节点的子节点,所述第一TTP树状图中的第三级节点包括所述第一TTP包含的第三级标题,所述第一TTP包含的第一级标题中包括第一流表,所述第一TTP包含的第二级标题中包括所述第一流表的名称,所述第一TTP包含的第三级标题中包括所述第一流表的属性;
所述控制器从分解后的所述第一TTP树状图解析出第一表树状图;
所述控制器从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径关系的第二表树状图,包括:
所述控制器根据所述第二TTP包括的多个标题以及多个标题之间的关系将所述第二TTP分解为第二TTP树状图并存储;
其中,所述第二TTP树状图中的根节点为所述第二TTP的名称;所述第二TTP树状图中的第一级节点是所述根节点的子节点;所述第二TTP树状图中的第一级节点包括所述第二TTP包含的第一级标题,所述第二TTP树状图中的第二级节点是所述第二TTP树状图中的第一级节点的子节点,所述第二TTP树状图中的第二级节点包括所述第二TTP包含的第二级标题;所述第二TTP树状图中的第三级节点是所述第二TTP树状图中的第二级节点的子节点,所述第二TTP树状图中的第三级节点包括所述第二TTP包含的第三级标题,所述第二TTP包含的第一级标题中包括第二流表,所述第二TTP包含的第二级标题中包括所述第二流表的名称,所述第二TTP包含的第三级标题中包括所述第二流表的属性;
所述控制器从分解后的所述第二TTP树状图解析出第二表树状图。
15.一种表类型模板TTP解析转换装置,其特征在于,所述装置应用于控制器,包括:
获取单元,用于获得第一表类型模板TTP,以及第二转发设备的第二TTP;所述第一TTP用于描述第一转发设备转发报文所遵循的规则,所述控制器与所述第一TTP完成了适配,所述第二TTP用于描述所述第二转发设备转发报文所遵循的规则,所述控制器与所述第二TTP未完成适配;
处理单元,用于从所述获取单元获得的所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径的第一流路径信息,并从所述获取单元获得的所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径的第二流路径信息;遍历所述第一流路径信息包括的业务流和所述第二流路径信息包括的业务流,确定所述第一流路径信息中的第一业务流与所述第二流路径信息中的第二业务流描述的业务相同;获得所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系,所述对应关系用于指示所述控制器在向所述第二转发设备发送转发表项时,将所述转发表项从遵循第一TTP转化为遵循第二TTP后发送给所述第二转发设备。
16.如权利要求15所述的装置,其特征在于,所述处理单元在获得所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系后,还用于:
根据所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系生成控制信息,所述控制信息用于控制所述控制器在向所述第二转发设备发送转发表项时,根据所述对应关系将所述转发表项从遵循第一TTP转化为遵循第二TTP后发送给所述第二转发设备。
17.如权利要求15或16所述的装置,其特征在于,所述处理单元,在从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径的第一流路径信息时,具体用于:
从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径关系的第一表树状图并存储;
其中,所述第一表树状图中的节点为所述第一转发设备所支持的业务流所需匹配的第一流表标识;所述第一表树状图中的节点携带从所述节点指向所述节点的子节点所需的字段以及所述字段的值;所述字段包含于作为所述节点的第一流表标识对应的第一流表中;
所述处理单元,在从所述第二TTP中解析出所述第二转发设备所支持的业务流的流路径的第二流路径信息时,具体用于:
从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径关系的第二表树状图并存储;
其中,所述第二表树状图中的节点为所述第二转发设备所支持的业务流所需匹配的第二流表标识;所述第二表树状图中的节点携带从所述节点指向所述节点的子节点所需的字段以及所述字段的值;所述字段包含于所述节点的第二流表标识对应的第二流表中。
18.如权利要求17所述的装置,其特征在于,所述处理单元,在遍历所述第一流路径信息包括的业务流和所述第二流路径信息包括的业务流,确定所述第一流路径信息中的第一业务流与所述第二流路径信息中的第二业务流描述的业务相同时,具体用于:
遍历所述第一表树状图和所述第二表树状图中的节点携带的字段以及所述字段的值,对所述第一表树状图中的节点携带的字段以及字段的值与所述第二表树状图中的节点携带的字段以及字段的值进行匹配,根据匹配结果确定所述第一表树状图中描述的第一业务流与所述第二表树状图中描述的第二业务流所述描述的业务相同。
19.如权利要求18所述的装置,其特征在于,所述处理单元,在遍历所述第一表树状图和所述第二表树状图中的节点携带的字段以及字段的值,对所述第一表树状图中的节点携带的字段以及字段的值与所述第二表树状图中的节点携带的字段以及字段的值进行匹配时,具体用于:
遍历所述第一表树状图和所述第二表树状图结构中的节点携带的字段,基于术语数据字典将所述第一表树状图中的节点携带的字段与所述第二表树状图中的节点携带的字段进行匹配;在匹配一致时,将匹配一致的第一表树状图中节点携带的字段的值与所述第二表树状图中的节点携带的字段的值进行匹配,得到匹配结果;
所述术语数据字典包括第一TTP中和第二TTP中用于表述同一含义的不同字段的对应关系。
20.如权利要求18或19所述的装置,其特征在于,所述处理单元,在获得所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系时,具体用于:
基于获得的第一业务流的流路径信息确定第一业务流的第一流表的顺序,根据确定的顺序依次确定第一流表中的字段对应在所述第二业务流的第二流表中的字段。
21.如权利要求17所述的装置,其特征在于,所述处理单元,在从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径关系的第一表树状图时,具体用于:
根据所述第一TTP包括的多个标题以及多个标题之间的关系将所述第一TTP分解为第一TTP树状图并存储;
其中,所述第一TTP树状图中的根节点为所述第一TTP的名称;所述第一TTP树状图中的第一级节点是所述根节点的子节点;所述第一TTP树状图中的第一级节点包括所述第一TTP包含的第一级标题,所述第一TTP树状图中的第二级节点是所述第一TTP树状图中的第一级节点的子节点,所述第一TTP树状图中的第二级节点包括所述第一TTP包含的第二级标题;所述第一TTP树状图中的第三级节点是所述第一TTP树状图中的第二级节点的子节点,所述第一TTP树状图中的第三级节点包括所述第一TTP包含的第三级标题,所述第一TTP包含的第一级标题中包括第一流表,所述第一TTP包含的第二级标题中包括所述第一流表的名称,所述第一TTP包含的第三级标题中包括所述第一流表的属性;
从分解后的所述第一TTP树状图解析出第一表树状图;
所述处理单元,在从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径关系的第二表树状图时,具体用于:
根据所述第二TTP包括的多个标题以及多个标题之间的关系将所述第二TTP分解为第二TTP树状图并存储;
其中,所述第二TTP树状图中的根节点为所述第二TTP的名称;所述第二TTP树状图中的第一级节点是所述根节点的子节点;所述第二TTP树状图中的第一级节点包括所述第二TTP包含的第一级标题,所述第二TTP树状图中的第二级节点是所述第二TTP树状图中的第一级节点的子节点,所述第二TTP树状图中的第二级节点包括所述第二TTP包含的第二级标题;所述第二TTP树状图中的第三级节点是所述第二TTP树状图中的第二级节点的子节点,所述第二TTP树状图中的第三级节点包括所述第二TTP包含的第三级标题,所述第二TTP包含的第一级标题中包括第二流表,所述第二TTP包含的第二级标题中包括所述第二流表的名称,所述第二TTP包含的第三级标题中包括所述第二流表的属性;
从分解后的所述第一TTP树状图解析出所述第一表树状图。
22.一种转发表项发送装置,其特征在于,所述装置应用于控制器,包括:
获取单元,用于获得待发送给第二转发设备的转发表项,所述转发表项的格式遵循第一表类型模板TTP;所述第一TTP为第一转发设备转发报文所遵循的规则;所述控制器与所述第一TTP完成了适配;
存储单元,用于存储所述第一TTP与第二TTP的对应关系;
处理单元,用于确定所述所述获取单元获得的第一TTP与第二TTP不同,其中,所述第二TTP为所述第二转发设备转发报文所遵循的规则;所述控制器与所述第二TTP未完成适配;基于所述存储单元存储的所述第一TTP与所述第二TTP的对应关系,将所述转发表项所遵循的规则由第一TTP转换为第二TTP,并将经过转换后的转发表项发送给所述第二转发设备;
所述处理单元,还用于建立第一TTP与所述第二TTP的对应关系,具体包括:
获得第一TTP,以及所述第二转发设备的第二TTP;
从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径的第一流路径信息,并从所述第二TTP中解析出所述第二转发设备所支持的业务流的流路径的第二流路径信息;
遍历所述第一流路径信息包括的业务流和所述第二流路径信息包括的业务流,确定所述第一流路径信息中的第一业务流与所述第二流路径信息中的第二业务流描述的业务相同;
获得所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系,从而确定所述第一TTP与所述第二TTP的对应关系。
23.如权利要求22所述的装置,其特征在于,所述第一TTP与所述第二TTP的对应关系是在所述控制器与所述第二转发设备建立连接时建立的,或者是在所述控制器确定所述第二转发设备转发报文所遵循的规则与所述控制器所适配的所述第一转发设备转发报文所遵循的规则不同时建立的。
24.如权利要求22所述的装置,其特征在于,所述处理单元,在从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径的第一流路径信息时,具体用于:
从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径关系的第一表树状图并存储;
其中,所述第一表树状图中的节点为所述第一转发设备所支持的业务流所需匹配的第一流表标识;所述第一表树状图中的节点携带从所述节点指向所述节点的子节点所需的字段以及所述字段的值;所述字段包含于作为所述节点的第一流表标识对应的第一流表中;
所述处理单元,在从所述第二TTP中解析出所述第二转发设备所支持的业务流的流路径的第二流路径信息时,具体用于:
从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径关系的第二表树状图并存储;
其中,所述第二表树状图中的节点为所述第二转发设备所支持的业务流所需匹配的第二流表标识;所述第二表树状图中的节点携带从所述节点指向所述节点的子节点所需的字段以及所述字段的值;所述字段包含于所述节点的第二流表标识对应的第二流表中。
25.如权利要求24所述的装置,其特征在于,所述处理单元,在遍历所述第一流路径信息包括的业务流和所述第二流路径信息包括的业务流,确定所述第一流路径信息中的第一业务流与所述第二流路径信息中的第二业务流描述的业务相同时,具体用于:
遍历所述第一表树状图和所述第二表树状图中的节点携带的字段以及字段的值,对所述第一表树状图中的节点携带的字段以及字段的值与所述第二表树状图中的节点携带的字段以及字段的值进行匹配,根据匹配结果确定所述第一表树状图中描述的第一业务流与所述第二表树状图中描述的第二业务流所述描述的业务相同。
26.如权利要求25所述的装置,其特征在于,所述处理单元,在遍历所述第一表树状图和所述第二表树状图中的节点携带的字段以及字段的值,对所述第一表树状图中的节点携带的字段以及字段的值与所述第二表树状图中的节点携带的字段以及字段的值进行匹配时,具体用于:
遍历所述第一表树状图和所述第二表树状图结构中的节点携带的字段,基于术语数据字典将所述第一表树状图中的节点携带的字段与所述第二表树状图中的节点携带的字段进行匹配;在匹配一致时,将匹配一致的第一表树状图中节点携带的字段的值与所述第二表树状图中的节点携带的字段的值进行匹配,得到匹配结果;
所述术语数据字典包括第一TTP中和第二TTP中用于表述同一含义的不同字段的对应关系。
27.如权利要求25或26所述的装置,其特征在于,所述处理单元,在获得所述第一业务流的流路径信息与所述第二业务流的流路径信息的对应关系时,具体用于:
基于获得的第一业务流的流路径信息确定第一业务流的第一流表的顺序,根据确定的顺序依次确定第一流表中的字段对应在所述第二业务流的第二流表中的字段。
28.如权利要求24所述的装置,其特征在于,所述处理单元,在从所述第一TTP中解析出用于描述所述第一转发设备所支持的业务流的流路径关系的第一表树状图时,具体用于:
根据所述第一TTP包括的多个标题以及多个标题之间的关系将所述第一TTP分解为第一TTP树状图并存储;
其中,所述第一TTP树状图中的根节点为所述第一TTP的名称;所述第一TTP树状图中的第一级节点是所述根节点的子节点;所述第一TTP树状图中的第一级节点包括所述第一TTP包含的第一级标题,所述第一TTP树状图中的第二级节点是所述第一TTP树状图中的第一级节点的子节点,所述第一TTP树状图中的第二级节点包括所述第一TTP包含的第二级标题;所述第一TTP树状图中的第三级节点是所述第一TTP树状图中的第二级节点的子节点,所述第一TTP树状图中的第三级节点包括所述第一TTP包含的第三级标题,所述第一TTP包含的第一级标题中包括第一流表,所述第一TTP包含的第二级标题中包括所述第一流表的名称,所述第一TTP包含的第三级标题中包括所述第一流表的属性;
从分解后的所述第一TTP树状图解析出第一表树状图;
所述处理单元,在从所述第二TTP中解析出用于描述所述第二转发设备所支持的业务流的流路径关系的第二表树状图时,具体用于:
根据所述第二TTP包括的多个标题以及多个标题之间的关系将所述第二TTP分解为第二TTP树状图并存储;
其中,所述第二TTP树状图中的根节点为所述第二TTP的名称;所述第二TTP树状图中的第一级节点是所述根节点的子节点;所述第二TTP树状图中的第一级节点包括所述第二TTP包含的第一级标题,所述第二TTP树状图中的第二级节点是所述第二TTP树状图中的第一级节点的子节点,所述第二TTP树状图中的第二级节点包括所述第二TTP包含的第二级标题;所述第二TTP树状图中的第三级节点是所述第二TTP树状图中的第二级节点的子节点,所述第二TTP树状图中的第三级节点包括所述第二TTP包含的第三级标题,所述第二TTP包含的第一级标题中包括第二流表,所述第二TTP包含的第二级标题中包括所述第二流表的名称,所述第二TTP包含的第三级标题中包括所述第二流表的属性;
从分解后的所述第二TTP树状图解析出第二表树状图。
CN201511032984.2A 2015-12-31 2015-12-31 一种ttp解析转换方法、转发表项发送方法及装置 Active CN106936716B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511032984.2A CN106936716B (zh) 2015-12-31 2015-12-31 一种ttp解析转换方法、转发表项发送方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511032984.2A CN106936716B (zh) 2015-12-31 2015-12-31 一种ttp解析转换方法、转发表项发送方法及装置

Publications (2)

Publication Number Publication Date
CN106936716A CN106936716A (zh) 2017-07-07
CN106936716B true CN106936716B (zh) 2020-01-31

Family

ID=59444208

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511032984.2A Active CN106936716B (zh) 2015-12-31 2015-12-31 一种ttp解析转换方法、转发表项发送方法及装置

Country Status (1)

Country Link
CN (1) CN106936716B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112865999B (zh) * 2019-11-28 2022-08-09 华为技术有限公司 信息处理方法及相关设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9674315B2 (en) * 2013-05-07 2017-06-06 Futurewei Technologies, Inc. Methods for dynamically binding header field identifiers in a network control protocol
CN104378298A (zh) * 2013-08-16 2015-02-25 中兴通讯股份有限公司 一种流表条目生成方法及相应设备
CN103457878B (zh) * 2013-09-05 2016-03-23 电子科技大学 一种基于流的网络接入控制方法
WO2015109486A1 (zh) * 2014-01-23 2015-07-30 华为技术有限公司 报文的隧道处理方法、交换设备及控制设备

Also Published As

Publication number Publication date
CN106936716A (zh) 2017-07-07

Similar Documents

Publication Publication Date Title
US20190327345A1 (en) Method and apparatus for forwarding heterogeneous protocol message and network switching device
EP3139560B1 (en) Packet processing method, device and computer storage medium
US20200153728A1 (en) Multicast Forwarding Method and Related Device
US11924099B2 (en) Method for forwarding packet in hybrid network, device, and system
US20220103461A1 (en) Multicast data packet processing method, and apparatus
US8615015B1 (en) Apparatus, systems and methods for aggregate routes within a communications network
CN109639579B (zh) 组播报文的处理方法及装置、存储介质、处理器
CN111147372B (zh) 下行报文发送、转发方法和装置
CN107404440B (zh) 一种转发表项发送方法、报文转发方法及装置
US20240106751A1 (en) Method and apparatus for processing detnet data packet
CN114006928B (zh) 一种基于多协议实时通信的物联网数据处理方法
US20240048479A1 (en) Packet Forwarding Method and Apparatus, Network Device, and Storage Medium
CN107070719B (zh) 一种设备管理方法和装置
CN102014065A (zh) 报文包头的解析方法、包头解析预处理装置和网络处理器
CN110855459B (zh) 网络配置方法、装置及系统
CN105099919A (zh) 报文处理方法及装置
CN106936716B (zh) 一种ttp解析转换方法、转发表项发送方法及装置
CN116527559B (zh) 网络切片的报文转发处理及发送方法、装置、设备和介质
WO2013170796A1 (zh) 数据更新方法、系统和设备
CN114884893A (zh) 一种转发和控制可定义的协同流量调度方法与系统
CN105049375A (zh) 一种基于云计算数据中心的数据转发方法及系统
CN116846815A (zh) 组播流量聚合转发方法及相关设备
CN113347090B (zh) 报文处理方法、转发设备以及报文处理系统
WO2023088226A1 (zh) 转发报文的方法以及相关设备
CN114499889B (zh) 一种适合网络处理芯片存储超大规格会话的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant