- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
虚拟交换设备的设计和管理实现.doc
虚拟交换设备的设计和管理实现
摘 要 本文介绍了在一台物理设备上虚拟出多台虚拟设备的实现方案,以及针对这些虚拟交换设备的管理方法。
关键词 虚拟交换设备;VSD
中图分类号TP39 文献标识码A 文章编号 1674-6708(2013)98-0000-00
1虚拟交换设备概述
在一些应用场景中,用户希望网络设备能够提供类似服务器“虚拟机”的能力,在一台物理设备上虚拟出多台虚拟设备,用以提升设备资源利用率,分别用于不同用户群管理,分别承载不同业务。例如,数据中心交换机引入“虚拟机”后,可以将一台物理网络设备虚拟成多台独立的逻辑网络设备,满足多业务区或多用户共享核心网络设备的需求。这样,在保证最佳安全性的同时,可以极大地提升了设备利用率,并有效地降低网络投资。
源于上述用户需求,我们提出了虚拟交换设备(Virtual Switch Device,VSD)的概念。VSD技术允许网络管理者在一台物理设备中创建多个虚拟交换设备,每一个虚拟交换设备(在本文中后续统一称之为VSD)都拥有自身的软件进程、硬件资源以及独立的管理环境,可以实现独立的安全管理界限划分和故障隔离。VSD是在一台物理设备上,虚拟出来的逻辑设备,但从业务功能方面上看,和单台的物理设备没有区别。
2 VSD的虚拟化
为了能把一台设备虚拟成多台设备,可以有多种虚拟化方案,其中一种方式是在业务和协议上隔离。在这种方案中,VSD可以看成运行在同一物理设备上的多个“虚拟机”,它们拥有自己的硬件资源,独立的数据转发面和协议栈。每个VSD都可以独立运行,都可以像单独的设备一样重启,而不影响其他VSD。
VSD的划分是基于业务的,因此支持VSD的业务需要在每一个VSD中运行一份实例。这样VSD之间在进程这一级别上就实现了隔离,如果某个VSD出现故障,不会影响到其他VSD的正常工作。
VSD作为一个单独的逻辑实体在物理设备中运行,具有其自己独立的软件进程集合,并拥有各自独立的配置,每个VSD可以由一个单独的管理员负责管理。Linux网络操作系统将空间划分为用户空间(又称为进程空间)和内核空间,VSD软件的进程集合运行在进程空间,不同的VSD软件进程集合是独立的。当一个VSD出现故障的时候,重新运行这个VSD中的软件程序就可以恢复。
网络设备的内核空间运行的主要是数据转发平面相关的模块,每个VSD都可以独立地与操作系统内核中的转发平面进行通信,可以通过内核转发平面所提供的接口进行数据报文收发。内核转发平面能够根据报文所携带的标识区分不同VSD的数据,不同VSD的数据转发不会互相串扰。
如上图,在一台物理设备虚拟出多个VSD,其中VSD-0是一个特殊的域,由VSD-0创建出其他VSD。因此,VSD-0也可以称为根(ROOT)VSD或者超级VSD,其他VSD称为客户VSD。在根VSD中,存在一个VSD管理程序,用于创建、删除和管理其他客户VSD。
2.1资源分配
在缺省情况下,整个物理网络设备在逻辑上为单个VSD(默认VSD,即上文所述的VSD-0)。在创建一个新VSD的时候,系统平台需要将硬件资源分配给该VSD,包括CPU、内存、文件系统以及物理网络接口,并且每个VSD都维护自己的配置文件。
为不同的虚拟设备隔离和分配硬件资源,可以有效地隔离和遏制故障。在创建VSD的时候,需要灵活区分硬件资源,将硬件资源分配到特定的虚拟设备。为了隔离故障的需要,一些硬件资源可以设置为非共享的。例如以太网端口等资源可以专门用于某个VSD,一旦某个端口被分配给一个VSD之后,其他VSD就将无法使用该端口。
2.2运行程序集
在VSD虚拟化方案中,VSD是一个应用程序的集合,运行时则是进程的集合。为了使每个VSD能提供独立的业务功能,各个业务软件程序将在每个VSD中启动一份进程实例,不同VSD中的实例之间是没有关联的,在进程级别上是隔离的。因此,在创建VSD的时候,需要同时确定在该VSD中运行的应用程序的集合。
为了实现上述隔离效果,网络操作系统平台在启动一个VSD时,会在该VSD的空间内加载集合中的应用程序,这些应用程序也会在该VSD的空间中创建业务相关的进程。同样,在关闭一个VSD时候,也需要关闭该VSD中所运行的应用程序,以及终止这些应用程序所创建的所有进程。
在网络操作系统的进程空间中,进程之间交换数据采用IPC(进程间通信)方式。采用IPC方式的进程,需要知道对方的所在,例如采用Unix域套接口(Unix Domain Socket)的方式,就需要知道对端通讯协议地址所绑定的文件路径。由于不同的VSD具有独立的文件系统空间和工作目录,并且除了根VSD中的少数进程(主要是VSD管理模块)以外,
文档评论(0)