网络虚拟化方法及装置的制造方法_3

文档序号:9754271阅读:来源:国知局
封装,将封装后的报文发往vChannel。
[0079]例如:若虚拟通道协议为MPLS协议,则采用MPLS协议规定的标准封装对报文进行封装。
[0080]步骤208:当根节点设备从vChannel上接收到封装报文时,根据vChannel采用的虚拟通道协议,对该报文进行解封装,得到原始的数据报文,在自身的路由转发表中查找对应的表项,根据该表项将该数据报文从自身的NNI转发出去。
[0081]根节点设备上的路由转发表采用现有技术建立,在此不再赘述。
[0082]若根节点设备在自身的路由转发表中未查找到数据报文对应的表项,则:若本设备上存在缺省路由表项,则按照缺省路由表项转发;若无缺省路由表项,则丢弃该报文。
[0083]当根节点设备为由多台物理设备组成的逻辑设备时,从vChannel发来的报文具体由哪台物理设备来处理,可采用如下方式:
[0084]一、预先设定全部由主设备处理,此时,收到报文的设备若发现自己不是主设备,要将报文转发给主设备;
[0085]二、由收到报文的设备自己处理。
[0086]当叶节点设备从vChannel上接收到封装报文时,对该报文进行解封装后,将得到的数据报文从该vChannel的UNI发送出去。
[0087]图3为本申请应用示例一,在该示例中虚拟设备的创建过程如下:
[0088]步骤01:预先在虚拟化控制器Controller及其控制域内的各物理设备之间建立管理通道;预先在控制域内的各物理设备上配置Controller的IP地址;预先在Controller和控制域内的各物理设备上配置管理协议如:SNMP协议、同时配置虚拟通道协议如:MPLS协议。
[0089]步骤02:各物理设备启动后,采用SNMP协议通过管理通道向Controller上报本设备与其它物理设备的连接关系及本设备的UNI信息,Controller根据所有物理设备上报的连接关系得到控制域的网络拓扑。
[0090]步骤03 !Controller确定要创建虚拟设备1:Vdevicel。
[0091]步骤04 Controller根据控制域的网络拓扑,为Vdevicel选择根节点设备:物理设备E。
[0092]步骤05:Controller为Vdevicel的根节点设备添加NNI接口:物理设备E的接口剛11 ο
[0093]步骤06 Controller根据控制域的网络拓扑为Vdevicel选择叶节点:物理设备A、B0
[0094]步骤07 Controller根据物理设备A、B上报的UNI信息,为Vdevicel的叶节点设备添加UNI接口:物理设备A的接口 UNII,物理设备B的接口 UNI2。
[0095]步骤08 Controller针对UNIl和UNI2,在根节点设备E上创建两个vPort:vPort I 和 vPort2,其中,vPort I 对应 UNI I, vPort2 对应 UNI2。
[0096]步骤09: Contro I Ier要在UNIl和vPort I之间建立vChannel I,向根节点设备E、叶节点设备A和各中间节点设备下发MPLS协议使能命令。
[0097]步骤10:根节点设备E、叶节点设备A和各中间节点设备收到MPLS协议使能命令,使能MPLS协议。
[0098]步骤11:ControI Ier向根节点设备E发送vChannel建立命令,命令中携带vPort I标识和L2VPN实例信息;同时向叶节点设备A发送vChannel建立命令,命令中携带UNII标识和L2VPN实例信息。
[0099]步骤12:根节点设备E收到vChannel建立命令后,将命令中的L2VPN实例信息绑定到vPortl上;叶节点设备A收到vChannel建立命令后,将命令中的L2VPN实例信息绑定到UNIl上。
[0100]Controller可采用与步骤09?12类同的方式在UNI2与vPort2之间建立vChannel2。
[0101]步骤11:当叶节点设备A从UNIl上接收到一个数据报文,根据UNIl对应的vChannel I采用的虚拟通道协议:MPLS协议,采用MPLS协议定义的标准封装方式对该报文进行封装,将封装后的报文发送到vChannlel上。
[0102]步骤12:根节点设备E从vPortl接收到该报文,根据vPortl对应的vChannell采用的虚拟通道协议=MPLS协议,采用MPLS协议定义的标准解封装方式对该报文进行解封装,得到原始的数据报文,在自身查找该报文对应的路由转发表项,根据该表项将该报文转发出去。
[0103]Contrller可采用与创建vDevicel类同的方式创建vDevice2。
[0104]可见,控制域内的所有物理设备可以虚拟为多台虚拟设备(如图3所示),也可以虚拟为单台虚拟设备(如图4所示);同时,一台物理设备的不同端口可以属于不同的虚拟设备,g卩,一台物理设备可以属于不同虚拟设备,但一台物理设备的一个端口只能属于一台虚拟设备。
[0105]本申请实施例提供的虚拟化控制器是可以软硬件结合的可编程设备,从硬件层面而言,控制器的硬件架构示意图具体可以参见图5。图5为本申请实施例提供的包含网络虚拟化装置的虚拟化控制器的硬件结构示意图。该控制器中包括:非易失性存储器、CPU、内存和其它硬件,其中:
[0106]非易失性存储器:存储指令代码;所述指令代码被CPU执行时完成的操作主要为内存中的网络虚拟化装置完成的功能。
[0107]CPU:与非易失性存储器通信,读取和执行非易失性存储器中存储的所述指令代码,完成上述网络虚拟化装置完成的功能。
[0108]内存,当非易失性存储器中的所述指令代码被执行时完成的操作主要为内存中的网络虚拟化装置完成的功能。
[0109]从软件层面而言,如图6所示,应用于虚拟化控制器中的网络虚拟化装置主要包括:节点虚拟化模块和虚拟通道建立控制模块,其中:
[0110]节点虚拟化模块:选择一台或者多台物理设备作为根节点设备;选择一台或多台物理设备,将每台物理设备分别作为一个叶节点设备。
[0111]虚拟通道建立控制模块:获取所有叶节点设备上的UNI,针对每个UNI分别在根节点设备上创建一个虚拟端口,并记录UNI与虚拟端口的对应关系;针对每对UNI与虚拟端口,控制对应的根节点设备和叶节点设备在该UNI与虚拟端口之间建立虚拟通道,以使得:根节点设备和叶节点设备通过该虚拟通道交互数据。
[0112]其中,虚拟通道建立控制模块控制建立的虚拟通道为基于多协议标签交换MPLS转发的二层虚拟专网L2 VPN通道,或者基于IP转发的虚拟扩展局域网VxLAN通道,或者基于802.1BR的通道,或者基于虚拟局域网VLAN转发的QINQ通道。
[0113]其中,节点虚拟化模块进一步用于,对于每个叶节点设备,虚拟化控制器从该叶节点设备上选择一个或多个物理端口,将选择的物理端口作为虚拟设备的UNI。
[0114]其中,虚拟通道建立控制模块控制对应的根节点设备和叶节点设备在该UNI与虚拟端口之间建立虚拟通道包括:向该UNI所在的叶节点设备、该虚拟端口所在的根节点设备、以及该UNI与该虚拟端口互通时所经过的所有中间节点设备发送虚拟通道协议使能命令,该命令中携带虚拟通道协议标识,以使得:所述叶节点设备、根节点设备和中间节点设备根据所述虚拟通道协议使能命令使能对应的虚拟通道协议;向所述叶节点设备和根节点设备发送虚拟通道建立命令,其中,向所述叶节点设备发送的命令中携带该UNI标识和虚拟通道配置信息,向所述根节点设备发送的命令中携带该虚拟端口标识和虚拟通道配置信息,以使得:所述叶节点设备和根节点设备根据所述虚拟通道建立命令在对应端口上进行相应的虚拟通道配置。
[0115]上述的网络虚拟化装置作为一个逻辑意义上的装置,其是通过CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。当对应的计算机程序指令被执行时,形成的网络虚拟化装置用于按照上述实施例中的网络虚拟化方法执行相应操作。
[0116]本申请实施例提供的根节点设备是可以软硬件结合的可编程设备,从硬件层面而言,根节点设备的硬件架构示意图具体可以参见图7。图7为本申请实施例提供的包含网络虚拟化装置的根节点设备的硬件结构示意图。该根节点设备中包括:非易失性存储器、CPU、内存和其它硬件,其中:
[0117]非易失性
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1