Archive

Archive for the ‘P2P’ Category

CDN 仿真器现状和 CDNsim

January 20th, 2010 leeing No comments

开发新的网络服务需要大量的投资,因此有必要在一个可控的仿真环境下建立原型,监控和预测服务的行为。很多技术已经被提出以提高CDN的性能,但是大部分却没有被CDN提供商采用,这是因为这些技术并没有广泛地在一个仿真测试床上进行评估,而一些学术性的CDN网络,如CoralCDN和Codeen则是运行上PlanetLab上,但PlanetLab是一个黑箱且需要大量学术界的人员参与,在这样的环境下开发新技术显得很困难甚至不可能。

因此有必要开发一种在真实仿真环境下的CDN模拟器,而且必须是可靠和节省内存的,要求对大规模的CDN网络能进行较细节的仿真。大部分的CDN仿真系统没有考虑几个关键的因素,如网络中可能出现的瓶颈,每个网络元素(router,surrogate server等)可以处理的的session数目等等。这样,仿真结果可能产生误导。因为它们只是通过遍历每个节点来测量而没有考虑TCP/IP的网络架构;另一方面,现存的很多网络模拟器不能有效地仿真Internet的架构,例如NS-2是一个离散事件仿真框架,通常用来仿真TCP/IP协议,流量控制等,然而它需要大量的内存来仿真大规模的网络。同样的,一些测试床不能由非研究机构自由进行仿真,且PlanetLab的一个显著缺点是仿真不可以重复进行。

Testbed TCP/IP 内存占用 可重复性 规模 可用性 运行环境
CDNsimulator

(ns2&logsim)

本地
CDN simulator

[Bent et al 2004]

本地
CDN simulator

[Kulkarni et al. 2003]

本地
Codeen 限制 实时
CoralCDN 限制 实时
Globule 开源 实时
CDNsim 开源 本地

从上面的讨论可以看出,目前缺少可靠而且可伸缩的CDN仿真器,且CDN仿真器只能以有限的细节来模拟真实的网络(例如对网络的传输时间进行静态估计),总的来说,开发一个完整的CDN仿真器,包括相关的应用程序和网络工具,是一个极消耗时间的任务,因为典型的网络或缓存仿真器不能用在CDN仿真中使用。

专门用于CDN仿真的CDNsim是基于OMNet++仿真环境和INET框架开发的,其中:

  1. 基于离散事件的OMNeT++,是一个免费的、开源的多协议网络仿真软件,在网络仿真领域中占有十分重要的地位。OMNeT++英文全称是Objective Modular Network Testbed in C++,是近年来在科学和工业领域里逐渐流行的一种基于组件的模块化的开放的网络仿真平台。OMNeT++作为离散事件仿真器,具备强大完善的图形界面接口。
  2. INET框架则是在OMNet++环境中的开源通信网络仿真包,它包括几个Internet协议,如UDP,TCP,SCTP,IP,IPV6,Ethernet,PPP,IEEE 802.11,MPLS,OSPF等等。

CDNsim只是使用OMNet++中的基本的网络操作,如TCP/IP传送和离散事件的调度。请求路由,内容分发和管理以及所有CDN的特性则是由CDNsim本身完成的。

Categories: P2P Tags: ,

PlanetLab

December 31st, 2009 leeing No comments

         估计明年主要工作都集中在P2P-CDN的仿真器上,之前做过一些调研,是关于PlanetLab的,而国内关注的人极少,只有少数一些大学的实验室有过相关的应用,而且由于Cernet作为一个整体被除名,中国的使用人数应当大减了。就实验室的项目来说,原本我以为是要设计一个P2P-CDN的混合系统,现在已经变更为设计一个P2P-CDN的模拟器,所以PlanetLab是不可能得到应用,不过这里的一些信息可能对需要它的人有用。

—————–华丽丽的分割线———————

         PlanetLab是一个全球性的研究网络,用于新型网络服务的开发。自从2003年起,超过1,000个来自顶级学术机构和业界实验室在PlanetLab上开发了新技术包括:分布式存储、网络印射、P2P系统、DHT(分布式哈希表)和查询处理。并且值得关注的是在这个平台上,P2P分布式计算的项目很多,甚至是基于P2P的CDN实现和部署。

 http://www.planet-lab.org/

         截止至2009年12月,PlanetLab目前拥有1063个节点和491个站点,很多世界一流大学和行业研究实验室成为PlanetLab计划的联盟成员,其中包括AT&T实验室、剑桥大学、法国电信、HP、Google、NEC实验室、哈佛大学、普林斯顿大学和加州大学伯克利分校连同中国华为集团、以及Internet2机构。2009年5月,PlanetLab中心升级至4.3版本,可以支持新的节点类型(如无线节点),同时加入一些新的GUI特性。

          PlanetLab的主要目标之一是用作重叠网络的一个测试床。研究组能够请求一个PlanetLab分片,其中他们能够试验各种全球规模的服务,包括文件共享和网络内置存储、内容分发网络、路由和组播重叠网、QoS重叠网、可扩展的对象定位、可扩展的事件传播、异常检测机制和网络测量工具。目前有数百个活跃的研究项目运行于PlanetLab之上。

         对研究人员而言使用PlanetLab的好处是:可以在真实世界条件下大规模试验新服务,因为节点广泛分布于Internet,是一个由遍布世界各地的服务器组成的网络,能够观察并对网络行为做出反应;从位于许多数据源和数据终点的邻近范围而受益;从分布于多个管理的边界而受益。

         PlanetLab是一个大规模互联网服务的测试床,在其上更多的狭窄定义的虚拟测试床能够被部署)。网络研究人员能够使用这项基础设施来试验对于Internet协议簇的修改和扩展。除了支持短期试验外,PlanetLab也设计用来支持长期运行的服务,这些服务支持一个用户基础(用户群)。即PlanetLab不但是一个测试床,也是一个部署平台,支持一个应用的无缝迁移,从早期原型,通过多次设计迭代,最后转变为一项持续演进的成熟服务。

          2004 年12月27日中国教育和科研计算机网(CERNET)宣布,CERNET已加入PlanetLab,首先在中国20个城市的25所大学( 包括清华,北大,北航,北邮 )中设立50个 PlanetLab节点,这使得CERNET成为亚洲第一个地区性PlanetLab研究中心,但是在2009年6月1日,PlanetLab重新考虑了CERNET地位,指出PlanetLab接受的成员是研究机构/大学,而不是“国家组织”如CERNET,因此要求所有CERNET地址的中国大学重新申请为独立成员。个人不能直接参与到PlanetLab中,必须是PlanetLab的成员。截止到写这篇文章为止,国内也仅有少数的大学通过审批,更多的则是处于pending状态,更多被除名的大学则没有重新提交过申请。

          建立在PlanetLab之上的一些成功案例,在这里主要是针对P2P-CDN系统来说明的:

CoralCDN

基于P2P的CDN网络:www.coralcdn.org/

CoralCDN是一个免费的P2P内容分发网络,由世界范围内的web代理和域名服务器组成,它允许用户在之上建立一个高性能大需求的web网站。它于2004年的3月,在PlanetLab上进行测试。可以免费地下载CoralCDN的源代码,源代码是由C++完成的,超过一万行。

CoDeeNA Content Distribution Network for PlanetLab

主页:http://codeen.cs.princeton.edu/

CoDeeN是由普林斯顿大学开发的学术性的CDN网络实验平台,且这个CDN网络由众多的PlanetLab节点组成,当前很多缓存服务器部署在PlanetLab的节点之上,这些缓存服务器同时作为request redirectors和server surrogates,它们相互合作提供了一个快速而健壮的web内容分发服务。

同时,它还包括以下的子项目:

最后,特别推荐一篇文章:http://ww2.cs.mu.oz.au/~apathan/CDNs.html,具体描述了CDN技术的前沿方向。

Categories: P2P, 分布式计算, 计算机网络 Tags: