CN102215152A - 一种在虚拟设备之间实现流量间隔的方法和系统 - Google Patents
一种在虚拟设备之间实现流量间隔的方法和系统 Download PDFInfo
- Publication number
- CN102215152A CN102215152A CN2010101384903A CN201010138490A CN102215152A CN 102215152 A CN102215152 A CN 102215152A CN 2010101384903 A CN2010101384903 A CN 2010101384903A CN 201010138490 A CN201010138490 A CN 201010138490A CN 102215152 A CN102215152 A CN 102215152A
- Authority
- CN
- China
- Prior art keywords
- forwarding
- multicast
- switching network
- forwarding chip
- chip
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000002955 isolation Methods 0.000 claims description 19
- 239000011159 matrix material Substances 0.000 claims description 12
- 238000000926 separation method Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 27
- 238000010586 diagram Methods 0.000 description 7
- 230000011218 segmentation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种在虚拟设备之间实现流量隔离的方法和系统,该方法应用于分布式交换路由系统,包括:将转发芯片设置为加入和退出虚拟设备(VD)的最小单元,并建立转发芯片和VD之间的对应关系;在所述交换网中为VD建立单独的逻辑通道;转发芯片通过逻辑通道转发流量。应用本发明方案,转发芯片本身不再为VD建立逻辑通道,不必具备虚拟化功能,降低了转发芯片的成本,也降低了整个系统的成本。另外,交换网可以为各个建立逻辑通道,所有转发芯片通过交换网建立的逻辑通道进行流量转发,同样实现VD间流量的隔离。
Description
技术领域
本发明涉及交换路由技术,特别是涉及一种在虚拟设备之间实现流量隔离的方法和系统。
背景技术
在分布式交换路由系统中,可以将一台大的物理设备虚拟成多台小设备,即虚拟设备(VD,Virtual Device)。各个VD对于用户来说就像一台独立的小设备,可以独立运行路由进程、二层协议、三层协议,可以有独立的转发表项、接口,还可以添加自身的用户、独立启动并读取自身的配置文件等等。各个VD间的资源可以通过命令来进行分配管理,相互之间不受影响,即使某个VD占用的资源超过分配的资源限制,也不能抢占其他的VD资源。
将一台大的物理设备虚拟成多台小设备也称为设备虚拟化,具体包括CPU和内存的虚拟化,以及网络设备转发表项的虚拟化。其中,网络设备转发表项的虚拟化主要指为每个VD都配备独立的与转发相关的一系列表项,每个VD按照表项进行传输。从逻辑上看,这些表项就像在VD内部建立的逻辑通道,一个VD中的流量直接在逻辑通道中传输,不会影响或泄露到其他VD中,从而实现VD间的流量隔离。
图1是现有的分布式交换路由系统的逻辑框图。如图1所示,假设分布式交换路由系统包括两个以上转发芯片和一个交换网,一个转发芯片有一个对应的交换网端口fp,并有多个下属的用户端口(UP)。在现有技术中,转发芯片还必须具备虚拟化功能,为VD建立不同的逻辑通道。这样,转发芯片通过交换网进行流量传输时,就可以利用不同的逻辑通道转发流程,从而实现流量隔离。
现有技术的转发芯片是根据VD的数量建立不同的逻辑通道,这对转发芯片提出了较高的要求,要求转发芯片必须具备虚拟化功能。建立逻辑通道实际上就是建立各种表项,那么,如果转发芯片为每一个VD要建立独立的表项,就需要对转发芯片的内部表项资源进行扩充。
图2是现有技术中转发芯片实现虚拟化功能时建立逻辑通道的示意图。如图2所示,假设转发芯片下属的4个用户端口UP1~UP4分别加入了4个VD,比如:UP1加入了VD1,UP2加入了VD2,UP3加入了VD3,UP4加入了VD4。由于转发芯片下属的各个用户端口加入了不同的VD,转发芯片就需要转发不同VD的流程,在进行虚拟化时,就要为4个VD建立不同的逻辑通道。假设每个逻辑通道占4K资源,4个VD就需要占用转发芯片共16K资源,相当于转发芯片需要将资源扩充4倍。本领域技术人员知道,具备虚拟化功能的转发芯片成本比较高,扩充大量资源会使转发芯片的成本进一步提高,这显然不利于设备虚拟化技术的进一步推广和应用。
发明内容
本发明提供了一种在虚拟设备之间实现流量隔离的方法和系统,可以不要求转发芯片具备虚拟化功能,由交换网建立各VD的逻辑通道,可以降低转发芯片以及系统的成本,并同时实现VD间流量的转发。
为了实现上述第一个发明目的,本发明提出的技术方案为:
一种在虚拟设备之间实现流量间隔的方法,该方法应用于分布式交换路由系统,所述分布式交换路由系统包括两个以上转发芯片和一个交换网,该方法包括:
将每一个转发芯片设置为加入和退出虚拟设备VD的最小单元,并按照一个转发芯片仅对应一个VD的方式来建立转发芯片和VD之间的对应关系,所述转发芯片为未实施虚拟化功能的转发芯片;
在所述交换网中为每一个VD建立单独的逻辑通道;
每一个转发芯片通过交换网中所对应VD的逻辑通道转发流量,以实现各个VD之间的流量隔离。
上述方案中,所述流量为多播流量,所述在交换网中为每一个VD建立单独的逻辑通道的方法包括:
将交换网中的所有多播ID按照VD的个数分段,每一个多播ID分段对应一个VD,再从每一个多播ID分段中选择所对应VD进行多播转发的多播ID,并建立各VD和各用作多播转发的多播ID的对应关系;
根据转发芯片和VD之间的对应关系、已有的转发芯片和交换网端口之间的对应关系、以及VD和用作多播转发的多播ID的对应关系,来建立VD、用作多播转发的多播ID、交换网端口之间的对应关系,以完成逻辑通道的建立。
上述方案中,所述每一个转发芯片通过交换网为该转发芯片所对应VD建立的逻辑通道转发流量的方法包括:
转发芯片接收到来自源用户的报文时,将自身所对应的交换网端口作为源端口,自身作为源转发芯片将接收到的报文通过源端口转发给交换网,并在转发报文时携带上自身所对应VD进行多播转发的多播ID;交换网查询已建立的VD、用作多播转发的多播ID、交换网端口之间的对应关系以确定所有的作为目的端口的交换网端口,所述确定的目的端口不包括作为源端口的交换网端口,然后将所述报文从确定的目的端口中转发出去。
上述方案中,所述多播为组播或广播。
上述方案中,所述流量为单播流量,所述每一个转发芯片通过交换网中所对应VD的逻辑通道转发流量的方法包括:
转发芯片接收到来自源用户的报文时,利用单播转发流程分析出报文的目的转发芯片,并将自身所对应的交换网端口作为源端口,自身作为源转发芯片将接收到的报文和分析出的目的转发芯片信息从源端口转发给交换网,所述源转发芯片和目的转发芯片同属一个VD;交换网根据所述目的转发芯片信息,并利用事先建立的单播转发矩阵从交换网端口中确定目的端口,将所述报文从确定的目的端口转发给目的转发芯片。
针对上述第二个发明目的,本发明提出的技术方案为:
一种在虚拟设备之间实现流量间隔的系统,该系统包括两个以上转发芯片和一个交换网,
所述转发芯片设置为加入和退出虚拟设备VD的最小单元,并按照一个转发芯片仅对应一个VD的方式来建立转发芯片和VD之间的对应关系,所述转发芯片为未实施虚拟化功能的转发芯片;所述转发芯片通过交换网中所对应VD的逻辑通道转发流量;
所述交换网用于为每一个VD建立单独的逻辑通道,并利用所述逻辑通道转发流量。
上述方案中,所述交换网包括逻辑通道建立模块,用于:
将交换网中的所有多播ID按照VD的个数分段,每一个多播ID分段对应一个VD,再从每一个多播ID分段中选择一个多播ID作为该分段所对应VD进行多播转发的多播ID,并建立各VD和各用作多播转发的多播ID的对应关系;
根据转发芯片和VD之间的对应关系,从已有的转发芯片和交换网端口之间的对应关系、以及VD和用作多播转发的多播ID的对应关系,来建立VD、用作多播转发的多播ID、交换网端口之间的对应关系,以完成逻辑通道的建立。
上述方案中,
所述转发芯片还用于:接收到来自源用户的报文时,将自身所对应的交换网端口作为源端口,自身作为源转发芯片将接收到的报文通过源端口转发给交换网的转发模块,并在转发报文时携带上自身所对应VD进行多播转发的多播ID;
所述交换网还包括转发模块,用于:从逻辑通道建立模块中查询已建立的VD、用作多播转发的多播ID、交换网端口之间的对应关系以确定所有的作为目的端口的交换网端口,所述确定的目的端口不包括作为源端口的交换网端口,然后将所述报文从确定的目的端口中转发出去。
上述方案中,所述多播为组播或广播。
上述方案中,所述流量为单播流量,所述转发芯片还用于:接收到来自源用户的报文时,利用单播转发流程从报文中分析出目的转发芯片,并将自身所对应的交换网端口作为源端口,自身作为源转发芯片将接收到的报文和分析出的目的转发芯片信息从源端口转发给交换网的转发模块;
所述交换网包括逻辑通道建立模块,用于根据单播转发矩阵建立逻辑通道;
所述交换网包括转发模块,用于根据所述目的转发芯片信息,并利用事先建立的单播转发矩阵从交换网端口中确定目的端口,将所述报文从确定的目的端口转发给目的转发芯片。
本发明提出一种在虚拟设备之间实现流量间隔的方法和系统,转发芯片本身不再为VD建立逻辑通道,不必具备虚拟化功能,仅仅是普通的转发芯片即可,或者虽然具备但未实施其虚拟化功能,不必扩充转发芯片内部的表项资源,降低了转发芯片的成本,也降低了整个系统的成本。另一方面,交换网可以为各个VD建立逻辑通道,所有转发芯片通过自身所属VD对应的逻辑通道进行流量转发,在降低转发芯片成本的基础并不影响VD间流量的隔离。
附图说明
图1是现有的分布式交换路由系统的逻辑框图。
图2是现有技术中转发芯片实现虚拟化功能时建立逻辑通道的示意图。
图3是本发明实现虚拟设备之间实现流量隔离的方法流程图。
图4是方法实施例一中的方法流程图。
图5是方法实施例一中的系统架构示意图。
图6是方法实施例二中的方法流程图。
图7是方法实施例三中的方法流程图。
图8是本发明系统实施例一的逻辑结构示意图。
图9是本发明系统实施例二的逻辑结构示意图。
具体实施方式
为了降低分布式交换路由系统的成本,在不影响虚拟设备(VD)之间流量隔离的情况下,本发明提出了一种新的解决方案:本发明的分布式交换路由系统的逻辑结构与图1相同,包括两个以上转发芯片和一个交换网,其区别在于,其一、本发明的转发芯片是加入和退出VD的最小单元,一个转发芯片仅对应一个VD。这样,一个转发芯片只需要转发一个VD中的流量,无需建立多个逻辑通道,也就不必要求转发芯片具备虚拟化功能,仅仅是普通的转发芯片即可,从而降低成本。其二、本发明为每个VD建立逻辑通道的功能由交换网负责实施,每个VD仍然可以在自身对应的逻辑通道中转发流量,从而保证VD之间流量的间隔。
如图3所示,本发明实现虚拟设备之间实现流量隔离的方法可以包括:
步骤301:将每一个转发芯片设置为加入和退出虚拟设备VD的最小单元,并按照一个转发芯片仅对应一个VD的方式来建立转发芯片和VD之间的对应关系,所述转发芯片为未实施虚拟化功能的转发芯片。
本发明中是将转发芯片作为加入和退出VD的最小单元。也就是说,即使一个转发芯片有多个用户端口,也不像现有技术一样将一个用户端口作为加入和退出VD的最小单元,而是将转发芯片的所有用户端口作为一个端口组一并加入或退出某个VD。假设转发芯片PP1有4个用户端口UP1~UP4,那么,要使PP1加入VD1,可以采用将UP1~UP4一并加入VD1的方式实现;相应地,要使PP1退出VD1,则可以采用将UP1~UP4一并退出VD1的方式实现。当然,UP1~UP4如何加入或退出VD1则可以采用现有技术来实现,此处不再赘述。总之,正是由于本发明的转发芯片是加入和退出VD的最小单元,一个转发芯片只能对应一个VD,因此,转发芯片内部就不必为不同的VD建立逻辑通道来进行流量隔离。在这种情况下,本发明的转发芯片可以是未实施虚拟化功能的转发芯片,比如普通的转发芯片,或者是虽具备但未开启其虚拟化功能的芯片,转发芯片也不必扩充内部表项资源,从而大大降低转发芯片以及整个系统的成本。
步骤302:在交换网中为每一个VD建立单独的逻辑通道。
步骤303:每一个转发芯片通过交换网中所对应VD的逻辑通道转发流量,以实现各个VD之间的流量隔离。
本发明中,由于转发芯片没有为不同的VD建立逻辑通道来隔离流量,而是由交换网中为不同的VD建立逻辑通道。根据所转发流量类型的不同,可以将逻辑通道的建立方法分为两种:
一、如果是多播流量(包括组播流量或广播流量),由于无法从要转发的报文中直接分析出目的转发芯片,则需要在交换网建立VD、用作多播转发的多播ID、交换网端口之间的对应关系。这样,交换网只能接收到某个报文时可以确定该报文属于哪个VD,多播ID是多少,就可以查询上述的对应关系,确定对应的交换网端口,并从作为目的端口的交换网端口中转发出去。
具体地,步骤302中交换网为每一个VD建立单独的逻辑通道的方法可以为:将交换网中的所有多播ID按照VD的个数分段,每一个多播ID分段对应一个VD,再从每一个多播ID分段中选择所对应VD进行多播转发的多播ID,并建立VD和用作多播转发的多播ID的对应关系。之后,根据转发芯片和VD之间的对应关系、已有的转发芯片和交换网端口之间的对应关系、以及VD和用作多播转发的多播ID的对应关系,来建立VD、用作多播转发的多播ID、交换网端口之间的对应关系,以实现逻辑通道的建立。
相应地,步骤303中转发芯片通过交换网转发流量的方法包括:转发芯片接收到来自源用户的报文时,将自身所对应的交换网端口作为源端口,自身作为源转发芯片将接收到的报文通过源端口转发给交换网,并在转发报文时携带上自身所对应VD进行多播转发的多播ID。交换网查询已建立的VD、用作多播转发的多播ID、交换网端口之间的对应关系以确定所有的作为目的端口的交换网端口,所述确定的目的端口不包括作为源端口的交换网端口,然后将所述报文从确定的目的端口中转发出去。
二、如果是单播流量,转发芯片可以利用现有的单播转发流程直接从报文中分析出目的转发芯片,那么,在步骤302中交换网也可以直接利用现有的单播转发方法建立逻辑通道,而后在步骤303中转发芯片利用该逻辑通道进行转发。具体地,步骤303中转发芯片通过交换网中转发流量的方法包括:转发芯片接收到来自源用户的报文时,利用单播转发流程从报文中分析出目的转发芯片,并将自身所对应的交换网端口作为源端口,自身作为源转发芯片,将接收到的报文和分析出的目的转发芯片信息从源端口转发给交换网,所述源转发芯片和目的转发芯片同属一个VD;交换网根据所述目的转发芯片信息,并利用事先建立的单播转发矩阵从交换网端口中确定目的端口,将所述报文从确定的目的端口转发给目的转发芯片。这里所述的单播转发矩阵就是交换网在步骤302中利用现有技术建立的逻辑通道,具体如何建立这里不再详细。
为了更好地描述本发明方案,下面用几个较佳实施例进行详细描述。
方法实施例一
本实施例中,假设分布式交换路由系统的架构仍然如图1所示,其中,转发芯片是普通的转发芯片,不具备虚拟化功能,并且由交换网为VD建立逻辑通道。本实施例还假设转发芯片包括PP1~PP4,每一个转发芯片下属有4个用户端口UP1~UP4;PP1对应的交换网端口为fp1,PP2对应的交换网端口为fp2,PP3对应的交换网端口为fp3,PP4对应的交换网端口为fp4。
本实施例还假设转发的流量为单播流量,实现流量隔离的方法如图4所示,包括:
步骤401:将每一个转发芯片设置为加入和退出VD的最小单元,并按照一个转发芯片仅对应一个VD的方式来建立转发芯片和VD之间的对应关系。
本步骤中,假设转发芯片PP1和PP3要加入VD1,PP2和PP4要加入VD2,那么,就可以将PP1下属的4个用户端口UP1~UP4加入VD1,将PP3下属的4个用户端口UP1~UP4也加入VD1,将PP2下属的4个用户端口UP1~UP4加入VD2,将PP4下属的4个用户端口UP1~UP4也加入VD2。此后,各个转发芯片与VD之间的对应关系如表一所示:
转发芯片(PP) | 虚拟设备(VD) |
PP1 | VD1 |
PP2 | VD2 |
PP3 | VD1 |
PP4 | VD2 |
表一
步骤402:在交换网中为每一个VD建立单独的逻辑通道。
本步骤可以采用交换网现有的单播转发技术,比如建立单播转发矩阵实现,具体方式此处不再赘述。
步骤403:转发芯片PP1接收到来自源用户的报文时,利用单播转发流程从报文中分析出目的转发芯片PP3,并将自身所对应的交换网端口fp1作为源端口,PP1自身作为源转发芯片将接收到的报文和分析出的目的转发芯片信息从源端口fp1转发给交换网。
实际应用中,源用户可以为转发芯片PP1下属用户端口所连接的用户,比如:可以为与PP1下属UP1端口连接的用户A(图中未示出)。用户A通过转发芯片PP1的用户端口UP1将报文发送给转发芯片PP1,并要求将报文转发给转发芯片PP3下用户端口UP3连接的用户B(图中未示出),这里的用户B可以称为目的用户。转发芯片PP1接收到该报文时,可以根据单播转发流程分析出该报文的目的转发芯片PP3,于是将fp1作为源端口,PP1自身作为源转发芯片将该报文和目的转发芯片为PP3这一信息转发给交换网。
步骤404:交换网根据目的转发芯片为PP3这一信息,利用事先建立的单播转发矩阵从交换网端口中确定目的端口fp3,将所述报文通过目的端口fp3转发给目的转发芯片PP3。
实际应用中,步骤403中转发芯片PP1还可以分析出目的用户端口,假设分析出目的用户端口为PP3下属的UP3端口,于是将这一信息连同报文一并通过交换网发送给转发芯片PP3。当转发芯片PP3从端口fp3接收到该报文时和目的用户端口为UP3的信息时,就可以将该报文从用户端口UP3发送给目的用户B,实现单播转发的目的。
本实施例是以一个VD中进行单播转发为例进行说明的,从上述实现过程可以看出,本实施例中单播转发均是在VD1中进行的,其流量不会泄露到其他VD中,因此,在降低转发芯片成本的情况仍然可以实现VD间流量的隔离。
方法实施例二
本实施例中,假设分布式交换路由系统的架构如图5所示,其中,转发芯片是普通的转发芯片,不具备虚拟化功能,并且由交换网为VD建立逻辑通道。本实施例中,转发芯片包括PP1~PP5,每一个转发芯片下属有4个用户端口UP1~UP4。其中,PP1对应的交换网端口为fp1,PP2对应的交换网端口为fp2,PP3对应的交换网端口为fp3,PP4对应的交换网端口为fp4,PP5对应的交换网端口为fp5。
本实施例还假设转发的流量为组播流量,其实现流量隔离的方法如图6所示,包括:
步骤601:将每一个转发芯片设置为加入和退出VD的最小单元,并按照一个转发芯片仅对应一个VD的方式来建立转发芯片和VD之间的对应关系。
本步骤中,假设转发芯片PP1、PP2和PP5加入VD1,PP3和PP4加入VD2,那么,可以将PP1下属的用户端口UP1~UP4加入VD1,将PP2下属的用户端口UP1~UP4加入VD1,将PP5下属的用户端口UP1~UP4也加入VD1,同时,将PP3下属的用户端口UP1~UP4加入VD2,将PP4下属的用户端口UP1~UP4也加入VD2。此后,各个转发芯片与VD之间的对应关系如表二所示:
转发芯片(PP) | 虚拟设备(VD) |
PP1 | VD1 |
PP2 | VD1 |
PP3 | VD2 |
PP4 | VD2 |
PP5 | VD1 |
表二
步骤602:将交换网中的所有多播ID按照VD的个数分段,每一个多播ID分段对应一个VD,再从每一个多播ID分段中选择所对应VD进行组播转发的多播ID,并建立VD和用作组播转发的多播ID的对应关系。
这里,假设交换网的多播ID资源为2K(即0~2047),可以为每个VD分配1K的资源。由于本实施例是进行组播流量的转发,一个VD中可以有一个或一个以上的组播组,那么,如果一个VD中有一个组播组,则可以从该VD对应的多播ID分段中选择一个多播ID作为组播转发的多播ID;如果一个VD中有多个组播组,则可以从该VD对应的多播ID分段中选择多个多播ID分别作为组播转发的多播ID。
在本实施例中,假设有2个VD,其中,VD1中有两个组播组,VD2中有一个组播组,分配多播ID之后,各个VD、多播ID分段以及用作组播的多播ID之间的对应关系如表三所示:
虚拟设备(VD) | 多播ID分段 | 用作组播的多播ID |
VD1 | 1024~2047 | 1024、1537 |
VD2 | 0~1023 | 0 |
表三
也就是说,2K的多播ID按照VD的个数分为2段,VD1对应1024~2047,这一分段的多播ID由VD1使用,其中用作组播转发的多播ID有两个,即1024和1537,1024可以由组播组1用来进行组播转发,1537可以由组播组2用来进行组播转发。另外,VD2对应0~1023,这一分段的多播ID由VD2使用,其中0用作组播转发的多播ID。
步骤603:根据转发芯片和VD之间的对应关系、已有的转发芯片和交换网端口之间的对应关系、以及VD和用作组播转发的多播ID的对应关系,来建立VD、用作组播转发的多播ID、交换网端口之间的对应关系。
本实施例中,转发芯片和VD之间的对应关系可以如表二所示;转发芯片和交换网端口之间的对应关系是系统在组网时就可以确定的,即:PP1对应的交换网端口为fp1,PP2对应的交换网端口为fp2,PP3对应的交换网端口为fp3,PP4对应的交换网端口为fp4,PP5对应的交换网端口为fp5;VD和用作组播转发的多播ID的对应关系可以如表三所示。本实施例还假设转发芯片PP1、PP2下的某些用户加入VD1中的组播组1,转发芯片PP2和PP5下的某些用户加入VD1中的组播组2,转发芯片PP3和PP4下的某些用户加入VD2中的组播组。那么,从上述几个对应关系可以获得VD、用作组播转发的多播ID、交换网端口之间的对应关系,具体情况如表四所示:
表四
本实施例中,上述的步骤602~步骤603实现了在交换网中为每个VD建立单独的逻辑通道,即建立了表项用于流量转发。实际应用中,还可以根据转发芯片加入或退出某个VD的情况对表项进行动态维护。比如:可以对PP1~PP5这5个转发芯片轮流处理,假设当前处理PP1,那么,根据表二可知PP1对应fp1,再根据表三可知VD1对应1024、1537这两个多播ID,如果PP1要加入VD1,则可以在表四中相应地增加fp1这一端口,如果PP1要退出VD1,则可以在表四中相应地删除fp1这一端口。
步骤604:转发芯片接收到来自源用户的报文时,将自身所对应的交换网端口作为源端口,自身作为源转发芯片,将接收到的报文通过源端口转发给交换网,并在转发报文时携带上自身所对应VD进行组播转发的多播ID。
本实施例中,假设转发芯片PP1下的用户A、PP2下的用户B加入了VD1下的组播组1,那么,转发芯片PP1接收到用户A的报文时,就将fp1作为源端口,自身作为源转发芯片将接收到的报文通过fp1端口发送给交换网,并在转发报文时携带上1024这一多播ID,表示其属于组播转发流量。
步骤605:交换网查询已建立的VD、用作多播转发的多播ID、交换网端口之间的对应关系以确定所有的作为目的端口的交换网端口,所述确定的目的端口不包括作为源端口的交换网端口,然后将所述报文从确定的目的端口中转发出去。
本实施例中,交换网可以直接查询表四,根据报文携带的多播ID,从表四中可以明确VD1中1024这一多播ID所对应的交换网端口包括fp1、fp2,其中,fp1是源端口,从而可以过滤掉fp1而确定fp2为目的端口。因此,交换网将该报文从fp2这个端口发送给PP2,再由PP2将报文发送给用户B,达到组播转发的目的。
在本实施例这个组播转发的过程中,组播流量始终在VD1中转发。当然,本实施例中的VD2也可以利用对应的用作组播转发的多播ID进行组播转发,其组播流量应该始终在VD2中转发。这样,VD1中的组播流量不会泄露到VD2中,VD2中的组播流量也不会泄露到VD1中,从而实现VD间组播流量的间隔。
方法实施例三
本实施例中,假设分布式交换路由系统的架构仍然如图5所示,其中,转发芯片是普通的转发芯片,不具备虚拟化功能,并且由交换网为VD建立逻辑通道。本实施例中,每一个转发芯片下属有4个用户端口UP1~UP4;PP1对应的交换网端口为fp1,PP2对应的交换网端口为fp2,PP3对应的交换网端口为fp3,PP4对应的交换网端口为fp4,PP5对应的交换网端口为fp5。
本实施例还假设转发的流量为广播流量,其实现流量隔离的方法如图7所示,包括:
步骤701:将每一个转发芯片设置为加入和退出VD的最小单元,并按照一个转发芯片仅对应一个VD的方式来建立转发芯片和VD之间的对应关系。
本步骤与实施例二的步骤601相同,并假设转发芯片PP1、PP2和PP5加入VD1,PP3和PP4加入VD2,转发芯片与VD之间的对应关系仍然如表二所示,此处不再赘述。
步骤702:将交换网中的所有多播ID按照VD的个数分段,每一个多播ID分段对应一个VD,再从每一个多播ID分段中选择一个多播ID,作为所对应VD进行广播转发的多播ID,并建立VD和用作广播转发的多播ID的对应关系。
这里,仍然假设交换网的多播ID资源为2K(即0~2047),各个VD、多播ID分段以及用作广播的多播ID之间的对应关系如表五所示:
虚拟设备(VD) | 多播ID分段 | 用作广播的多播ID |
VD1 | 1024~2047 | 2047 |
VD2 | 0~1023 | 1023 |
表五
也就是说,2K的多播ID按照VD的个数分为2段,VD1对应1024~2047,这一分段的多播ID由VD1使用,其中,2047用作广播转发的多播ID;VD2对应0~1023,这一分段的多播ID由VD2使用,其中1023用作广播转发的多播ID。
步骤703:根据转发芯片和VD之间的对应关系、已有的转发芯片和交换网端口之间的对应关系、以及VD和用作广播转发的多播ID的对应关系,来建立VD、用作广播转发的多播ID、交换网端口之间的对应关系。
本实施例中,转发芯片和VD之间的对应关系可以如表二所示;转发芯片和交换网端口之间的对应关系是系统在组网时就可以确定的,即:PP1对应的交换网端口为fp1,PP2对应的交换网端口为fp2,PP3对应的交换网端口为fp3,PP4对应的交换网端口为fp4,PP5对应的交换网端口为fp5;VD和用作广播转发的多播ID的对应关系可以如表五所示。从上述几个对应关系可以获得VD、用作广播转发的多播ID、交换网端口之间的对应关系,具体情况如表六所示:
虚拟设备(VD) | 用作广播转发的多播ID | 交换网端口 |
VD1 | 2047 | fp1、fp2、fp5 |
VD2 | 1023 | fp3、fp4 |
表六
本实施例中,上述步骤702~步骤703实现了在交换网中为每个VD建立单独的逻辑通道。实际应用中,还可以根据转发芯片加入或退出某个VD的情况对表项进行动态维护。比如:可以对PP1~PP5这5个转发芯片轮流处理,假设当前处理PP1,那么,根据表二可知PP1对应fp1,再根据表五可知VD1对应2047这个多播ID,如果PP1要加入VD1,则可以在表六中相应地增加fp1这一端口,如果PP1要退出VD1,则可以在表六中相应地删除fp1这一端口。
步骤704:转发芯片接收到来自源用户的报文时,将自身所对应的交换网端口作为源端口,自身作为源转发芯片,将接收到的报文通过源端口转发给交换网,并在转发报文时携带上自身所对应VD进行广播转发的多播ID。
本实施例中,假设转发芯片PP1下有用户A,转发芯片PP1接收到用户A的报文时,就将fp1作为源端口,自身作为源转发芯片将接收到的报文通过fp1端口发送给交换网,并在转发报文时携带上2047这一多播ID。
步骤705:交换网查询已建立的VD、用作多播转发的多播ID、交换网端口之间的对应关系以确定所有的作为目的端口的交换网端口,所述确定的目的端口不包括作为源端口的交换网端口,然后将所述报文从确定的目的端口中转发出去。
本实施例中,交换网可以直接查询表六,根据报文携带的多播ID从表六中可以明确VD1中2047这一多播ID所对应的交换网端口包括fp1、fp2、fp5,其中,fp1是源端口,所以可以将fp1过滤掉而明确fp2和fp5应该为目的端口,即,交换网将该报文从fp2和fp5这两个端口发送给PP2和PP5,再由PP2和PP5将报文发送给下属的所有用户,达到广播转发的目的。
在本实施例这个广播转发的过程中,广播流量始终在VD1中转发。实际应用中,VD2中也可以利用同样的方法进行另一广播转发,其流量将始终在VD2中转发。因此,VD1和VD2各自转发的流量不会相互泄露,从而实现VD间广播流量的间隔。
当然,实际应用中还可以利用上述三个实施例的方法在其他VD中进行单播、组播、广播流量的转发,并且在转发过程中保证VD间的流量隔离。
上述三个实施例主要描述了转发芯片如何作为加入和退出VD的最小单元,交换网如何建立VD的逻辑通道,至于报文格式、转发芯片如何具体处理或分析报文等都可以利用现有技术,本领域技术人员比较容易实施,此处不再详细描述。
应用本发明方法,由于分布式交换路由系统中的转发芯片可以是普通的,不具备虚拟化功能的芯片,因而可以大大降低系统的成本。同时,由于VD的逻辑通道由交换网建立,在不使用虚拟化功能转发芯片的情况下,仍然可以实现VD间的流量隔离。
本发明还提出一种在虚拟设备之间实现流量间隔的系统,该系统逻辑架构包括两个以上转发芯片和一个交换网。其中,
所述转发芯片,设置为加入和退出虚拟设备VD的最小单元,并按照一个转发芯片仅对应一个VD的方式来建立转发芯片和VD之间的对应关系,所述转发芯片为未实施虚拟化功能的转发芯片,并通过交换网中所对应VD的逻辑通道转发流量。
所述交换网,用于为每一个VD建立单独的逻辑通道,利用所述逻辑通道转发流量。
本发明中,由于交换网可以建立逻辑通道并转发流量,因此在实际应用中可以在交换网中设置一个逻辑通道建立模块和转发模块。如果转发的是多播流量,分布式交换路由系统可以如图8所示的方式实施。其中,
交换网包括逻辑通道建立模块801,用于将交换网中的所有多播ID按照VD的个数分段,每一个多播ID分段对应一个VD,再从每一个多播ID分段中选择一个多播ID作为该分段所对应VD进行多播转发的多播ID,并建立各VD和各用作多播转发的多播ID的对应关系;根据转发芯片和VD之间的对应关系,从已有的转发芯片和交换网端口之间的对应关系、以及VD和用作多播转发的多播ID的对应关系,来建立VD、用作多播转发的多播ID、交换网端口之间的对应关系,以完成逻辑通道的建立。
交换网还包括转发模块802,用于从逻辑通道建立模块801中查询已建立的VD、用作多播转发的多播ID、交换网端口之间的对应关系以确定所有的作为目的端口的交换网端口,所述确定的目的端口不包括作为源端口的交换网端口,然后将所述报文从确定的目的端口中转发出去。
相应地,转发芯片803设置为加入和退出虚拟设备VD的最小单元,并按照一个转发芯片仅对应一个VD的方式来建立转发芯片和VD之间的对应关系,所述转发芯片803为未实施虚拟化功能的转发芯片。转发芯片803接收到来自源用户的报文时,将自身所对应的交换网端口作为源端口,自身作为源转发芯片将接收到的报文通过源端口转发给交换网的转发模块802,并在转发报文时携带上自身所对应VD进行多播转发的多播ID。
上述是进行多播转发时的实施方式,所述多播转发可以是组播转发,也可以是广播转发。如果是组播转发,其流程可以参见上述方法实施例二以及图6;如果是广播转发,其流程可以参见上述方法实施例三以及图7,此处都不再赘述。
如果是单播转发,其实施方式可以如图9所示,其中:
交换网中的逻辑通道建立模块901,用于根据现有的单播转发矩阵建立逻辑通道。
交换网中的转发模块902,用于根据目的转发芯片信息,并利用逻辑通道建立模块901建立的单播转发矩阵从交换网端口中确定目的端口,将所述报文从确定的目的端口转发给目的转发芯片。
转发芯片903,设置为加入和退出虚拟设备VD的最小单元,并按照一个转发芯片仅对应一个VD的方式来建立转发芯片和VD之间的对应关系,所述转发芯片为未实施虚拟化功能的转发芯片;接收到来自源用户的报文时,利用单播转发流程从报文中分析出目的转发芯片,并将自身所对应的交换网端口作为源端口,自身作为源转发芯片将接收到的报文和分析出的目的转发芯片信息从源端口转发给交换网的转发模块902。
本实施例在VD中进行单播转发的具体流程可以参见上述方法实施例一以及图4,此处也不再赘述。
本发明中,一方面,不管是单播、组播还是广播转发,转发芯片本身都不再为VD建立逻辑通道,不必具备虚拟化功能,仅仅是普通的转发芯片即可,或者虽然具备但未实施其虚拟化功能,不必扩充转发芯片内部的表项资源,降低了转发芯片的成本,也降低了整个系统的成本。另一方面,交换网可以在某个普通的网络设备中为各个VD建立逻辑通道,所有转发芯片通过自身所属VD对应的逻辑通道进行流量转发,实现VD间流量的隔离。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种在虚拟设备之间实现流量间隔的方法,该方法应用于分布式交换路由系统,所述分布式交换路由系统包括两个以上转发芯片和一个交换网,其特征在于,该方法包括:
将每一个转发芯片设置为加入和退出虚拟设备VD的最小单元,并按照一个转发芯片仅对应一个VD的方式来建立转发芯片和VD之间的对应关系,所述转发芯片为未实施虚拟化功能的转发芯片;
在所述交换网中为每一个VD建立单独的逻辑通道;
每一个转发芯片通过交换网中所对应VD的逻辑通道转发流量,以实现各个VD之间的流量隔离。
2.根据权利要求1所述的方法,其特征在于,所述流量为多播流量,所述在交换网中为每一个VD建立单独的逻辑通道的方法包括:
将交换网中的所有多播ID按照VD的个数分段,每一个多播ID分段对应一个VD,再从每一个多播ID分段中选择所对应VD进行多播转发的多播ID,并建立各VD和各用作多播转发的多播ID的对应关系;
根据转发芯片和VD之间的对应关系、已有的转发芯片和交换网端口之间的对应关系、以及VD和用作多播转发的多播ID的对应关系,来建立VD、用作多播转发的多播ID、交换网端口之间的对应关系,以完成逻辑通道的建立。
3.根据权利要求2所述的方法,其特征在于,所述每一个转发芯片通过交换网为该转发芯片所对应VD建立的逻辑通道转发流量的方法包括:
转发芯片接收到来自源用户的报文时,将自身所对应的交换网端口作为源端口,自身作为源转发芯片将接收到的报文通过源端口转发给交换网,并在转发报文时携带上自身所对应VD进行多播转发的多播ID;交换网查询已建立的VD、用作多播转发的多播ID、交换网端口之间的对应关系以确定所有的作为目的端口的交换网端口,所述确定的目的端口不包括作为源端口的交换网端口,然后将所述报文从确定的目的端口中转发出去。
4.根据权利要求3所述的方法,其特征在于,所述多播为组播或广播。
5.根据权利要求1所述的方法,其特征在于,所述流量为单播流量,所述每一个转发芯片通过交换网中所对应VD的逻辑通道转发流量的方法包括:
转发芯片接收到来自源用户的报文时,利用单播转发流程分析出报文的目的转发芯片,并将自身所对应的交换网端口作为源端口,自身作为源转发芯片将接收到的报文和分析出的目的转发芯片信息从源端口转发给交换网,所述源转发芯片和目的转发芯片同属一个VD;交换网根据所述目的转发芯片信息,并利用事先建立的单播转发矩阵从交换网端口中确定目的端口,将所述报文从确定的目的端口转发给目的转发芯片。
6.一种在虚拟设备之间实现流量间隔的系统,该系统包括两个以上转发芯片和一个交换网,其特征在于,
所述转发芯片设置为加入和退出虚拟设备VD的最小单元,并按照一个转发芯片仅对应一个VD的方式来建立转发芯片和VD之间的对应关系,所述转发芯片为未实施虚拟化功能的转发芯片;所述转发芯片通过交换网中所对应VD的逻辑通道转发流量;
所述交换网用于为每一个VD建立单独的逻辑通道,并利用所述逻辑通道转发流量。
7.根据权利要求6所述的系统,其特征在于,所述交换网包括逻辑通道建立模块,用于:
将交换网中的所有多播ID按照VD的个数分段,每一个多播ID分段对应一个VD,再从每一个多播ID分段中选择一个多播ID作为该分段所对应VD进行多播转发的多播ID,并建立各VD和各用作多播转发的多播ID的对应关系;
根据转发芯片和VD之间的对应关系,从已有的转发芯片和交换网端口之间的对应关系、以及VD和用作多播转发的多播ID的对应关系,来建立VD、用作多播转发的多播ID、交换网端口之间的对应关系,以完成逻辑通道的建立。
8.根据权利要求7所述的系统,其特征在于,
所述转发芯片还用于:接收到来自源用户的报文时,将自身所对应的交换网端口作为源端口,自身作为源转发芯片将接收到的报文通过源端口转发给交换网的转发模块,并在转发报文时携带上自身所对应VD进行多播转发的多播ID;
所述交换网还包括转发模块,用于:从逻辑通道建立模块中查询已建立的VD、用作多播转发的多播ID、交换网端口之间的对应关系以确定所有的作为目的端口的交换网端口,所述确定的目的端口不包括作为源端口的交换网端口,然后将所述报文从确定的目的端口中转发出去。
9.根据权利要求8所述的系统,其特征在于,所述多播为组播或广播。
10.根据权利要求6所述的系统,其特征在于,所述流量为单播流量,所述转发芯片还用于:接收到来自源用户的报文时,利用单播转发流程从报文中分析出目的转发芯片,并将自身所对应的交换网端口作为源端口,自身作为源转发芯片将接收到的报文和分析出的目的转发芯片信息从源端口转发给交换网的转发模块;
所述交换网包括逻辑通道建立模块,用于根据单播转发矩阵建立逻辑通道;
所述交换网包括转发模块,用于根据所述目的转发芯片信息,并利用事先建立的单播转发矩阵从交换网端口中确定目的端口,将所述报文从确定的目的端口转发给目的转发芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010138490.3A CN102215152B (zh) | 2010-04-01 | 2010-04-01 | 一种在虚拟设备之间实现流量间隔的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010138490.3A CN102215152B (zh) | 2010-04-01 | 2010-04-01 | 一种在虚拟设备之间实现流量间隔的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102215152A true CN102215152A (zh) | 2011-10-12 |
CN102215152B CN102215152B (zh) | 2014-02-26 |
Family
ID=44746290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010138490.3A Active CN102215152B (zh) | 2010-04-01 | 2010-04-01 | 一种在虚拟设备之间实现流量间隔的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102215152B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102760047A (zh) * | 2012-06-21 | 2012-10-31 | 杭州华三通信技术有限公司 | 一种虚拟设备端口迁移的方法和接口板 |
CN102946354A (zh) * | 2012-11-15 | 2013-02-27 | 华为技术有限公司 | 一种报文转发的方法、装置及网络设备 |
CN103685082A (zh) * | 2012-09-21 | 2014-03-26 | 杭州华三通信技术有限公司 | 一种在交换机上实现虚拟设备的方法和装置 |
CN103684965A (zh) * | 2013-12-06 | 2014-03-26 | 杭州华三通信技术有限公司 | 基于虚拟设备配置的交换设备和报文转发方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060182118A1 (en) * | 2005-02-01 | 2006-08-17 | Hong Kong Applied Science and Technology Research Institute Company Limited | System And Method For Efficient Traffic Processing |
CN101651627A (zh) * | 2009-09-23 | 2010-02-17 | 杭州华三通信技术有限公司 | 一种媒体访问控制mac地址表项学习方法和装置 |
-
2010
- 2010-04-01 CN CN201010138490.3A patent/CN102215152B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060182118A1 (en) * | 2005-02-01 | 2006-08-17 | Hong Kong Applied Science and Technology Research Institute Company Limited | System And Method For Efficient Traffic Processing |
CN101651627A (zh) * | 2009-09-23 | 2010-02-17 | 杭州华三通信技术有限公司 | 一种媒体访问控制mac地址表项学习方法和装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102760047A (zh) * | 2012-06-21 | 2012-10-31 | 杭州华三通信技术有限公司 | 一种虚拟设备端口迁移的方法和接口板 |
CN103685082A (zh) * | 2012-09-21 | 2014-03-26 | 杭州华三通信技术有限公司 | 一种在交换机上实现虚拟设备的方法和装置 |
CN103685082B (zh) * | 2012-09-21 | 2017-06-16 | 新华三技术有限公司 | 一种在交换机上实现虚拟设备的方法和装置 |
CN102946354A (zh) * | 2012-11-15 | 2013-02-27 | 华为技术有限公司 | 一种报文转发的方法、装置及网络设备 |
CN102946354B (zh) * | 2012-11-15 | 2016-11-23 | 华为技术有限公司 | 一种报文转发的方法、装置及网络设备 |
CN103684965A (zh) * | 2013-12-06 | 2014-03-26 | 杭州华三通信技术有限公司 | 基于虚拟设备配置的交换设备和报文转发方法 |
CN103684965B (zh) * | 2013-12-06 | 2017-07-14 | 新华三技术有限公司 | 基于虚拟设备配置的交换设备和报文转发方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102215152B (zh) | 2014-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2883123B1 (en) | Forwarding packet in stacking system | |
US9973422B2 (en) | Traffic interconnection between virtual devices | |
EP2355404A1 (en) | Method, device and system for forwarding multicast packets | |
CN102340434B (zh) | 基于多归属接入的环路避免方法和边缘设备 | |
CN109121026B (zh) | 一种基于逻辑端口实现volt的方法及系统 | |
CN100407704C (zh) | 媒体接入控制层地址的动态学习方法 | |
CN102215152A (zh) | 一种在虚拟设备之间实现流量间隔的方法和系统 | |
CN107204907B (zh) | 云数据中心互联方法及装置 | |
CN103152239A (zh) | 一种基于Open VSwitch的虚拟网络实现方法和系统 | |
CN104734953A (zh) | 基于vlan实现报文二层隔离的方法、装置及交换机 | |
CN104734930B (zh) | Vlan接入vf网络的实现方法及装置、fcf | |
CN106453155B (zh) | 一种报文处理方法和装置 | |
CN103684861A (zh) | 网络配置的处理方法和装置以及通信系统 | |
CN105188104A (zh) | 一种无线网络通信的实现方法 | |
US20110176808A1 (en) | Method and device for multicast processing | |
CN106027396A (zh) | 一种路由控制方法、装置和系统 | |
CN104734961B (zh) | 基于fc交换网络的路由选择方法 | |
KR101297533B1 (ko) | 네트워크 온 칩 성능 향상을 위한 xy-yx 라우팅 장치 및 방법 | |
CN106209690A (zh) | 一种同步配置信息的方法、主设备和备设备 | |
CN102546348B (zh) | 一种网络处理器实现多种三层接口的方法和网络处理器 | |
CN105376231A (zh) | 一种实现业务隔离的方法及装置 | |
CN103220224B (zh) | 报文转发的处理方法和装置及网络设备 | |
CN107124307B (zh) | 一种管理vlan切换方法及装置 | |
CN113630481B (zh) | Sdn中一种自动带内控制面构建方法及系统 | |
CN102263692A (zh) | 三层交换机及用于三层交换机的路由方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |