互联网标准文档RFC之于互联网用户,如同空气之于普通人,它透明、隐形,让人意识不到其存在,但同时它又无比关键、必要,赋予了互联网真正的生命与活力,使其在几十年的发展中愈发蓬勃。
RFC的概念与意义
RFC(Request for Comments),即征求意见稿,是由互联网工程任务组(简称IETF,是世界上唯一的国际性、非政府、开放性的互联网技术开发和标准制定组织)发布的一系列备忘录,包含了关于互联网的重要文字资料。可以说,如果一项技术想要成为全世界软件开发商、硬件制造商以及网络运营商自愿实施的标准和遵守的规范,那么成为RFC是它的必经之路。
IETF表示,但凡在“电线之上和应用程序之下”(above the wire and below the a pplication)的内容,都属于他们的工作范围,而RFC的研究范畴亦是如此。从数据链路层、网络层、运输层、会话层到表示层、应用层,互联网的各个层级都是它的研究目标。得益于网络层中的IP地址、路由和应用层中的域名系统,互联网大厦从此有了稳固、坚实的基础。而在应用层HTTP、HTTPS协议相关RFC与传输层WebRTC等协议RFC出现后,全世界几十亿人才可以每天安全地浏览网页、收发电子邮件并参加线上会议。
第一篇RFC诞生于1969年,那时互联网还尚不存在,只有阿帕网四大研究中心(加州大学洛杉矶分校、斯坦福研究所、加州大学圣芭芭拉分校和盐湖城犹他大学)的四台计算机连接成的ARPA网。
而就在这一互联网的孕育阶段,加州大学洛杉矶分校的学生斯蒂芬·克罗克撰写了第一篇RFC。RFC 1定义了ARPA网上主机间通信所使用的“IMP软件”,真正实现了软件可移植性的设想,是日后互联网标准化工作的基石。而克罗克也成为发起RFC的第一人,RFC也正式成为说明、记录、分享互联网标准与协议的文档。
RFC通常起始于由个人或多人共同编写的互联网草案。这些草案需要被IETF的某个工作组采纳,之后,工作组需要与互联网工程指导组(IESG)及IETF进行多轮商议,并根据反馈对草案进行改进与修订。最终,当草案得到所有IESG的成员认可后(no comment),便可送交给RFC编辑部,授予RFC编号,进行文字编辑和格式协定,最终成为RFC发布。从始至终,都有一套定义明确的流程指导着草案的审议和进展,同时并非每一个草案都可以成为RFC。
近二十年RFC的变化趋势
任何人都可以从https://www.rfc-editor.org/rfc-index.html这个网页上看到迄今为止所有的RFC。
截至2023年5月31日,一共有9411个RFC。从2003到2023年这二十年,RFC的产生数量起伏不定。2006年,RFC的数量达到二十年以来的高峰,共计459篇RFC在该年发布;而在2019年,RFC的数量又走向了二十年中的最低点,仅有180篇RFC在该年发布。
实际上,当我们一同回顾互联网的历史,就会发现RFC的数量与互联网的发展 “同气连枝”:前者“哺育”了后者,同样,后者也促进了前者的诞生。
2006年,互联网进入一个应用创新高峰。短短一年中,视频网站YouTube成立,其出现彻底改变了互联网视频分享的方式,开创了视频社交新时代;同年,Facebook成为流行,虽然Facebook在2004年就已成立,但直到2006年,它才突然成为主流社交媒体,吸引了大量新用户,并从仅限高中和大学生使用的软件,转变为覆盖所有人的全球性社交网络,与Facebook相似的社交网站Twitter也同样广受欢迎;在此基础上,搜索引擎和社交网络上的广告内容也大幅增加,网络广告开始取代印刷广告,互联网经济也由此萌发。
受到社交软件、网站用户量迅速增长的刺激,2006年,很大一部分RFC以各类与信息传输相关的互联网协议为主题,例如LDAP协议、SRTP协议与IMAP协议。具体来说,LDAP协议用于从目录服务器中查询和更新目录信息,而目录服务器中存储有关各种对象(通常是网络资源)及其属性的信息。因此,LDAP常用来查询用户、计算机及其他网络资源的信息,如名称、电话号码、地址、权限等,而这些信息正是社交网站上用户的基础信息。
而SRTP协议则是一种用于VOIP和视频通话的安全传输协议。它提供了加密、消息认证和会话密钥管理的功能,用于保护更为基础的实时传输协议RTP中的报文内容。由于RTP本身没有安全机制,传输内容可能被窃听或篡改,因此,若想保障社交网站中信息交流的安全,SRTP协议的存在必不可少。
图1 每年RFC发布数量
从折线图1中可见,2006年后,2011年的RFC数量又出现了明显的上升趋势,而2011年也发生了轰动互联网的大事件——前CIA雇员爱德华·斯诺登向媒体泄露了有关美国国家安全局大规模监控计划的信息,进而引发全球对网络监控与隐私保护的广泛关注。因此,在2011年,讨论IP、加密与信息安全等相关问题的RFC数目明显有所增加。
更重要的是, 在2011年前后,全球IPv4地址已经基本分配完毕。然而,当时IPv6还无法做到广泛部署,IPv4和IPv6需要共同存在以支撑互联网的正常运行,在此基础上,双协议栈、NAT64等技术成为该年RFC中的重要主题。同时,虽然当时大部分互联网仍运行在IPv4之上,但是IPv6的部署也在同步增长,美国、欧洲等地的大公司已开始试点部署IPv6,因此,有关IPv6推广、部署以及相关标准的RFC的数量也有所增加,使2011年的RFC数量攀上了又一个高峰。
我国主要的RFC贡献者
1996年3月,在第一个RFC出现27年后,清华大学提交的《互联网消息的汉字编码》(Chinese Character Encoding for Internet Messages)被IETF通过为RFC 1922,成为中国大陆第一个被认可为RFC文件的协议,也是我国的第一个信息类RFC。该RFC中提出了适应不同国家和地区中文编码的汉字统一传输标准,解决了当时存在的三种汉字编码方案不统一的问题。
此后,中国研究人员和单位所撰写的RFC数量渐次增加,我国作者对互联网技术开发与标准制定中的贡献也逐渐凸显。尤其是自2013年第88届IETF会议以来,中国始终是参会人数第二多的国家。这些参与既给中国为互联网核心技术发展贡献力量提供了机会,也激励中国作者发表了越来越多的RFC。
图2 各国家/地区每年发表RFC的作者数量
由图2可见,美国、欧盟作者数量始终处于高位,而在2003至2010年之间,中国作者的数量每年都在缓慢增加,并在2008年至2011年时逐渐超越了日本、英国、德国、加拿大和法国等国家,成为年发表作者数量第二高的国家。特别地,在2010年北京召开第79届IETF大会后,直到2019年的9年之间,中国作者的数量都始终保持在75名之上,且直到2022年,中国依旧是每年作者人数第二高的国家。
经统计后可得,过去20年以来,我国发表过RFC的机构共有23家(表1)。其中,不管是参与撰写的RFC数量,还是作为第一作者撰写的RFC数量,又或是撰写过RFC的作者数量,华为、清华大学、中兴、中国移动以及中国电信这五家机构均位于前五位,在不同排名中仅顺序有些变化,其研究实力与贡献程度可见一斑。
如果把RFC的主题聚焦于IPv6,那么每一机构的发表量亦有所变化。
在官方网站(https://www.rfc-editor.org/search/rfc_search.php)进行高级检索,将关键词设置为IPv6,时间范围设置为2003年1月-2023年5月,如图3所示。我们得到相关RFC的全部数量为484篇,筛选出第一作者为中国人并来自中国机构的篇目,共计26篇。
图3 查找IPv6相关RFC时的网站
从统计图4中可知,26篇RFC的作者中,共有12人来自于清华大学,占比最高;其次有9人来自华为,占比第二;有2人来自于中国移动,中兴、中国电信与中国互联网络信息中心(CNNIC)各有1人。
图4 以IPv6为主题的RFC第一作者机构分布
RFC的引用率可以侧面反映该RFC的重要性,某一RFC的引用率越高,既说明其重要性越高,也说明其作者的贡献程度更大。每篇RFC的被引用量可通过官方datatracker(https://datatracker.ietf.org/doc/rfc6052/referencedby/)查阅获知,如图5所示。
图5 曾引用过RFC6052的部分RFC截图
值得注意的是,引用率既体现了RFC本身的重要性,又代表单位以及作者对研究领域做出的贡献大小。
与发布量的分布相同,在IPv6领域,清华大学作为第一作者机构的RFC被引用次数最多(表2),共计收到了164次引用,远超其余机构。此外,来自于华为的RFC得到了29次引用,中国移动得到了8次引用,中兴与中国电信各得到1次引用,如图6所示。在引用率最高的19篇文章中,清华大学为一作单位的有10篇,占52%,华为为5篇,占26%,其他机构为22%。引用率排名前5的RFC中,除并列第五的RFC6264来自华为外,其余都来自清华大学。引用率最高的作者包括清华大学包丛笑、李星、崔勇、吴建平,北京邮电大学蒋胜等。
表2 引用率大于0.1的19篇RFC
RFC与IETF
一个RFC之所以能成为RFC,与 IETF紧密相连。IETF是全世界最重要的互联网技术标准机构。其使命就是通过出版高质量的技术文档,影响人们设计、运行、使用和管理互联网的方式,使互联网更好地运作。
IETF每年举行3次会议,与国际电信联盟等相关组织不同,IETF的参与主体是工程师个人,不代表其所在国家或企业,真正发挥了工程师的创新精神。
IETF第一次来到中国,是其第79次大会,于2010年在北京召开。这是IETF历史上第一次在中国举行大会,也意味着在中国互联网技术的不断进步下,参加IETF大会的中国互联网专家和技术人员越来越多,中国也从最开始的跟随、参与,走向了组织与主导。来自世界65个国家和地区的国际知名互联网技术专家、多项互联网技术的创始人、以及互联网学者和工程技术人员共计1200余人参加大会。
互联网不断在挑战中创新,在创新中演进,与IETF息息相关。IETF为一线的科研人员开辟了一块自由、开放、平等的土壤,以开放包容的精神吸引了全球互联网科研人员协同创新。现在,IETF汇聚了大量的关注互联网体系结构发展和运行的网络设计者、运营商、供应商和研究人员,形成了一个大型的开放式国际技术社区。因此,中国作为一个世界大国和网民最多的国家,更需要积极参与IETF,培养大量互联网人才,在未来的技术研究和政策制定中占据主动地位,为全球互联网发展贡献中国智慧与中国方案。
注:
近20年第一作者撰写的RFC数量、参与撰写的RFC数量以及撰写过RFC的作者数量统计方法:
为具体量化我国各机构的贡献程度,首先,统计自RFC出现以来,参与撰写过RFC的我国机构的数量与名称。在IETF官网上(https://datatracker.ietf.org/stats/document/author/affiliation/?type=rfc)可以查阅2001年后曾发表过RFC的所有机构的名称,以及每一机构曾参与发表RFC的作者数及其占全部作者数量的比重,名称按字母顺序进行排列。经人工查阅全部信息后,将来自中国的机构信息挑选并记录下来,形成表1第3列。
其次,查阅RFC Editor网站(https://www.rfc-editor.org/rfc-index2.html)后可得,第一篇发表日期为2003年1月的RFC序号为3435,而今年最新一篇RFC的序号为9411,因此选取3435-9411序号内的所有RFC作为统计对象,并用python爬取每一篇RFC的序号、名称、所有作者与其所属机构等信息形成excel表格。在excel表格中,对上述出现过的中国机构进行文本筛选操作,并由此统计出近20年来其参与发表过的RFC数量与作为第一作者单位的RFC数量。以华为公司为例,在对作者与机构信息进行文本筛选时,筛选条件设置为包含Huawei字段,进而得到华为人员参与撰写过的RFC数量。对所有已知发表过RFC的中国机构进行相同操作,便可得到最终统计结果。
参考资料——
RFC的分类与特点
所有的互联网标准都是RFC,但是,并非所有的RFC都是互联网标准。根据自身成熟度及内容特征,RFC可被分为不同的类型。首先RFC可分为标准类与非标准类两个大类。而标准类RFC可进一步分为最佳实践(Best Current Practices)、提案标准(Proposed Standard)、草案标准(Draft standard)与互联网标准(Internet standard)四种类型;非标准类RFC又可进一步分为实验类(experimental)、信息类(informational)和历史类(historical)等类型。
互联网标准是标准类RFC的最终形式,它的演化进程是从提案标准到草案标准再到互联网标准。由于技术发展速度较快,但从提案标准到草案标准再到互联网标准的流程相对漫长,因此目前全球互联网实际上正基于提案标准运行。
具体来说,当一个RFC被标注为提案标准后,说明此文档已通过较为深入的审查,并且大多数人认可了它的价值,但是它仍需要通过更多实验和测试,并且在成为互联网标准之前,文档内容还可能出现较大的变化。
进一步地,如果RFC被认可为草案标准,说明大多数人都能很好理解它的内容,其内容也更加稳定,可被用作现实中开发的基础。在这个阶段,它还需要更多具体的RFC测试和注释。在成为最终标准前,其内容仍有可能被改变。
最后,当RFC经过了有效的实践和成功的运行,并且达到了较高技术成熟度后,IESG便会把此文档设为官方的标准协议。此时,RFC终于到达了演化的终点,成为了所有人都应遵守的互联网标准,同时,每一个互联网标准都会被分配唯一一个STD号码。
最佳实践类RFC则不在标准的演化过程中。简单来说,最佳实践指在实际应用一个标准或协议时的推荐做法,是基于实际部署和运维总结出来的经验。它涵盖了运营、规划、实施等各个方面,目的是指导大家采用比较适当、成熟的方式来部署和使用一个标准,避免重复出现已有问题。
此外,并非每个RFC都在标准化的轨道上。一项RFC可能并不打算成为互联网标准,或者它未来有可能被标准化,只是尚未做好准备。那么,此类RFC就会被归到非标准的类型中。
在非标准类RFC中,实验类RFC起到了研究与开发工作备忘录的作用,记录着实践过程中的必要信息。而信息类RFC则为互联网社群提供了来源广泛的、可靠的内容,但并不代表其得到了互联网组织的推荐和认可。历史类RFC的定义更为直接,即该RFC已经被更新的RFC所取代,所以其内容已成为历史。
撰文:王雅静
责编:项阳