有趣的程序员
有趣的程序员
RFC(Request For Comments),是一系列以编号排定的文件。文件收集了有关互联网相关信息,以及UNIX和互联网社区的软件文件。RFC文件是由Internet Society(ISOC)赞助发行。基本的互联网通信协议都有在RFC文件内详细说明。RFC文件还额外加入许多在标准内的论题,例如对于互联网新开发的协议及发展中所有的记录。因此几乎所有的互联网标准都有收录在RFC文件之中。
RFC最早是一系列的草案,起始于1969年。第一个RFC是当年4月7日发布的
阿帕沃基
阿帕沃基于1973年6月22日发布,内容就是一首吐槽arpanet的摇滚歌曲。
启动前一夜
启动前一夜于1985年十二月发布,内容是一首吐槽系统上前前一晚的歌,歌词滑稽且押韵。
超文本咖啡壶控制协议
咖啡壶控制协议时1998年4月1日发布的由IETF虚构的一种协议,RFC 2324
2014年4月1日发布的恶搞RFC 7168是此协议的扩展,正式支持茶壶。
HTTP 418 I’m a teapot
以鸟类为载体的网际协议
该协议标准发布与1990年4月1日,应用于城市之中。鸽子可以提供高延迟、低吞吐量的高空服务,实现点对点传输,可以覆盖以太网没有覆盖的地方,具有一定的防碰撞能力,还可以解除无线电通信技术距离和障碍物的限制。
信鸽协议
数据格式采用十六进制,每8位一组,用黑色和白色打印在小卷纸上,卷起后使用胶带封装,缠在鸟类的一条腿上,传输数据容量由鸟腿长度决定,不同年龄的鸟能携带的数据容量不一样。
接收方接收后,取下纸卷,撕去胶带,将纸条用光学设备扫描成可以电子传输的形式。
提供鸽子蠕虫检测和根除,因为互联网协议只保证尽力而为的交付,所以允许鸽子服务提供商丢失鸽子。随着时间流逝,鸽子会生鸽子。风暴会导致鸽子无法飞行,但是我们由审计功能,可以在电线、桥架上找到鸽子。
丢包的情况
我们不提供数据加密服务,请自行对数据进行加密。
使用禽鸟的网络协议(附服务质量数据)
该协议是RFC 1149的更新版本
无限猴子协议
无限猴子协议描述了一个伟大的构想:无数只猴子坐在电脑前随机按下几个按钮,他们最终会写出莎士比亚全集,谁也说不准,万一这个壮举完成了,猴子们还能把莎士比亚全集翻译成各国语言。而我们只需要解决猴子们的睡眠和食物问题。
另外猴子们除了写出莎士比亚,还可能写出如何终结实际贫困、治愈疾病的文件。甚至还能写出一部非常受欢迎的情景喜剧。协议中还表示现在时机已经成熟,可以通过设计规范来实现这个伟大的目标,可以利用这个计划让世界更美好。
TELNET随机丢失选项
IPv9
TCP选项表示数据包心情
使用128位Unicode对IPv6进行国际化
RFC8369发布于2018年4月1日,该规范表示Unicode代码所能表示的码点将会耗尽,需要更多可以表示的码点,于是描述了未来表示码点将会是128位,未来可以利用128位的Unicode提高IPv6的采用率。
该RFC内容中还表示,目前Unicode的规范已经限制了最多只能设置1114112个码点,并且UTF-8/UTF-16/UTF-32这些编码已经给136755个字符分配了码点,还有更多的码点在审批中,每年还有很多文字、符号、emoji被添加进来,而且这些没有一个被删除。我们咨询了专业的数学家后,确定会在未来的某一天耗尽Unicode的所有码点。
虽然以目前的状况来看,因该还可以撑很多年,我们有很多时间来处理这个问题,但是Internet的历史表明,流行的数字空间不是线性填充,而是以指数级别增长。而且越晚处理越麻烦,所以赶快好吗!
另外我们这个文档不指定细节,细节是IETF、ISO、Unicode这些联盟和各种神之间去制定的。但是基于我们已经知道的,猜你们也认同下一个固定编码方案就是UTF-128
.
IETF可以利用这次UTF-128编码来解决IPv6遗留的问题:没有多少标准化的地方了。
并且因为有了制定UTF-128编码的这个任务,IETF在未来几十年都有事可以做,这将带动全球的经济发展,政府收入也会增多,就会有更多的钱来用于解决全球变暖的问题,基于这个逻辑,RFC8369的最终目的就是为了减少全球变暖.
var mahjong = String.fromCharCode(55356, 56320) + String.fromCharCode(55356, 56321) + String.fromCharCode(55356, 56322) + String.fromCharCode(55356, 56323) + String.fromCharCode(55356, 56324) + String.fromCharCode(55356, 56325) + String.fromCharCode(55356, 56326) + String.fromCharCode(55356, 56327) + String.fromCharCode(55356, 56328) + String.fromCharCode(55356, 56329) + String.fromCharCode(55356, 56330) + String.fromCharCode(55356, 56331) + String.fromCharCode(55356, 56332) + String.fromCharCode(55356, 56333) + String.fromCharCode(55356, 56334) + String.fromCharCode(55356, 56335) + String.fromCharCode(55356, 56336) + String.fromCharCode(55356, 56337) + String.fromCharCode(55356, 56338) + String.fromCharCode(55356, 56339) + String.fromCharCode(55356, 56340) + String.fromCharCode(55356, 56341) + String.fromCharCode(55356, 56342) + String.fromCharCode(55356, 56343) + String.fromCharCode(55356, 56344) + String.fromCharCode(55356, 56345) + String.fromCharCode(55356, 56346) + String.fromCharCode(55356, 56347) + String.fromCharCode(55356, 56348) + String.fromCharCode(55356, 56349) + String.fromCharCode(55356, 56350) + String.fromCharCode(55356, 56351) + String.fromCharCode(55356, 56352) + String.fromCharCode(55356, 56353) + String.fromCharCode(55356, 56354) + String.fromCharCode(55356, 56355) + String.fromCharCode(55356, 56356) + String.fromCharCode(55356, 56357) + String.fromCharCode(55356, 56358) + String.fromCharCode(55356, 56359) + String.fromCharCode(55356, 56360) + String.fromCharCode(55356, 56361) + String.fromCharCode(55356, 56362) + String.fromCharCode(55356, 56363);
console.log(mahjong);
RFC 527 — ARPAWOCKY. R. Merryman, UCSD 1973年6月22日 A Lewis Carroll pastiche.
RFC 968 — Twas the night before start-up. V.G. Cerf 1985年12月1日
1978年:
RFC 748 — TELNET RANDOMLY-LOSE option. M.R. Crispin.
1989:
RFC 1097 — TELNET SUBLIMINAL-MESSAGE option. B. Miller.
1990:
RFC 1149 — 以鸟类为载体的网际协议(IP over Avian Carriers) D. Waitzman:由白鸽携带数据包。
- RFC 2549 为其更新版,详细见下。
- 2001年,RFC 1149由一班挪威Linux用户协会的成员实现了。他们发送了9个数据包到约5公里外的地方,每个数据包由不同的鸽子携带,并有一个ICMP应答要求数据包(ping)。他们收到4个回应,数据包流失率是55%,回应时间是3000至6000秒。[1]
- RFC 6214 为其于IPv6上的应用。见下。
1991:
RFC 1216 — GB网络经济与范式转移 更穷的理查、Kynikos教授
RFC 1217 — Memo from the Consortium for Slow Commotion Research (CSCR) Vint Cerf
1992:
RFC 1313 — Today’s Programming for KRFC AM 1313 Internet Talk Radio. C. Partridge. Certain portions of this RFC are obsolete: Doppler shift while flying on the Concorde is no longer a problem.
1993:
RFC 1437 — The Extension of MIME Content-Types to a New Medium. N. Borenstein, M. Linimon.
RFC 1438 — 互联网工程工作小组(IETF)沉闷宣言(SOBs) A. Lyman Chapin, C. Huitema.
1994:
RFC 1605 — SONET转换至Sonnet的方法 威廉·莎士比亚
RFC 1607 — 来自21世纪的观点 Vint Cerf
1995:
RFC 1776 — 地址就是消息(The Address is the Message) Steve Crocker:没有内容,我们还需要信息安全吗?
1996:
RFC 1924 — A Compact Representation of IPv6 Addresses. R. Elz.
RFC 1925 — The Twelve Networking Truths. R. Callon.
RFC 1926 — An Experimental Encapsulation of IP Datagrams on Top of ATM. J. Eriksson.
RFC 1927 — Suggested Additional MIME Types for Associating Documents. C. Rogers.
1997:
RFC 2100 — 主机命名 J. Ashworth
1998:
RFC 2321 — RITA – 可信的互联网疑难解答代理. A. Bressen.
RFC 2322 — IP地址管理(使用peg-dhcp) K. van den Hout et al.
RFC 2323 — IETF识别和安全指引 A. Ramos
RFC 2324 — 超文本咖啡壶控制协议 (HTCPCP/1.0). L. Masinter
RFC 2325 — Definitions of Managed Objects for Drip-Type Heated Beverage Hardware Devices using SMIv2. M. Slavitch
1999:
RFC 2549 — 使用禽鸟的网络协议(附服务质量数据) D. Waitzman:此乃上面RFC 1149的更新版。
RFC 2550 — Y10K与其他 S. Glassman、M. Manasse、J. Mogul.
RFC 2551 — 罗马标准过程 – Revision IIIS. Bradner
2000:
RFC 2795 — 无限猴子协议组 (IMPS) S. Christey
2001:
RFC 3091 — 圆周率数字产生协议. H. Kennedy
RFC 3092 — “Foo”的字源学 D. Eastlake 3rd, C. Manros、埃里克·斯蒂芬·雷蒙
RFC 3093 — 防火墙加强协议 (FEP) M. Gaynor, S. Bradner
2002:
RFC 3251 — 电力发送(Electricity over IP, 参见Voice over IP) B. Rajagopalan.
RFC 3252 — Binary Lexical Octet Ad-hoc Transport. H. Kennedy.
2003:
RFC 3514 — The Security Flag in the IPv4 Header (Evil Bit). S. Bellovin.
2004:
RFC 3751 — 全知者协议的条件 S. Bradner
2005:
RFC 4041 — Requirements for Morality Sections in Routing Area Drafts. A. Farrel.
RFC 4042 — UTF-9和UTF-18 有效 Efficient Transformation Formats of Unicode. M. Crispin.
2007:
2008:
RFC 5241 — Naming Rights in IETF Protocols, A. Falk
RFC 5242 — A Generalized Unified Character Code: Western European and CJK Sections, J. Klensin
2009:
RFC 5513 — IANA Considerations for Three Letter Acronyms, A. Farrel
RFC 5514 — IPv6架构上的社交网络 E. Vyncke
2010:
RFC 5841 — TCP数据包心情的选项 R. Hay, W. Turkal
2011:
RFC 5984 — Increasing Throughput in IP Networks with ESP-Based Forwarding: ESPBasedForwarding, K-M. Moller
RFC 6214 — RFC 1149在IPv6的应用 B. Carpenter, Univ. of Auckland
RFC 6217 — Regional Broadcast Using an Atmospheric Link Layer, T. Ritter
2012:
RFC 6592 — 发送空数据包, C. Pignataro
RFC 6593 — Service Undiscovery Using Hide-and-Go-Seek for the Domain Pseudonym System (DPS), C. Pignataro, J. Clarke, G. Salgueiro
2013:
RFC 6919 — Further Key Words for Use in RFCs to Indicate Requirement Levels, R. Barnes, S. Kent, E. Rescorla
RFC 6921 — Design Considerations for Faster-Than-Light (FTL) Communication, R. Hinden
2014:
RFC 7168 — The Hyper Text Coffee Pot Control Protocol for Tea Efflux Appliances (HTCPCP-TEA), I. Nazar
RFC 7169 — The NSA (No Secrecy Afforded) Certificate Extension, S. Turner
2015:
RFC 7511 — Scenic Routing for IPv6, M. Wilhelm
RFC 7514 — Really Explicit Congestion Notification (RECN), M. Luckie
2016:
此年4月1日未发布RFC。[2]
2017:
M. Danielson; M. Nilsson. Complex Addressing in IPv6. IETF. 1 April 2017. RFC 8135.
B. Carpenter. Additional Transition Functionality for IPv6. IETF. 1 April 2017. RFC 8136.
A. Farrel. The Arte of ASCII: Or, An True and Accurate Representation of an Menagerie of Thynges Fabulous and Wonderful in Ye Forme of Character. IETF. 1 April 2017. RFC 8140.
2018:
T. Mizrahi; J. Yallouz. Wrongful Termination of Internet Protocol (IP) Packets. IETF. 1 April 2018. RFC 8367.
H. Kaplan. Internationalizing IPv6 Using 128-Bit Unicode. IETF. 1 April 2018. RFC 8369.
2019:
E. Fokschaner. Hypertext Jeopardy Protocol (HTJP/1.0). IETF. 1 April 2019. RFC 8565.
E. Rye; R. Beverly. Customer Management DNS Resource Records. IETF. 1 April 2019. RFC 8567.
2020: