IETF与RFC总起
始、前言or摘要or杂记
前言
杂记(慢慢清除)
- RFC的编号
- 从 1 开始: 第一份 RFC(RFC 1)发布于 1969 年。
- 破千: 随着互联网规模爆发,1987 年编号突破了 1000。
- 现状: 截至 2026 年,RFC 的编号已经排到了 9000 多号。因此,目前我们看到的大多数活跃协议(如 HTTP/3 的 RFC 9114)都是 4 位数。
- 未来: 当编号突破 9999 后,自然会出现 5 位数字 的 RFC 文档。
历史相关
-
RFC 的历史:
RFC系列早在互联网本身出现之前就已经诞生。
1969年,作为美国国防部高级研究计划局(ARPA)ARPANET项目的一部分,加州大学洛杉矶分校(UCLA)的斯蒂芬·克罗克(Steve Crocker)在1969年4月7日撰写并发布了第一份RFC 1,题为“主机软件”。早期这些文档真的是为了“请求别人的评论(Request for Comments)”而设立,作者使用非正式的口吻来避免听起来过于专断。
在此后的几十年中,RFC从非正式的笔记演变为了界定互联网内部运作方式、推动互联网成功的正式官方文件。乔恩·波斯特尔(Jon Postel)从1969年开始担任RFC编辑,直到他1998年去世,为RFC和互联网的发展做出了不可磨灭的贡献。
此外,RFC还有一个非常著名的传统:自1978年起在4月1日愚人节发布幽默恶搞的RFC文档,如著名的 RFC 2324 “超文本咖啡壶控制协议(HTCPCP)”。 -
IETF 的历史:
IETF 正式成立于 1986 年。许多基础互联网协议(如TCP/IP)起源于20世纪70年代的网络研究,并于1983年1月1日正式在ARPANET上切换投入使用。
到1993年之前,IETF一直受到美国联邦政府的资助,此后转由互联网协会(Internet Society)下的互联网架构委员会(IAB)进行监督。
IETF逐步确立了自身作为世界首屈一指的互联网标准制定组织的地位,主导了从早期的IPv4到后来的IPv6、HTTP等无数关键技术的标准化。
我的笔记关联
零、关键词及缩写
-
IETF= Internet Engineering Task Force。 互联网工程任务组。
它是负责开发和推广互联网标准的主要国际机构,由网络设计师、运营商、供应商和研究人员组成的开放式全志愿者社区。 -
RFC= Request for Comments。 请求意见稿/请求评议。
是由IETF等机构发布的包含互联网规范、协议、研究和最佳实践的正式备忘录文档系列。它是互联网运作规范的权威记录。 -
I-D= Internet-Draft。 互联网草案。
它是IETF及其工作组的工作文档,也是任何提案成为RFC之前的必经阶段。互联网草案并不意味着最终会被采用为标准。 -
STD= Internet Standard。 互联网标准。
这是IETF标准跟踪(Standards Track)中的最高成熟度级别。一个STD编号可能包含或指向一个或多个RFC文档,当标准更新时,STD编号不变,但底层的RFC会被更新的RFC取代。 -
BCP= Best Current Practice。 最佳当前实践。
用于记录如何实践互联网标准的官方指导方针、互联网运行策略以及IETF的内部行政和管理流程规范。 -
IESG= Internet Engineering Steering Group。 互联网工程指导组。
负责对IETF的标准跟踪文档进行最终的技术审查和批准,并管理IETF的日常事务。 -
IAB= Internet Architecture Board。 互联网架构委员会。
负责互联网协议的整体架构监督,处理IETF的外部联络关系,并提供RFC系列编辑方向的指导。
一、IETF组织与RFC文档特点
IETF
- IETF 的运作机制与核心原则
IETF 是一个自下而上的组织,没有正式的会员资格要求,任何人都可以通过参与邮件列表或参加会议来做出贡献。其工作主要在各个专业工作组(WG)中进行。
IETF的决策不依靠传统的投票,而是遵循“粗略共识与可运行代码”(Rough consensus and running code)的原则,这意味着标准是基于工程师的集体判断和实际部署经验制定的。其所有流程、会议记录和邮件列表都对公众完全开放,并坚持高水准的技术工程质量。
RFC
-
RFC 的文档流(Streams)与非标准属性
人们常误以为所有的RFC都是标准,但并非所有的RFC都是互联网标准。
RFC由五个不同的文档流(Streams)生成,用于分担编辑职责:IETF流唯一能够发布标准的流,必须经过广泛的社区共识IAB流架构和政策文档IRTF流互联网研究任务组的科研成果Independent Submission独立提交流Editorial Stream编辑流,用于RFC本身编辑政策
-
RFC 的成熟度状态(Status)
每个RFC在发布时都会被赋予一个状态,用来表明其性质和成熟度:- 标准跟踪(
Standards Track):
分为提议标准(Proposed Standard)(技术稳定且已受审查,是许多广泛使用协议的长期状态)和互联网标准(Internet Standard)(被证明具有高度互操作性并被广泛部署)。 - 信息类(
Informational):
为互联网社区提供一般性信息,不代表社区的推荐或共识,例如4月1日的恶搞文档或协议介绍。 - 实验性(
Experimental):
用于记录研究或开发工作,如果不确定协议能否按预期工作,会被指定为此状态。 - 历史性(
Historic):
表明该规范已被更新的规范所取代,或者出于其他原因不再被推荐使用。
- 标准跟踪(
-
RFC 的不可变性与版本关系
RFC被视为档案系列文档,一旦发布就永远不能被更改(甚至连一个字符也不能变)。
如果需要修正或改进协议,必须发布具有全新编号的RFC文档。这就产生了RFC之间的复杂关系网络:Obsoletes(废弃/取代):新文档完全取代了旧文档。Updates(更新):新文档对旧文档做出了实质性修改,阅读旧文档时必须同时阅读新文档。Errata(勘误):用于记录规范中不至于发布新RFC的技术错误或编辑更正。
二、常用的协议与RFC文档
规范指引与工程术语相关
- 编写标准时的关键词要求:
RFC 2119(以及后来的RFC 8174)是一个非常特殊且常被引用的文档。
它明确规定了在阅读或编写 RFC 时,MUST(必须)、SHOULD(建议)、NOT RECOMMENDED(不推荐)等词汇的确切含义与强制级别。
- 网络礼仪:
RFC 1855(Netiquette Guidelines)提供了关于互联网通信(如连环信等)的文明指导。
核心网络与传输层 相关
- IP(网际协议):
RFC 791定义了互联网的基础 IPv4 协议。
- IPv6:
RFC 2460定义了 IPv6 的早期规范RFC 8200进行了更新和标准化。
- TCP(传输控制协议):
RFC 793是定义 TCP 可靠传输机制的基石文件。 - UDP(用户数据报协议):
RFC 768定义了这种轻量级、无连接的传输层协议。
- ICMP(互联网控制消息协议):
RFC 792描述了网络诊断和错误报告的标准。
应用层与万维网(Web)相关
- HTTP(超文本传输协议):
RFC 2616HTTP/1.1 最初的定义- 后被拆分并更新在
RFC 7230至RFC 7235中。 - 而较新的 HTTP/2 协议则定义于
RFC 7540。
- DNS(域名系统):
RFC 1034和RFC 1035是描述域名系统核心概念和实施规范的奠基性文档。 - FTP(文件传输协议):
RFC 959是规定网络间文件传输标准的核心文档。 - URI / URL:
RFC 3986定义了统一资源标识符(URI)的常用语法。 - JSON(JavaScript 对象简谱):
RFC 7159规定了目前Web开发中最常用的数据交换格式。
通信与实时多媒体相关
- SIP(会话初始协议,Session Initiation Protocol):
RFC 3261是目前广泛使用的 SIP 协议的核心标准文档。- 该协议最初在
RFC 2543中被定义,主要用于创建、修改和终止包括视频、语音在内的多媒体会话。
- RTP(实时传输协议,Real-time Transport Protocol):
RFC 3550定义了在互联网上传输音频和视频等实时数据的标准格式。该协议早期的规范则定义于RFC 1889。 - SDP(会话描述协议,Session Description Protocol):
RFC 2327规定了用于描述多媒体会话初始化参数的标准。
在实际应用中,它通常与 SIP 等协议结合使用,用于在参与者之间传递媒体类型、格式等信息(该文档后来被RFC 4566废弃并更新)。
- RTSP(实时流控制协议,Real Time Streaming Protocol):
RFC 2326定义了用于控制流媒体服务器的网络协议,旨在为连续的音频或视频等媒体流提供建立和控制功能。
- MGCP(媒体网关控制协议,Media Gateway Control Protocol):
RFC 2705规定了媒体网关控制协议(1.0版),这是在 VoIP 架构中用于呼叫控制代理对媒体网关进行控制的一种常用协议。
电子邮件相关相关
- SMTP(简单邮件传输协议):
RFC 5321定义了邮件路由和传输的核心标准。
- POP3(邮局协议第3版):
RFC 1939规定了客户端如何从邮件服务器下载邮件。
- IMAP(互联网邮件访问协议):
RFC 3501定义了 IMAP Version 4rev1,允许用户在服务器上管理邮件。
- Internet Message Format:
RFC 5322规定了互联网电子邮件消息的具体格式。
安全与加密相关
- TLS/SSL(传输层安全性协议):
- TLS 1.0 最初在
RFC 2246中规定, - 而目前广泛使用的最新 TLS 1.3 版本定义于
RFC 8446。
- TLS 1.0 最初在
- SSH(安全外壳协议):
RFC 4250至 RFC 4256 系列文档规范了远程安全登录的标准。
- IPsec(互联网安全协议):
RFC 2401起的系列文档定义了在 IP 层提供加密与认证的安全架构。
- JWT(JSON Web Token):
RFC 7519规范了常用于现代 Web 身份验证的 Token 结构。
网络接入、路由与管理相关
- ARP / RARP:
RFC 826规定了地址解析协议(将 IP 地址映射为 MAC 地址),RFC 903规定了逆向地址解析协议。
- BGP(边界网关协议):
RFC 4271定义了当前互联网上用于核心路由决策的协议。
- OSPF v2(开放最短路径优先):
RFC 2328定义了这一应用最广的内部网关路由协议之一。
- DHCP(动态主机配置协议):
RFC 2131定义了如何动态为网络设备分配 IP 地址。
- SNMP(简单网络管理协议):
- 基础协议见
RFC 1157,后续更完善的版本见RFC 3411至RFC 3418。
- 基础协议见
著名的“恶搞”与幽默 RFC
IETF 的传统是在每年 4月1日 愚人节发布一些具有极客幽默感的恶搞 RFC,这些文档虽然也是正式编号的 RFC,但并非真实标准:
RFC 1149:以鸟类为载体的网际协议(IP over Avian Carriers),即著名的“信鸽传信”协议。RFC 2324:超文本咖啡壶控制协议(HTCPCP),该协议甚至煞有其事地定义了HTTP 418 "I'm a teapot"(我是一个茶壶)的错误状态码。
末、总结
// TODO: description - 2026-04-19 16时
后言
附、学习资料
官方
门户、论坛、教程、参考项目
- IETF 官方网站 (了解IETF会议、工作组和核心理念)
- RFC 编辑器 (RFC Editor)
权威的RFC检索、下载和格式查看平台- RFC Index
- IETF Datatracker
用于追踪互联网草案进度、工作组动态和RFC生命周期的核心工具
第三方
- wiki | RFC
- RFC 搜索辅助工具
由社区提供的可通过标题、关键字和标签探索RFC的网站 - RFC2CN
不错的翻译 中英文对照
