从最早的试探性的对话,到今天结构化的正式文档,55年以来,来自世界各地的研究人员所发表的九千余篇RFC致力于解决计算机网络的设计、概念和应用问题。可以说,RFC记录和见证了互联网的发展历程。
△ 各年发表的RFC数量(来源:https://www.rfc-editor.org/rfcs-per-year/)
二十世纪六十和七十年代
ARPANET
从世界上第一篇RFC诞生的1969年到1979年底,研究人员共发表了692篇RFC。
最早提出RFC(Request for Comments)的是加州大学洛杉矶分校学生——史蒂夫·克罗克(Steve Crocker)。1968年,他和其他三所大学的研究人员要开发分组交换网络。
最初,史蒂夫·克罗克想通过“临时、非正式的备忘录”来交流想法,希望同其他人尽可能公平地讨论问题,不借助其工作的重要性来塑造权威。史蒂夫·克罗克总结了研究小组的座右铭:我们没有投票,只是在组内针对候选标准寻求大致的共识。这样的思想为接下来半个世纪的互联网文化设定了开放、平等的基调。
1969年4月,史蒂夫·克罗克发表了第一篇题为“主机软件”的RFC。1969年底,来自加州大学洛杉矶分校、斯坦福研究所、犹他州立大学和加州大学圣芭芭拉分校的四台主机连接到了最初的ARPANET。
△ 史蒂夫·克罗克发表的第一篇RFC:主机软件
1970年,史蒂夫·克罗克领导下的网络工作组(NWG)完成了最初的ARPANET主机到主机的协议,称为网络控制协议(NCP)。萌芽中的ARPANET开始扩张,RFC也迎来了第一个小高峰。到了1973年,已有30家学术、军事和研究机构加入了该网络。1973年7月25日,伦敦也连上了ARPANET,后者成为了名副其实的国际网络。此时,世界各地的各种计算机网络之间并没有标准的通信方式。
不能让截然不同的网络永远泛滥下去,该制定一套处理数据包的规则了。1974年,美国国防部高级研究计划署(ARPA)信息办公室主任罗伯特·卡恩(Robert Kahn)和温顿·瑟夫(Vint Cerf)受法国Cyclades网络的启发,提出了传输控制协议(TCP),TCP允许计算机使用同一种语言。1977年,ARPA与BBN公司、斯坦福大学及伦敦大学学院签订合同,在不同的硬件平台上开发协议的验证版本:TCPv1和TCPv2。在开发过程中,为了使网络不仅能够支持文件传输类的应用,还能够支持语音等对时延敏感但对丢包不敏感的特性,1978年,TCP的功能被分为两个协议:TCP和IP,成为TCPv3和IPv3。
TCP/IP是一个设计精巧的封装系统,能够确保信息在电话线、卫星链路、光纤电缆上准确无误地传输,同时,应用程序或TCP/IP数据的使用者也无需了解信息传输的具体机制。
二十世纪八十年代
过渡到TCP/IP
二十世纪八十年代共产生了376篇RFC。
TCP/IP的发明是计算机科学领域的重大突破,随后的多个RFC都对其进行了补充说明。1981年9月发布的RFC791定义了互联网协议版本IPv4,稳定的TCP/IPv4最终形成了著名的TCP/IP的沙漏模型,目前仍在被广泛使用。
△ TCP/IP的沙漏模型
然而设计是一回事,将其普及开来却又是另一回事。经过多方努力,近十年之后的1983年1月1日,ARPANET才终于从NCP全面过渡到了TCP/IP。然而,直到1990年ARPANET退役,1991年英国联合科研网(JANET,Joint Academic Network)开始支持IP协议,世界上大多数网络才开始使用同一种语言:互联网的语言TCP/IP。
随着互联网的发展,对更标准化的协议和程序的需求也在增长。RFC逐渐演变为定义这些协议和程序的标准手段。RFC不再仅仅用于共享想法和信息,还用于提出新的标准和协议,这促使了1986年IETF的成立,负责互联网协议的开发和维护。如今,IETF记录了从1969年至今的9443篇RFC,涵盖从互联网协议到安全的所有内容。
八十年代初,网络上计算机数量的增加使得跟踪不同的IP地址变得十分困难,1983年,域名系统DNS协议(RFC882、RFC883)的引入提出了原始的技术规范。1987年发布的RFC1034和RFC1035修正了DNS技术规范,并废除了之前的RFC882和RFC883。
DNS的发明、TCP/IP的普遍使用,以及电子邮件(RFC821定义了SMTP标准、RFC822定义了SMTP消息格式)的普及,导致了互联网活动的快速增长。
1986年至1987年,互联网主机从2000台增加到30000台,学者们开始用互联网发送信息、阅读新闻和交换文件。然而,要拨号进入系统并有效使用,仍然需要先进的计算机知识,而且人们对网络上文件的格式也没有达成一致意见。
互联网需要更易于使用。1989年,英国计算机科学家蒂姆·伯纳斯-李提出了一种新的方法来组织和连接欧洲核子研究中心的计算机网络上的所有信息。他提出的“信息网”概念最终成为了万维网(WWW)。
二十世纪九十年代
互联网大规模扩张
二十世纪九十年代共产生了1593篇RFC。
九十年代的互联网经历了爆发式的增长。在万维网的发明和个人电脑的普及双驱动下,互联网从实验室走进了千千万万百姓家。1996年推出的Mosaic多平台浏览器向非学术界的普罗大众开放了网络,网站的数量从1993年的130个增加到了1996年初的10万多个。
如今,虽然网络设计的创新千变万化,精巧复杂,但其根基无非是一些质朴的概念,那就是二十世纪九十年代出现的URL地址、HTML语言和HTTP协议。其中,1994年的RFC1738定义了URL;1995年的RFC1866定义了HTML2.0。1996年万维网协会(W3C)和IETF联合发布的RFC1945定义了HTTP1.0版本。
此后,互联网开始从方方面面重塑人类的生活。1995年,大量互联网企业如雨后春笋般出现,IPv4地址空间不足的问题开始凸显。在设计之初的1969年,计算机网络主要用于连接科研机构的计算机,在这样的背景下产生的IPv4协议,已经无法适应互联网的大规模扩张了。
1991年12月,题为“互联网体系结构的未来”的RFC1287展开了对下一代IP协议(IPng)问题的讨论。1992年至1994年,IETF对IPng的需求进行了一系列分析,发布了RFC1498、RFC1686、RFC1679等多篇RFC。
1998年12月,IETF正式公布了IPv6标准,发表了题为“互联网协议第6版(IPv6)规范”的RFC2460。可以说,有了IPv6,地球上的每一粒沙子都能分配到一个IP地址。
九十年代,加密系统的发明为电子商务的腾飞保驾护航。1995年,IETF在SSL3.0的基础上设计了TLS协议,为所有基于TCP的网络应用提供安全数据传输服务。RFC2246、RFC4346、RFC5246、RFC6176和RFC8996记录了这一协议的迭代过程。SSL/TLS协议促成了易趣和亚马逊等商业巨头的崛起,一种新的商业形式诞生了。
RFC在TLS协议的演变中发挥了关键作用:提供指南和信息,帮助互联网工程师和专家开发和更新协议。TLS协议仍然在演变中,预计未来还会出现新的RFC,以应对新出现的网络威胁。
千禧年代
互联网应用的创新
2000年至2009年间,共产生了2888个RFC。
进入21世纪后,计算机网络技术推陈出新,云计算、物联网(IoT)、移动互联网以及5G等新技术的快速发展,使网络的应用场景和规模大大扩展。
2006年,互联网进入应用创新高峰,短短一年,视频网站Youtube成立,其出现彻底改变了互联网视频分享的方式,开创了视频社交新时代。同年,成立于2004年的Facebook爆火,突然成为主流社交媒体,吸引了大量新用户,并从仅限高中和大学生使用的软件,转变为覆盖所有人的全球性社交网络。与Facebook相似的社交网站Twitter也同样广受欢迎。在此基础上,搜索引擎和社交网络上的广告内容大幅增加,网络广告开始取代印刷广告,互联网经济开始蓬勃发展。
受到社交软件、网站用户量迅速增长的刺激,2006年,很大一部分RFC以各类与信息传输相关的互联网协议为主题,例如LDAP协议、SRTP协议与IMAP协议。具体来说,LDAP协议用于从目录服务器中查询和更新目录信息,而目录服务器中存储有关各种对象(通常是网络资源)及其属性的信息。因此,LDAP常用来查询用户、计算机及其他网络资源的信息,如名称、电话号码、地址、权限等,而这些信息正是社交网站用户的基础信息。
而SRTP协议则是一种用于VOIP和视频通话的安全传输协议。它提供了加密、消息认证和会话密钥管理的功能,用于保护更为基础的实时传输协议RTP中的报文内容。由于RTP本身没有安全机制,传输内容可能被窃听或篡改,因此,若想保障社交网站中信息交流的安全,SRTP协议的存在必不可少。
2010年至今
网络安全与IPv6备受关注
从2010年至今,共产生了3894个RFC。
2011年,前CIA雇员爱德华·斯诺登(Edward Snowden)向媒体泄露了有关美国国家安全局大规模监控计划的信息,进而引发了全球对网络监控与隐私保护的广泛关注。这一年,讨论IP、加密与信息安全等相关问题的RFC数量明显增多。
更重要的是,2011年2月,国际IP地址管理部门宣布,最后五块IPv4地址被分配给了全球五大区域互联网注册机构,IPv4地址全部分配完毕。至此,IPv4向IPv6的过渡迫在眉睫。然而,IPv6还未广泛部署,IPv4和IPv6需要共存,以支撑互联网的正常运行。在此基础上,双栈协议、NAT64等技术成为本年RFC的重要主题。同时,虽然当时大部分互联网仍运行在IPv4之上,但是IPv6的部署也在同步增长,美国、欧洲等地的大公司已开始试点部署IPv6,因此,有关IPv6推广、部署以及相关标准的RFC的数量也有所增加,使2011年的RFC数量攀上了新高峰。
多个新兴的互联网协议得以出现,如QUIC协议。2016年11月,IETF召开了第一次QUIC工作组会议,意味着QUIC开始了它的标准化过程,成为新一代传输层协议。安全方面,DNS的数据安全、隐私保护等技术成为热点,一些新的DNS安全技术协议、标准不断被提出。2014年10月,IETF成立DPIRVE工作组,聚焦DNS隐私保护问题,研究相关技术提升DNS机密性。
经过多年发展,IETF制定了200余项IPv6标准,提供了丰富的解决方案。中国在IPv6标准的制定中起到了重要作用,中国专家积极踊跃地参与IETF大会,与全世界互联网研究人员和工程师共同努力,形成了新一代IPv6过渡技术的系列标准。以无状态翻译技术为核心的新一代IPv6过渡技术加速推进了IPv6单栈部署的世界潮流。
无厘头的RFC
愚人节的玩笑
当一份互联网草案被提交,若要成为互联网标准文档,都要经过“征求意见(Request for Comments)”的阶段。此时,作者可以提出调查结果、对后续RFC的哲学基础的建议,甚至是玩笑。
RFC一般只表明年月,只有一种RFC会表明年月日,那就是4月1日发布的愚人节RFC。
每当4月1日愚人节RFC出现的时候,就是研究人员最盛大的庆祝仪式。愚人节产生了许多无厘头的文档,这是沿袭了1973年6月一篇名为“ARPAWOCKY”的RFC527(模仿刘易斯·卡罗尔的无厘头诗歌“Jabberwocky”)的传统。
例如,RFC1149“IP数据报的信鸽传递”(Transmission of IP Datagrams on Avian Carriers),RFC1606“从历史的角度看IPv9的使用”(A Historical Perspective On The Usage Of IP Version 9),RFC2324“超文本咖啡壶控制协议”(Hyper Text Coffee Pot Control Protocol),RFC3514“IPv4包头的安全标志位”(Security Flag in the IPv4 Header)。
虽然愚人节RFC未必没有道理,但多数是以玩笑的形式提出的,引用时需要分辨清楚,不能稀里糊涂地参考。
互联网不断在挑战中创新,在创新中演进,这与IETF息息相关。作为一块属于一线科研人员的自由、开放和平等的土壤,IETF以其开放包容的精神吸引了全球互联网科研人员的协同创新。
开放和透明的RFC,也使得互联网的研究、开发和设计过程高度透明,促进了全球范围内的技术交流与合作。
来源:《中国教育网络》2024年9月刊
撰文:陈茜