CN108322378B - 组播报文转发方法和装置 - Google Patents
组播报文转发方法和装置 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 235000008694 Humulus lupulus Nutrition 0.000 claims abstract description 53
- 238000004364 calculation method Methods 0.000 claims description 23
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000005538 encapsulation Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection 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值的第三指定比特进行设定运算得到第一运算结果。
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)
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)
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)
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 | 한국전자통신연구원 | 종단 시스템의 라이프 사이클에 따라 가상 확장 랜의 세그먼트를 위한 멀티캐스팅 터널을 자동적으로 구성하는 가상 확장 랜 네트워크 시스템 및 그 동작 방법 |
-
2018
- 2018-01-29 CN CN201810084170.0A patent/CN108322378B/zh active Active
Patent Citations (5)
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隧道的报文广播方法和装置 | |
CN105812259B (zh) | 一种报文转发方法和设备 | |
CN112152921B (zh) | 一种建立路由表的方法、电子设备及网络 | |
EP4221102A1 (en) | Data processing method and apparatus, storage medium, and electronic apparatus | |
CN114124618B (zh) | 一种报文传输方法及电子设备 | |
CN104579954B (zh) | 报文跨域转发方法、装置及通信设备 | |
US9929936B2 (en) | Method for sending multicast packet and switch | |
US11153207B2 (en) | Data link layer-based communication method, device, and system | |
CN108322378B (zh) | 组播报文转发方法和装置 | |
CN110535768B (zh) | 组播数据传输方法及相关设备 | |
US20170208032A1 (en) | Method and apparatus for forwarding generic routing encapsulation packets at a network address translation gateway | |
CN109714274B (zh) | 一种获取对应关系的方法和路由设备 | |
CN104919766A (zh) | 用于设备到设备通信的路径切换过程 | |
KR20230101903A (ko) | Bier 패킷 포워딩 방법, 디바이스 및 시스템 | |
US20180167231A1 (en) | Managing multiple virtual network memberships | |
CN106559302A (zh) | 单播隧道建立方法、装置和系统 | |
CN108234269B (zh) | 组播报文转发方法和装置 | |
CN114465946A (zh) | 获取转发表项的方法、装置以及系统 | |
CN112822097B (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 | |
CN108737277B (zh) | 一种报文转发方法及装置 | |
CN113746715B (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 |