基于虚拟设备的虚拟交换机设计

时间:2022-09-26 05:08:04

基于虚拟设备的虚拟交换机设计

摘要:网络虚拟化为共享在同一主机上的多个虚拟机创造了一个新的网络接入层。传统模式网络部署方式已经不能满足虚拟化部署环境对网络的要求。这个新的虚拟网络接入层合理的隔离了系统软件和实际的物理设备,虚拟网络接入层还提供了物理网络层不具有的优势,例如灵活的软件配置,弹性的功能扩展。设计虚拟网络交换机,通过采用虚拟设备引入一个软件抽象层,该抽象层将流量从物理网络元素中分离出来。通过这些虚拟设备可以合理动态的管理虚拟化网络资源,有效的整合这些虚拟网络元素。介绍虚拟交换机是如何设计的,可以用来解决虚拟环境中虚拟机跨子网的流动性和虚拟主机之间流量的逻辑隔离等问题。

关键词:计算机应用技术;网络虚拟化;虚拟交换机

中图分类号:TP317 文献标识码:A DOI:10.3969/j.issn.1003-6970.2012.01.011

引言

虚拟化技术已经改变了我们的计算方式,例如,许多数据中心完全虚拟化用以提供快速配置,基于虚拟化的云计算可以更好的利用资源。通过虚拟化可以对包括基础计算机设施、计算机系统和软件等资源进行统一管理和抽象,以此来提供弹性可扩展的云服务。

随着虚拟化技术的发展,一个新的网络接入层被引入用以建立虚拟机内部的网络连接,提供许多与物理层相同的功能。服务器虚拟化技术目前发展已经相对成熟,而虚拟化在网络方面的进展才刚刚开始。特别是服务器虚拟化对网络的可移动性,弹性扩展以及网络隔离的要求远远超出了目前物理网络的处理能力。

数据中心可以负载成百上千的虚拟机,因此多租户之间的网络隔离要求变的愈加重要。

网络虚拟化还提供一些附加功能,使网络管理更容易。例如,在虚拟化环境中,虚拟化层可以提供有关虚拟主机动态迁移的相关信息。

本文的其余部分安排如下:第一节描述了虚拟机内部的网络结构;第二节描述了实际物理网络与虚拟网络环境的不同之处;第三节介绍软件实现的虚拟交换层设计;第四节是虚拟交换机的主要应用场景。

1基于流的虚拟交换技术

基于流的网络交换技术提供了一个有效的网络交换方案,采取用软件定义网络的方式,使得用户可以忽略底层硬件的具体情况,直接对流量进行管理并设置数据报文以何种方式通过网络。

用软件来统一管理物理设备,借鉴网络TCP/IP协议的数据链路层桥接原理和网络层协议的设计思想,利用软件实现和硬件实现结合的方式对现有的网络结构予以重新定义,在系统上实现一个虚拟的交换层,除了具有高效的传输能力还可以为云基础网络提供智能的监控服务。

用软件实现的方式具有强壮的伸缩性,灵活性和移动性,方便系统扩展。

2流分组交换的层次结构

流分组交换分为两层,物理设备虚拟化和网络协议层虚拟化。

2.1物理设备虚拟化

物理设备虚拟化是指利用软件来对网卡设备进行抽象,使用用户层软件对物理网卡实现逻辑划分,划分后的设备既可以实施流量控制和负载均衡策略又能高效的利用设备资源,虚拟化后的网卡设备具有和物理网卡一样的功能,硬件实现的资源划分不易动态扩展,软件虚拟以后可以按照需求动态进行资源划分。

通过虚拟技术将一台或多占物理设备虚拟成至少一台逻辑设备,供多个用户进程同时使用,通常把这种经过虚拟的设备称为虚拟设备.虚拟设备一定和实际的物理设备绑定才可以使用。

2.1.1虚拟设备模型

虚拟设备是建立在一个或者多个真实设备之上的抽象。合理使用虚拟设备可以在一个物理设备上构建多个逻辑上的虚拟设备,通过软件的配置,这些虚拟设备可以实现硬件所具有的功能。虚拟设备和真实设备可能的模型有如下几种,实际上应用可根据需求选择其中几种模式。

虚拟设备的建立和管理需要统一的虚拟软件的支持。在虚拟软件的控制下,物理设备可以根据上层需求灵活高效的配置组织出虚拟设备。这可以极大的提高硬件设备的利用率,在规模上可以化大为小又可以积少成多。

2.1.2虚拟设备的管理

虚拟设备管理分为两个部分:

用户态虚拟平台管理,可以用来配置和查看设备的状态,用户可以在用户空间查看和修改虚拟设备的属性文件。

通过内核模块编程管理,由内核直接管理,主要负责物理设备运行和数据通信。

2.2网络协议层虚拟化

利用软件抽象的灵活性重新定义数据链路层和网络层结构,引入一个虚拟管理层来实现数据链路层和网络层,把传统定义的0SI七层协议的网络层和物理链路层压缩为虚拟网络层。

这样就可以把数据链路层和网络层的数据整合成一个数据流,扁平化了网络结构。每个经过虚拟网络层的数据报文均被重新标记。这个数据报文既包含了链路层信息又包含了网络层信息,基本可以对每个数据报文按照逻辑链路准确分类。

网络中的数据报文就可以组织成一个一个的数据流,组织成数据流的好处在于用户可以根据需要对每个数据流进行属性定义,比如QOS策略定制,数据报文的检测和隔离,网络负载均衡等等。

报文基于流分类,就不再需要在物理链路层运行生成树协议,减少了数据报文的转发延迟,降低了网络的流量负载。

3流分组交换

应用基于流分组交换技术对已有的网络协议不用改动,所有的交换工作都在内核协议栈部分完成,大大增加数据交换效率,但是需要在内核协议栈数据结构上添加一些关于数据流控制相关信息用以标识当前处理的数据报文属于哪个数据流。

经过标记后的逻辑数据报文头部结构如下,逻辑报文的生存时间TTL是为了防止逻辑报文在网络中过久滞留而导致网络队列太长而溢出,同时也能保证数据帧不会在成环的链路中被无限次转发,这是实现两点之间多路径转发的基础。虚拟机的虚拟网卡对每个发出的数据报文的控制信息进行标记,与之相连的交换节点接收到数据包后,会根据全局控制器的数据建立一张虚拟连接表,交换节点根据数据报文的控制信息查找虚拟表然后将数据报文转发到目的端口完成一次数据报文交换。

每条虚拟连接可以包含多个虚拟端口,这些虚拟端口被划分为一个逻辑组。有了这个逻辑组可以进行更复杂的交换功能,例如多路径转发,快速路由,链路集成,负载均衡,流量整形,例如图x所示,每个数据流会根据流量使用多个端口,以加快数据报文的转发,多个虚拟连接的数据流可以转发到具有同样操作需求的端口。

基于流的分组交换可以在虚拟机内部网络通信时设定较大的MTU数据包来提高数据报文的转发效率,因为在内核协议栈可以避免IP分组和重装的过程,降低了数据报文的转发延时。

对于每个虚拟端口和虚拟连接,可以自由配置匹配规则用以对数据报文进行匹配和过滤。比如某个端口限制IP地址为10.0.0.的数据包发送,如果接收到类似的数据包,就抛弃掉。

流分组交换需要维护一张虚拟连接表,每个表项唯一标识了一条数据流、应用在经过该数据流的报文需要执行的操作和该数据流的统计信息。

这个域可以唯一的确定一条数据流,里面包含数据报文的

物理地址,IP地址,虚拟局域网ID等等。

虚拟连接计数器

该域定义了一组计数器,用来统计该虚拟连接接收和发送数据包总数,连接的端口总数等等。

虚拟连接规定执行的操作

这个域定义了数据报文经过该虚拟连接时需要执行的操作,例如,匹配规则的修改,数据报文转发,数据报文丢弃等等,用户可以自定义。

3.1流分组交换控制

流分组交换可以实现的重要前提就是流分组交换控制器。流分组交换控制器负责建立和移除虚拟连接表,虚拟连接表的规则设置,物理虚拟设备的参数配置,数据统计信息获取,QoS设置,虚拟防火墙配置,VLAN划分等等。

流分组交换控制器负责监控所有的虚拟连接表,这样虚拟机内部网络的流量状况就可以全方位的被监测,凭借以前的物理设备这是做不到的

基于流交换的数据报文若不与外界通信,则数据报文就可以不用经过物理网卡而直接在内存中进行交换,这个机制也非常大的提高了交换的性能,提高了报文的转发速度。

传统的数据链路层需要运行生成树协议来去除回环通路,MAC地址学习也占用了数目可观的网络流量,现在可以用控制器来为所有的虚拟设备维护一个全局的转发路径,这就省去了生成树协议造成的数据帧转发的延迟以及增加的额外网络流量。

流交换分组控制器要根据配置文件生成虚拟连接表,创建或者移除虚拟连接,维护虚拟端口和虚拟连接的存储队列,为虚拟连接和虚拟端口配置数据报文处理规则。

3.2流分组控制协议

流分组交换控制器通过Netlink套接字和内核进程通信通信,也是网络应用程序与内核通信的最常用的接口。Netlink是一种异步通信机制,在内核与用户态应用之间传递的消息保存在socket缓存队列中,发送消息只是把消息保存在接收者的socket的接收队列,而不需要等待接收者收到消息。

流分组交换控制器和流分组交换模块之间通过Netlink建立一个普通的TCP连接,是一种基于进程间通信机制。流交换控制器和交换模块之间信息交换采用自定义的一套协议。

控制信息事务ID用以标识同一对流分组交换控制器和流交换模块之间的配置过程,例如本次A发送给B的控制信息,B必须要用同一个事务ID来回复A的请求,以区分A发送给B的另外的控制信息。

控制信息类型:

配置信息主要是通知流分组交换模块端口配置数据,端口队列配置数据等等。流分组交换控制器通过控制协议获取各个交换模块和内置的虚拟端口信息,可以对虚拟连接表进行全局性操作,又可以高效的检测网络的状态,未来的工作还会实现根据网络监控结果自动化的调节各个交换节点的配置信息。

4结论

利用虚拟网络设备的特性以及软件抽象的灵活,构建虚拟交换机来实现可扩展的数据链路层。虚拟化技术在一般的网络基础设施本身方面还有很多工作要做。旨在获得虚拟化的优势,如隔离性,灵活性和流动性。可实现弹性、安全、自适应以及易管理的云计算基础网络。

参考文献

[1]《虚拟化与云计算》小组.虚拟化与云计算[J].北京:电子工业出版社,2009

[2]吴朱华.云计算核心技术剖析[J].北京:人民邮电出版社,2011-5

[3]卞佳丽.现代交换原理与通信网技术[J].北京:北京邮电大学出版社,2005-5

上一篇:特种设备智能系统设计中的关键技术 下一篇:基于分层架构的无线传感器网络节点编号分配算...