CN104410560A - 通过nvgre单播实现bum报文转发的方法 - Google Patents

通过nvgre单播实现bum报文转发的方法 Download PDF

Info

Publication number
CN104410560A
CN104410560A CN201410707988.5A CN201410707988A CN104410560A CN 104410560 A CN104410560 A CN 104410560A CN 201410707988 A CN201410707988 A CN 201410707988A CN 104410560 A CN104410560 A CN 104410560A
Authority
CN
China
Prior art keywords
nvgre
tunnel
termination point
address
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410707988.5A
Other languages
English (en)
Inventor
陈鑫巍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Centec Networks Suzhou Co Ltd
Original Assignee
Centec Networks Suzhou 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 Centec Networks Suzhou Co Ltd filed Critical Centec Networks Suzhou Co Ltd
Priority to CN201410707988.5A priority Critical patent/CN104410560A/zh
Publication of CN104410560A publication Critical patent/CN104410560A/zh
Pending legal-status Critical Current

Links

Abstract

本发明揭示了一种通过NVGRE单播实现BUM报文转发的方法,其通过在本地虚拟网络中,配置与发送BUM报文的子网用户相应的本地隧道终点VTEP的IP地址,以及本地虚拟网络中与其他子网用户相应的远端隧道终点的IP地址;并配置本地虚拟网络的网络虚拟标识VNI的地址后,在报文转发时,在所述本地隧道终点处对所述需要泛洪的BUM报文加封装成单播NVGRE报文,所述NVGRE报文对应发送到所述远端隧道终点后进行解封装获得原始的BUM报文,该BUM报文由所述远端隧道终点发送给与该远端隧道终点相接的其他子网用户,这样使得在二层网络中对广播,未知单播和组播的BUM报文泛洪转发时通过NVGRE单播即可实现,免去了组播业务的部署,简化了网络的配置过程,提高了网络的稳定性。

Description

通过NVGRE单播实现BUM报文转发的方法
技术领域
本发明涉及网络通信领域,尤其涉及数据中心的网络虚拟化中,通过NVGRE单播实现BUM报文转发的方法。
背景技术
随着虚拟化和云计算的逐步发展,数据中心需要大量部署虚拟机的应用。为了控制不同虚拟机和虚拟机之间,以及虚拟机和租户之间的通信,VLAN(Virtual Local Area Network,虚拟局域网)便顺理成章的成为隔离不同局域网的手段。但是由于虚拟技术的广泛应用,一个数据中心中可支持的租户数量也大大增加,二层MAC地址将出现爆发式的增长,并且在理论上不同虚拟局域网中的MAC地址是可以重叠的。因此,原有的4KVLAN数量已经捉襟见肘。
NVGRE(Network Virtualization using Generic Routing Encapsulation,使用通用路由封装的虚拟网络)正是在这样的背景下,由IETF提出的一个解决VLAN空间不足的方案,由一个24bit的虚拟转发域来代替VLAN参与转发查表,大大扩展了虚拟局域网的数量。GRE(Generic RoutingEncapsulation,通用路由封装)由RFC 2784定义和RFC 2890扩展的通道协议中提供了一种封装方法,将数据包发送到2层或3层网络目的地址。NVGRE提议使用GRE来创建一个独立的虚拟2层网络,限制物理2层网络或扩展超过子网边界。
在报文转发时,NVGRE通过在隧道起点对原始报文外部添加新的2层,3层和NVGRE报文头来将原始报文包裹在里面,进而根据新加的外层头进行转发到达隧道终点,最后在隧道终点把NVGRE报文上额外添加的外层头剥去获得最终的原始报文。
在2层转发网络中,同一个子网对于BUM(Broadcast Unkown-unicastMulticast,广播,未知单播,组播)报文需要进行泛洪转发,转发对象中包括该子网的所有相关的VTEP(Virtual Tunnel End Point,虚拟隧道终点)。目前,NVGRE中对于这类情况的处理是通过组播实现的,所有的VTEP都要加入相同的组播组,在需要泛洪的时候,外面封装的NVGRE报文的IP目的地址采用组播地址,同时在外部承载网络中都需要部署组播来保证这类加封装的组播报文都可到达子网相关的所有VTEP,保证泛洪的完整性。
然而,目前数据中心很少会部署组播业务,同时组播部署对于网络管理员也是非常麻烦的事情,需要在整个网络全面部署,并且需要维护很多组播的表现和状态机,引起额外的开销。组播断流也会增加网络的不稳定性。同时,BUM这类报文在整个数据中心的流量中占比是非常小的,为其专门部署组播也造成了资源的浪费。
发明内容
本发明的目的在于提供一种通过NVGRE单播实现BUM报文的转发,使得在二层网络中对于BUM报文进行泛洪转发时,能够保证报文到达子网相关的所有隧道终点VTEP,同时也免去部署多余的组播业务,以提高整体网络的稳定性。
为实现上述目的,本发明提出如下技术方案:一种通过NVGRE单播实现BUM报文转发的方法,其包括以下步骤:
S1、在本地虚拟网络中,配置与发送BUM报文的子网用户相应的本地隧道终点的IP地址,以及本地虚拟网络中与其他子网用户相应的远端隧道终点的IP地址;
S2、配置本地虚拟网络的网络虚拟标识VNI的地址;
S3、根据所述S1、S2中配置的地址,在所述本地隧道终点处对所述需要泛洪的BUM报文加封装成单播NVGRE报文;
S4、所述NVGRE报文发送到所述远端隧道终点后进行解封装以获得原始的BUM报文。
S5、将S4中获得的BUM报文由所述远端隧道终点发送给与该远端隧道终点相接的其他子网用户。
优选地,所述BUM报文加封装时,将所述本地隧道终点的IP地址作为源IP地址,将远端隧道终点的IP地址作为目的IP地址,且将所述网络虚拟标识VNI的地址作为NVGRE头加封装到BUM报文的外层。
优选地,所述S4中,所述远端隧道终点通过比较接收到的NVGRE报文中的目的IP地址和自己的IP地址来判断所述NVGRE报文是否是发送给自己的报文,如果判断是发送给自己的报文,则进行解封装。
优选地,所述远端隧道终点为多个时,则需要复制BUM报文并加封装成目的IP地址不同的NVGRE报文,使每一远端隧道终点都能收到对应目的IP地址的NVGRE报文。
优选地,对由所述子网用户发送的BUM报文,在所述S1中通过在本地隧道终点查询二层转发表来确定是否需要泛洪转发。
优选地,在完成S2中的配置后,所述本地虚拟网络的广播域扩展到所述网络虚拟标识VNI的成员端口。
优选地,所述子网用户包括本地网路中的虚拟机。
优选地,所述S1中,所述本地隧道终点和远端隧道终点的IP地址由管理员或控制器来配置。
本发明通过NVGRE单播实现BUM报文转发的方法,通过配置本地虚拟网络中所有的隧道终端VTEP的IP地址,并通过配置本地虚拟网络的网络虚拟标识NVI后,将需要转发的BUM报文在发送该报文的用户子网自己的隧道终点VTEP处进行加封装处理成NVGRE报文,并在NVGRE报文到达对应的远端隧道终点时进行解封装得到原始的BUM报文,该BUM报文由该远端隧道终点发送给与其对应相接的子网用户。
在加封装时,在BUM报文的外层加上了发送端隧道终点VTEP的IP为源IP地址,所有接受报文的远端的隧道终点VTEP的IP地址为目的IP地址,NVGRE头中为网络虚拟标识VNI的地址,因此,根据目的IP地址的不同,BUM被复制成不同NVGRE报文发送到了对应的所有的远端隧道终点,到达了泛洪转发的目的。
与现有技术相比,本发明在保证NVGRE环境中完整的2层转发的情况下,免去了组播业务的部署,简化了网络的配置过程,提高了网络的稳定性。
附图说明
图1是本发明虚拟网路NVGRE控制拓扑示意图;
图2是本发明通过NVGRE单播进行BUM报文转发的示意图;
图3本发明BUM报文通过单播NVGRE转发的流程图。
具体实施方式
下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。
如图1所示的虚拟网络NVGRE的控制拓扑图中,包括了由三台虚拟机VM1、VM2、VM3组成的本地虚拟子网VLAN2,每一虚拟机具有对应的本地虚拟隧道终点VTEP,且该隧道终点VTEP通过管理员或控制器配置有相应的IP地址。如图中的第一虚拟机VM-1的本地隧道终点为第一隧道终点VTEP-1,其IP地址为1.1.1.1,第二虚拟机的VM-2的本地隧道终点为第二隧道终点VTEP-2,其IP地址为2.2.2.2,第三虚拟机的VM-3的本地隧道终点为第三隧道终点VTEP-3,其IP地址为3.3.3.3。同时,对于第一虚拟机VM-1来说,第二隧道终点VTEP-2、第三隧道终点VTEP-3为远端的2个虚拟隧道终点,同理,对于第二虚拟机VM-2和第三虚拟机VM-3,其远端的2个虚拟隧道终点分别为第一隧道终点VTEP-1、第二隧道终点VTEP-3和第一隧道终点VTEP-1、第三隧道终点VTEP-2。
为了实现图1中三台虚拟机间的泛洪BUM报文在二层网络中的单播,在控制层面上,管理员或控制器在配置每个隧道终点VTEP的IP地址时,由于不同子网的相关隧道终点VTEP可能各不相同,故除了配置每个隧道终点VTEP自己的IP地址外,还要为每个子网配置其远端的隧道终点VTEP的IP地址,即形成每个隧道终点VTEP的IP地址与子网远端隧道终点的IP地址的对应关系,且该配置的地址对应关系将保持在软件中,当子网的VTEP发生变化时,则需要更新配置并更新软件中保存的对应关系。
对于每个隧道终点VTEP的IP地址配置,在网络不大的情况下可以由管理员直接配置,如果是大型数据中心则可以由控制器进行配置。
由于图1中的三台虚拟机间不能直接通过二层广播域互通,因此,部署了NVGRE来扩展网络拓扑,即为该本地虚拟子网VLAN2指定一个唯一的网络虚拟标识VNI(Virtual Network Identify),如VNI 20000,这样VLAN2的广播域就从本地扩展到了VNI 20000,而VNI 20000的广播域除了VLAN2原本包含的本地成员端口外,还包括远端隧道终点VTEP上同样是VNI20000的成员端口。因此对于图1中的第一隧道终点VTEP-1所在的交换机上,除了本地直连的一个VM-1外,其他两个VM2、VM3都属于远端的隧道终点VTEP。这样,如图2所示,图中的三台虚拟机通过二层广播就可以互通了。
网络虚拟标识VNI在第一隧道终点VTEP-1上的配置过程为:
a.将本地网络VLAN 2映射出一个网络虚拟标识VNI,以便NVGRE加封装时使用;
b.指定发送BUM报文虚拟机自己的VTEP的IP地址;
c.指定一个接收BUM报文的虚拟机为远端VTEP的IP地址;
d.指定另一个接收BUM报文的虚拟机端点VTEP的IP地址。
以上过程的的命令行可以参考如下:
VLAN 2vni 20000
VLAN 2source-vtep1.1.1.1
VLAN 2remote-vtep2.2.2.2
VLAN 2remote-vtep3.3.3.3
在第一隧道终点VTEP-1上收到本地的虚拟机VM-1发出的广播,未知单播或者组播报文BUM报文的时候,根据此前的地址配置,第一隧道终点VTEP-1已经知道VLAN 2中对应的远端的VTEP有2个,这2个的IP地址也已经配置,故第一隧道终点VTEP-1就知道泛洪的时候需要让报文能发送到远端的2个隧道终点VTEP-2,VTEP-3。所以在第一隧道终点VTEP-1上发往远端隧道终点VTEP的时候加封装NVGRE的报文直接可以用配置好的远端的VTEP的IP地址作为加封装头的IP目的地址,而不需要组播组的地址了。同样对于第二隧道终点VTEP-2和第三隧道终点VTEP-3上的配置也是类似的。
转发时,一份BUM报文在发送报文虚拟机自己的隧道终点VTEP处被加封装成多份不同的单播NVGRE报文后分别送到各自所属的远端隧道终点VTEP上,在到达远端隧道终点VTEP后,多份NVGRE报文都会分别被解封装,还原成原始的BUM报文发送给本地的子网用户,具体的转发过程为:
1)、与第一隧道终点VTEP-1直接相连的第一虚拟机VM-1发送了一份本地虚拟子网VLAN 2中的广播,未知单播或者组播的BUM报文给第一隧道终点VTEP-1,且在第一隧道终点VTEP-1上查询2层转发表发现这个BUM报文需要做泛洪。
由此前的配置可知,在第一隧道终点VTEP-1配置了本地子网VLAN 2对应的网络虚拟标识为VNI 20000,第一隧道终点VTEP-1自己的IP地址是1.1.1.1,2个远端的隧道终点VTEP-2,VTEP-3的地址分别是2.2.2.2和3.3.3.3。故泛洪时第一隧道终点VTEP-1首先需要将原始的BUM报文封装成NVGRE报文发给远端的第二隧道终点VTEP-2,该NVGRE报文的外层的源IP是1.1.1.1,而目的IP是2.2.2.2,NVGRE头中的VNI则是本地网络VLAN 2对应的VNI 20000,报文的格式为:
由于泛洪时BUM报文还要发送到另一个远端的隧道终点VTEP-3,因此,BUM报文在第一隧道终点VTEP-1处还复制一份并且封装成NVGRE报文发送给第三隧道终点VTEP-3,该NVGRE报文的外层的源IP是1.1.1.1,而目的IP是3.3.3.3,NVGRE头中的VNI也是VLAN 2对应的VNI 20000,报文的格式为:
2)、第一隧道终点VTEP-1发送出了2份NVGRE报文,外层的目的IP地址分别是2.2.2.2和3.3.3.3,通过中间的IP网络各自发往对应的远端第二隧道终点VTEP-2和第三隧道终点VTEP-3。
3)、第二隧道终点VTEP-2收到了目的IP是2.2.2.2的NVGRE报文后,发现该NVGRE报文的目的IP和自己VTEP的IP 2.2.2.2相符,也就是发现是发给自己的报文后,进行解封装操作,因为在第二隧道终点VTEP-2上也和第一隧道终点VTEP-1上一样有过类似的配置,因此通过NVGRE报文中的VNI字段发现是20000就可以找到对应的本地VLAN 2。第二隧道终点VTEP-2将NVGRE报文的外部头都移除后,获得原始的BUM报文,发给本地VLAN 2下直连的第二虚拟机VM-2。
同理,第三隧道终点VTEP-3收到了目的IP是3.3.3.3的NVGRE报文后,也确认NVGRE报文的目的IP和自己的VTEP的IP 3.3.3.3相符,则进行解封装操作,类似地,最终将获得的原始BUM报文发给本地VLAN 2下直连的第三虚拟机VM-3。
最终,由第一虚拟机VM-1发出的BUM报文经过了本地的第一隧道终点VTEP-1的加封装和远端的第二隧道终点VTEP-2、第三隧道终点VTEP-3的解封装后顺利的泛洪给了第二虚拟机VM-2和第三虚拟机VM-3,实现了完整的泛洪过程,并且整个过程中不需要组播业务的参与,实现非常的简单。
本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。

Claims (8)

1.一种通过NVGRE单播实现BUM报文转发的方法,其特征在于包括以下步骤:
S1、在本地虚拟网络中,配置与发送BUM报文的子网用户相应的本地隧道终点的IP地址,以及本地虚拟网络中与其他子网用户相应的远端隧道终点的IP地址;
S2、配置本地虚拟网络的网络虚拟标识VNI的地址;
S3、根据所述S1、S2中配置的地址,在所述本地隧道终点处对所述需要泛洪的BUM报文加封装成单播NVGRE报文;
S4、所述NVGRE报文发送到所述远端隧道终点后进行解封装以获得原始的BUM报文。
S5、将S4中获得的BUM报文由所述远端隧道终点发送给与该远端隧道终点相接的其他子网用户。
2.根据权利要求1所述的通过NVGRE单播实现BUM报文转发的方法,其特征在于:所述BUM报文加封装时,将所述本地隧道终点的IP地址作为源IP地址,将远端隧道终点的IP地址作为目的IP地址,且将所述网络虚拟标识VNI的地址作为NVGRE头加封装到BUM报文的外层。
3.根据权利要求2所述的通过NVGRE单播实现BUM报文转发的方法,其特征在于:所述S4中,所述远端隧道终点通过比较接收到的NVGRE报文中的目的IP地址和自己的IP地址来判断所述NVGRE报文是否是发送给自己的报文,如果判断是发送给自己的报文,则进行解封装。
4.根据权利要求2所述的通过NVGRE单播实现BUM报文转发的方法,其特征在于:所述远端隧道终点为多个时,则需要复制BUM报文并加封装成目的IP地址不同的NVGRE报文,使每一远端隧道终点都能收到对应目的IP地址的NVGRE报文。
5.根据权利要求1所述的通过NVGRE单播实现BUM报文转发的方法,其特征在于:对由所述子网用户发送的BUM报文,在所述S1中通过在本地隧道终点查询二层转发表来确定是否需要泛洪转发。
6.根据权利要求1所述的通过NVGRE单播实现BUM报文转发的方法,其特征在于:在完成S2中的配置后,所述本地虚拟网络的广播域扩展到所述网络虚拟标识VNI的成员端口。
7.根据权利要求1所述的通过NVGRE单播实现BUM报文转发的方法,其特征在于:所述子网用户包括本地网路中的虚拟机。
8.根据权利要求1所述的通过NVGRE单播实现BUM报文转发的方法,其特征在于:所述S1中,所述本地隧道终点和远端隧道终点的IP地址由管理员或控制器来配置。
CN201410707988.5A 2014-11-27 2014-11-27 通过nvgre单播实现bum报文转发的方法 Pending CN104410560A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410707988.5A CN104410560A (zh) 2014-11-27 2014-11-27 通过nvgre单播实现bum报文转发的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410707988.5A CN104410560A (zh) 2014-11-27 2014-11-27 通过nvgre单播实现bum报文转发的方法

Publications (1)

Publication Number Publication Date
CN104410560A true CN104410560A (zh) 2015-03-11

Family

ID=52648158

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410707988.5A Pending CN104410560A (zh) 2014-11-27 2014-11-27 通过nvgre单播实现bum报文转发的方法

Country Status (1)

Country Link
CN (1) CN104410560A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108900422A (zh) * 2018-07-27 2018-11-27 新华三技术有限公司 组播转发方法、装置及电子设备
CN109194560A (zh) * 2018-08-29 2019-01-11 迈普通信技术股份有限公司 组播方法及vtep
CN111010344A (zh) * 2019-12-31 2020-04-14 杭州迪普科技股份有限公司 报文转发方法、装置、电子设备及机器可读存储介质
US10855576B2 (en) 2016-01-04 2020-12-01 Zte Corporation Information transmission method and device
CN114095460A (zh) * 2022-01-20 2022-02-25 杭州优云科技有限公司 一种报文广播方法及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102868642A (zh) * 2012-10-09 2013-01-09 盛科网络(苏州)有限公司 在asic中实现nvgre报文转发的方法和装置
CN103200069A (zh) * 2013-03-29 2013-07-10 华为技术有限公司 一种报文处理的方法和设备
US20130250951A1 (en) * 2012-03-22 2013-09-26 Brocade Communications Systems, Inc. Overlay tunnel in a fabric switch
CN103944867A (zh) * 2013-01-23 2014-07-23 华为技术有限公司 动态主机配置协议报文的处理方法、装置和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130250951A1 (en) * 2012-03-22 2013-09-26 Brocade Communications Systems, Inc. Overlay tunnel in a fabric switch
CN102868642A (zh) * 2012-10-09 2013-01-09 盛科网络(苏州)有限公司 在asic中实现nvgre报文转发的方法和装置
CN103944867A (zh) * 2013-01-23 2014-07-23 华为技术有限公司 动态主机配置协议报文的处理方法、装置和系统
CN103200069A (zh) * 2013-03-29 2013-07-10 华为技术有限公司 一种报文处理的方法和设备

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10855576B2 (en) 2016-01-04 2020-12-01 Zte Corporation Information transmission method and device
CN108900422A (zh) * 2018-07-27 2018-11-27 新华三技术有限公司 组播转发方法、装置及电子设备
CN108900422B (zh) * 2018-07-27 2021-10-12 新华三技术有限公司 组播转发方法、装置及电子设备
CN109194560A (zh) * 2018-08-29 2019-01-11 迈普通信技术股份有限公司 组播方法及vtep
CN109194560B (zh) * 2018-08-29 2021-06-22 迈普通信技术股份有限公司 组播方法及vtep
CN111010344A (zh) * 2019-12-31 2020-04-14 杭州迪普科技股份有限公司 报文转发方法、装置、电子设备及机器可读存储介质
CN114095460A (zh) * 2022-01-20 2022-02-25 杭州优云科技有限公司 一种报文广播方法及设备
CN114095460B (zh) * 2022-01-20 2022-05-31 杭州优云科技有限公司 一种报文广播方法及设备

Similar Documents

Publication Publication Date Title
CN111147383B (zh) 报文转发的方法、发送报文的装置和接收报文的装置
US11431526B2 (en) Deterministic forwarding across L2 and L3 networks
JP7123174B2 (ja) マルチキャストデータ送信方法、関連装置、およびシステム
CN106936777B (zh) 基于OpenFlow的云计算分布式网络实现方法、系统
US9166807B2 (en) Transmission of layer two (L2) multicast traffic over multi-protocol label switching networks
CN104221332B (zh) 局域网复用装置
US7990963B1 (en) Exchange of control information for virtual private local area network (LAN) service multicast
US10009267B2 (en) Method and system for controlling an underlying physical network by a software defined network
US8717934B2 (en) Multicast source move detection for layer-2 interconnect solutions
US8488491B2 (en) Compressed virtual routing and forwarding in a communications network
CN107968750B (zh) 报文传输方法、装置及节点
CN107612808B (zh) 隧道建立方法和装置
CN106101023B (zh) 一种vpls报文处理方法及设备
US20230155932A1 (en) Multicast traffic transmission method and apparatus, communication node, and storage medium
WO2015131560A1 (zh) 一种分配分段路由标记的方法和分段路由节点
US20140153578A1 (en) Border Gateway Protocol Extended Community Attribute for Layer-2 and Layer-3 Virtual Private Networks
CN104601472A (zh) 在芯片中实现vxlan网关分布式路由的方法及报文处理系统
CN106341327A (zh) 一种bier报文的传输方法及系统
CN104579728A (zh) 网元设备配置和管理方法、装置及网元设备
CN104410560A (zh) 通过nvgre单播实现bum报文转发的方法
CN104702476A (zh) 分布式网关、基于分布式网关的报文处理方法及装置
CN107493213A (zh) 一种提高局域网设备发现能力的方法
WO2022021818A1 (zh) 数据报文的处理方法及装置、存储介质、电子装置
CN107547342A (zh) 基于vxlan隧道的报文广播方法和装置
US20190132243A1 (en) Methods and apparatuses for routing data packets in a network topology

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150311