RFC文档的导读
一、简介
RFC文档也称请求注解文档(Requests for Comments,RFC),这是用于发布Internet标准和Internet其他正式出版物的一种网络文件或工作报告。RFC文档初创于1969年,RFC出版物由RFC编辑(RFC Editor)直接负责,并接受IAB的一般性指导。现在已经有3000多个RFC系列文件,并且这个数目还在不断增加, 内容和Internet (开始叫做为ARPANET)相关。草案讨论了计算机通讯的方方面面,重点在网络协议,过程,程序,以及一些会议注解,意见,风格方面的概念。
RFC编辑者负责RFCs 以及RFCs的整体结构文档,并维护RFCs的索引。Internet协议族的文档部分(由Internet工程委员会IETF以及IETF 下属的管理组IESG 定义),也做为RFC文档出版。因此,RFC在Internet相关标准中有着重要的地位。
RFC编辑者的职责是由Internet 中的大家提议形成的,所出版的语言也就和Internet一样。IETF and the ISOC是代表了世界各地的国际性组织,英语是IETF的第一工作语言,也是IETF的正式出版语言。RFC 2026 "The Internet StandardsProcess -- Revision 3" 允许RFCs翻译成其他不同的语言。但是不能保证其翻译版本是否正确。因此,RFC编辑不对非英语的版本负责,而只是指明了哪里有非英语的版本,将这些信息列在WEB页上。
一个RFC文件在成为官方标准前一般至少要经历三个阶段:建议标准(proposed standard)、草案标准(draft standard)、因特网标准(internet standard)。(internet standardprocessing)RFC2026对该过程有一个详细的介绍。
在Internet上,任何一个用户都可以对Internet某一领域的问题提出自己的解决方案或规范,作为Internet草案(Internet Draffs,ID)提交给Internet工程任务组(IETF)。草案存放在美国、欧洲和亚太地区的工作文件站点上,供世界多国自愿参加的IETF成员进行讨论、测试和审查。最后,由Internet工程指导组(IESG)确定该草案是否能成为Internet的标准。
如果一个Internet草案在IETF的相关站点上存在6个月后仍未被IESG建议作为标准发布,则它将被从上述站点中删除。事实上,在任何时候,一个Internet 草案都有可能被新的草案版本所替换掉,并重新开始6个月的存放期。
如果一个Internet草案被IESG确定为Internet的正式工作文件,则被提交给Internet体系结构委员会(IAB),并形成具有顺序编号的RFC文档,由Internet协会(ISOC)通过Internet向全世界颁布。每个Internet标准文件在被批准后都会分配一个独立于RFC的永久编号,这就是STD编号。有一个不断被更新的文件RFC-INDEX.TXT按照RFC的编号来索引所有的文件,对于因特网标准文件还列出了其相应的STD编号。现在我们可以在官方网站通过关键字或者std编号进行索引了,https://www.rfc-editor.org/retrieve/。
RFC文档必须被分配RFC编号后才能在网络上发布。例如,RFC2026的内容是“Internet标准进程-修订版3”、RFC1543的内容为“RFC作者指导”等等。需要时,可以复制或打印这些联机文档。用户也可以通过遍布全世界的数个联机资料数据库中获得RFC文档。例如,可以使用路径名RFC/RFCnnnn.TXT通过FTP的方式从ds.internic.net站点获得RFC,其中“nnnn”指的是RFC的编号。在这里,使用FTP登录时,所用的用户名和口令分别为“anonymous”和你的电子邮件地址。此外,用户还可以通过Internet网络信息中心(InterNIC)的目录服务功能、电子邮件、WWW等方式获得RFC文档.
作为标准的RFC又分为几种,第一种是提议性的,就是说建议采用这个作为一个方案摆出来,Draft是已经有一部分在用了,希望被采用为正式的标准,还有一种就是完全被认可的标准,这种是大家都在用,而且是不应该改变的。还有一种就是现在的最佳实践法,它相当于一种介绍。这些文件产生的过程是一种从下往上的过程,而不是从上往下,也就是说不是一个由主席,或者由工作组负责人的给一个指令,说是要做什么,要做什么,而是有下边自发的提出,然后在工作组里边讨论,讨论了以后再交给刚才说的工程指导委员会进行审查。但是工程指导委员会只做审查不做修改,修改还是要打回到工作组来做。IETF工作组文件的产生就是任何人都可以来参加会议,任何人都可以提议,然后他和别人进行讨论,大家形成了一个共识就可以产出这样的文件。
二、RFC的分类
RFC主要分为三类:
第一类:proposed standard 建议标准 这一类标准往往可以解决一部分问题,但是还不够完善,可能会被丢地和更改,同时这一类标准也为后来的正式标准提供足够的实验经验,以便于获得更好的internet标准,当有了正式的internet standard之后,这一类的rfc的内容往往会成为标准的一部分。同时,在正式的标准出来之前,一些产品中,会根据这一部分的RFC协议来实现某一标准,然后再根据相应的改变,或者是否能够完全解决实际问题来有一些更改,这些产品的组织和个人在实现的过程中遇到的问题可以反馈给IESG,以便于更新出新的proposed standard。
第二类:Draft standard 草案标准 这一类标准一般提出之后,其生命周期只有6个月。
两个或者两个以上不同的库实现过这个标准,并且在实际生产中使用过这些东西,从而可以被提为draft standard标准。这一类标准随后会被讨论,6个月之内如果没有被IESG组织出版为Internet standard,那么基本上该标准就会被废弃。
第三类:Internet standard 网络标准 这一类标准一般在就是正式的internet标准了,其具有特定的STD标号,一般不会有所变动,只会因为一些特定的问题,进行微小的变动。
除此之外,还有一些experimental和informational,这两类RFC,正如名字所言,实验性的和提供信息性的,另外一类historic一般是因为有了新的RFC而被废弃的RFC。
三、RFC的标号
STD标号:这个标号的RFC文档,是internet standard的一部分,这些RFC文档介绍了完整的网络标准协议。按照RFC1311的定义,STD RFC是指那些已经或者致力于成为Internet标准的RFC。
BCP标号:bestcurrent practice,这个标号的文档,主要是IETF发布的一些RFC,包含一些IETF的建议与对一些RFC的评议的结果等。这些文档反映了IETF的工作进展与对internet standard标准进程的一些建议。1995年以RFC1818定义了BCP,即Best Current Practice。BCP同时有一个BCP编号和一个RFC编号,一旦约定了一个BCP编号,就不会再变,而其RFC编号则可能会经过修订不断更新
FYI标号:foryour information,提供一些关于internet的知识性内容。1990年发表的RFC1150(FYI1)定义了FYI,FYI也同时有一个FYI编号和一个RFC编号,FYI编号是固定的。
四、RFC的资源获取
https://www.rfc-editor.org/search/rfc_search_detail.php?rfc=9&pubstatus%5B%5D=Any&pub_date_type=any
上面这个网站是索引网站,用于RFC的索引,其支持关键字和编号索引。
https://www.rfc-editor.org/
这个网站是RFC官方的RFC editor首页,其中包含很多分类,以及标准文档的整理,分类整理等。