CN108322378B - 组播报文转发方法和装置 - Google Patents

组播报文转发方法和装置 Download PDF

Info

Publication number
CN108322378B
CN108322378B CN201810084170.0A CN201810084170A CN108322378B CN 108322378 B CN108322378 B CN 108322378B CN 201810084170 A CN201810084170 A CN 201810084170A CN 108322378 B CN108322378 B CN 108322378B
Authority
CN
China
Prior art keywords
designated bit
address
known multicast
multicast message
destination
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
CN201810084170.0A
Other languages
English (en)
Other versions
CN108322378A (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.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201810084170.0A priority Critical patent/CN108322378B/zh
Publication of CN108322378A publication Critical patent/CN108322378A/zh
Application granted granted Critical
Publication of CN108322378B publication Critical patent/CN108322378B/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/16Multipoint routing
    • 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

Landscapes

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

Abstract

本申请提供了组播报文转发方法和装置。本申请中,通过依据已知组播报文的目的IP地址、以及收到已知组播报文的端口对应的VSI标识从VXLAN隧道的N个隧道下一跳中选择一个隧道下一跳转发已知组播报文,能够将不同的已知组播报文均匀分担到VXLAN隧道的各个隧道下一跳中,实现VXLAN隧道的各个隧道下一跳之间的均匀负载分担。

Description

组播报文转发方法和装置
技术领域
本申请涉及网络通信技术,特别涉及组播报文转发方法和装置。
背景技术
虚拟扩展局域网(VXLAN:Virtual eXtensible Local Area Network),将二层报文用三层协议进行封装,实现二层网络在三层范围内扩展。图1示出了VXLAN网络模型,VXLAN网络中包含:
VXLAN隧道端点(VTEP:VXLAN Tunnel Endpoints),VXLAN网络的边缘设备,是VXLAN隧道的起点和终点,作为VXLAN隧道的起点时,对报文进行VXLAN封装,作为VXLAN隧道的终点时,对经过VXLAN封装的报文进行解封装并处理。
VXLAN网络标识符(VNI:VXLAN Network Identifier)是一种类似于VLAN ID的用户标识,一个VNI代表了一个租户,属于不同VNI的虚拟机之间不能直接进行二层通信。
VXLAN隧道,用来传输经过VXLAN封装的报文的,它是建立在两个VTEP之间的一条虚拟通道。其中,VXLAN封装中外层目的MAC填的是隧道下一跳的MAC,通常是下一跳路由器的MAC,外层目的IP是目的VTEP的IP,源IP地址是本地VTEP的地址,外层UDP的目的端口是一个VXLAN特定的端口。
在VXLAN转发二层已知组播报文过程中,当VTEP对已知组播报文进行VXLAN封装时,如果发现有多条等价隧道下一跳(ECMP:Equal Cost Multiple Path),则VTEP只固定指定其中一条隧道下一跳的MAC为VXLAN封装中的外层目的MAC,无法实现ECMP的负载分担。
发明内容
本申请提供了组播报文转发方法和装置,以实现VXLAN隧道的多隧道下一跳均匀负载分担。
本申请提供的技术方案包括:
一种组播报文转发方法,该方法应用于虚拟扩展局域网VXLAN隧道端点VTEP,包括:
接收已知组播报文;
当确定通过本VTEP至远端VTEP之间的VXLAN隧道转发已知组播报文时,依据已知组播报文的目的IP地址、以及收到已知组播报文的端口对应的虚拟交换接口VSI标识从VXLAN隧道的N个隧道下一跳中选择一个隧道下一跳,通过选择的隧道下一跳转发已知组播报文。
一种组播报文转发装置,该装置应用于虚拟扩展局域网VXLAN隧道端点VTEP,包括:
接收单元,用于接收已知组播报文;
转发单元,用于当确定通过本VTEP至远端VTEP之间的VXLAN隧道转发已知组播报文时,依据已知组播报文的目的IP地址、以及收到已知组播报文的端口对应的虚拟交换接口VSI标识从VXLAN隧道的N个隧道下一跳中选择一个隧道下一跳,通过选择的隧道下一跳转发已知组播报文。
由以上技术方案可以看出,本发明中,通过依据已知组播报文的目的IP地址、以及收到已知组播报文的端口对应的VSI标识从VXLAN隧道的N个隧道下一跳中选择一个隧道下一跳转发已知组播报文,能够将不同的已知组播报文均匀分担到VXLAN隧道的各个隧道下一跳中,实现VXLAN隧道的各个隧道下一跳之间的均匀负载分担。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1示出了VXLAN网络模型结构图;
图2为本发明提供的方法流程图;
图3为本发明提供的实施例1应用示意图;
图4为本发明提供的实施例2应用示意图;
图5为本发明提供的装置结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
参见图2,图2为本发明提供的方法流程图。该流程应用于VTEP。如图2所示,该流程可包括以下步骤:
步骤201,接收已知组播报文。
步骤202,当确定通过本VTEP至远端VTEP之间的VXLAN隧道转发已知组播报文时,依据已知组播报文的目的IP地址、以及收到已知组播报文的端口对应的虚拟交换接口(VSI:Virtual Switch Interface)标识从VXLAN隧道的N个隧道下一跳中选择一个隧道下一跳,通过选择的隧道下一跳转发已知组播报文。
作为一个实施例,步骤202中依据已知组播报文的目的IP地址、以及收到已知组播报文的端口对应的VSI标识从VXLAN隧道的N个隧道下一跳中选择一个隧道下一跳包括:
步骤a1,依据VSI标识确定对应的芯片虚拟转发接口(VFI)值;
在应用中,VTEP本地芯片都会针对每一VSI标识设置一个对应的VFI值,在一个例子中,VFI值由16比特组成。
步骤a2,依据VFI值和已知组播报文的目的IP地址并按照设定均匀负载分担算法从VXLAN隧道的N个隧道下一跳中选择一个隧道下一跳。
至此,通过上述步骤a1至步骤a2实现了依据已知组播报文的目的IP地址、以及收到已知组播报文的端口对应的VSI标识从VXLAN隧道的N个隧道下一跳中选择一个隧道下一跳转发已知组播报文,以实现不同的已知组播报文均匀分担到VXLAN隧道的各个隧道下一跳中。
在一个例子中,上述步骤a2中依据VFI值和已知组播报文的目的IP地址并按照设定均匀负载分担算法从VXLAN隧道的N个隧道下一跳中选择一个隧道下一跳具体可包括:
步骤a21,将VFI值与已知组播报文的目的IP地址进行设定运算得到第一运算结果。
步骤a22,将第一运算结果与N取余得到第二运算结果。
步骤a23,从N个隧道下一跳中选择编号与第二运算结果对应的隧道下一跳。
下面通过两个具体实施例对上述如何从VXLAN隧道的N个隧道下一跳中选择一个隧道下一跳进行描述:
实施例1:
本实施例1应用于组播报文为IPv4报文的场景。
参见图3,图3为本发明提供的实施例1的应用组网示意图。如图3所示,VTEP3_1至远端VTEP3_2之间建立了VXLAN隧道。其中,该VXLAN隧道被配置了4个不同隧道下一跳:NH1至NH4。NH1至NH4是等价的,构成ECMP。
如图3所示,VTEP3_1通过端口AC0收到已知组播报文。收到的已知组播报文为IPv4报文,记为报文311。
VTEP3_1在本地组播转发表中查找到报文311匹配的组播转发表项。这里,组播转发表是基于组播路由协议实现的,与现有组播转发表的结构类似,不再赘述。为便于描述,报文311匹配的组播转发表项记为表项301。
VTEP3_1发现表项301的入端口为VTEP3_1收到已知组播报文的端口AC0,且表项301的出端口为VXLAN隧道标识,VXLAN隧道标识为VTEP3_1至远端VTEP3_2之间建立的VXLAN隧道(记为VXLAN隧道300)的标识,则确定通过本VTEP3_1至远端VTEP3_2之间的VXLAN隧道300转发报文311。
VTEP3_1确定通过本VTEP3_1至远端VTEP3_2之间的VXLAN隧道300转发报文311时,发现本VTEP3_1至远端VTEP3_2之间的VXLAN隧道300被配置了4个不同隧道下一跳:NH1至NH4,则从VXLAN隧道300的4个不同隧道下一跳NH1至NH4中选择一个隧道下一跳。
作为一个实施例,VTEP3_1从VXLAN隧道300的4个不同隧道下一跳NH1至NH4中选择一个隧道下一跳具体可包括:VTEP3_1确定收到报文311的端口AC0对应的芯片VFI值,将确定的VFI值与报文311的目的IP地址进行设定运算得到第一运算结果,将第一运算结果与N(VXLAN隧道300的隧道下一跳总数量,即4)取余得到第二运算结果,从N个隧道下一跳中选择编号与第二运算结果对应的隧道下一跳。
在一个例子中,上述将确定的VFI值与报文311的目的IP地址进行设定运算得到第一运算结果具体可包括:将报文311的目的IP地址的第一指定比特、第二指定比特以及VFI值的第三指定比特进行设定运算得到第一运算结果。这里的设定运算可为异或运算。作为一个实施例,这里的第一指定比特是指报文311的目的IP地址的0至15比特,第二指定比特是指报文311的目的IP地址的16至31比特,第三指定比特是指VFI值的0至15比特。作为一个实施例,这里将确定的VFI值与报文311的目的IP地址进行设定运算得到第一运算结果的过程优选适用于报文311为二层组播报文的情况。
在另一个例子中,上述将确定的VFI值与报文311的目的IP地址进行设定运算得到第一运算结果具体可包括:报文311的目的IP地址的第一指定比特、第二指定比特、报文311的源IP地址的第四指定比特、第五指定比特、以及VFI值的第三指定比特进行设定运算得到第一运算结果。这里的设定运算可为异或运算。作为一个实施例,这里的第一指定比特是指报文311的目的IP地址的0至15比特,第二指定比特是指报文311的目的IP地址的16至31比特,第三指定比特是指VFI值的0至15比特,第四指定比特是指报文311的源IP地址的0至15比特,第五指定比特是指报文311的源IP地址的16至31比特。作为一个实施例,这里将确定的VFI值与报文311的目的IP地址进行设定运算得到第一运算结果的过程优选适用于报文311为三层组播报文的情况。
假如VTEP3_1按照上述过程最终选择NH1转发报文311,则VTEP3_1通过NH1发送报文311并最终发送给VTEP3_2。
再如图3所示,VTEP3_1通过端口AC1收到已知组播报文。收到的已知组播报文为IPv4报文,记为报文312。
VTEP3_1在本地组播转发表中查找到报文312匹配的组播转发表项。这里,组播转发表是基于组播路由协议实现的,与现有组播转发表的结构类似,不再赘述。为便于描述,报文312匹配的组播转发表项记为表项302。
VTEP3_1发现表项302的入端口为VTEP3_1收到已知组播报文的端口AC1,且表项302的出端口为VXLAN隧道标识,VXLAN隧道标识为VTEP3_1至远端VTEP3_2之间建立的VXLAN隧道(记为VXLAN隧道300)的标识,则确定通过本VTEP3_1至远端VTEP3_2之间的VXLAN隧道300转发报文312。
VTEP3_1确定通过本VTEP3_1至远端VTEP3_2之间的VXLAN隧道300转发报文312时,发现本VTEP3_1至远端VTEP3_2之间的VXLAN隧道300被配置了4个不同隧道下一跳:NH1至NH4,则从VXLAN隧道300的4个不同隧道下一跳NH1至NH4中选择一个隧道下一跳。
作为一个实施例,VTEP3_1从VXLAN隧道300的4个不同隧道下一跳NH1至NH4中选择一个隧道下一跳具体可包括:VTEP3_1确定收到报文312的端口AC1对应的芯片VFI值,将确定的VFI值与报文312的目的IP地址进行设定运算得到第一运算结果,将第一运算结果与N(VXLAN隧道300的隧道下一跳总数量,即4)取余得到第二运算结果,从N个隧道下一跳中选择编号与第二运算结果对应的隧道下一跳。这里,上述将确定的VFI值与报文312的目的IP地址进行设定运算得到第一运算结果具体可类似上述将VFI值与报文311的目的IP地址进行设定运算得到第一运算结果,不再赘述。
假如VTEP3_1按照上述过程最终选择NH2转发报文312,则VTEP3_1通过NH1发送报文312并最终发送给VTEP3_2。
可以看出,VTEP3_1在确定接收到的已知组播报文通过本VTEP3_1至远端VTEP3_2之间的VXLAN隧道300转发时,依据已知组播报文的目的IP地址、以及收到已知组播报文的端口对应的VSI标识最终选择不同已知组播报文通过VXLAN隧道300的不同隧道下一跳转发,比如通过NH1发送报文311、NH2发送报文312,实现不同组播报文在VXLAN隧道300的各个隧道下一跳之间负载分担,提高链路利用率。
至此,完成实施例1的描述。
实施例2:
本实施例2应用于组播报文为IPv6报文的应用场景。
参见图4,图4为本发明提供的实施例2的应用组网示意图。如图4所示,VTEP4_1至远端VTEP4_2之间建立了VXLAN隧道。其中,该VXLAN隧道被配置了4个不同隧道下一跳:NH1至NH4。NH1至NH4是等价的,构成ECMP。
如图4所示,VTEP4_1通过端口AC0收到已知组播报文。收到的已知组播报文为IPv6报文,记为报文411。
VTEP4_1在本地组播转发表中查找到报文411匹配的组播转发表项。这里,组播转发表是基于组播路由协议实现的,与现有组播转发表的结构类似,不再赘述。为便于描述,报文411匹配的组播转发表项记为表项401。
VTEP4_1发现表项401的入端口为VTEP4_1收到已知组播报文的端口AC0,且表项401的出端口为VXLAN隧道标识,VXLAN隧道标识为VTEP4_1至远端VTEP4_2之间建立的VXLAN隧道(记为VXLAN隧道400)的标识,则确定通过本VTEP4_1至远端VTEP4_2之间的VXLAN隧道400转发报文411。
VTEP4_1确定通过本VTEP4_1至远端VTEP4_2之间的VXLAN隧道400转发报文411时,发现本VTEP4_1至远端VTEP4_2之间的VXLAN隧道400被配置了4个不同隧道下一跳:NH1至NH4,则从VXLAN隧道400的4个不同隧道下一跳NH1至NH4中选择一个隧道下一跳。
作为一个实施例,VTEP4_1从VXLAN隧道400的4个不同隧道下一跳NH1至NH4中选择一个隧道下一跳具体可包括:VTEP4_1确定收到报文411的端口AC0对应的芯片VFI值,将确定的VFI值与报文411的目的IP地址进行设定运算得到第一运算结果,将第一运算结果与N(VXLAN隧道400的隧道下一跳总数量,即4)取余得到第二运算结果,从N个隧道下一跳中选择编号与第二运算结果对应的隧道下一跳。
在一个例子中,上述将确定的VFI值与报文411的目的IP地址进行设定运算得到第一运算结果具体可包括:将报文411的目的IP地址的第六指定比特、第七指定比特、第八指定比特、第九指定比特进行设定运算得到第三运算结果;将第三运算结果的第十指定比特、第十一指定比特和VFI值的第三指定比特进行设定运算得到第一运算结果。这里的设定运算可为异或运算。作为一个实施例,这里的第六指定比特是指报文411的目的IP地址的0至31比特,第七指定比特是指报文411的目的IP地址的32至63比特,第八指定比特是指报文411的目的IP地址的64至95比特,第九指定比特是指报文411的目的IP地址的96至127比特,第十指定比特是指第三运算结果的0至15比特,第十一指定比特是指第三运算结果的16至31比特,第三指定比特是指VFI值的0至15比特。作为一个实施例,这里将确定的VFI值与报文411的目的IP地址进行设定运算得到第一运算结果的过程优选适用于报文411为二层组播报文的情况。
在另一个例子中,上述将确定的VFI值与报文411的目的IP地址进行设定运算得到第一运算结果具体可包括:将已知组播报文的目的IP地址的第六指定比特、第七指定比特、第八指定比特、第九指定比特进行设定运算得到第三运算结果;将已知组播报文的源IP地址的第十二指定比特、第十三指定比特、第十四指定比特、第十五指定比特进行设定运算得到第四运算结果;将第三运算结果的第十指定比特、第十一指定比特、第四运算结果的第十六指定比特、第十七指定比特和VFI值的第三指定比特进行设定运算得到第一运算结果。这里的设定运算可为异或运算。作为一个实施例,这里的第六指定比特是指报文411的目的IP地址的0至31比特,第七指定比特是指报文411的目的IP地址的32至63比特,第八指定比特是指报文411的目的IP地址的64至95比特,第九指定比特是指报文411的目的IP地址的96至127比特,这里的第十二指定比特是指报文411的源IP地址的0至31比特,第十三指定比特是指报文411的源IP地址的32至63比特,第十四指定比特是指报文411的源IP地址的64至95比特,第十五指定比特是指报文411的源IP地址的96至127比特,第十指定比特是指第三运算结果的0至15比特,第十一指定比特是指第三运算结果的16至31比特,第十六指定比特是指第四运算结果的0至15比特,第十七指定比特是指第四运算结果的16至31比特,第三指定比特是指VFI值的0至15比特。作为一个实施例,这里将确定的VFI值与报文411的目的IP地址进行设定运算得到第一运算结果的过程优选适用于报文411为三层组播报文的情况。
假如VTEP4_1按照上述过程最终选择NH1转发报文411,则VTEP4_1通过NH1发送报文411并最终发送给VTEP4_2。
再如图3所示,VTEP4_1通过端口AC1收到已知组播报文。收到的已知组播报文为IPv6报文,记为报文412。
VTEP4_1在本地组播转发表中查找到报文412匹配的组播转发表项。这里,组播转发表是基于组播路由协议实现的,与现有组播转发表的结构类似,不再赘述。为便于描述,报文412匹配的组播转发表项记为表项402。
VTEP4_1发现表项402的入端口为VTEP4_1收到已知组播报文的端口AC1,且表项402的出端口为VXLAN隧道标识,VXLAN隧道标识为VTEP4_1至远端VTEP4_2之间建立的VXLAN隧道(记为VXLAN隧道300)的标识,则确定通过本VTEP4_1至远端VTEP4_2之间的VXLAN隧道300转发报文412。
VTEP4_1确定通过本VTEP4_1至远端VTEP4_2之间的VXLAN隧道300转发报文412时,发现本VTEP4_1至远端VTEP4_2之间的VXLAN隧道300被配置了4个不同隧道下一跳:NH1至NH4,则从VXLAN隧道300的4个不同隧道下一跳NH1至NH4中选择一个隧道下一跳。
作为一个实施例,VTEP4_1从VXLAN隧道300的4个不同隧道下一跳NH1至NH4中选择一个隧道下一跳具体可包括:VTEP4_1确定收到报文412的端口AC1对应的芯片VFI值,将确定的VFI值与报文412的目的IP地址进行设定运算得到第一运算结果,将第一运算结果与N(VXLAN隧道300的隧道下一跳总数量,即4)取余得到第二运算结果,从N个隧道下一跳中选择编号与第二运算结果对应的隧道下一跳。这里,上述将确定的VFI值与报文412的目的IP地址进行设定运算得到第一运算结果具体可类似上述将VFI值与报文411的目的IP地址进行设定运算得到第一运算结果,不再赘述。
假如VTEP4_1按照上述过程最终选择NH2转发报文412,则VTEP4_1通过NH1发送报文412并最终发送给VTEP4_2。
可以看出,VTEP4_1在确定接收到的已知组播报文通过本VTEP4_1至远端VTEP4_2之间的VXLAN隧道300转发时,依据已知组播报文的目的IP地址、以及收到已知组播报文的端口对应的VSI标识最终选择不同已知组播报文通过VXLAN隧道300的不同隧道下一跳转发,比如通过NH1发送报文411、NH2发送报文412,实现不同组播报文在VXLAN隧道300的各个隧道下一跳之间负载分担,提高链路利用率。
至此,完成实施例2的描述。
以上对本发明提供的方法进行了描述。下面对本发明提供的装置进行描述:
参见图5,图5为本发明提供的装置结构图。该装置应用于VTEP,包括:
接收单元,用于接收已知组播报文;
转发单元,用于当确定通过本VTEP至远端VTEP之间的VXLAN隧道转发已知组播报文时,依据已知组播报文的目的IP地址、以及收到已知组播报文的端口对应的虚拟交换接口VSI标识从VXLAN隧道的N个隧道下一跳中选择一个隧道下一跳,通过选择的隧道下一跳转发已知组播报文。
优选地,转发单元依据已知组播报文的目的IP地址、以及收到已知组播报文的端口对应的虚拟交换接口VSI标识从VXLAN隧道的N个隧道下一跳中选择一个隧道下一跳包括:
依据VSI标识确定对应的芯片虚拟转发接口VFI值;
依据VFI值和已知组播报文的目的IP地址并按照设定均匀负载分担算法从VXLAN隧道的N个隧道下一跳中选择一个隧道下一跳。
优选地,转发单元依据VFI值和已知组播报文的目的IP地址并按照设定均匀负载分担算法从VXLAN隧道的N个隧道下一跳中选择一个隧道下一跳包括:
将VFI值与已知组播报文的目的IP地址进行设定运算得到第一运算结果;
将第一运算结果与N取余得到第二运算结果;
从N个隧道下一跳中选择编号与第二运算结果对应的隧道下一跳。
优选地,已知组播报文为IPv4报文;
转发单元将VFI值与已知组播报文的目的IP地址进行设定运算得到第一运算结果包括:
将已知组播报文的目的IP地址的第一指定比特、第二指定比特以及VFI值的第三指定比特进行设定运算得到第一运算结果;或者,
将已知组播报文的目的IP地址的第一指定比特、第二指定比特、已知组播报文的源IP地址的第四指定比特、第五指定比特、以及VFI值的第三指定比特进行设定运算得到第一运算结果。
已知组播报文为IPv6报文;
转发单元将VFI值与已知组播报文的目的IP地址进行设定运算得到第一运算结果包括:
将已知组播报文的目的IP地址的第六指定比特、第七指定比特、第八指定比特、第九指定比特进行设定运算得到第三运算结果;将第三运算结果的第十指定比特、第十一指定比特和VFI值的第三指定比特进行设定运算得到第一运算结果;或者,
将已知组播报文的目的IP地址的第六指定比特、第七指定比特、第八指定比特、第九指定比特进行设定运算得到第三运算结果;将已知组播报文的源IP地址的第十二指定比特、第十三指定比特、第十四指定比特、第十五指定比特进行设定运算得到第四运算结果;将第三运算结果的第十指定比特、第十一指定比特、第四运算结果的第十六指定比特、第十七指定比特和VFI值的第三指定比特进行设定运算得到第一运算结果。
至此,完成本发明提供的装置描述。
以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (8)

1.一种组播报文转发方法,其特征在于,该方法应用于虚拟扩展局域网VXLAN隧道端点VTEP,包括:
接收已知组播报文;
当确定通过本VTEP至远端VTEP之间的VXLAN隧道转发所述已知组播报文时,依据所述已知组播报文的端口对应的虚拟交换接口VSI标识确定对应的芯片虚拟转发接口VFI值;并依据所述VFI值和所述已知组播报文的目的IP地址并按照设定均匀负载分担算法从所述VXLAN隧道的N个隧道下一跳中选择一个隧道下一跳,以通过选择的隧道下一跳转发所述已知组播报文。
2.根据权利要求1所述的方法,其特征在于,所述依据VFI值和所述已知组播报文的目的IP地址并按照设定均匀负载分担算法从所述VXLAN隧道的N个隧道下一跳中选择一个隧道下一跳包括:
将所述VFI值与所述已知组播报文的目的IP地址进行设定运算得到第一运算结果;
将所述第一运算结果与N取余得到第二运算结果;
从N个隧道下一跳中选择编号与所述第二运算结果对应的隧道下一跳。
3.根据权利要求2所述的方法,其特征在于,所述已知组播报文为IPv4报文;
所述将VFI值与已知组播报文的目的IP地址进行设定运算得到第一运算结果包括:
将所述已知组播报文的目的IP地址的第一指定比特、第二指定比特以及所述VFI值的第三指定比特进行设定运算得到第一运算结果;或者,
将所述已知组播报文的目的IP地址的第一指定比特、第二指定比特、所述已知组播报文的源IP地址的第四指定比特、第五指定比特、以及所述VFI值的第三指定比特进行设定运算得到第一运算结果。
4.根据权利要求2所述的方法,其特征在于,所述已知组播报文为IPv6报文;
所述将VFI值与已知组播报文的目的IP地址进行设定运算得到第一运算结果包括:
将所述已知组播报文的目的IP地址的第六指定比特、第七指定比特、第八指定比特、第九指定比特进行设定运算得到第三运算结果;将所述第三运算结果的第十指定比特、第十一指定比特和所述VFI值的第三指定比特进行设定运算得到第一运算结果;或者,
将所述已知组播报文的目的IP地址的第六指定比特、第七指定比特、第八指定比特、第九指定比特进行设定运算得到第三运算结果;将所述已知组播报文的源IP地址的第十二指定比特、第十三指定比特、第十四指定比特、第十五指定比特进行设定运算得到第四运算结果;将所述第三运算结果的第十指定比特、第十一指定比特、所述第四运算结果的第十六指定比特、第十七指定比特和所述VFI值的第三指定比特进行设定运算得到第一运算结果。
5.一种组播报文转发装置,其特征在于,该装置应用于虚拟扩展局域网VXLAN隧道端点VTEP,包括:
接收单元,用于接收已知组播报文;
转发单元,用于当确定通过本VTEP至远端VTEP之间的VXLAN隧道转发所述已知组播报文时,依据所述已知组播报文的端口对应的虚拟交换接口VSI标识确定对应的芯片虚拟转发接口VFI值;并依据所述VFI值和所述已知组播报文的目的IP地址并按照设定均匀负载分担算法从所述VXLAN隧道的N个隧道下一跳中选择一个隧道下一跳,以通过选择的隧道下一跳转发所述已知组播报文。
6.根据权利要求5所述的装置,其特征在于,所述转发单元依据所述VFI值和所述已知组播报文的目的IP地址并按照设定均匀负载分担算法从所述VXLAN隧道的N个隧道下一跳中选择一个隧道下一跳包括:
将所述VFI值与所述已知组播报文的目的IP地址进行设定运算得到第一运算结果;
将所述第一运算结果与N取余得到第二运算结果;
从N个隧道下一跳中选择编号与所述第二运算结果对应的隧道下一跳。
7.根据权利要求6所述的装置,其特征在于,所述已知组播报文为IPv4报文;
所述转发单元将VFI值与已知组播报文的目的IP地址进行设定运算得到第一运算结果包括:
将所述已知组播报文的目的IP地址的第一指定比特、第二指定比特以及所述VFI值的第三指定比特进行设定运算得到第一运算结果;或者,
将所述已知组播报文的目的IP地址的第一指定比特、第二指定比特、所述已知组播报文的源IP地址的第四指定比特、第五指定比特、以及所述VFI值的第三指定比特进行设定运算得到第一运算结果。
8.根据权利要求6所述的装置,其特征在于,所述已知组播报文为IPv6报文;
所述转发单元将VFI值与已知组播报文的目的IP地址进行设定运算得到第一运算结果包括:
将所述已知组播报文的目的IP地址的第六指定比特、第七指定比特、第八指定比特、第九指定比特进行设定运算得到第三运算结果;将所述第三运算结果的第十指定比特、第十一指定比特和所述VFI值的第三指定比特进行设定运算得到第一运算结果;或者,
将所述已知组播报文的目的IP地址的第六指定比特、第七指定比特、第八指定比特、第九指定比特进行设定运算得到第三运算结果;将所述已知组播报文的源IP地址的第十二指定比特、第十三指定比特、第十四指定比特、第十五指定比特进行设定运算得到第四运算结果;将所述第三运算结果的第十指定比特、第十一指定比特、所述第四运算结果的第十六指定比特、第十七指定比特和所述VFI值的第三指定比特进行设定运算得到第一运算结果。
CN201810084170.0A 2018-01-29 2018-01-29 组播报文转发方法和装置 Active CN108322378B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810084170.0A CN108322378B (zh) 2018-01-29 2018-01-29 组播报文转发方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810084170.0A CN108322378B (zh) 2018-01-29 2018-01-29 组播报文转发方法和装置

Publications (2)

Publication Number Publication Date
CN108322378A CN108322378A (zh) 2018-07-24
CN108322378B true CN108322378B (zh) 2021-06-29

Family

ID=62887426

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810084170.0A Active CN108322378B (zh) 2018-01-29 2018-01-29 组播报文转发方法和装置

Country Status (1)

Country Link
CN (1) CN108322378B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109831365B (zh) * 2018-12-27 2021-04-20 山东电力工程咨询院有限公司 组播式协议精准负荷控制系统及以太网通信流构建方法
CN114095429B (zh) * 2021-10-14 2023-08-15 东北大学 一种基于IPv6地址的多源组播流量优化方法
CN115086106B (zh) * 2022-06-22 2023-12-19 杭州云合智网技术有限公司 Vxlan已知组播出端口为隧道的hash方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102904825A (zh) * 2012-09-27 2013-01-30 杭州华三通信技术有限公司 一种基于Hash的报文传输方法和设备
CN104283782A (zh) * 2014-10-14 2015-01-14 杭州华三通信技术有限公司 多协议标签交换网络中确定报文转发路径的方法和装置
CN104378296A (zh) * 2013-08-15 2015-02-25 杭州华三通信技术有限公司 一种报文转发方法及设备
CN107181662A (zh) * 2017-05-18 2017-09-19 迈普通信技术股份有限公司 一种vxlan隧道负载均衡的方法及系统
CN107547342A (zh) * 2017-06-27 2018-01-05 新华三技术有限公司 基于vxlan隧道的报文广播方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10097372B2 (en) * 2014-01-09 2018-10-09 Ciena Corporation Method for resource optimized network virtualization overlay transport in virtualized data center environments
KR20150094238A (ko) * 2014-02-11 2015-08-19 한국전자통신연구원 종단 시스템의 라이프 사이클에 따라 가상 확장 랜의 세그먼트를 위한 멀티캐스팅 터널을 자동적으로 구성하는 가상 확장 랜 네트워크 시스템 및 그 동작 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102904825A (zh) * 2012-09-27 2013-01-30 杭州华三通信技术有限公司 一种基于Hash的报文传输方法和设备
CN104378296A (zh) * 2013-08-15 2015-02-25 杭州华三通信技术有限公司 一种报文转发方法及设备
CN104283782A (zh) * 2014-10-14 2015-01-14 杭州华三通信技术有限公司 多协议标签交换网络中确定报文转发路径的方法和装置
CN107181662A (zh) * 2017-05-18 2017-09-19 迈普通信技术股份有限公司 一种vxlan隧道负载均衡的方法及系统
CN107547342A (zh) * 2017-06-27 2018-01-05 新华三技术有限公司 基于vxlan隧道的报文广播方法和装置

Also Published As

Publication number Publication date
CN108322378A (zh) 2018-07-24

Similar Documents

Publication Publication Date Title
US8634297B2 (en) Probing specific customer flow in layer-2 multipath networks
US7633921B2 (en) Mobile network automatic tunnels
CN107547342B (zh) 基于vxlan隧道的报文广播方法和装置
WO2022062506A1 (zh) 一种数据处理方法、装置、存储介质及电子装置
CN112152921B (zh) 一种建立路由表的方法、电子设备及网络
US9929936B2 (en) Method for sending multicast packet and switch
CN108322378B (zh) 组播报文转发方法和装置
CN110535768B (zh) 组播数据传输方法及相关设备
US11153207B2 (en) Data link layer-based communication method, device, and system
US20170208032A1 (en) Method and apparatus for forwarding generic routing encapsulation packets at a network address translation gateway
CN109714274B (zh) 一种获取对应关系的方法和路由设备
CN104919766A (zh) 用于设备到设备通信的路径切换过程
CN104022936B (zh) 一种隧道建立方法和装置
KR20230101903A (ko) Bier 패킷 포워딩 방법, 디바이스 및 시스템
CN114124618B (zh) 一种报文传输方法及电子设备
CN112134776B (zh) 生成组播转发表项的方法和接入网关
CN108234269B (zh) 组播报文转发方法和装置
WO2014026571A1 (zh) 一种通用路由封装隧道报文发送方法和装置
US20180167231A1 (en) Managing multiple virtual network memberships
CN114125995A (zh) 数据传输方法及装置
US20160112311A1 (en) Enhanced connectivity to end devices via access points of wireless local area networks (wlan)
PH12015502251B1 (en) Home gateway apparatus and packet transfer method transfer method
CN113746715B (zh) 实现二层报文跨三层传输的方法及装置
CN102404716A (zh) 用于在基于ip的无线传感器网络中进行数据传输的方法和设备
TW201947889A (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