一 : 求可视电话实现以及技术原理??
可视电话业务是一种点到点的视频通信业务,它能利用电话网双向实时传输通话双方的图像和语音信号。由于可视电话能收到面对面交流的效果,实现人们通话时既闻其声、又见其人的梦想,因此自从概念提出后就受到普遍的好评,人们纷纷对她寄予厚望。但是,经过漫长的等待之后,可视电话一直没有得到广泛应用,始终离普通用户很远很远。可视电话只是一种炒作吗?如果不是,那么可视电话发展情况如何?市场前景怎样呢?
坎坷几十年
可视电话从概念提出、技术发展到市场启动,经历了种种坎坷和曲折。尤其在中国,可视电话市场长期处于雷声大、雨点小的境地,市场迟迟未能启动。很少有用户终端经过几十年的研制和发展仍基本停留在书本上,未能获得大规模应用,而可视电话恰恰就处于这不幸的行列。
“www.61k.com。早在上个世纪五六十年代就有人提出可视电话的概念,认为应该利用电话线传输语音的同时传输图像。1964年,美国贝尔实验室正式提出可视电话的相关方案。但是,由于传统网络和通信技术条件的限制,可视电话一直没有取得实质性进展。直到80年代后期,随着芯片技术、传输技术、数字通信、视频编解码技术和集成电路技术不断发展并日趋成熟,适合商用和民用的可视电话才得以浮出水面,走向人们的视野。
编解码芯片技术是可视电话发展的关键,没有核心编解码芯片,可视电话只能是无源之水、无本之木。语音和图像在传输时,必须经过压缩编码-解码的过程,而芯片正是承担着编码解码的重任,只有芯片在输出端将语音和图像压缩并编译成适合通讯线路传输的特殊代码,同时在接收端将特殊代码转化成人们能理解的声音和图像,才能构成完整的传输过程,让通话双方实现声情并茂的交流。
传输线路影响可视电话的通信质量。传统的电话线是普通的双绞线,主要用来传输语音,视音频同时传输时,其传输速率仅能达到33.6K,所以在普通电话线的支持下,不能传输清晰连贯的图像。
协议标准不统一,影响市场推广。长期以来,虽然有厂家推出可视电话,但由于他们各自为政,没有统一的行业标准,各种可视电话不能互通,影响了可视电话市场的拓展。在协议标准不统一的情况下,只有用户购买了同一型号的可视电话才能达到“可视”效果,如果甲用户买了甲厂家的可视电话,而乙用户买的是乙家的,那么他们通话就没法“可视”了。
正因为技术、线路和行业管理等方面存在问题,所以造成了可视电话几十年仍远离用户,市场没有起色。
——电话作为人们日常生活、工作中不可或缺的通讯工具,以其方便、快捷等特点被广泛应用,但普通电话机只能是“只闻其声,不见其人”。希望在通话的同时能看到对方的音容笑貌成了许多人梦寐以求的愿望。今年春节,北京、上海、广州等10多家地方电信部门联手在全国首次推出了可视电话大拜年活动,使人们通过电话与远隔千山万水的亲人、朋友见面的心愿实现了,可视电话的推出无疑给人们提供了更多的便利。
——可视电话属于多媒体通信范畴,是一种有着广泛应用领域的视讯会议系统,使人们在通话时能够看到对方影像,它不仅适用于家庭生活,而且还可以广泛应用于各项商务活动、远程教学、保密监控、医院护理、医疗诊断、科学考察等不同行业的多种领域,因而有着极为广阔的市场前景。
——据专家介绍,可视电话在传输信道上可分为PSTN(公用电话网)型、ISDN(综合业务数字网)型、专网型等多种方式。在PSTN上工作的可视电话,每秒钟可以传输10—15帧画面;在ISDN上工作的可视电话,每秒钟可以传输15帧以上的画面。目前,可视电话产品主要有两种类型,一类是以个人电脑为核心的可视电话,除电脑外还配置有摄像机(或小型摄像头)、麦克风和扬声器等输入输出设备;另一类是专用可视电话设备(如一体型可视电话机),它能像普通电话一样,直接接入家用电话线进行可视通话。由于普通电话线普及率很高,因此在公用电话网上工作的可视电话最具发展潜力。
——近年来,可视电话在发达国家发展迅速。随着1996年国际电信联盟PSTN多媒体可视电话国际标准ITU—IH.324标准的公布,符合该标准的可视电话在美国、日本、德国纷纷开发出来并很快进入居民家庭;在国内虽受多种因素制约可视电话一时难以普及,但在一些政府部门、企业、团体的使用率在逐渐提高。价格相对低廉的可视电话也在加紧开发研制之中。目前,我国华南光电仪器厂、深圳雅翔工贸发展有限公司(与台湾星河电子有限公司合作)、山东科凌电子系统有限公司等均有新型可视电话产品面市。这些新品均采用了先进的数字压缩解压技术,符合ITU—TH.324标准,其利用覆盖面最广的PSTN(公用电话网)为载体,只需将可视电话机与普通电话线相连并接通电源,便可轻松拨打可视电话,在屏幕上显示己方和对方的动态影像,让通话双方充分享受身临其境的现场感觉,而通话费与普通电话一样。
——变天涯为咫尺,集四海为一家。随着人们对快捷、先进、实用通信方式的不断追求,可视电话无疑有着极大的发展潜力。未来几年,可视电话将会迈入寻常百姓家中
二 : 虚拟专用网:虚拟专用网-技术简介,虚拟专用网-提出原因
虚拟专用网指的是在公用网络上建立专用网络的技术。其之所以称为虚拟网,主要是因为整个VPN网络的任意两个节点之间的连接并没有传统专网所需的端到端的物理链路,而是架构在公用网络服务商所提供的网络平台,如Internet、ATM(异步传输模式〉、Frame Relay (帧中继)等之上的逻辑网络,用户数据在逻辑链路中传输。
虚拟专用网_虚拟专用网 -技术简单介绍
在传统的企业网络配置中,要进行异地局域网之间的互连,传统的方法是租用DDN(数字数据网)专线或帧中继。这样的通讯方案必然导致高昂的网络通讯/维护费用。对于移动用户(移动办公人员)与远端个人用户而言,一般通过拨号线路(Internet)进入企业的局域网,而这样必然带来安全上的隐患。
虚拟专用网指的是依靠ISP(Internet服务提供商)和其它NSP(网络服务提供商),在公用网络中建立专用的数据通信网络的技术。在虚拟专用网中,任意2个节点之间的连接并没有传统专网所需的端到端的物理链路,而是利用某种公众网的资源动态组成的。IETF草案理解基于IP的VPN为:"使用IP机制仿真出1个私有的广域网"是通过私有的隧道技术在公共数据网络上仿真一条点到点的专线技术。所谓虚拟,是指用户不再需要拥有实际的长途数据线路,而是使用Internet公众数据网络的长途数据线路。所谓专用网络,是指用户可以为自己制定1个最符合自己需求的网络。
用户在电信部门租用的帧中继(Frame Relay)与ATM等数据网络提供固定虚拟线路(PVC-Permanent Virtual Circuit)来连接需要通讯的单位,所有的权限掌握在别人的手中。如果用户需要一些别的服务,需要填写许多的单据,再等上相当一段时间,才能享受到新的服务。更为重要的是两端的终端设备不但价格昂贵,而且管理也需要一定的专业技术人员,无疑增加了成本,而且帧中继、ATM数据网络也不会像Internet那样,可立即与世界上任何1个使用Internet网络的单位连接。而在Internet上,VPN使用者可以控制自己与其他使用者的联系,同时支持拨号的用户。
所以我们说的虚拟专用网一般指的是建筑在Internet上能够自我管理的专用网络,而不是Frame Relay或ATM等提供虚拟固定线路(PVC)服务的网络。以IP为主要通讯协议的VPN,也可称之为IP-VPN。
由于VPN是在Internet上临时建立的安全专用虚拟网络,用户就节省了租用专线的费用,在运行的资金支出上,除了购买VPN设备,企业所付出的仅仅是向企业所在地的ISP支付一定的上网费用,也节省了长途电话费。这就是VPN价格低廉的原因。
越来越多的用户认识到,随着Internet和电子商务的蓬勃发展,经济全球化的最佳途径是发展基于Internet的商务应用。随着商务活动的日益频繁,各企业开始允许其生意伙伴、供应商也能够访问本企业的局域网,从而大大简化信息交流的途径,增加信息交换速度。这些合作和联系是动态的,并依靠网络来维持和加强,于是各企业发现,这样的信息交流不但带来了网络的复杂性,还带来了管理和安全性的问题,因为Internet是1个全球性和开放性的、基于TCP/IP技术的、不可管理的国际互联网络,因此,基于Internet的商务活动就面临非善意的信息威胁和安全隐患。
虚拟专用网_虚拟专用网 -提出原因
虚拟专用网的提出就是来解决这些问题:
(1)使用VPN可降低成本——通过公用网来建立VPN,即可节省大量的通信费用,而不必投入大量的人力和物力去安装和维护WAN(广域网)设备和远程访问设备。
(2)传输数据安全可靠——虚拟专用网产品均采用加密及身份验证等安全技术,保证连接用户的可靠性及传输数据的安全和保密性。
(3)连接方便灵活——用户如果想与合作伙伴联网,如果没有虚拟专用网,双方的信息技术部门就必须协商如何在双方之间建立租用线路或帧中继线路,有了虚拟专用网之后,只需双方配置安全连接信息就可以。
(4)完全控制——虚拟专用网使用户可以利用ISP的设施和服务,同时又完全掌握着自己网络的控制权。用户只利用ISP提供的网络资源,对于其它的安全设置、网络管理变化可由自己管理。在企业内部也可以自己建立虚拟专用网。
虚拟专用网_虚拟专用网 -技术特点
安全保障
虽然实现VPN的技术和方式很多,但所有的VPN均应保证通过公用网络平台传输数据的专用性和安全性。在非面向连接的公用IP网络上建立1个逻辑的、点对点的连接,称之为建立1个隧道,可以利用加密技术对经过隧道传输的数据进行加密,以保证数据仅被指定的发送者和接收者了解,从而保证了数据的私有性和安全性。在安全性方面,由于VPN直接构建在公用网上,实现简单、方便、灵活,但同时其安全问题也更为突出。企业必须确保其VPN上传送的数据不被攻击者窥视和篡改,并且要防止非法用户对网络资源或私有信息的访问。ExtranetVPN将企业网扩展到合作伙伴和客户,对安全性提出了更高的要求。
服务质量保证
(QoS)
VPN网应当为企业数据提供不同等级的服务质量保证。不同的用户和业务对服务质量保证的要求差别较大。如移动办公用户,提供广泛的连接和覆盖性是保证VPN服务的1个主要因素;而对于拥有众多分支机构的专线VPN网络,交互式的内部企业网应用则要求网络能提供良好的稳定性;对于其它应用(如视频等)则对网络提出了更明确的要求,如网络时延及误码率等。所有以上网络应用均要求网络根据需要提供不同等级的服务质量。在网络优化方面,构建VPN的另一重要需求是充分有效地利用有限的广域网资源,为重要数据提供可靠的带宽。广域网流量的不确定性使其带宽的利用率很低,在流量高峰时引起网络阻塞,产生网络瓶颈,使实时性要求高的数据得不到及时发送;而在流量低谷时又造成大量的网络带宽空闲。QoS通过流量预测与流量控制策略,可以按照优先级分配带宽资源,实现带宽管理,使得各类数据能够被合理地先后发送,并预防阻塞的发生。
可扩充性和灵活性
VPN必须能够支持通过Intranet和Extranet的任何类型的数据流,方便增加新的节点,支持多种类型的传输媒介,可以满足同时传输语音、图像和数据等新应用对高质量传输以及带宽增加的需求。
可管理性
从用户角度和运营商角度应可方便地进行管理、维护。在VPN管理方面,VPN要求企业将其网络管理功能从局域网无缝地延伸到公用网,甚至是客户和合作伙伴。虽然可以将一些次要的网络管理任务交给服务提供商去完成,企业自己仍需要完成许多网络管理任务。所以,1个完善的VPN管理系统是必不可少的。VPN管理的目标为:减小网络风险、具有高扩展性、经济性、高可靠性等优点。事实上,VPN管理主要包括安全管理、设备管理、配置管理、访问控制列表管理、QoS管理等内容。
虚拟专用网_虚拟专用网 -安全技术
由于传输的是私有信息,VPN用户对数据的安全性都比较关心。
VPN主要采用四项技术来保证安全,这四项技术分别是隧道技术(Tunneling)、加解密技术(Encryption & Decryption)、密钥管理技术(Key Management)、使用者与设备身份认证技术(Authentication)。
隧道技术
隧道技术是VPN的基本技术类似于点对点连接技术,它在公用网建立一条数据通道(隧道),让数据包通过这条隧道传输。隧道是由隧道协议形成的,分为第二、三层隧道协议。第二层隧道协议是先把各种网络协议封装到PPP中,再把整个数据包装入隧道协议中。这种双层封装方法形成的数据包靠第二层协议进行传输。第二层隧道协议有L2F、PPTP、L2TP等。L2TP协议是IETF的标准,由IETF融合PPTP与L2F而形成。
第三层隧道协议是把各种网络协议直接装入隧道协议中,形成的数据包依靠第三层协议进行传输。第三层隧道协议有VTP、IPSec等。IPSec(IP Security)是由一组RFC文档组成,定义了1个系统来提供安全协议选择、安全算法,确定服务所使用密钥等服务,从而在IP层提供安全保障。
加解密技术
加解密技术是数据通信中一项较成熟的技术,VPN可直接利用现有技术。
密钥管理技术
密钥管理技术的主要任务是如何在公用数据网上安全地传递密钥而不被窃取。现行密钥管理技术又分为SKIP与ISAKMP/OAKLEY2种。SKIP主要是利用Diffie-Hellman的演算法则,在网络上传输密钥;在ISAKMP中,双方都有两把密钥,分别用于公用、私用。
使用者与设备身份认证技术
使用者与设备身份认证技术最常用的是使用者名称与密码或卡片式认证等方式。
虚拟专用网_虚拟专用网 -漏洞处理
安全问题是VPN的核心问题。VPN的安全保证主要是通过防火墙技术、路由器配以隧道技术、加密协议和安全密钥来实现的,可以保证企业员工安全地访问公司网络。
但是,如果1个企业的VPN需要扩展到远程访问时,就要注意,这些对公司网直接或始终在线的连接将会是黑客攻击的主要目标。因为,远程工作员工通过防火墙之外的个人计算机可以接触到公司预算、战略计划以及工程项目等核心内容,这就构成了公司安全防御系统中的弱点。虽然,员工可以双倍地提高工作效率,并减少在交通上所花费的时间,但同时也为黑客、竞争对手以及商业间谍提供了无数进入公司网络核心的机会。
但是,企业并没有对远距离工作的安全性予以足够的重视。大多数公司认为,公司网络处于一道网络防火墙之后是安全的,员工可以拨号进入系统,而防火墙会将一切非法请求拒之其外;还有一些网络管理员认为,为网络建立防火墙并为员工提供VPN,使他们可以通过1个加密的隧道拨号进入公司网络就是安全的。这些看法都是不对的。
在家办公是不错,但从安全的观点来看,它是1种极大的威胁,因为,公司使用的大多数安全软件并没有为家用计算机提供保护。一些员工所做的仅仅是进入一台家用计算机,跟随它通过一条授权的连接进入公司网络系统。虽然,公司的防火墙可以将侵入者隔离在外,并保证主要办公室和家庭办公室之间VPN的信息安全。但问题在于,侵入者可以通过1个被信任的用户进入网络。因此,加密的隧道是安全的,连接也是正确的,但这并不意味着家庭计算机是安全的。
黑客为了侵入员工的家用计算机,需要探测IP地址。有统计表明,使用拨号连接的IP地址几乎每天都受到黑客的扫描。因此,如果在家办公人员具有一条诸如DSL的不间断连接链路(通常这种连接具有1个固定的IP地址),会使黑客的入侵更为容易。因为,拨号连接在每次接入时都被分配不同的IP地址,虽然它也能被侵入,但相对要困难一些。一旦黑客侵入了家庭计算机,他便能够远程运行员工的VPN客户端软件。因此,必须有相应的解决方案堵住远程访问VPN的安全漏洞,使员工与网络的连接既能充分体现VPN的优点,又不会成为安全的威胁。在个人计算机上安装个人防火墙是极为有效的解决方法,它可以使非法侵入者不能进入公司网络。当然,还有一些提供给远程工作人员的实际解决方法:
* 所有远程工作人员必须被批准使用VPN
* 所有远程工作人员需要有个人防火墙,它不仅防止计算机被侵入,还能记录连接被扫描了多少次
* 所有的远程工作人员应具有入侵检测系统,提供对黑客攻击信息的记录
* 监控安装在远端系统中的软件,并将其限制只能在工作中使用
* IT人员需要对这些系统进行与办公室系统同样的定期性预定检查
* 外出工作人员应对敏感文件进行加密
* 安装要求输入密码的访问控制程序,如果输入密码错误,则通过Modem向系统管理员发出警报
* 当选择DSL供应商时,应选择能够提供安全防护功能的供应商。
虚拟专用网_虚拟专用网 -解决方案
VPN有3种解决方案,用户可以根据自己的情况进行选择。这3种解决方案分别是:远程访问虚拟网(AccessVPN)、企业内部虚拟网(IntranetVPN)和企业扩展虚拟网(ExtranetVPN),这3种类型的VPN分别与传统的远程访问网络、企业内部的Intranet以及企业网和相关合作伙伴的企业网所构成的Extranet相对应。
AccessVPN
如果企业的内部人员移动或有远程办公需要,或者商家要提供B2C的安全访问服务,即可考虑使用AccessVPN。
AccessVPN通过1个拥有与专用网络相同策略的共享基础设施,提供对企业内部网或外部网的远程访问。AccessVPN能使用户随时、随地以其所需的方式访问企业资源。AccessVPN包括模拟、拨号、ISDN、数字用户线路(xDSL)、移动IP和电缆技术,能够安全地连接移动用户、远程工作者或分支机构。
AccessVPN最适用于公司内部经常有流动人员远程办公的情况。出差员工利用当地ISP提供的VPN服务,即可和公司的VPN网关建立私有的隧道连接。RADIUS服务器可对员工进行验证和授权,保证连接的安全,同时负担的电话费用大大降低。
AccessVPN对用户的吸引力在于:
* 减少用于相关的调制解调器和终端服务设备的资金及费用,简化网络
* 实现本地拨号接入的功能来取代远距离接入或800电话接入,这样能显著降低远距离通信的费用
* 极大的可扩展性,简便地对加入网络的新用户进行调度
* 远端验证拨入用户服务(RADIUS)基于标准,基于策略功能的安全服务
* 将工作重心从管理和保留运作拨号网络的工作人员转到公司的核心业务上来。
IntranetVPN
如果要进行企业内部各分支机构的互联,使用IntranetVPN是很好的方式。
越来越多的企业需要在全国乃至世界范围内建立各种办事机构、分公司、研究所等,各个分公司之间传统的网络连接方式一般是租用专线。显然,在分公司增多、业务开展越来越广泛时,网络结构趋于复杂,费用昂贵。利用VPN特性可以在Internet上组建世界范围内的IntranetVPN。利用Internet的线路保证网络的互联性,而利用隧道、加密等VPN特性可以保证信息在整个IntranetVPN上安全传输。IntranetVPN通过1个使用专用连接的共享基础设施,连接企业总部、远程办事处和分支机构。企业拥有与专用网络的相同政策,包括安全、服务质量(QoS)、可管理性和可靠性。
IntranetVPN对用户的吸引力在于:
* 减少WAN带宽的费用
* 能使用灵活的拓扑结构,包括全网络连接
* 新的站点能更快、更容易地被连接
* 通过设备供应商WAN的连接冗余,可以延长网络的可用时间。
ExtranetVPN
如果是提供B2B之间的安全访问服务,则可以考虑ExtranetVPN。
随着信息时代的到来,各个企业越来越重视各种信息的处理。希望可以提供给客户最快捷方便的信息服务,通过各种方式了解客户的需要,同时各个企业之间的合作关系也越来越多,信息交换日益频繁。Internet为这样的1种发展趋势提供了良好的基础,而如何利用Internet进行有效的信息管理,是企业发展中不可避免的1个关键问题。利用VPN技术可以组建安全的Extranet,既可以向客户、合作伙伴提供有效的信息服务,又可以保证自身的内部网络的安全。
ExtranetVPN通过1个使用专用连接的共享基础设施,将客户、供应商、合作伙伴或兴趣群体连接到企业内部网。企业拥有与专用网络的相同政策,包括安全、服务质量(QoS)、可管理性和可靠性。
ExtranetVPN对用户的吸引力在于:能容易地对外部网进行部署和管理,外部网的连接可以使用与部署内部网和远端访问VPN相同的架构和协议进行部署。主要的不同是接入许可,外部网的用户被许可只有一次机会连接到其合作人的网络。
虚拟专用网_虚拟专用网 -技术优点
Internet服务提供商(ISP)和企业将是VPN的直接受益者。ISP将VPN作为一项增值业务推向企业,并从企业得到回报。因此,VPN的最终目的是服务于企业,为企业带来可观的经济效益,为现代化企业的信息共享提供安全可靠的途径。
ISP受益
对于ISP来说,VPN提供了巨大商机。世纪互联的薛滔先生介绍说:世纪互联使用的是基于网通的全国网络,有很好的硬件条件。面对IDC在2001年更加激烈的竞争状况,世纪互联希望在IDC基础之上找到新的增长点。因为网站缩水,所以世纪互联将目光转向大中型传统企业,分析他们对电信资源有哪些需求,结果觉得VPN是1个机会。世纪互联正在探索,VPN的方案和技术已经准备就绪。世纪互联的目标用户是全国有分支机构,信息化建设已经达到一定水平的单位,世纪互联将整合现有资源,包括网络、托管和技术力量来为用户提供服务。通过向企业提供VPN增值服务,ISP可以与企业建立更加紧密的长期合作关系,同时充分利用现有网络资源,提高业务量。事实上,VPN用户的数据流量较普通用户要大得多,而且时间上也是相互错开的。VPN用户通常是上班时间形成流量的高峰,而普通用户的流量高峰期则在工作时间之外。ISP对外提供2种服务,资源利用率和业务量都会大大增加。同时,VPN使ISP能够经济地维持开发客户群、增加利润、提供增强服务,如视频会议、电子商务、IP电话、远程教学、多媒体商务应用等等。
用户受益
哪些用户适于使用VPN呢?在满足基本应用要求后,有3类用户比较适合采用VPN:
1)位置众多,特别是单个用户和远程办公室站点多,例如企业用户、远程教育用户;
2)用户/站点分布范围广,彼此之间的距离远,遍布全球各地,需通过长途电信,甚至国际长途手段联系的用户
3)带宽和时延要求相对适中;
4)对线路保密性和可用性有一定要求的用户。
相对而言,有4种情况可能并不适于采用VPN:
1)非常重视传输数据的安全性
2)不管价格多少,性能都被放在第一位的情况;
3)采用不常见的协议,不能在IP隧道中传送应用的情况
4)大多数通信是实时通信的应用,如语音和视频。但这种情况可以使用公共交换电话网(PSTN)解决方案与VPN配合使用。
对于企业来说,VPN提供了安全、可靠的Internet访问通道,为企业进1步发展提供了可靠的技术保障。而且VPN能提供专用线路类型服务,是方便快捷的企业私有网络。企业甚至可以不必建立自己的广域网维护系统,而将这一繁重的任务交由专业的ISP来完成。
虚拟专用网_虚拟专用网 -主要作用
由于VPN的出现,用户可以从以下几方面获益:
实现网络安全
具有高度的安全性,对于网络是极其重要的。新的服务如在线银行、在线交易都需要绝对的安全,而VPN以多种方式增强了网络的智能和安全性。首先,它在隧道的起点,在现有的企业认证服务器上,提供对分布用户的认证。另外,VPN支持安全和加密协议,如SecureIP(IPsec)和Microsoft点对点加密(MPPE)。
简化网络设计
网络管理者可以使用VPN替代租用线路来实现分支机构的连接。这样即可将对远程链路进行安装、配置和管理的任务减少到最小,仅此一点即可极大地简化企业广域网的设计。另外,VPN通过拨号访问来自于ISP或NSP的外部服务,减少了调制解调器池,简化了所需的接口,同时简化了与远程用户认证、授权和记账相关的设备和处理。
降低成本
VPN可以立即且显著地降低成本。当使用Internet时,实际上只需付短途电话费,却收到了长途通信的效果。因此,借助ISP来建立VPN,即可节省大量的通信费用。此外,VPN还使企业不必投入大量的人力和物力去安装和维护WAN设备和远程访问设备,这些工作都可以交给ISP。VPN使用户可以降低如下的成本:
移动用户通信成本。VPN可以通过减少长途费或800费用来节省移动用户的花费。
租用线路成本。VPN可以以每条连接的40%到60%的成本对租用线路进行控制和管理。对于国际用户来说,这种节约是极为显著的。对于话音数据,节约金额会进1步增加。
主要设备成本。VPN通过支持拨号访问外部资源,使企业可以减少不断增长的调制解调器费用。另外,它还允许1个单一的WAN接口服务多种目的,从分支网络互连、商业伙伴的外连网终端、本地提供高带宽的线路连接到拨号访问服务提供者,因此,只需要极少的WAN接口和设备。由于VPN可以完全管理,并且能够从中央网站进行基于策略的控制,因此可以大幅度地减少在安装配置远端网络接口所需设备上的开销。另外,由于VPN独立于初始协议,这就使得远端的接入用户可以继续使用传统设备,保护了用户在现有硬件和软件系统上的投资。
容易扩展
如果企业想扩大VPN的容量和覆盖范围。企业需做的事情很少,而且能及时实现:企业只需与新的IPS签约,建立账户;或者与原有的ISP重签合约,扩大服务范围。在远程办公室增加VPN能力也很简单:几条命令即可使Extranet路由器拥有Internet和VPN能力,路由器还能对工作站自动进行配置。
可随意与合作伙伴联网
在过去,企业如果想与合作伙伴连网,双方的信息技术部门就必须协商如何在双方之间建立租用线路或帧中继线路。有了VPN之后,这种协商也毫无必要,真正达到了要连就连,要断就断。
完全控制主动权
借助VPN,企业可以利用ISP的设施和服务,同时又完全掌握着自己网络的控制权。比方说,企业可以把拨号访问交给ISP去做,由自己负责用户的查验、访问权、网络地址、安全性和网络变化管理等重要工作。
支持新兴应用
许多专用网对许多新兴应用准备不足,如那些要求高带宽的多媒体和协作交互式应用。VPN则可以支持各种高级的应用,如IP语音,IP传真,还有各种协议,如RSIP、IPv6、MPLS、SNMPv3等。
正由于VPN能给用户带来诸多的好处,VPN在全球发展得异常红火,在北美和欧洲,VPN已经是项相当普遍的业务;在亚太地区,该项服务也迅速开展起来。
虚拟专用网_虚拟专用网 -发展趋势
在国外,Internet已成为全社会的信息基础设施,企业端应用也大都基于IP,在Internet上构筑应用系统已成为必然趋势,因此基于IP的VPN业务获得了极大的增长空间。Infornetics Research公司预言,在2001年,全球VPN市场将达到120亿美元。据预测,到2004年,北美的VPN业务收入将增至88亿美元。
在中国,制约VPN的发展、普及的因素大致可分为客观因素和主观因素两方面。
1.客观因素包括因特网带宽和服务质量QoS问题。
在过去无论因特网的远程接入还是专线接入,以及骨干传输的带宽都很小,QoS更是无法保障,造成企业用户宁愿花费大量的金钱去投资自己的专线网络或是宁愿花费巨额的长途话费来提供远程接入。随着ADSL、DWDM、MPLS等新技术的大规模应用和推广,上述问题将得到根本改善和解决。譬如,过去专线接入速率最高才2Mbps,而以后,中国的企业用户可以享受到10Mbps,乃至100Mbps的Internet专线接入,而骨干网现在最高已达到40Gbps,并且今后几年内将发展到上百乃至上千个Gbps,这已不是技术问题而是时间问题。随着互联网技术的发展,可以说VPN在未来几年内将会得到迅猛发展。
2.主观因素之一是用户总害怕自己内部的数据在Internet上传输不安全。
其实前面介绍的VPN技术已经能够提供足够安全的保障,可以使用户数据不被查看、修改。主观因素之二,也是VPN应用最大的障碍,是客户自身的应用跟不上,只有企业将自己的业务完全和网络联系上,VPN才会有了真正的用武之地。
可以想象,当我们消除了所有这些障碍因素后,VPN将会成为我们网络生活的主要组成部分。在不远的将来,VPN技术将成为广域网建设的最佳解决方案,它不仅会大大节省广域网的建设和运行维护费用,而且增强了网络的可靠性和安全性。同时,VPN会加快企业网的建设步伐,使得集团公司不仅仅只是建设内部局域网,而且能够很快地把全国各地分公司的局域网连起来,从而真正发挥整个网络的作用。VPN对推动整个电子商务、电子贸易将起到不可低估的作用。
三 : KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机
一.KVM简介
KVM(名称来自英语:Kernel-basedVirtual Machine的缩写,即基于内核的虚拟机),是一种用于Linux内核中的虚拟化基础设施,可以将Linux内核转化为一个hypervisor。[www.61k.com]KVM在2007年2月被导入Linux 2.6.20核心中,以可加载核心模块的方式被移植到FreeBSD及illumos上。
KVM在具备Intel VT或AMD-V功能的x86平台上运行。它也被移植到S/390,PowerPC与IA-64平台上。在Linux内核3.9版中,加入ARM架构的支持。
关于KVM:
1).KVM是开源软件,全称是kernel-based virtual machine(基于内核的虚拟机)。2).是x86架构且硬件支持虚拟化技术(如 intel VT 或 AMD-V)的Linux全虚拟化解决方案。3).它包含一个为处理器提供底层虚拟化 可加载的核心模块kvm.ko(kvm-intel.ko或kvm-AMD.ko)。4).KVM还需要一个经过修改的QEMU软件(qemu-kvm),作为虚拟机上层控制和界面。5).KVM能在不改变linux或windows镜像的情况下同时运行多个虚拟机,(它的意思是多个虚拟机使用同一镜像)并为每一个虚拟机配置个性化硬件环境(网卡、磁盘、图形适配器……)。6).在主流的Linux内核,如2.6.20以上的内核均已包含了KVM核心。
――――摘自WIKI百科
KVM 与 vbox的区别
vbox 是由 qemu 改写而成,包含大量qemu 代码。
1).可以使用于"不支持"虚拟化技术的cpu。2).值得说的一点:vbox 在图形方面比较好,能进行2D 3D加速;但cpu控制不理想(估计是因为图形支持的缘故);操作上有独立的图形界面,易于上手。
kvm 是linux内核包含的东西,使用qemu作为上层管理(命令行)。
1).要求cpu 必须支持虚拟化。2).性能:作为服务器很好,可是图形能力十分的差。即使放电影,图像也是像刷油漆一样,一层一层的。3).cpu使用率控制很好。4).控制上比较简洁,功能比较丰富:比如使用“无敌功能”所有更改指向内存,你的镜像永远保持干净。“母镜像”功能让你拥有n个独立快照点。还有很多参数。另外,kvm作为内核级的虚拟机,刚开始发展关注的公司比较多――但是还没有达到商业应用的水平。
总体而言:在支持虚拟化的情况下,vbox 和 kvm 的性能差不多,主要是面向对象不同:kvm适用于服务器,vbox适用于桌面应用。
qemu 全称Quick Emulator。是独立虚拟软件,能独立运行虚拟机(根本不需要kvm)。kqemu是该软件的加速软件。kvm并不需要qemu进行虚拟处理,只是需要它的上层管理界面进行虚拟机控制。虚拟机依旧是由kvm驱动。所以,大家不要把概念弄错了,盲目的安装qemu和kqemu。qemu使用模拟器
KVM内存管理
KVM继承了Linux系统管理内存的诸多特性,比如,分配给虚拟使用的内存可以被交换至交换空间、能够使用大内存页以实现更好的性能,以及对NUMA的支持能够让虚拟机高效访问更大的内存空间等。
KVM基于Intel的EPT(ExtendedPage Table)或AMD的RVI(Rapid Virtualization Indexing)技术可以支持更新的内存虚拟功能,这可以降低CPU的占用率,并提供较好的吞吐量。
此外,KVM还借助于KSM(Kernel Same-pageMerging)这个内核特性实现了内存页面共享。KSM通过扫描每个虚拟机的内存查找各虚拟机间相同的内存页,并将这些内存页合并为一个被各相关虚拟机共享的单独页面。在某虚拟机试图修改此页面中的数据时,KSM会重新为其提供一个新的页面副本。实践中,运行于同一台物理主机上的具有相同GuestOS的虚拟机之间出现相同内存页面的概率是很的,比如共享库、内核或其它内存对象等都有可能表现为相同的内存页,因此,KSM技术可以降低内存占用进而提高整体性能。
相关连接:
KVM的官方地址:http://www.linux-kvm.org/page/Main_Page
KVM的Howto文档:http://www.linux-kvm.org/page/HOWTO
Kqemu源码地址:http://sourceforge.net/projects/kqemu/
Qemu下载地址:http://wiki.qemu.org/Main_Page
二.KVM虚拟化平台构建
1.安装准备
查看你的硬件是否支持虚拟化。命令:
#egrep '(vmx|svm)' /proc/cpuinfo
注意:
1).要有 vmx 或 svm 的标识才行。总的说来,AMD在虚拟化方面作得更好一些。
2).我用的是虚拟机,我使用了VBOX,发现其不支持硬件虚拟化,启动虚拟机后执行查看命令无法发现上述的选项;所以我就换成了VMware Workstation 10,并在虚拟机的设置中打开了CPU设置中的虚拟化引擎,选择了Intel VT-x/EPT或AMD-V/RVI(V)这个选项;具体设置如下图:
2.安装KVM
由于Linux内核已经将KVM收录了,在安装系统时已经加入了KVM,我们只需要在命令行模式下启用KVM即可:
启用KVM模块
#modprobe kvm
功能区分intel/amd的启用:
#modprobe kvm-intel# lsmod |grep kvmkvm_intel 55496 0kvm 337772 1 kvm_intel
3.KVM虚拟机创建和管理所依赖的组件介绍
KVM虚拟机的创建依赖qemu-kvm:
虽然kvm的技术已经相当成熟而且可以对很多东西进行隔离,但是在某些方面还是无法虚拟出真实的机器。比如对网卡的虚拟,那这个时候就需要另外的技术来做补充,而qemu-kvm则是这样一种技术。它补充了kvm技术的不足,而且在性能上对kvm进行了优化。
我们还可以使用virt-manager,virt-viewer来管理虚拟机;
我们在创建和管理KVM虚拟机时还需要libvirt这个重要的组件:
它是一系列提供出来的库函数,用以其他技术调用,来管理机器上的虚拟机。包括各种虚拟机技术,kvm、xen与lxc等,都可以调用libvirt提供的api对虚拟机进行管理。有这么多的虚拟机技术,它为何能提供这么多的管理功能那。是因为它的设计理念,它是面向驱动的架构设计。对任何一种虚拟机技术都开发设计相对于该技术的驱动。这样不同虚拟机技术就可以使用不同驱动,而且相互直接不会影响,方便扩展。而且libvirt提供了多种语言的编程接口,可以直接通过编程,调用libvirt提供的对外接口实现对虚拟机的操作。如今流行的云计算中的IaaS是与该库联系相当密切的。通过下图可以看出它的架构设计思想。
扩展:qemu kvm 创建虚拟机 / qemu kvm 启动虚拟机 / qemu创建虚拟机
从该图可以看出,在libvirtapi之上会有很多个driver,对于每一种虚拟机技术都会有一种driver,用来充当该虚拟机技术与libvirt之间的包装接口。如此设计就可以避免libvirt需要设计各种针对不同虚拟机技术的接口,它主要关注底层的实现,提供对外接口调用,而不同的虚拟机技术通过调用libvirt提供的接口来完成自己所需要的功能。
4.安装KVM所需组件
yum源提供了,直接安装:
#yum install -y qemu-kvm libvirt virt-manager
安装完成后启动libvirtd服务:
#service libvirtd start
会自动启动一个桥设备,这相当于VMware Workstation中的host-only仅主机的网络设备;
# ifconfigeth0 Link encap:Ethernet HWaddr00:0C:29:3E:63:26 inet addr:172.16.31.7 Bcast:172.16.255.255 Mask:255.255.0.0inet6 addr: fe80::20c:29ff:fe3e:6326/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:25460 errors:0 dropped:0overruns:0 frame:0TX packets:9728 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:35156437 (33.5 MiB) TXbytes:800196 (781.4 KiB)lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING MTU:65536 Metric:1RX packets:12 errors:0 dropped:0 overruns:0 frame:0TX packets:12 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:1024 (1024.0 b) TXbytes:1024 (1024.0 b)virbr0 Link encap:Ethernet HWaddr52:54:00:30:54:41 inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:0 (0.0 b) TX bytes:0(0.0 b)
使用网桥管理命令查看:
# brctl showbridge name bridge id STP enabled interfacesvirbr0 8000.525400305441 yes virbr0-nic
像VMware Workstation中我们需要创建物理桥接设备,可以使用virsh创建桥设备关联网卡到桥接设备上:
需要将NetworkManager服务关闭,开机启动也关闭:
# chkconfig NetworkManager off# service NetworkManager stop
然后在创建桥接设备及关联网卡到桥接设备上:
# virsh iface-bridge eth0 br0
查看桥接设备及其他网络设备运行情况:
# ifconfigbr0 Link encap:Ethernet HWaddr00:0C:29:3E:63:26 inet addr:172.16.31.7 Bcast:172.16.255.255 Mask:255.255.0.0inet6 addr: fe80::20c:29ff:fe3e:6326/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:76 errors:0 dropped:0 overruns:0 frame:0TX packets:60 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:9781 (9.5 KiB) TXbytes:8957 (8.7 KiB)eth0 Link encap:Ethernet HWaddr00:0C:29:3E:63:26 inet6 addr: fe80::20c:29ff:fe3e:6326/64 Scope:LinkUP BROADCAST RUNNINGMULTICAST MTU:1500 Metric:1RX packets:176 errors:0 dropped:0 overruns:0 frame:0TX packets:97 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:26793 (26.1 KiB) TXbytes:11385 (11.1 KiB)lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING MTU:65536 Metric:1RX packets:4 errors:0 dropped:0 overruns:0 frame:0TX packets:4 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:344 (344.0 b) TXbytes:344 (344.0 b)virbr0 Link encap:Ethernet HWaddr52:54:00:30:54:41 inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:0 (0.0 b) TX bytes:0(0.0 b)
查看桥接设备:
# brctl showbridge name bridge id STP enabled interfacesbr0 8000.000c293e6326 yes eth0virbr0 8000.525400305441 yes virbr0-nic
至此,我们的虚拟化平台就构建完毕,下面就开始在KVM虚拟化平台上创建和管理虚拟机,我们先使用qemu-kvm来创建和管理虚拟机。
三.使用qemu-kvm管理KVM虚拟机
1.Qemu-kvm介绍
Qemu是一个广泛使用的开源计算机仿真器和虚拟机。当作为仿真器时,可以在一种架构(如PC机)下运行另一种架构(如ARM)下的操作系统和程序。而通过动态转化,其可以获得很高的运行效率。当作为一个虚拟机时,qemu可以通过直接使用真机的系统资源,让虚拟系统能够获得接近于物理机的性能表现。qemu支持xen或者kvm模式下的虚拟化。当用kvm时,qemu可以虚拟x86、服务器和嵌入式powerpc,以及s390的系统。
QEMU 当运行与主机架构相同的目标架构时可以使用KVM。例如,当在一个x86兼容处理器上运行 qemu-system-x86 时,可以利用 KVM 加速――为宿主机和客户机提供更好的性能。
Qemu有如下几个部分组成:
处理器模拟器(x86、PowerPC和Sparc); 仿真设备(显卡、网卡、硬盘、鼠标等); 用于将仿真设备连接至主机设备(真实设备)的通用设备; 模拟机的描述信息; 调试器; 与模拟器交互的用户接口;
扩展:qemu kvm 创建虚拟机 / qemu kvm 启动虚拟机 / qemu创建虚拟机
基于libvirt的工具如virt-manager和virt-install提供了非常便捷的虚拟机管理接口,但它们事实上上经二次开发后又封装了qemu-kvm的工具。因此,直接使用qemu-kvm命令也能够完成此前的任务。
2.Qemu-kvm的使用帮助
在RHEL6/CentOS6上,qemu-kvm位于/usr/libexec目录中。由于此目录不属于PATH环境变量,故无法直接使用,这样也阻止了可以直接使用qemu作为创建并管理虚拟机。如若想使用qemu虚拟机,可以通过将/usr/libexec/qemu-kvm链接为/usr/bin/qemu实现。
# ln -sv /usr/libexec/qemu-kvm /usr/bin/qemu-kvm
qemu-kvm命令使用格式为“qemu-kvm [options] [disk_image]”,其选项非常多,不过,大致可分为如下几类。
标准选项; USB选项; 显示选项; i386平台专用选项; 网络选项; 字符设备选项; 蓝牙相关选项; Linux系统引导专用选项; 调试/专家模式选项; PowerPC专用选项; Sparc32专用选项;
qemu-kvm的标准选项
qemu-kvm的标准选项主要涉及指定主机类型、CPU模式、NUMA、软驱设备、光驱设备及硬件设备等。
-name name:设定虚拟机名称;-M machine:指定要模拟的主机类型,如Standard PC、ISA-only PC或Intel-Mac等,可以使用“qemu-kvm -M ?”获取所支持的所有类型;-m megs:设定虚拟机的RAM大小;-cpu model:设定CPU模型,如coreduo、qemu64等,可以使用“qemu-kvm -cpu ?”获取所支持的所有模型;-smp n[,cores=cores][,threads=threads][,sockets=sockets][,maxcpus=maxcpus]:设定模拟的SMP架构中CPU的个数等、每个CPU的核心数及CPU的socket数目等;PC机上最多可以模拟255颗CPU;maxcpus用于指定热插入的CPU个数上限;-numa opts:指定模拟多节点的numa设备;-fda file-fdb file:使用指定文件(file)作为软盘镜像,file为/dev/fd0表示使用物理软驱;-hda file-hdb file-hdc file-hdd file:使用指定file作为硬盘镜像;-cdrom file:使用指定file作为CD-ROM镜像,需要注意的是-cdrom和-hdc不能同时使用;将file指定为/dev/cdrom可以直接使用物理光驱;-drive option[,option[,option[,...]]]:定义一个硬盘设备;可用子选项有很多。file=/path/to/somefile:硬件映像文件路径;if=interface:指定硬盘设备所连接的接口类型,即控制器类型,如ide、scsi、sd、mtd、floppy、pflash及virtio等;index=index:设定同一种控制器类型中不同设备的索引号,即标识号;media=media:定义介质类型为硬盘(disk)还是光盘(cdrom);snapshot=snapshot:指定当前硬盘设备是否支持快照功能:on或off;cache=cache:定义如何使用物理机缓存来访问块数据,其可用值有none、writeback、unsafe和writethrough四个;format=format:指定映像文件的格式,具体格式可参见qemu-img命令;-boot [order=drives][,once=drives][,menu=on|off]:定义启动设备的引导次序,每种设备使用一个字符表示;不同的架构所支持的设备及其表示字符不尽相同,在x86 PC架构上,a、b表示软驱、c表示第一块硬盘,d表示第一个光驱设备,n-p表示网络适配器;默认为硬盘设备;-boot order=dc,once=d
qemu-kvm的显示选项
显示选项用于定义虚拟机启动后的显示接口相关类型及属性等。
-nographic:默认情况下,qemu使用SDL来显示VGA输出;而此选项用于禁止图形接口,此时,qemu类似一个简单的命令行程序,其仿真串口设备将被重定向到控制台;-curses:禁止图形接口,并使用curses/ncurses作为交互接口;-alt-grab:使用Ctrl+Alt+Shift组合键释放鼠标;-ctrl-grab:使用右Ctrl键释放鼠标;-sdl:启用SDL;-spice option[,option[,...]]:启用spice远程桌面协议;其有许多子选项,具体请参照qemu-kvm的手册;-vga type:指定要仿真的VGA接口类型,常见类型有:cirrus:Cirrus Logic GD5446显示卡;std:带有Bochs VBI扩展的标准VGA显示卡;vmware:VMWare SVGA-II兼容的显示适配器;qxl:QXL半虚拟化显示卡;与VGA兼容;在Guest中安装qxl驱动后能以很好的方式工作,在使用spice协议时推荐使用此类型;none:禁用VGA卡;-vnc display[,option[,option[,...]]]:默认情况下,qemu使用SDL显示VGA输出;使用-vnc选项,可以让qemu监听在VNC上,并将VGA输出重定向至VNC会话;使用此选项时,必须使用-k选项指定键盘布局类型;其有许多子选项,具体请参照qemu-kvm的手册;
i386平台专用选项
-no-acpi:禁用ACPI功能,GuestOS与ACPI出现兼容问题时使用此选项;-balloon none:禁用balloon设备;-balloon virtio[,addr=addr]:启用virtio balloon设备;
网络属性相关选项
网络属性相关选项用于定义网络设备接口类型及其相关的各属性等信息。这里只介绍nic、tap和user三种类型网络接口的属性,其它类型请参照qemu-kvm手册。
-net nic[,vlan=n][,macaddr=mac][,model=type][,name=name][,addr=addr][,vectors=v]:创建一个新的网卡设备并连接至vlan n中;PC架构上默认的NIC为e1000,macaddr用于为其指定MAC地址,name用于指定一个在监控时显示的网上设备名称;emu可以模拟多个类型的网卡设备,如virtio、i82551、i82557b、i82559er、ne2k_isa、pcnet、rtl8139、e1000、smc91c111、lance及mcf_fec等;不过,不同平台架构上,其支持的类型可能只包含前述列表的一部分,可以使用“qemu-kvm -net nic,model=?”来获取当前平台支持的类型;-net tap[,vlan=n][,name=name][,fd=h][,ifname=name][,script=file][,downscript=dfile]:通过物理机的TAP网络接口连接至vlan n中,使用script=file指定的脚本(默认为/etc/qemu-ifup)来配置当前网络接口,并使用downscript=file指定的脚本(默认为/etc/qemu-ifdown)来撤消接口配置;使用script=no和downscript=no可分别用来禁止执行脚本;-net user[,option][,option][,...]:在用户模式配置网络栈,其不依赖于管理权限;有效选项有:vlan=n:连接至vlan n,默认n=0;name=name:指定接口的显示名称,常用于监控模式中;net=addr[/mask]:设定GuestOS可见的IP网络,掩码可选,默认为10.0.2.0/8;host=addr:指定GuestOS中看到的物理机的IP地址,默认为指定网络中的第二个,即x.x.x.2;dhcpstart=addr:指定DHCP服务地址池中16个地址的起始IP,默认为第16个至第31个,即x.x.x.16-x.x.x.31;dns=addr:指定GuestOS可见的dns服务器地址;默认为GuestOS网络中的第三个地址,即x.x.x.3;tftp=dir:激活内置的tftp服务器,并使用指定的dir作为tftp服务器的默认根目录;bootfile=file:BOOTP文件名称,用于实现网络引导GuestOS;如:qemu -hda linux.img -boot n -net user,tftp=/tftpserver/pub,bootfile=/pxelinux.0扩展:qemu kvm 创建虚拟机 / qemu kvm 启动虚拟机 / qemu创建虚拟机
3.使用qemu-kvm安装虚拟机Guest OS
测试安装windows xp
1).下载系统镜像文件,我这里有个windows XP的ghost系统,我们来试着安装。
winxp_ghost.iso
创建虚拟机的磁盘文件存放目录:
# mkdir /kvm/images -pv
创建虚拟磁盘文件:
# qemu-img create -o preallocation=metadata -f qcow2 /kvm/images/winxp.qcow2 60G# ll -h /kvm/images/total 9.6M-rw-r--r-- 1 root root 61G Feb 7 23:50 winxp.qcow2
2).在kvm平台安装vnc-server和tigervnc这个vncviewer
# yum install vnc-server tigervnc -y设置vncserver的密码;# vncpasswdPassword:Verify:启动vncserver# vncserver New 'createOS:1 (root)' desktop iscreateOS:1 Creating default startup script/root/.vnc/xstartupStarting applications specified in/root/.vnc/xstartupLog file is /root/.vnc/createOS:1.log
我们通过windows客户端的vncviewer连接到虚拟机上进行操作;
输入虚拟化平台ip地址:
输入VNC服务器的密码:
进入虚拟化平台:
等待后续操作。
3).安装虚拟机
我们在命令行模式下安装启动虚拟机:
创建一个名为winxp的虚拟机,其RAM大小为512MB,有一颗CPU的SMP架构,默认引导设备是硬盘,有一个光驱设备和硬盘设备,usb设备为tablet;
#qemu-kvm -cpu host -smp 1 -name winxp -m 512 -drive file=/kvm/images/winxp.qcow2,if=ide,meida=disk,format=qcow2 -drive file=/root/winxp_ghost.iso,media=cdrom -boot dc -usbdevice tablet
启动后如图:
我们到图形界面上进行连接:
#vncviewer :5900
我这里进入winpe安装系统:
选择全自动恢复GHO镜像到C盘,开始安装:
安装完毕后重启就黑屏了。
进不去,算了,就这样吧。
我们下面使用一个测试系统cirros来测试KVM的虚拟化平台;
4.安装cirros虚拟机
1).cirros镜像文件下载
镜像下载
32位镜像下载地址:https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-i386-disk.img
64位镜像的下载地址:https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img
我这里使用的是cirros-0.3.0-x86_64-disk.img
我们查看一些镜像文件信息:
# qemu-imginfocirros-0.3.0-x86_64-disk.imgimage: cirros-0.3.0-x86_64-disk.imgfile format: qcow2virtual size: 39M (41126400 bytes)disk size: 9.3Mcluster_size: 65536
2).安装启动cirros虚拟机
我们在启动虚拟机时加入网卡设备。
# mv cirros-0.3.0-x86_64-disk.img /kvm/images
如果我们加入网卡设备,那么必须要涉及到系统启动后桥接网络到br0上,我们通过脚本实现启动和停止系统时桥接网络和删除桥接的自动执行操作:
启动虚拟机将网卡桥接到桥接设备上:
# cat /etc/qemu-ifup#!/bin/bash#bridge=br0if [ -n "$1" ]; thenip link set $1 upsleep 1brctl addif $bridge $1[ $? -eq 0 ] && exit 0 || exit 1elseecho "Error: no interfacespecified."exit 1fi
关闭虚拟机后自动将网卡从桥接设备上移除:
# cat/etc/qemu-ifdown#!/bin/bash#bridge=br0if [ -n "$1" ];thenbrctl delif $bridge $1ip link set $1 downexit 0elseecho "Error: no interfacespecified."exit 1fi
给予脚本执行权限;
#chmod +x /etc/qemu-ifup
#chmod +x /etc/qemu-ifdown
启动cirros虚拟机系统:
# qemu-kvm -m 128 -name cirros -drive file=/kvm/images/cirros-0.3.0-x86_64-disk.img,media=disk,format=qcow2,if=ide-net nic -net tap,ifname=vnet0,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown -boot c
启动完成后,通过vncviewer连接我们启动的虚拟机:
输入用户名和密码进入系统并且切换到root用户:
查看虚拟机的网卡:
扩展:qemu kvm 创建虚拟机 / qemu kvm 启动虚拟机 / qemu创建虚拟机
使用ping测试,测试到达网关与否:
再到KVM虚拟化平台上查看一下vnet0是否生成:
[root@createOS ~]#ifconfigbr0 Link encap:Ethernet HWaddr00:0C:29:3E:63:26 inetaddr:172.16.31.7 Bcast:172.16.255.255 Mask:255.255.0.0inet6 addr:fe80::20c:29ff:fe3e:6326/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:380906errors:0 dropped:0 overruns:0 frame:0TX packets:165151errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:748466471 (713.7MiB) TXbytes:78691011 (75.0 MiB)eth0 Link encap:Ethernet HWaddr00:0C:29:3E:63:26 inet6 addr:fe80::20c:29ff:fe3e:6326/64 Scope:LinkUP BROADCAST RUNNINGMULTICAST MTU:1500 Metric:1RX packets:838156errors:0 dropped:0 overruns:0 frame:0TX packets:206259errors:0 dropped:0 overruns:0 carrier:0collisions:0txqueuelen:1000RX bytes:864246873 (824.2MiB) TXbytes:80899673 (77.1 MiB)lo Link encap:Local Loopback inetaddr:127.0.0.1 Mask:255.0.0.0inet6 addr: ::1/128Scope:HostUP LOOPBACK RUNNING MTU:65536 Metric:1RX packets:91986 errors:0dropped:0 overruns:0 frame:0TX packets:91986 errors:0dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:85874602 (81.8MiB) TXbytes:85874602 (81.8 MiB)virbr0 Link encap:Ethernet HWaddr52:54:00:30:54:41 inetaddr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0UP BROADCAST RUNNINGMULTICAST MTU:1500 Metric:1RX packets:0 errors:0dropped:0 overruns:0 frame:0TX packets:0 errors:0dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:0 (0.0 b) TX bytes:0(0.0 b)vnet0 Link encap:Ethernet HWaddrC6:E4:5A:0D:A1:1C inet6 addr:fe80::c4e4:5aff:fe0d:a11c/64 Scope:LinkUP BROADCAST RUNNINGMULTICAST MTU:1500 Metric:1RX packets:85 errors:0dropped:0 overruns:0 frame:0TX packets:33815 errors:0dropped:0 overruns:0 carrier:0collisions:0txqueuelen:500RX bytes:6866 (6.7KiB) TXbytes:9643416 (9.1 MiB)
至此,一个完整的cirros虚拟机就完成安装了。
5.Qemu监视器的使用
我们可以通过Qemu监视器来监测虚拟机的运行情况;
1).Qemu监视器打开的方式:
图形窗口模式的打开方式:
CTRL+ALT+2 :通过输入快捷键就能打开Qemu的监视器;
CTRL+ALT+1 :输入快捷键即可返回虚拟化机界面;
文本窗口模式的打开方式:
CTRL+a c :这组快捷键可以实现虚拟机界面和Qemu监视器之间的切换;
注意:如果需要让虚拟机运行在文本窗口模式,我们需要在创建和启动虚拟机时键入:-nographic的选项。
2).打开cirros虚拟机的Qemu监视器
按CRTL+ALT+2组合键即可打开Qemu监视器;
如图所示:
3).Qemu监视器下的常用命令
help:显示帮助info:显示一些虚拟机系统信息的如:infocpus,infotlbsavevm,loadvm,delvm:保存、装载、删除虚拟机快照commit:提交虚拟机修改部分change:改变虚拟机配置如:changevncpassworddevice_add&device_del:实现动态添加和移除设备usb_add&usb_del:添加和移除usb设备migrate,migrate_cancel:迁移和取消迁移指令cpu:设定默认CPUlog&logfile:记录日志和将日志记录到日志文件中sendkey:向虚拟机发送指令system_powerdown:向客户端发送关闭电源通知system_reset:重启虚拟机system_wakeup:唤醒虚拟机q or quit:退出qemu监视器,qemu进程会终止;
6.我们启动一个在文本窗口模式下的虚拟机
我们再次下载一个cirros虚拟机磁盘镜像文件,将其名称更改后启动:
# cp cirros-0.3.0-x86_64-disk.img /kvm/images/cirros-0.3.0-x86_64-disk2.img
启动cirros虚拟机:
# qemu-kvm -m 128 -name cirros2 -drive file=/kvm/images/cirros-0.3.0-x86_64-disk2.img,media=disk,format=qcow2,if=ide -net nic tap,ifname=vnet1,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown -boot c -nographic
启动会进行30次云环境探测,我们可以忽略其错误;
启动会在虚拟终端自动进行,启动后如图:
这里会存在一个问题,就是我们未指定网卡的mac地址,会造成启动的两台虚拟机的IP地址是一致的,mac地址都是52:54:00:12:34:56 ,如图:
我们必须指定虚拟机的mac地址来避免虚拟机IP地址一致性问题。
使用快捷键切换到qemu监视器,先按CTRL+a 后松手输入“c”字母即可进入qemu的监视器:
我们可以发现一个优点是文本窗口模式下的qemu监视器的命令行可以翻页,是不是比图形化的好啊! <^_^>! 扩展:qemu kvm 创建虚拟机 / qemu kvm 启动虚拟机 / qemu创建虚拟机
下面我们停止文本窗口的虚拟机,指定好mac地址后再启动虚拟机哦!
同样按组合键CTRL+a 再按c切换到虚拟机界面输入poweroff关闭虚拟机电源:
再次启动虚拟机:指定好mac地址哦!
# qemu-kvm -m 128 -name cirros2 -drive file=/kvm/images/cirros-0.3.0-x86_64-disk2.img,media=disk,format=qcow2,if=ide-net nic,macaddr=52:54:00:65:43:21 -net tap,ifname=vnet1,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown -boot c -nographic
启动后如图:
地址分配的不一样了。
我们来测试一下能否ping通第一台虚拟机;
测试ping通,桥接网络是互通的。
至此,基于Qemu-kvm创建和管理虚拟机的实验就完成了,
扩展:qemu kvm 创建虚拟机 / qemu kvm 启动虚拟机 / qemu创建虚拟机
四 : 流水线技术原理和Verilog HDL实现
所谓流水线处理,如同生产装配线一样,将操作执行工作量分成若干个时间上均衡的操作段,从流水线的起点连续地输入,流水线的各操作段以重叠方式执行。[www.61k.com]这使得操作执行速度只与流水线输入的速度有关,而与处理所需的时间无关。这样,在理想的流水操作状态下,其运行效率很高。
如果某个设计的处理流程分为若干步骤,而且整个数据处理是单流向的,即没有反馈或者迭代运算,前一个步骤的输出是下一个步骤的输入,则可以采用流水线设计方法来提高系统的工作频率。
下面用8位全加器作为实例,分别列举了非流水线方法、2级流水线方法和4级流水线方法。
(1)非流水线实现方式
module adder_8bits(din_1, clk, cin, dout, din_2, cout); input [7:0] din_1; input clk; input cin; output [7:0] dout; input [7:0] din_2; output cout; reg [7:0] dout; reg cout; always @(posedge clk) begin {cout,dout} <= din_1 + din_2 + cin; end endmodule
(2)2级流水线实现方式:
module adder_4bits_2steps(cin_a, cin_b, cin, clk, cout, sum); input [7:0] cin_a; input [7:0] cin_b; input cin; input clk; output cout; output [7:0] sum; reg cout; reg cout_temp; reg [7:0] sum; reg [3:0] sum_temp; always @(posedge clk) begin {cout_temp,sum_temp} = cin_a[3:0] + cin_b[3:0] + cin; end always @(posedge clk) begin {cout,sum} = {{1'b0,cin_a[7:4]} + {1'b0,cin_b[7:4]} + cout_temp, sum_temp}; end endmodule
注意:这里在always块内只能用阻塞赋值方式,否则会出现逻辑上的错误!
(3)4级流水线实现方式:
module adder_8bits_4steps(cin_a, cin_b, c_in, clk, c_out, sum_out); input [7:0] cin_a; input [7:0] cin_b; input c_in; input clk; output c_out; output [7:0] sum_out; reg c_out; reg c_out_t1, c_out_t2, c_out_t3; reg [7:0] sum_out; reg [1:0] sum_out_t1; reg [3:0] sum_out_t2; reg [5:0] sum_out_t3; always @(posedge clk) begin {c_out_t1, sum_out_t1} = {1'b0, cin_a[1:0]} + {1'b0, cin_b[1:0]} + c_in; end always @(posedge clk) begin {c_out_t2, sum_out_t2} = {{1'b0, cin_a[3:2]} + {1'b0, cin_b[3:2]} + c_out_t1, sum_out_t1}; end always @(posedge clk) begin {c_out_t3, sum_out_t3} = {{1'b0, cin_a[5:4]} + {1'b0, cin_b[5:4]} + c_out_t2, sum_out_t2}; end always @(posedge clk) begin {c_out, sum_out} = {{1'b0, cin_a[7:6]} + {1'b0, cin_b[7:6]} + c_out_t3, sum_out_t3}; end endmodule
总结:利用流水线的设计方法,可大大提高系统的工作速度。这种方法可广泛运用于各种设计,特别是大型的、对速度要求较高的系统设计。虽然采用流水线会增大资源的使用,但是它可降低寄存器间的传播延时,保证系统维持高的系统时钟速度。在实际应用中,考虑到资源的使用和速度的要求,可以根据实际情况来选择流水线的级数以满足设计需要。
这是一种典型的以面积换速度的设计方法。这里的“面积”主要是指设计所占用的FPGA逻辑资源数目,即利用所消耗的触发器(FF)和查找表(LUT)来衡量。“速度”是指在芯片上稳定运行时所能达到的最高频率。面积和速度这两个指标始终贯穿着FPGA的设计,是设计质量评价的最终标准。
61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1