当前位置: 首页 > news >正文

IETF与RFC总起

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 2616 HTTP/1.1 最初的定义
    • 后被拆分并更新在 RFC 7230RFC 7235 中。
    • 而较新的 HTTP/2 协议则定义于 RFC 7540
  • DNS(域名系统)
    RFC 1034RFC 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
  • 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 3411RFC 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
    不错的翻译 中英文对照
http://www.jsqmd.com/news/666964/

相关文章:

  • Windows 11终极优化指南:3步实现系统瘦身与性能飞跃
  • VB6老项目维护:MSHFlexGrid和MSFlexGrid控件选错了怎么办?手把手教你识别与替换
  • AGI元学习落地生死线(工业级低资源适配SOP已验证于航天/医疗/金融三大场景)
  • atcoder better+codefore better
  • C# Socket编程避坑指南:从‘连接成功’到消息乱码,我踩过的那些TCP通讯的坑
  • 3大关键问题解析:中国辽宁Tracker服务器如何改变亚洲P2P生态格局
  • 提交的协作与同步:pull、push、fetch与远程仓库的提交交互
  • Universal Control Remapper深度解析:专业级游戏控制器映射实战指南
  • Java并发编程深度解析:把AQS、CAS、死锁一次性讲透,让面试官无话可说
  • 罗技PUBG鼠标宏技术解析:5分钟掌握智能压枪核心原理
  • LiPF6的性质(外篇)
  • SAP财务清账FB05实操避坑:标准、部分、剩余清账到底怎么选?
  • 【西门子字节和位的转换】
  • 别再死记硬背了!用这3个真实编程案例,帮你彻底搞懂离散数学里的‘群’概念
  • 终极Minecraft世界编辑器指南:MCA Selector新手快速上手教程
  • 2026影视大全-转
  • 餐饮加盟新风向:揭秘高潜力品牌与专业企业选择指南 - 品牌策略师
  • LaTeX进阶技巧:用自定义命令优雅管理多作者简介与照片
  • GalForUnity:如何用Unity一站式打造你的首个视觉小说游戏?
  • AGI越狱≠Prompt注入:深度拆解6类新型语义层逃逸技术(含动态记忆污染、梯度隐写、RLHF后门触发)
  • 番茄小说下载器:3个超实用技巧让你随时随地畅读小说
  • 望江寻味:幸福家园土菜馆,让原生态风味成就宴请新地标 - GrowthUME
  • Spring Boot 异步任务执行机制详解
  • 从MSFlexGrid到DataGridView:一个VB6表格控件的“现代化”迁移实战指南
  • 从地质勘探到机器学习:用Matlab Kriging插值预测你的数据‘空白区’(以函数拟合为例)
  • 【AGI商业落地终极指南】:SITS2026权威报告首发,揭示2026年前必须部署的7大行业AGI应用范式
  • dto和vo
  • 2026届学术党必备的六大AI科研神器实测分析
  • C语言_指针
  • 2026 年天津离婚财产分割律所权威测评:千案实战团队助你守住财产底线 - 速递信息