书签 分享 收藏 举报 版权申诉 / 14

报文转发方法、交换机.pdf

  • 上传人:Y94****206
  • 文档编号:19957
  • 上传时间:2018-01-12
  • 格式:PDF
  • 页数:14
  • 大小:1.04MB
  • 摘要
    申请专利号:

    CN201410023028.7

    申请日:

    2014.01.17

    公开号:

    CN104796353A

    公开日:

    2015.07.22

    当前法律状态:

    实审

    有效性:

    审中

    法律详情:

    实质审查的生效IPC(主分类):H04L 12/861申请日:20140117|||公开

    IPC分类号:

    H04L12/861(2013.01)I; H04L12/891(2013.01)I

    主分类号:

    H04L12/861

    申请人:

    华为技术有限公司

    发明人:

    那闻宇

    地址:

    518129广东省深圳市龙岗区坂田华为总部办公楼

    优先权:

    专利代理机构:

    北京亿腾知识产权代理事务所11309

    代理人:

    李楠

    PDF完整版下载: PDF下载
    内容摘要

    本发明实施例提供了一种报文转发方法,所述方法包括:第二交换机接收第一交换机发送的第一报文,所述第一报文具有外层匹配域和内层匹配域,所述内层匹配域中包含所述内层目的主机的IP地址;当所述第一报文的外层匹配域与第一流表中的外层报文解析匹配字段匹配时,则将所述第一报文的外层封装解除;当外层封装解除后的第一报文中的内层匹配域与所述第二流表中的内层报文解析匹配字段匹配时,将所述第一报文发送给所述内层目主机地址对应的内层目主机。采用本发明实施例提供的报文转发方法,可以降低控制器下发流表的数目和匹配项数目,也提高了交换机的处理效率。

    权利要求书

    1.  一种报文转发方法,其特征在于,所述方法包括: 
    第二交换机接收第一交换机发送的第一报文,所述第一报文具有外层匹配域和内层匹配域,所述内层匹配域中包含所述内层目的主机的IP地址; 
    当所述第一报文的外层匹配域与第一流表中的外层报文解析匹配字段匹配时,则将所述第一报文的外层封装解除; 
    当外层封装解除后的第一报文中的内层匹配域与所述第二流表中的内层报文解析匹配字段匹配时,将所述第一报文发送给所述内层目主机地址对应的内层目主机。 

    2.
      如权利要求1所述的方法,其特征在于,所述外层匹配域包括所述第一报文的外层目的互联网协议IP地址和来源端口以及虚拟可扩展局域网网络号VXLAN ID,所述第一报文的外层匹配域与第一流表中的外层报文解析匹配字段匹配具体包括:将所述第一报文的外层目的互联网协议IP地址和来源端口以及虚拟可扩展局域网网络号VXLAN ID,分别于所述第一流表中的外层报文解析匹配字段中包含外层目的IP地址字段、来源端口字段和VXLANID字段进行匹配。 

    3.
      如权利要求1所述的方法,其特征在于,所述第一流表中具有第一执行动作指示域:所述将所述第一报文的外层封装解除具体为,所述第二交换机根据所述第一执行动作指示域的指示,将所述第一报文的外层封装解除。 

    4.
      如权利要求1所述的方法,其特征在于,所述外层封装解除后的第一报文中的内层匹配域与所述第二流表中的内层报文解析匹配字段匹配,具体包括: 
    将所述外层封装解除后的第一报文中的内层匹配域中的内层目的IP地址与所述第二流表中的内层目的主机的IP地址字段匹配。 

    5.
      如权利要求1所述的方法,其特征在于,所述第二流表中具有第二执行动作指示域:所述将所述第一报文发送给所述内层目主机地址对应的内层 目主机具体为,所述第二交换机根据所述第二执行动作指示域的指示,将所述第一报文发送给所述内层目的主机IP地址对应的主机。 

    6.
      如权利要求1所述的方法,其特征在于,所述第二交换机接收第一交换机发送的第一报文,之前,还包括: 
    接收控制器下发的所述第一流表和所述第二流表。 

    7.
      如权利要求6所述的方法,其特征在于,所述第二流表为所述第一流表的次级流表,所述第一流表指示与所述第一流表匹配的报文,再与所述第二流表匹配。 

    8.
      如权利要求7所述的方法,其特征在于,所述将所述第一报文的外层封装解除,之前,还包括: 
    将所述第一报文的头部解包,并将所述第一报文的VXLAN ID写入所述第二流表的元数据字段。 

    9.
      如权利要求6所述的方法,其特征在于,所述第一流表的优先级低于所述第二流表的优先级,所述第一流表指示与所述第一流表匹配的报文,再与所述第二流表匹配。 

    10.
      一种交换机,其特征在于,所述交换机包括: 
    接收单元,用于接收第一交换机发送的第一报文,所述第一报文具有外层匹配域和内层匹配域,所述内层匹配域中包含所述内层目的主机的IP地址; 
    第一处理单元,用于当所述第一报文的外层匹配域与第一流表中的外层报文解析匹配字段匹配时,则将所述第一报文的外层封装解除; 
    第二处理单元,用于当外层封装解除后的第一报文中的内层匹配域与所述第二流表中的内层报文解析匹配字段匹配时,将所述第一报文发送给所述内层目主机地址对应的内层目主机。 

    11.
      如权利要求10所述的交换机,其特征在于,所述外层匹配域包括所述第一报文的外层目的互联网协议IP地址和来源端口以及虚拟可扩展局域网网络号VXLAN ID,所述第一处理单元据以用于:将所述第一报文的外层目 的互联网协议IP地址和来源端口以及虚拟可扩展局域网网络号VXLAN ID,分别与所述第一流表中的外层报文解析匹配字段中包含飞外层目的IP地址字段、来源端口字段和VXLAN ID字段进行匹配。 

    12.
      如权利要求10所述的交换机,其特征在于,所述第一流表中具有第一执行动作指示域:所述第一处理单元具体用于,根据所述第一执行动作指示域的指示,将所述第一报文的外层封装解除。 

    13.
      如权利要求10所述的方法,其特征在于,所述第二处理单元具体用于: 
    将所述外层封装解除后的第一报文中的内层匹配域中的内层目的IP地址与所述第二流表中的内层目的主机的IP地址字段匹配。 

    14.
      如权利要求10所述的方法,其特征在于,所述第二流表中具有第二执行动作指示域:所述第二处理单元具体用于根据所述第二执行动作指示域的指示,将所述第一报文发送给所述内层目的主机IP地址对应的主机。 

    15.
      如权利要求10所述的交换机,其特征在于,还包括第二接收单元,用于接收控制器下发的所述第一流表和所述第二流表。 

    16.
      如权利要求15所述的交换机,其特征在于,所述第二流表为所述第一流表的次级流表,所述第一流表指示与所述第一流表匹配的报文,再与所述第二流表匹配。 

    17.
      如权利要求10所述的交换机,其特征在于,还包括报文处理单元,用于将所述第一报文的头部解包,并将所述第一报文的VXLAN ID写入所述第二流表的元数据字段。 

    18.
      如权利要求10所述的交换机,其特征在于,所述第一流表的优先级低于所述第二流表的优先级,所述第一流表指示与所述第一流表匹配的报文,再与所述第二流表匹配。 

    说明书

    报文转发方法、交换机
    技术领域
    本发明涉及通信领域,具体涉及一种报文转发方法及交换机。
    背景技术
    在将虚拟可扩展局域网(Virtual eXtensible Local Area Network,VXLAN)与开放流表(OPENFLOW)技术进行结合后,可以将二层报文用三层协议进行封装的技术,可以对二层网络在三层范围进行扩展。它应用于数据中心内部,使虚拟机可以在互相连通的三层网络范围内迁移,而不需要改变互联网协议(Internet Protocol,IP)地址和介质访问控制(Medium Access Control,MAC)地址,保证业务的连续性。
    VXLAN用VNID(VXLAN Network Identifier,VXLAN网络序号)来标识每个广播域(VXLAN子网),VXLAN中将隧道的两端称为VXLAN隧道端点(VXLAN Tunnel End Point,VTEP)。VTEP通常部署在物理服务器或虚拟局域网网关或交换机上,其具有控制和转发两类功能。VXLAN作为一种新兴的重要的网络虚拟化技术,能够在新的网络框架OpenFlow网络中实现部署,无疑将给计算机网络尤其是以云计算为代表的虚拟网络带来客观的效益。
    现有技术中当虚拟局域网中的一台主机需要向另一台主机发送报文时,需要部署有VTEP的交换机进行转发,当位于发送端的第一交换机接收到发送端的主机发送的报文后,将报文发送给控制器,控制器为该报文生成不同的流表,分别发送给发送端的第一交换机和接收端的第二交换机,第一交换机根据下发到第一交换机的流表对报文进行匹配处理后通过隧道发送给第二交换机,第二交换机再根据控制器下发到第二交换机的流表对报文进行匹配处理。现有技术中,下发给第二交换机的流表中的匹配项,不仅需要匹配外 层IP(也就是VTEP IP)还需要匹配内层IP,也就是虚拟主机的IP,因此随着虚拟主机数增多,来自于同一个源交换机的报文,其目的虚拟主机可能是不同的虚拟主机,因此,会导致匹配项和流表条数增加,从而降低交换机的处理效率。
    发明内容
    本发明的目的是提供一种报文转发方法,以减少VXLAN流表项的复杂度,从而提高流表匹配及报文转发的效率。
    为实现上述目的,本发明实施例第一方面提供了一种报文转发方法,所述方法包括:
    第二交换机接收第一交换机发送的第一报文,所述第一报文具有外层匹配域和内层匹配域,所述内层匹配域中包含所述内层目的主机的IP地址;
    当所述第一报文的外层匹配域与第一流表中的外层报文解析匹配字段匹配时,则将所述第一报文的外层封装解除;
    当外层封装解除后的第一报文中的内层匹配域与所述第二流表中的内层报文解析匹配字段匹配时,将所述第一报文发送给所述内层目主机地址对应的内层目主机。
    基于第一方面,在第一种可能的实施方式中,所述外层匹配域包括所述第一报文的外层目的互联网协议IP地址和来源端口以及虚拟可扩展局域网网络号VXLAN ID,所述第一报文的外层匹配域与第一流表中的外层报文解析匹配字段匹配具体包括:将所述第一报文的外层目的互联网协议IP地址和来源端口以及虚拟可扩展局域网网络号VXLAN ID,分别于所述第一流表中的外层报文解析匹配字段中包含飞外层目的IP地址字段、来源端口字段和VXLAN ID字段进行匹配。
    基于第一方面,在第二种可能的实施方式中,所述第一流表中具有第一执行动作指示域:所述将所述第一报文的外层封装解除具体为,所述第二交 换机根据所述第一执行动作指示域的指示,将所述第一报文的外层封装解除。
    基于第一方面,在第三种可能的实施方式中,所述外层封装解除后的第一报文中的内层匹配域与所述第二流表中的内层报文解析匹配字段匹配,具体包括:
    将所述外层封装解除后的第一报文中的内层匹配域中的内层目的IP地址与所述第二流表中的内层目的主机的IP地址字段匹配。
    基于第一方面,在第四种可能的实施方式中,所述第二流表中具有第二执行动作指示域:所述将所述第一报文发送给所述内层目主机地址对应的内层目主机具体为,所述第二交换机根据所述第二执行动作指示域的指示,将所述第一报文发送给所述内层目的主机IP地址对应的主机。
    基于第一方面,在第五种可能的实施方式中,所述第二交换机接收第一交换机发送的第一报文,之前,还包括:
    接收控制器下发的所述第一流表和所述第二流表。
    基于第一方面的第五种可能的实施方式,在第六种可能的实施方式中,所述第二流表为所述第一流表的次级流表,所述第一流表指示与所述第一流表匹配的报文,再与所述第二流表匹配。
    基于第一方面的第六种可能的实施方式,,在第七种可能的实施方式中,所述将所述第一报文的外层封装解除,之前,还包括:
    将所述第一报文的头部解包,并将所述第一报文的VXLAN ID写入所述第二流表的元数据字段;
    基于第一方面的第五种可能的实施方式,在第八种可能的实施方式中,所述第一流表的优先级低于所述第二流表的优先级,所述第一流表指示与所述第一流表匹配的报文,再与所述第二流表匹配。
    本发明实施例第二方面提供了一种交换机,所述交换机包括:
    接收单元,用于接收第一交换机发送的第一报文,所述第一报文具有外层匹配域和内层匹配域,所述内层匹配域中包含所述内层目的主机的IP地址;
    第一处理单元,用于当所述第一报文的外层匹配域与第一流表中的外层报文解析匹配字段匹配时,则将所述第一报文的外层封装解除;
    第二处理单元,用于当外层封装解除后的第一报文中的内层匹配域与所述第二流表中的内层报文解析匹配字段匹配时,将所述第一报文发送给所述内层目主机地址对应的内层目主机。
    基于第二方面,在第一种可能的实施方式中,所述外层匹配域包括所述第一报文的外层目的互联网协议IP地址和来源端口以及虚拟可扩展局域网网络号VXLAN ID,所述第一处理单元据以用于:将所述第一报文的外层目的互联网协议IP地址和来源端口以及虚拟可扩展局域网网络号VXLAN ID,分别与所述第一流表中的外层报文解析匹配字段中包含飞外层目的IP地址字段、来源端口字段和VXLAN ID字段进行匹配。
    基于第二方面,在第二种可能的实施方式中,所述第一流表中具有第一执行动作指示域:所述第一处理单元具体用于,根据所述第一执行动作指示域的指示,将所述第一报文的外层封装解除。
    基于第二方面,在第三种可能的实施方式中,所述第二处理单元具体用于:
    将所述外层封装解除后的第一报文中的内层匹配域中的内层目的IP地址与所述第二流表中的内层目的主机的IP地址字段匹配。
    基于第二方面,在第四种可能的实施方式中,所述第二流表中具有第二执行动作指示域:所述第二处理单元具体用于根据所述第二执行动作指示域的指示,将所述第一报文发送给所述内层目的主机IP地址对应的主机。
    基于第二方面,在第五种可能的实施方式中,还包括第二接收单元,用于接收控制器下发的所述第一流表和所述第二流表。
    基于第二方面的第五种可能的实施方式,在第六种可能的实施方式中,所述第二流表为所述第一流表的次级流表,所述第一流表指示与所述第一流表匹配的报文,再与所述第二流表匹配。
    基于第二方面的第六种可能的实施方式,,在第七种可能的实施方式中,还包括报文处理单元,用于将所述第一报文的头部解包,并将所述第一报文的VXLAN ID写入所述第二流表的元数据字段;
    基于第二方面的第五种可能的实施方式,在第八种可能的实施方式中,所述第一流表的优先级低于所述第二流表的优先级,所述第一流表指示与所述第一流表匹配的报文,再与所述第二流表匹配。
    采用本发明实施例提供的报文转发方法,使得交换机中具有同样外层匹配域的报文能够使用同样的外层拆装流表,在控制器对具有不同内层匹配域的报文下发的拆装流表中减少匹配域字段,使得交换机先对接收到的报文的外层解析,再通过次级流表或者另一流表对外层解析后的报文进行内层解析,而降低了控制器下发流表匹配项数目,提高了交换机的处理效率。
    附图说明
    为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
    图1是本发明实施例提供的报文转发方法的应用架构图;
    图2是本发明实施例提供的报文转发方法一种实施例的流程图;
    图3是本发明实施例提供的交换机一种实施例的结构图;
    图4是本发明实施例提供的交换机另一种实施例的结构图。
    具体实施方式
    下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
    在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的 “一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
    应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述各种流表或者交换机信息,但这些信息不应限于这些术语。这些术语仅用来将各个流表和交换机彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一流表也可以被称为第二流表,类似地,第二流表也可以被称为第一流表。
    如图1所示,当虚拟可扩展局域网中的虚拟主机H1需要向另一台虚拟主机H2发送报文时,需要部署有VTEP的交换机S1和S2进行转发,第一交换机S1接收到H1发送的原始报文后,将报文发送给控制器controller,控制器为该原始报文生成不同的流表,分别发送给S1和接收端的第二交换机S2,S1根据下发到S1的流表对原始报文进行匹配处理后通过隧道发送给S2,其中,对原始报文的处理例如增加匹配项:外层源主机IP地址SrcVtepIp=VtepIps1,外层目的IP地址addDstVtepIp=VtepIps2,VXLAN网络号VxLanId=100,输出端口output=Ps1-uplink,S2也接收控制器下发给S2的流表,在接收到S1发送的报文后,对于满足上述匹配项的报文进行处理和转发。
    需要注意的是,图1只是一种基本的应用架构,实际应用中,发送端的一个交换机可能连接多个虚拟主机、接收端的一个交换机可能连接多个虚拟主机,或者多个交换机均可以作为中转设备。那么从同一交换机接收到的报文具有相同的外层目的IP地址及相同的来源端口,对于该些报文可以集中采用一份流表进行外层解析后,再进行内层报文解析,从而降低匹配项,减少控制器需要下发的流表数。
    基于图1所示的架构,本发明实施例提供了一种报文转发方法,如图2所示,本实施例提供的报文转发方法包括:
    201,第二交换机接收第一交换机发送的第一报文;
    具体而言,基于图1所示的架构,第二交换机S2作为本实施例的执行主体,其通过VXLAN隧道接收第一交换机S1发送的第一报文,第一报文是虚拟主机H1发送给S1的,已经被S1封装为虚拟可扩展局域网VXLAN报文。
    更具体的,所述第一报文具有外层匹配域和内层匹配域,携带在第一报文的报文头中,所述外层匹配域包括所述第一报文的外层目的互联网协议IP地址和来源端口以及虚拟可扩展局域网网络号VXLAN ID,所述内层匹配域包括所述第一报文的内层目的主机的IP地址;
    在图1所示的实施例中,外层目的互联网协议IP地址为VtepIPs2,VXLANID为100,来源端口为PS2-uplink
    所属领域的技术人员应该理解,该实施例只是为了便于说明,在不同的实施例中可根据具体情况有所不同。
    202,当所述第一报文的外层匹配域与第一流表中的外层报文解析匹配字段匹配时,则将所述第一报文的外层封装解除;
    具体而言,如果S2第一次收到第一报文,则第一流表是之前控制器针对第一报文下发的;如果S2已经多次收到第一报文,则第一流表是S2已经存储在S2中的。
    所述第一流表具有外层报文解析匹配字段和第一执行动作指示域,所述外层报文解析匹配字段(match)包含外层目的IP地址字段、来源端口字段和VXLAN ID字段,所述第一执行动作指示域(ACTIONS)用于指示所述第二交换机将与所述外层报文解析匹配字段对应的报文中的外层匹配域解除后,进行第二流表匹配;
    相应的,如果S2第一次收到第一报文,则第二流表是之前控制器针对第一报文下发的;如果S2已经多次收到第一报文,则第二流表是S2已经存储在S2中的。
    203,当外层封装解除后的第一报文中的内层匹配域与所述第二流表中的内层报文解析匹配字段匹配时,将所述第一报文发送给所述内层目主机地址 对应的内层目主机。
    具体而言,S2通过第一流表对第一报文进行外层解析后,解除第一报文的外层匹配域之后,再在S2存储的流表中进行内层流表匹配查询,可能能够匹配到合适的流表,也可能与所有存储的流表均不匹配,如果不能匹配到任何流表,则将报文丢弃;如果能够找到匹配的流表,在本实施例中称为第二流表,则S2执行第二流表中的动作指示域的指示。
    所述第二流表匹配用于内层报文解析,所述第二流表具有内层报文解析匹配字段和第二执行动作指示域,所述内层报文解析匹配字段包括内层目的主机的IP地址字段,所述第二执行动作指示域用于指示所述第二交换机将与所述内存报文解析匹配字段对应的报文发送到所述第二交换机上与所述报文的目的主机对应的端口;
    在本实施例中第二流表具有的内层报文解析匹配字段为第一报文的内层目的虚拟主机IP地址,第二执行动作指示域action指示S2将其通过PS2-H2端口发送给H2.
    具体而言,在图1所示的实施例中,S2根据第二流表的指示,将第一报文中的内层报文转发给H2。
    通过上述的实施例,可以发现,交换机可以先对接收到的报文的外层解析,再通过次级流表或者另一流表对外层解析后的报文进行内层解析,从而导致外层IP地址相同的报文不需要单独下发流表,从而降低了控制器下发流表的数目和匹配项数目,也提高了交换机的处理效率。
    在一种可能的实施例中,所述第二交换机S2接收第一交换机S1发送的第一报文,之前,还包括:
    接收控制器下发的所述第一流表和所述第二流表。
    具体而言,如果S2第一次收到第一报文,则第一流表流表和/或第二流表是之前控制器针对第一报文下发的;如果S2已经多次收到第一报文,则第一流表和/或是S2已经存储在S2中的。
    在本发明实施例的一种实施方式中,采用openflow中多了流表的分级匹配特性来实现对第一报文的解析、匹配和转发动作。
    请参考表1和表2,其中,表1是第一流表,表2是第二流表,所述第二流表为所述第一流表的次级流表,第一流表用于VXLAN外层报文解析,第二流表为vxlan内层报文解析,所述第一流表指示与所述第一流表匹配的报文,再与所述第二流表匹配。

    表1
    表1包含如下匹配域:DstIp,Inport和VxlanId。其中DstIp匹配到的是第一报文中的外层目的IP,inport匹配到的是报文的来源端口,VxlanId匹配的是vxlan的网络号。

    表2
    表2包含如下匹配域:DstIp和metadata。其中DstIp用来匹配内层报文中的目的ip地址,也就是目的主机的ip地址。Metadata用于传递两张表之间的一些元数据,在本例中,metadata用于匹配vxlan的网络号vni。
    在本实施例中,交换机收到一个带有vxlan头部的报文,开始查找表1匹配到外层Ip地址DstIp=VtepIp,外层InPort为交换机的uplink port以及vxlan 的id,则执行表1的action指示,也就是将vxlan报文头部解包,将vxlan id写入metadata然后跳转到表2,进行第二流表匹配.
    在与第二流表匹配的过程中,拆掉头部的vxlan报文进入表2,匹配到dstip为目的主机的ip,并且metadata为目的主机的vxlan id,则执行第二流表的action的指示,也就是将报文发到目的主机对应的端口上。至此,vxlan报文的匹配与转发过程结束
    也就是,在本实施例中,所述当所述第一报文中的外层匹配域与所述第一流表中的外层报文解析匹配字段对应时,进行第二流表匹配,之前,还包括:
    将所述第一报文的头部解包,并将所述第一报文的VXLAN ID写入所述第二流表的元数据字段。
    在本发明实施例的另一种实施方式中,不支持多级流表的架构中,采用openflow中的流表优先级,解决Vxlan报文外层匹配与内层匹配的优先级问题,通过优先级设置,确保交换机先进行外层匹配域匹配,再进行内层匹配域匹配,达到提升转发效率的目的
    请参考表3第一流表和第二流表为便于说明组合后的组合表,所述第一流表的优先级低于所述第二流表的优先级,所述第一流表指示与所述第一流表匹配的报文,再与所述第二流表匹配,其中优先级为0的为第一流表,优先级为1的为第二流表。
    在本实施例中,所述当所述第一报文中的外层匹配域与所述第一流表中的外层报文解析匹配字段对应时,进行第二流表匹配,之前,还包括:
    将所述第一报文的头部解包,解除所述第一报文的外层匹配域。


    表3
    第一流表用于外层报文解析,优先级为0(最低优先级),匹配域DstIp用于匹配vtep ip,vxlan id用于匹配vxlan的网络号,inport用于匹配上行链路口(uplink port)。执行的action为vxlan解头部,然后output到table中进行二次匹配。
    第二条流表用于内层报文匹配,优先级大于0,高于外层报文解析流表,匹配域Dst Ip用于匹配内层目的主机ip,其他匹配域可以通配掉。执行的action为output到连接主机的端口上。
    交换机收到一条vxlan报文后,开始匹配流表,根据优先级,优先匹配内层流表,但是发现都无法匹配到内层流表,于是匹配到了最低优先级的外层匹配流表,进行vxlan解头部并再次output到流表中做二次匹配。
    剥离头部的报文净荷再次进入流表中做匹配,匹配到目的主机ip,从相应的端口把报文发出。
    相应的,本发明实施例提供了一种交换机,所述交换机可以是图1中的第二交换机S2,由图3可见,所述交换机包括:
    接收单元301,用于接收第一交换机发送的第一报文,所述第一报文具有外层匹配域和内层匹配域,所述内层匹配域中包含所述内层目的主机的IP地址;
    第一处理单元302,用于当所述第一报文的外层匹配域与第一流表中的外层报文解析匹配字段匹配时,则将所述第一报文的外层封装解除;
    第二处理单元303,用于当外层封装解除后的第一报文中的内层匹配域与所述第二流表中的内层报文解析匹配字段匹配时,将所述第一报文发送给所述内层目主机地址对应的内层目主机。
    进一步的,所述外层匹配域包括所述第一报文的外层目的互联网协议IP地址和来源端口以及虚拟可扩展局域网网络号VXLAN ID,所述第一处理单 元据以用于:将所述第一报文的外层目的互联网协议IP地址和来源端口以及虚拟可扩展局域网网络号VXLAN ID,分别与所述第一流表中的外层报文解析匹配字段中包含飞外层目的IP地址字段、来源端口字段和VXLAN ID字段进行匹配。
    更进一步的,所述第一流表中具有第一执行动作指示域:所述第一处理单元具体用于,根据所述第一执行动作指示域的指示,将所述第一报文的外层封装解除。
    进一步的,所述第二处理单元具体用于:
    将所述外层封装解除后的第一报文中的内层匹配域中的内层目的IP地址与所述第二流表中的内层目的主机的IP地址字段匹配。
    进一步的,所述第二流表中具有第二执行动作指示域:所述第二处理单元具体用于根据所述第二执行动作指示域的指示,将所述第一报文发送给所述内层目的主机IP地址对应的主机。
    在在一种实施例中,所述交换机还包括第二接收单元,用于接收控制器下发的所述第一流表和所述第二流表。
    对应于表1和表2所示的实施方式,所述第二流表为所述第一流表的次级流表,所述第一流表指示与所述第一流表匹配的报文,再与所述第二流表匹配。
    所述交换机还包括报文处理单元,用于将所述第一报文的头部解包,并将所述第一报文的VXLAN ID写入所述第二流表的元数据字段;
    对应于表3所示的实施方式,所述第一流表的优先级低于所述第二流表的优先级,所述第一流表指示与所述第一流表匹配的报文,再与所述第二流表匹配。
    采用本发明实施例提供的报文转发方法中,可以先对接收到的报文的外层解析,再通过次级流表或者另一流表对外层解析后的报文进行内层解析,从而导致外层IP地址相同的报文不需要单独下发流表,从而降低了控制器下 发流表的数目和匹配项数目,也提高了交换机的处理效率。
    如图4所示,本发明实施例还提供了一种交换机,所述交换机可以是图1中的S2,在本事实例中,所述的交换机包括:网络接口61、处理器62和存储器63。系统总线64用于连接网络接口61、处理器62和存储器63。
    网络接口61用于与主机和其他交换机通信。
    存储器63可以是永久存储器,例如硬盘驱动器和闪存,存储器63中具有软件模块和设备驱动程序。软件模块能够执行本发明上述方法的各种功能模块;设备驱动程序可以是网络和接口驱动程序。
    在启动时,这些软件组件被加载到存储器63中,然后被处理器62访问并执行如下指令
    通过网络接口61接收第一交换机发送的第一报文,所述第一报文具有外层匹配域和内层匹配域,所述内层匹配域中包含所述内层目的主机的IP地址;
    当所述第一报文的外层匹配域与第一流表中的外层报文解析匹配字段匹配时,则将所述第一报文的外层封装解除;
    当外层封装解除后的第一报文中的内层匹配域与所述第二流表中的内层报文解析匹配字段匹配时,通过网络接口61将所述第一报文发送给所述第一报文的内层目的主机。
    专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
    结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器 (RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
    以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

    关 键  词:
    报文 转发 方法 交换机
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:报文转发方法、交换机.pdf
    链接地址:https://www.zhuanlichaxun.net/p-19957.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1