闵应骅的博客分享 http://blog.sciencenet.cn/u/ymin 一位IEEE终身Fellow对信息科学及其发展的看法

博文

科研思路应该具体化(120324) 精选

已有 5719 次阅读 2012-3-24 11:02 |个人分类:网络|系统分类:观点评述|关键词:学者| 互联网, 因特网, 科研方法

科研思路应该具体化(120324)
闵应骅

    本文想了两个题目,一个是“因特网的问题在哪里?”;另一个题目是“科研思路应该具体化”。前一个着重本文的内容,但是似乎比较专业,不搞网络的人可能就没兴趣看。后一个着重科研方法,通过因特网的例子,说明怎么提出问题,解决问题,搞科研的人怎么思考问题。我觉得后一个可能吸引更多人看。当然,说得不一定对,供参考。
    每当我讲因特网是指现在我们大家用的基于TCP/IP的包交换网络。我们在研究“下一代互联网”,而不是下一代因特网。当然,我们正是因为因特网有问题,我们才研究下一代互联网,企图来个大创新。那么,现在因特网到底有什么问题呢?笼统的说法多得很,都是些指导性意见,不是科研思路。本文要谈的是网速的问题。我家的网已经从4M提高到10M,但我没觉得提高了多少,好像和过去一样。
    这个问题全世界都在关切。Jim Gettys 新造了一个词,叫 BufferBloat,暂且把它翻成“缓冲膨胀”吧!想当初,缓存容量才几百KB,在网速提高以后基本不能用。现在的缓存都是2MB和8MB,甚至达到了16MB、64MB等。这就是缓冲膨胀。喜欢逆向思维的科研人员的问题是:缓冲是不是越大越好呢?所谓“好”当然是体验到的网速快。
    首先一个问题是:是不是缓冲越大,下载速度就越快?一个带宽测试表明信息潜在期可以达到1.2秒(你就需要开发测试潜在期的方法),不管装不装IPsec都是一样,可见不是因为装了IPsec引起的。而电话拨号的潜在期只有0.15秒。实验研究表明,这问题也不是由于电源控制、不同的光缆或电缆调制等问题产生,而是由于过度缓存产生。对于3G网络也如此,不过,到晚上就好一些。
    做一个简单的测试:在10秒内,送出一个包,并等待回复包。每次收到一个回复包,就收到另外两个。如果送出大包,就收到小的回复包;而送出小包,却收到大包。在10秒钟的后面5秒钟,再测量不同负载下的潜在期。说明潜在期和负载有关系。缓冲加大,引起更长的存取缓冲的时间和启动时的错误动作。
    测试潜在期或带宽,并不是一件容易的事情。因为它是动态的。你别看现在有所谓测网速的软件,其实那是在一种很特定情况下测出来的,真正下载的时候达不到那个速度。如果你只测有负载情况下的带宽,你可能不会注意潜在期。当网络中出现从快到慢的转换的时候,数据就会堆积,而形成很长的队列。这在因特网核心进入用户(像优酷视频)或者从用户上传的时候常有。一个高速的家庭网络如果是54M的无线网,实际可能只有1M到2M的因特网连接。一个Linux机器在2M的线上一般有兆位的数据在传输,带有几秒的时间延迟。家庭路由器如果缓冲太小,丢包率就高。不论是WiFi,路由器,还是终端系统,要想工作得好,就必须加大缓冲。但是,如果你只测量带宽,你见不到某些例行网络服务的失效,譬如IP地址的查找。大缓冲和长时延与现行的协议不一致。过大的缓冲严重破坏TCP的拥塞避免机制。因为TCP用若干包的延迟去检测拥塞。包到达拥塞点就缓冲,包来得快,传输得慢,队就加长。队越长,潜在期就长,最后,包丢失,以拥塞通知通信协议。缓冲膨胀允许队列很长而不丢包。但是,当缓冲里充满了包,排泄它们更需要时间,其他的包就进不来,终端用户看到的就是慢速的响应。而许多服务要求较低的潜在期,譬如网络游戏、VOIP、闲谈,太慢了就不可用了。如果缓冲无穷大,就永远没有返回包了。
    怎么解决这问题?缓冲究竟多大算合适?不好回答。譬如对无线,其带宽可能变化2-3个数量级。宽带系统可以高达100M,到用户也就10M或更低。你可以时间,譬如多少微秒,而不是多少K字节来界定你缓冲的大小,而且让它动态变化。当然,对于核心路由器,可能需要同时传送若干个流,到10G的缓冲也许也是需要的。对于只占0.01%的超级计算机中心之间的互联,也是需要的,但对于只有2M缓存的广大用户,他们并不一定得到好处,这就是一个网络经济的问题了。
    网络对同一个TCP流的间歇性行为使人头痛,因为它不稳定。像视频流或者系统备份常有,而Windows XP不支持视窗扩展。现在许多操作系统都在寻求视窗扩展,到多少G。
    为了使缓冲大小动态化,需要硬件和软件的修改,譬如队列管理算法。这个问题的解决需要三方面的努力:用户动态规定缓冲大小;ISP希望给用户高质量的服务;说服设备与软件开发商注意这个事情。没有对所有环节都有效的解,用户需要傻瓜式的时延测量工具,以发现时延发生在哪里?网络边界路由器尤其需要。
    为解决这一问题的每个环节,都蕴含着科研课题。

https://m.sciencenet.cn/blog-290937-551185.html

上一篇:玩游戏 做科研(120318)
下一篇:测量与测试(120326)

9 张伟 陈安 郑新奇 陈学伟 赵凤光 彭思龙 黄富强 王志杰 熊航

发表评论 评论 (10 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-1 16:40

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部