段海新的博客     独立之精神,自由之思想

四月 1, 2009

转:ENIGMA的兴亡(一)

类归于: 网络安全 — 标签: — duanhaixin @ 11:24 上午

【本文出自《三思·科学》电子杂志第二期,2001年8月1日。三思科学网http://www.oursci.org/,由于该网站的改造,原来的链接找不到了。】

人类使用密码的历史,从今天已知的,最早可以一直追溯到古巴比伦人的泥板文字。古埃及人,古罗马人,古阿拉伯人……几乎世界历史上所有文明都使用过密码。军事和外交一直是密码应用的最重要的领域,国王、将军、外交官以及阴谋分子等,为了在通讯过程中保护自己信息不被外人所知,使用过形形色色的密码;而为了刺探于己不利的秘密,他们又绞尽脑汁地试图破译对手的密码。加密与解密一直是密码学这枚硬币互相对抗又互相促进的两面。在所有用于军事和外交的密码里,最著名的恐怕应属第二次世界大战中德国方面使用的 ENIGMA(读作“恩尼格玛”,意为“谜”)。

(全文…)


三月 30, 2009

推荐一个匿名代理:http://cspeed.net

类归于: 网络技术科普 — duanhaixin @ 4:30 下午

如题,不需要我多说了。通过浏览器访问,不需任何配置

http://cspeed.net/


三月 22, 2009

2009年CWE / SANS 统计的25个最危险的编程错误(一)

类归于: COST论坛, 网络安全 — 标签:, — duanhaixin @ 6:37 下午

清华大学信息网络工程研究中心 杨峰翻译,段海新整理

2009年初,CWE/SANS联合发布了25个最危险的编程错误。SANS (SysAdmin, Audit, Network, Security) 【1】研究所是美国一个比较权威的信息安全培训与认证机构,CWE常见缺陷列表(Common Weakness Enumeration)【2】是MITRE公司(一个非盈利机构)继CVE(Common Vulnerabilities and Exposures)【3】之后的又一个安全漏洞词典。

本期给出Top 25的概要介绍,在以后的内容中将陆续介绍每个错误的细节和防范方法。原文可以从CWE网站【4】上访问,提供PDF下载。

(全文…)


二月 14, 2008

中国天天都是愚人节——也说说我知道的十进制网络和IPv9

类归于: 网络技术科普 — duanhaixin @ 11:59 上午

2月13日新语丝上发文《我所知道的IPv9》的wanderor,也许算是我的学弟吧。他说的情况,也许可以代表网络技术研究领域对IPv9和十进制网络的态度,基本上大家是把这当作笑话来讲的。

但是,某些国家主义者或者民族主义者,听到我们的“自主创新”就热血沸腾:我们总算又要“阔”起来了! 

我也草草谈一谈IPv9和我了解的十进制网络吧。

我记得早在1998年前后(可能不太准)参加过国家发改委组织的报告会,也许有点可行性论证会的性质,听取谢先生介绍他的十进制网络和IPv9。不记得讲过什么技术细节,只记得谢先生当时说互联网是美国人发明的,无论IPv4还是IPv6都是十六进制,都是西方人控制的;而十进制网络是我们自己发明的,有中华民族的自主知识产权,对于保护国家安全有重要意义,据说得到韩国人的认可,接收了他们的标准。 

记得当时专家们反对的声音占多数的,其中一位通信领域的知名专家/院士更是毫不留情面的发表了批评意见,记得大概意思是不能以保护国家安全的名义保护落后。基本可以归结为:国家安全,多少罪恶亦如之名!

当时很纳闷,这谢先生所在的上海通用化工研究所,怎么在互联网技术方向有如此的兴趣?能够让发改委出面组织一次专门的技术报告会,来头不小啊!

也是从那时起,知道还有一个愚人节发布的关于IPv9的RFC1606,看完之后笑一笑就忘了,唯独最后一句话印象很深“不研究历史的人,注定要重复历史”,这也许是唯一一句认真的话。记得谢先生说,美国人在实现IPv9的道路上失败了,而他们却实现了IPv9全部功能!

也许中国天天都是愚人节,看看主流“媒体”(即喉舌)每天的“新闻”就知道了

然而,后来知道谢先生还是获得了国家资助,并且和浙江大学联合研制IPv6。中国许多所谓的专家论证会,也许就是个形式吧。后来又听说,因为经费关系,这谢先生和浙江大学有了一些纠葛。

几年前看过沈阳先生为此事做过的调查,其中公布了他和谢先生的通信记录,我想这一技术创新也许就此不了了之了吧。网友们可以从沈阳的博客了解详情: 

—http://blog.wswire.com/read.jsp?aid=8936&uid=148#

—http://w.org.cn/user1/4/archives/2008/1565.html 

然而这些,那些“国家”至上的民族主义者是看不到,或者不愿看到的。

我在和一名老教授讨论我国IT技术有哪些创新时问到,“是IPv9吗?信息过滤吗?是中文域名吗?是 WAPI吗?所谓自主知识产权的“创新”,几乎无不被业界所嘲笑,最终不了了之。” 

该教授对我的答复是“看来小猪说对了,到了自己的奋斗被嘲笑的时代,这个国家还有什么希望?我原来以为小猪是危言耸听,看来还是被他不幸而言中了,我也开始不看好中国的年轻一代了。…”(文中的小猪是指写《刷盘子读书》的作者,http://www.wyzxsx.com/xuezhe/yuchunxiaozhu/ShowArticle.asp?ArticleID=34)。

对这样的“自主创新”,如果我们不去批判、不去嘲笑,反倒鼓吹“这样的奋斗”,这个国家还有什么希望?让那些以所谓的“国家利益”之名去搞一些荒唐的研究占用公共资源,怎么再去支持那些为“满足广大劳动人民需要”而作的研究?

虽然,我们“中国的年轻一代”也没有作出什么成绩,但是至少没有了“国家主义”的狂热和对所谓的普遍真理和方法论的迷信。 

我自称是一个“自由主义”者,但是也知道“自由,多少罪恶以汝之名!”

我自觉也是一个爱国者,但是我今天想说,“国家,多少罪恶以汝之名!” 

不好意思,忘了今天还是情人节。


一月 7, 2008

OSI七层模型忽悠了多少人?–兼答复shinjikun网友

类归于: 网络技术科普 — duanhaixin @ 12:31 下午

OSI模型和TCP/IP长达十几年的竞争,现在已经很少提及了。在今天的中国,各种“标准”、“理论”陆续出台,我们能否在实践检验之前就宣布它的成功、宣称它代表未来的发展趋势?不了解历史的人,很容易重复历史。本文不止是为了答复某些网友的质疑,更希望能够引发对未来互联网体系结构研究及相关社会问题的思考。(本文只是作者本人的“偏见”,希望某些读者不要被“误导”了。)

一、OSI的概要和现状

OSIOpen System Interconnection)参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考模型或七层模型。它是一个七层的、抽象的模型,不仅包括一系列抽象的术语或概念,也包括具体的协议。在国内、国外所有关于计算机网络的教科书中,如果不提OSI参考模型,就仿佛没有了“理论”指导,相信绝大多数学过计算机网络的人,都学过或多少听说过。

在八十年代末、九十年代初,OSI的确有一统天下的架势,主流的学术期刊无数的文章都给人们描绘了一个伟大的未来:“OSI模型及其协议将会统领整个世界,从而把所有其他技术和标准都排除出局 [Tanenbaum《计算机网络》第四版,清华大学出版社,pp39]”。人们将从IBMSNA技术、APARNETTCP/IP技术、DigitalDECnet技术的奴役中解放出来,投入到OSI协议统一的天国。

 然而,在90年代中后期,在我开始学习网络的时候,TCP/IPOSI模型的竞争以互联网的成功和OSI的失败而结束了。我们今天广泛使用的互联网是基于TCP/IP模型,它却是一个四层(有人也说是五层)模型。今天,无论在工程界还是学术界,我们只用OSI参考模型所定义的某些术语或概念进行交流,却很少厂商或个人实现或使用OSI的协议,几乎根本看不到了。

直到今天,有没有人怀疑过,我们是不是被“忽悠”了?这个人人都敬若神明、却又看不到的OSI究竟是何方神圣设计的?

二、OSI七层模型的诞生和消亡

很多人质疑过OSI参考模型。在国内广泛使用的《计算机网络》教材中,Tanenbaum先生就总结了一些教训“糟糕的时机、糟糕的技术、糟糕的实现、糟糕的政策”[pp39],想必很多学生都读过。然而有关OSI参考模型制定的故事,未必有很多人知道。

以下来自William Stalling先生教材的参考资源网站[http://williamstallings.com/Extras/OSI.html]William Stalling是美国至少两本优秀教材的作者。这个故事在[http://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_5-2/book_review.html][ http://www.groklaw.net/articlebasic.php?story=20050219170121955]中得到了验证。

OSI的大部分设计工作实际上只是Honeywell Information System公司的一个小组完成的,小组的技术负责人是Charlie Bachman。在70年代中期,这个小组主要是为了开发一些原型系统而成立的,主要关注数据库系统的设计。70年代中,为了支持数据库系统的访问,需要一个结构化的分布式通信系统体系结构。于是这个小组研究了现有的一些解决方案,其中包括IBM公司的SNA(System Network Architecture)ARPANETInternet的前身)的协议、以及为标准化的数据库正在研究中的一些表示服务(presentation services)的相关概念,在1977年提出了一个七层的体系结构模型,他们内部称之为分布式系统体系结构(DSA)。

与此同时,1977年英国标准化协会向国际标准化组织(ISO)提议,为了定义分布处理之间的通信基础设施,需要一个标准的体系结构。结果,ISO就开放系统互联(OSI)问题成立了一个专委会(TC 97, Subcomittee 16),指定由美国国家标准协会(ANSI)开发一个标准草案,在专委会第一次正式会议之前提交。Bachman 参加了ANSI早期的会议,并提交了他的七层模型,这个模型就成了提交ISO专委会的唯一的一份草案。19783月,在ISOOSI专委会在华盛顿召开的会议上,与会专家很快达成了共识,认为这个分层的体系结构能够满足开放式系统的大多数需求,而且具有可扩展的能力,能够满足新的需求。于是,1978年发布了这个临时版本,1979年稍作细化之后,成了最终的版本。所以,OSI模型和1977DSA模型基本相同。

以下故事来源于普度大学著名教授Douglas E. Comer先生的个人主页上的一篇文章“How the 7-layer reference model was inventedhttp://www.cs.purdue.edu/homes/dec/essay.network.layers.html)。 Douglas E. Comer先生在网络界的盛名不需我多说,可能很多人都读过他写的《Internetworking With TCP/IP Volume 1: Principles Protocols, and Architecture》。

“研究人员开始回顾OSI七层参考模型的起源,琢磨这个笨重的、模糊不清的模型为什么如此的持久力,总是挥之不去。他们发现了一个令人吃惊的事实。我们早就知道,这个模型是一个小组的工作,但是我们不知道,那个群人在一天夜里聚在酒吧里取笑美国的流行文化。他们在餐巾纸上胡乱写下迪斯尼电影上白雪公主和七个小矮人中的七个小矮人的名字,有人开玩笑说,“7”对网络分层来讲是一个很好的数字。第二天上午在标准化委员会的会议上,工作组传看着餐巾纸,一致同意了他们前天夜里他们喝醉以后的重大发现。那天结束时,他们对七个层次重新命名(听起来更加科学),于是基本模型诞生了。以下罗列了七层的名字和一些解释:

层次   小矮人的名字      OSI分层的名字       解释

1       Sleepy                   Physical(物理层)     …. 2       Sneezy           Link (链路层)           …..

3       Happy            Network(网络层)     …..

4       Doc              Transport(传输层)    ……

5       Dopey            Session(会话层)      …..

6       Bashful           Presentation(表示层)  ……

7       Grumpy          Application (应用层)  …..

这个故事的教训:如果你是一个标准委员会的工程师,就不要和你的同事去喝酒——深夜里一个拙劣的笑话,有可能成为工业界几十年都挥之不去的梦魇。”

Douglas E. Comer来清华演讲时,我还没有看到这篇文章,没有向他求证故事的真假,自认为有很多调侃的成份。但是美国这些学者对OSI的态度却不需要过多求证了,OSI是一批没有网络设计和开发经验的人设计的,也基本可以得到证实。

“伟大”的OSI参考模型的思想在酒吧里诞生以后,确实“忽悠”了很多组织和研究者,其中包括美国联邦政府。1990年美国通过国家标准和技术协会发布了联邦信息处理标准(FIPS) 标准 FIPS 146-1,也就是GOSIP(Government Open Systems Interconnection Profile )GOSIP定义了OSI协议的子集,要求联邦政府机构的信息系统都要遵循GOSIP协议进行通讯,并要求向政府部门供货的设备厂商的必须能够证明他们的设备能够与GOSIP兼容。然而,就像Douglas E. Comer先生在清华的演讲中提到的,联邦政府后来又允许已有的设备、紧急的项目采用TCP/IP协议或其他的协议,于是几乎所有的项目都声称自己是紧急的。到1995年,联邦政府又发布了POSIT(Profiles for Open Systems Internetworking Technologies) FIPS PUB 146-2http://www.itl.nist.gov/fipspubs/fip146-2.htm),在第3条中声明“This change modifies FIPS 146-1 by removing the requirement that Federal agencies specify GOSIP protocols when they acquire networking products and services and communications systems and services.”从此,除了少数军方应用使用X.500的邮件系统以外,OSI已经名存实亡了。

 三、OSI Internet产生了“严重”影响吗?

那么,我们不管是谁设计的OSI模型,就像有人说《黄帝内经》不是黄帝写的并不能否认《黄帝内经》的伟大一样。那么OSI七层模型对Internet的发展是否真的产生了“严重影响”呢?

至少我们知道,OSI的七层模型诞生之前,ARPANET已经存在了。但是有人说,至少TCP/IP使用了OSI的许多术语,比如协议层的名字。我们再来看看以下文字(来自http://www2.rad.com/networks/introductory/layers/main.htm):

许多教科书中Internet协议的描述中使用了OSI的许多术语,比如物理层和数据链路层。然而,在1981年之前并非如此。1981Jon Postel 等在计算机网络1981年第5,pp261-271 上发表的文章中有一个图表,我们今天所说的IP层(对应OSI的第3层,即Network Layer),实际上是Internetwork  Layer,它运行在Network Layer(对应OSI的第2层,即Data Link Layer)之上。  就像周正龙的华南虎照片和年画一样,我们不难说明谁影响了谁。

当然我也不否认,在互联网领域,无论学术界还是工程界,我们已经习惯了OSI的术语,用它交流一般也不会产生误解。比如我们说一个工作在“第7层”的系统,我们都知道是应用层,也不必非要说它是TCP/IP的第5层。

四、没有“理论模型”的指导,那么互联网设计的“指导原则”究竟是什么?

(以下文字摘自我给研究生新生所作的一次报告“互联网精神与科技创新”,也发在我的博客上,稍作修改)也许很多人在课堂上学过一些类似“四////原则”的“指导思想”,比如:  

 

  • 无连接(Connectionless),区别于传统电信网络面向连接的概念,使用分组交换而不是电路交换。
  • 端到端(End to End),在网络层(IP层)以上,通信的端系统(计算机)应该直接通信不需要中间设备,类似防火墙、地址转换设备等中间盒子(Middle-Box)是不被看好的。
  • 简单性原则。。。。
  • 分层的思想等等。。。

这些设计原则的确为后来网络技术的研究提供了很大帮助,也许是适应当时互联网发展的。然而这些原则从哪里来的?是来自美国政府(如国防部)的“最高指示”吗?还是来自上帝的启示?

我们看一下MIT David Clark教授1988年发表的这篇文章【4】,我们可以看到,在互联网的设计之初,很多设计目标、动机都是很模糊的,许多所谓的设计原则或设计思想,在互联网发展过程中逐渐总结出来的。

例如,无连接的思想在一开始并没有充分强调,IP层和TCP层分层的思想,在一开始也不是当初计划书的一部分。

比如ICMPOSPF是哪一层的协议? ICMP是封装在IP分组中的,但是却与IP是同一层次;OSPF有与TCP同等层次的协议号码(protocol number),然而TCP/IP协议栈中“传输层”或者“第4层”的协议只有TCPUDP,却不包括OSPF

我最近参加的IETF会议上,cisco 公司的资深专家Fred Baker介绍cisco 公司解决局域网安全问题的“IP Source Guard”技术时,不止一次提到了,我们的确打破了分层原则,是指他们在二层交换机上检查了数据包的三层信息。他们没有让“分层原则”束缚了自己的手脚。

上学期,美国普渡大学的教授、互联网先驱之一Douglas Comer 先生在这个会议室做了一次报告,题目是“Lessons Learned From The Internet Project 5 。我选取其中的几点介绍一下:

  •  端到端的原则也没有象当初想象的那么关键,目前一半以上的计算机通过网络地址转换(NAT)上网(即使用192.168.x.x这类的私有地址),而且防火墙也已经被广泛的接受,而这些,都打破了互联网的端到端原则。
  • 由多个网络构成的通信系统与一个庞大的单一网络构成的通信系统相比,更为灵活,并且更容易适应技术的变化
  • 一个由智能终端系统和简单的网络构成的网络,富于创新的潜力,但是有时较为脆弱
  •  制定一个有限的目标,构建一个具体的系统,或者解决一个具体的工程问题,比起一个宏伟的目标、复杂的系统更为现实
  •  OSI七层参考模型表明,由一个专家委员会设计的东西,不会有什么好结果。

那么,互联网的研究与开发有没有“世界观”、“方法论”一类的指导思想呢?1992David Clark教授在IETF会议上总结了这样一句话“We reject: kings, presidents, and voting. We believe in: rough consensus and running code(我们拒绝国王、总统和投票,我们相信大多数人的意见和运行的代码)。”这就是广为流传的“互联网哲学(Internet Philosophy)”。也许让许多搞哲学的先生们大跌眼镜,这算哪门子哲学?

五、简单答复新语丝上几位网友关于的留言

Shinjikun网友在我新语丝博客《当科研也开始装神弄鬼》一文的留言说:“段先生似乎想问题有点偏激”。

面对无数指责我偏激的人,我只好用太簇给我的留言答复他/她:在当今社会,“偏激是一种美德。 :-) ”。是的,我所有的观点都是我个人的偏见,我在以前的文章中也已经声明过。Shijikun先生比我更“全”么?

“说来Internet,其实基本就是在OSI的模型框架中的,至少受到其严重的影响,只不过有大量优化。”

想起了有人说周正龙说那幅年画是照着他的照片画的,先搞清楚InternetOSI的先后吧?

“实际上现在几乎所有的主流教科书都是讲的 OSI体系”。

这个一点也不假,国内外都是如此。在现代天文学传入中国前,大多数人都相信“天圆地方”,中国主流的医院也都有中医科室。看看国外的主流的教科书,在讲OSI体系的同时,有多少持批评的观点?

“而完整的OSI体系也并非没有实现,OSI的一个著名实现叫做GOSIP,现在全世界都在弄”。  

GOSIP OSI一个著名的“实现”吗?“全世界都在弄”,我实在吓了一大跳。这要怪我孤陋寡闻了。我进入网络研究的圈子已经有十多年了,因为CERNET网络中心工作的关系,我跟全国许多大学做网络研究的教授每年都有一些学术或技术交流,我每年也都曾出国开会与国际的学者交流,其间从没有人跟我提过GOSIP。若不是2007 Douglas Comer教授来清华演讲,我还真的都没有听说过GOSIP

不知道Shinjikun网友来自哪个世界?

“我确定您听说过,为啥就是不说呢?” 什么证据让您“确定”我听说过?

 我这里并没有要和Shinjikun网友“开干”的意思,对Shinjikun网友也没有敌意。只是希望不“偏激”的Shinjikun网友,不要把井口一样的天空当作“全世界”,也建议你考上研究生之后到国外去看看,不要把中国当“天下”。

 六、几点结论和思考

本文不是学术论文,只是我个人目前对OSI模型以及类似政府强制推行的“官方标准”的一点看法,因此我收集的关于OSITCP/IP历史的资料并不全面。

OSI模型对于理解网络协议也许有一些作用,但是我不认为它曾经对网络研究有过什么指导,以后的研究更不应该局限于OSI的框架之内。在技术研究领域中,我认为研究应当以解决问题为目标,也就是“具体问题具体分析”,“实事求是”,让OSI参考模型见鬼去吧。

一个“理论模型”,应该来自于实践,同时还应该接受实践的检验,“实践是检验真理的唯一标准”。一个由所谓的“精英”或“专家”委员会设计出来的东西,在未经检验之前就宣布它是成功的,宣称它代表了未来的发展方向,是不能让人信服的,它的结果往往和OSIGOSIP一样。

在我看来,在互联网领域中美国的大忽悠也不比中国少。OSI是他们忽悠出来的,不仅忽悠了美国政府,而且忽悠了全世界。不过我也不认为,像有些学者所说,美国人关起门来偷偷地研究TCP/IP,却骗其他国家都走OSI的弯路,使得美国再互联网领域占尽了先机。也许不少民族主义的“爱国者”会相信这样的说法,以证实美国的确有狼子野心。

然而,在一个言论自由、允许学术争鸣的国度里,不怕有人忽悠,就像华南虎照片最终会被揭穿一样。从OSI参考模型诞生之日起,就有一批人“We reject: kings, presidents, and voting. We believe in: rough consensus and running code”。最终大多数人还是会选择他们能够看到、用到、感受到的实际的东西,而不是想象中的乌托邦(OSI)。

然而在中国,“学而优则仕”的学者引进了美国的忽悠出来的东西之后,就不允许有人提出反对的声音了。更加可怕的是,这些忽悠出来的理论不经检验就宣布它是真理,代表着未来的发展方向,于是我们就只有被忽悠的自由了。

其实经济问题不也如此么?计划经济这个由伟大导师设计的理论模型,真的能带我们到共///义的天堂吗? 在市场经济已经占据文明国家的主导地位的今天,为什么有人仍然抱着一个未经证实的“真理”(假如我们姑且不说是证实为失败的)?

 列宁说“没有革命的理论,就没有革命的实践”,对于我们习惯于在伟大导师指导下生活的人们,总是希望自己的实践能上升到理论高度。我们实际上是没有信仰的一群人,然而总是希望找到一个“理论”来顶礼膜拜,完全忘了自己的信条“实践是检验真理的唯一标准”,没有经过实践检验的只能是一种假说。这群自称唯物主义者的人,我想不出他们跟宗教信徒有多大差别。

最后用本文开头的那句话结尾吧,这本是1994年愚人节发布的一个RFC(可是中国的学者居然把它实现了,伟大吧?),这个文档只有最后的这句话是严肃的:Those who do not study history, are doomed to repeat it(不研究历史的人,注定要重复历史)。

请问我们中国的年轻人,我们了解中国的近代历史吗?我们是否会重复历史?  

 


互联网精神与科技创新(一) (一篇旧文)

类归于: 网络技术科普 — duanhaixin @ 12:23 下午
 互联网精神与科技创新
—2007年研究生入学教育报告

短短几年间,互联网彻底改变了贸易、卫生、教育、以及人类通信与交流的架构。并且,其所具有的潜力远远大于我们在它诞生后的这一小段日子里所看见的。

                        —-科菲.安南-互联网治理全球论坛2004 【1】

首先我声明,我今天的报告只代表我个人的想法,不代表任何领导和组织。我的观点也不一定对,大家可以批评。

今天我不想介绍网络安全的具体技术问题,我觉得某种意义上,思维方式和研究方法上的问题比具体的知识更为重要。你们现在是研究生了,不是本科生打基础的阶段;研究生阶段不仅仅是进一步学习先进的知识和技术,更重要的是,要用你们的聪明才智去创造新的知识和技术。

我报告的题目有点怪异,互联网有精神吗?当然没有,今天我要说的“互联网精神”是互联网研究者应该具有的精神。科技创新这个话题也太大,我只能简单谈一谈和大家研究生生涯相关的一些话题,希望对大家的学习有所启发。

一、互联网精神与传统文化

1.先来简单回顾一下互联网的历史和它的标准化组织IETF的运作方式。

Internet技术起源于70年代美国国防部的科研项目,80年代交由美国自然科学基金会(NSFC)管理,后来逐步商业化。1998年美国政府试图控制互联网域名和地址的分配权,但是遭到一致的反对,包括大量美国的学者。后来成立了互联网域名与号码分配机构ICANN (Internet Corporation for Assigned Names and Numbers ) 【2】,它是一个非营利的国际性组织,负责IP地址分配、协议标识符的指派、顶级域名和一级域名的管理、以及根服务器系统的管理。ICANN不受美国政府支配,我国互联网领域的知名教授也曾经做过ICANN的理事成员。

IETF【3】负责互联网标准的制定。我参加过IETF的会议,感受最深的不是会上讨论的技术问题,而是它的运作方式和热烈的气氛。IETF是一个非常开放的组织,任何人都可以参加。如果按照中国的法律,IETF可以说是一个非法组织。在IETF中,没有一个“专家委员会”之类的机构为互联网制定一个长远的发展规划,规定哪些课题可以研究、哪些课题不能研究。如果有很多研究人员对同一个研究问题感兴趣,就可以成立一个工作组,当然要经过一定的程序。工作组主要是通过邮件列表开展工作,工作组主席的权力就是召集开会,并协调组织会议的议题和进程,所有的工作都是义务性质的,没有人支付他们的工资。

互联网的标准(RFC)不具有任何的强制性,你可以使用非标准的配置进行通信,比如你可以把你的SMTP服务监听TCP/250端口,然后修改你的客户端配置,实现邮件服务器内部通信是没有问题的。但是你若要跟其他组织邮件联系,就要遵守大家的约定了,完全靠合作,而不是强制措施。

这么一个无结构、无组织、无纪律的网络会是什么样子?的确,杂乱无章,可以说也是个自组织(Ad Hoc)网络。的确互联网也存在各种各样的问题,但是不能否认,互联网技术取得了巨大的成功。

2.互联网设计原则和互联网哲学

你们本科上网络课的时候老师也许讲过“互联网的设计原则”,比如:

  • 无连接(Connectionless),区别于传统电信网络面向连接的概念,使用分组交换而不是电路交换。
  • 端到端(End to End),在网络层(IP层)以上,通信的端系统(计算机)应该直接通信不需要中间设备,类似防火墙、地址转换设备等中间盒子(Middle-Box)是不被看好的。
  • 保持网络的简单性(KISS,Keep It Simple and Stupid),把复杂的功能放在端设备(计算机)上,网络设备应该尽可能的简单,特别是网络设备不应该保留状态。
  • 分布式控制、资源冗余,等等…..

这些设计原则的确为后来网络技术的研究提供了很大帮助,也许是适应当时互联网发展的。然而这些原则从哪里来的?是来自美国政府(如国防部)的指示吗?还是来自“上帝”的启示?

我们看一下MIT 的David Clark教授1988年发表的这篇文章【4】,我们可以看到,在互联网的设计之初,很多设计目标、动机都是很模糊的,许多所谓的设计原则或设计思想,在互联网发展过程中逐渐总结出来的。例如,无连接的思想在一开始并没有充分强调,IP层和TCP层分层的思想,在一开始也不是当初计划书的一部分:比如ICMP、OSPF是哪一层的协议?

上学期,美国普渡大学的教授、互联网先驱之一Douglas Comer 先生在这个会议室做了一次报告,题目是“Lessons Learned From The Internet Project” 【5】。我选取其中的几点介绍一下: 

  •  端到端的原则也没有当初想象的那么重要,目前一半以上的计算机通过网络地址转换(NAT)上网(即使用192.168.x.x这类的私有地址),而且防火墙也已经被广泛的接受。
  • 由多个网络构成的通信系统与一个庞大的单一网络构成的通信系统相比,更为灵活,并且更容易适应技术的变化
  •  一个由智能终端系统和简单的网络构成的网络,富于创新的潜力,但是有时较为脆弱
  •  制定一个有限的目标,构建一个具体的系统,或者解决一个具体的工程问题,比起一个宏伟的目标、复杂的系统更为现实
  • OSI七层参考模型表明,由一个专家委员会设计的东西,不会有什么好结果 

1992年David Clark教授在IETF会议上提出了这样一个问题:随着互联网和用户群体的增长,我们怎样管理我们的标准化进程以便技术的进步满足这些增长呢?David 教授这样回答【6】: 

  •  Open process — let all voices be heard.
  •  Closed process — make progress.
  •  Quick process — keep up with reality.
  •  Slow process — leave time to think.
  •  Market driven process — the future is commercial.
  •  Scaling driven process — the future is the Internet. 

    We reject: kings, presidents, and voting.

    We believe in: rough consensus and running code

(我们拒绝国王、总统和投票,我们只相信大多数人的意见和运行的代码)。

最后这句话成为著名的“互联网哲学(Internet Philosophy)”广为流传。这个群体,不听命于政府,不迷信权威,只相信实实在在运行着的程序代码。从这个所谓的“互联网哲学”中,从我们上面介绍的IETF的运作形式中,不难理解互联网为什么具有这么强的活力,如此具有勃勃生机。

我自己把”互联网精神”总结为以下八个字:自由、平等、开放、合作。

  • 自由:任何人都可以自由选择自己的研究问题,没有一批专家先制定出一个参考模型或体系结构来,规定别人必须研究什么,不能研究什么;
  • 平等:所有的研究者是平等的,在网络上各终端在互联网的范围内可得到的服务也是平等的;
  • 开放:任何人都可以参与研究,都可以对别人的研究成果提出质疑和批评;所有的技术标准都是开放的、免费的;
  • 合作:技术标准的实施和部署不是强制性的,各互联网运营商(ISP)之间出于自身的利益自愿合作,同时又为保护自身的利益存在冲突、竞争,达到一种平衡。有学者把这种关系比喻成“刺猬取暖”。

以上只是我自己一时的总结,也许以后我也可能进一步补充,也欢迎各位同学指正。

3.中国在互联网领域的创新与中国社会文化

我们中国的网民也许是世界第一了吧?我不是很清楚,即使现在不是,迟早也会的。但是中国在互联网领域里,有哪些创新?核心的路由协议?应用层协议比如WWW或HTTP?我们就连很多应用模式甚至名称都是模仿国外的,比如SUHO,QQ等等。

不过在有些领域,我国在互联网技术中还是有国际领先的,大家想一想有哪些技术。凡事有中国特色的,就没有人的做得过我们,比如中文域名。在IETF中有一个工作组研究域名国际化的,那是以中国人为主的。我们也可以通过行政手段让中国的域名服务器都支持中文域名,可是到了国外,这种手段就失效了。于是中文域名只能在国内用。就象阎锡山的小火车,开不出去的。还有一项技术我认为世界领先是当之无愧的,那就是互联网上的信息过滤。可惜我们做的,说不得,怎么可能被世界承认呢?

想一想我们每天使用的互联网技术和我们的技术创新,我们吃到了“鱼”,但是我们会“渔”吗?有段相声讲一个人钓不到鱼,就买了鱼回家说是自己钓的。现实中我们的学者也可以买个芯片打磨一下就说是自己研制的。

互联网技术在西方诞生、蓬勃发展的背后是它的社会和文化,我觉得有它深厚的社会和观念的背景:

  •  一个崇尚自由和平等的社会;
  •  一个理性的社会,至少社会的精英不迷信政府和权威;
  •  一个开放的社会,允许各种观点存在、争论; 

然而中国是一个什么样的社会呢?

  • 一个迷信的社会,无论是老百姓还是精英,迷信的东西很多;有几个不迷信的,就揣着明白装糊涂,理性的撒谎;
  • 一个不讲平等、崇拜权力的社会,一个从下往上磕头、从上往下打嘴巴子的社会;
  • 一个不允许不同声音存在的社会,整天喊着要“统一思想”、“统一认识”,要和谐,不要争论…。想一想,中国能够允许IETF这样的组织存在吗?一个”非法”组织,开一次会就是数千人的“群体性聚集”事件,这得多紧张啊? 

想一想孔老夫子的话:“君子有三畏:畏天命,畏大人,畏圣人之言”,看一看我们现在的社会,在思想观念上,几千年来我们究竟进步了多少?

牛顿说,我之所以看的更远,是因为我站在伟人的肩膀上,也就是把伟人或圣人踩在脚底下。我当然不是鼓励大家把“圣人”都打翻在地,再踏上一只脚;我要问的是,为什么我们要跪在圣人的脚底下?

西方一代人站在上一代人的肩膀上,所以看得越来越远;我们一代人跪在上一代人的脚底下,于是我们就只能看见眼前的那点东西了。

本部分参考文献:

1. Eduardo Gelbstein,Jovan Kurbalija, Internet Governance : Issues, Actors and Divides

2. ICANN (互联网名称与数字地址分配机构)主页:http://www.icann.org/tr/chinese.html

3. 互联网工程任务工作组IETF主页:http://www.ietf.org/

4. David D. Clark, The Design Philosophy of the DARPA Internet Protocols

5. Douglas Comer, Lessons Learned From The Internet Project6. David D. Clark, A Cloudy Crystal Ball–Visions of the Future, IETF, July 1992


防范“USB病毒”的一点雕虫小技(一篇旧文)

类归于: 网络技术科普 — duanhaixin @ 12:20 下午

这里所谓的“USB病毒”是指通过USB接口的移动介质(如U盘、活动硬盘、MP3等,以下统称U盘)传播的一类病毒。目前U盘成为我们交换数据文件的常用方式,也成了病毒传播的重要途径,特别是在图片社、打印社等地方。  

    近日从朋友和同事那里学了几招雕虫小技,很简单,但对防范当前的USB病毒很管用。
    1.在你的U 盘上建立一个autorun.inf文件夹,可以防止你的U盘被写入USB病毒。
    原理很简单:Windows在默认安装的情况下,插入U盘后,Windows会检查其中的autorun.inf,并且自动运行文件中指定的程序。病毒也利用这一功能启动自己。如果我们自己实现创建了以“autorun.inf”为名字的文件夹,病毒在写入文件的时候就会出错,即便能够写进病毒程序,也不能自动运行。
    如果你在自己的U盘上创建autorun.inf文件夹时告诉你与现有文件重名,那么很有可能这个U盘上已经有autorun.inf文件了,它有可能是隐藏的(很有可能你的U盘已经被病毒感染了)。
   当然如果有人写了一个新的病毒,先检查有没有文件夹autorun.inf,如果有就先删掉它,这一招就失灵了。好在目前很多黑客写程序并不做那么多出错处理。
   2. 关闭你计算机的自动执行功能,可以防止你的计算机被染毒的U盘传染。
   1)关闭“Shell Hardware Detection”服务,再放入光盘或U盘时系统将不再扫描这些移动介质的内容,也不会运行Autorun.inf的脚本,病毒也就不会自动地感染电脑。此时再进行病毒的清理工作。 
    现在我们来看看如何关闭“Shell Hardware Deection”服务,单击开始菜单的运行,输入“services.msc”(引号不用输入)打开服务窗口,在右侧显示的内容找到“名称”列,在“名称”列里找到“Shell Hardware Detection”(可以随便单击一下“名称”列里的内容,再按键盘上的S键,快速地定位),单击右键,再单击属性弹出属性对话框,先选择停止,然后在常规选项卡里的“启动类型(E)”右边的下拉菜单中选择“已禁用”,如下图所示。最后确定退出,重启计算机即可。

  (对不起,我截屏的图片总也上传不上去。新浪好像禁止了我上传图片)

     2)关闭windows的自动播放功,是根除U盘等移动设备自动播放的最理想的方法。其具体操作如下:

  开始菜单-> 运行, 输入gpedit.msc,回车。计算机设置,管理模板,系统,双击关闭自动播放,然后选择已启用,选择关闭所有驱动器(如图2所示)。

    当然,防病毒软件可能解决大部分问题,但是很多时候查不出U盘上的这些病毒。

    如果你有更好的办法,分享一下吧。


WordPress 所支持