有趣的程序员

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 527ARPAWOCKY. R. Merryman, UCSD 1973年6月22日 A Lewis Carroll pastiche.

RFC 968Twas the night before start-up. V.G. Cerf 1985年12月1日

1978年:

RFC 748TELNET RANDOMLY-LOSE option. M.R. Crispin.

1989:

RFC 1097TELNET 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 1216GB网络经济与范式转移 更穷的理查、Kynikos教授

RFC 1217Memo from the Consortium for Slow Commotion Research (CSCR) Vint Cerf

1992:

RFC 1313Today’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 1437The Extension of MIME Content-Types to a New Medium. N. Borenstein, M. Linimon.

RFC 1438互联网工程工作小组(IETF)沉闷宣言(SOBs) A. Lyman Chapin, C. Huitema.

1994:

RFC 1605SONET转换至Sonnet的方法 威廉·莎士比亚

RFC 1606IPv9使用史 J. Onions

RFC 1607来自21世纪的观点 Vint Cerf

1995:

RFC 1776地址就是消息(The Address is the Message) Steve Crocker:没有内容,我们还需要信息安全吗?

1996:

RFC 1924A Compact Representation of IPv6 Addresses. R. Elz.

RFC 1925The Twelve Networking Truths. R. Callon.

RFC 1926An Experimental Encapsulation of IP Datagrams on Top of ATM. J. Eriksson.

RFC 1927Suggested Additional MIME Types for Associating Documents. C. Rogers.

1997:

RFC 2100主机命名 J. Ashworth

1998:

RFC 2321RITA – 可信的互联网疑难解答代理. A. Bressen.

RFC 2322IP地址管理(使用peg-dhcp) K. van den Hout et al.

RFC 2323IETF识别和安全指引 A. Ramos

RFC 2324超文本咖啡壶控制协议 (HTCPCP/1.0). L. Masinter

RFC 2325Definitions of Managed Objects for Drip-Type Heated Beverage Hardware Devices using SMIv2. M. Slavitch

1999:

RFC 2549使用禽鸟的网络协议(附服务质量数据) D. Waitzman:此乃上面RFC 1149的更新版。

RFC 2550Y10K与其他 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 3252Binary Lexical Octet Ad-hoc Transport. H. Kennedy.

2003:

RFC 3514The Security Flag in the IPv4 Header (Evil Bit). S. Bellovin.

2004:

RFC 3751全知者协议的条件 S. Bradner

2005:

RFC 4041Requirements for Morality Sections in Routing Area Drafts. A. Farrel.

RFC 4042UTF-9和UTF-18 有效 Efficient Transformation Formats of Unicode. M. Crispin.

2007:

RFC 4824使用旗语传递IP数据报 (SFSS)

2008:

RFC 5241Naming Rights in IETF Protocols, A. Falk

RFC 5242A Generalized Unified Character Code: Western European and CJK Sections, J. Klensin

2009:

RFC 5513IANA Considerations for Three Letter Acronyms, A. Farrel

RFC 5514IPv6架构上的社交网络 E. Vyncke

2010:

RFC 5841TCP数据包心情的选项 R. Hay, W. Turkal

2011:

RFC 5984Increasing Throughput in IP Networks with ESP-Based Forwarding: ESPBasedForwarding, K-M. Moller

RFC 6214RFC 1149在IPv6的应用 B. Carpenter, Univ. of Auckland

RFC 6217Regional Broadcast Using an Atmospheric Link Layer, T. Ritter

2012:

RFC 6592发送空数据包, C. Pignataro

RFC 6593Service Undiscovery Using Hide-and-Go-Seek for the Domain Pseudonym System (DPS), C. Pignataro, J. Clarke, G. Salgueiro

2013:

RFC 6919Further Key Words for Use in RFCs to Indicate Requirement Levels, R. Barnes, S. Kent, E. Rescorla

RFC 6921Design Considerations for Faster-Than-Light (FTL) Communication, R. Hinden

2014:

RFC 7168The Hyper Text Coffee Pot Control Protocol for Tea Efflux Appliances (HTCPCP-TEA), I. Nazar

RFC 7169The NSA (No Secrecy Afforded) Certificate Extension, S. Turner

2015:

RFC 7511Scenic Routing for IPv6, M. Wilhelm

RFC 7514Really 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:

RFC 8771 国际化的故意不可读网络注释(I-DUNNO)