大人気のジョークRFC1149を読んだ

# はじめに
何を隠そうはじめてRFCを読んだので読書メモとして残します。
RFCは英語だし難しそうだと思って長らく敬遠していたのですが、面白いRFCがあると聞いて読んでみることにしました。

結果的に、[RFC1149](https://datatracker.ietf.org/doc/html/rfc1149)はとても面白かったのでRFCに触れるのに躊躇している人はここから読むのをとてもおすすめしたいと強く思いました。

# RFCの簡単な説明
- Request For Commentsの略称。直訳で「コメントを求む」。
- もともとは技術仕様を公開していろんな意見を募集することで、より良い技術にしていきたいという観点から始められたものらしいです。
- インターネットに用いられるいろんな技術の標準化や運用に関しての情報が書かれている文書シリーズ。
- Internet Engineering Task Force（IETF）が作成・公開しています。
- 参照：https://www.ietf.org/standards/rfcs/

## 標準化プロセスにおける位置づけについて
- RFCに載っているものがすべて「標準」ではなく、各RFCに標準化プロセスにおける位置づけがあります。
- STDがいわゆる標準となるわけですが、2021/09/19現在で119個ほどのようです。意外と少ない。
    - 広く使われているHTTP/1.1やHTTP/2でもSTDでなくDSの扱いらしいです。STDへの条件は結構厳しい？

```
# RFCの位置づけ
- 標準化過程：Standars Track
    - 標準への提唱：Proposed Standard, PS
    - 標準への草稿：Draft Standard, DS
    - インターネット標準：Internet Standard, STD
- 歴史的：Historic。過去に標準だったが、すでに使われなくなったもの。
- 情報：Information。デファクトスタンダードやベンダー独自仕様も含む。
- 実験的：Experimental
- 現状で最良の慣行：Best Current Practice
```

# RFC1149について
- 「[A Standard for the Transmission of IP Datagrams on Avian Carriers](https://datatracker.ietf.org/doc/html/rfc1149)」（鳥類キャリアによるIPデータグラム伝送規格）というタイトルのRFC。
- 位置づけ的にはExperimental（updateされた[RFC2549](https://datatracker.ietf.org/doc/html/rfc2549), [RFC6214](https://datatracker.ietf.org/doc/html/rfc6214)ではInformarional）。
- エイプリルフールに提唱されるいわゆるジョークRFC群の１つです。
- いろんなジョークRFCから引用される大人気なRFC。
- ジョークではあるもののRFCに載っているだけあって、技術文書の体裁を持って書かれているので、意外と勉強になったりしました。

## 「鳥類キャリアによるIPデータグラム伝送規格」について
内容を簡単にいうと、 **「データを送るのには鳥を使えばいいんじゃない？」** というRFCです。
面白かったところ、興味深かったところを引用して簡単な記録として残します。

### 内容と読書メモ
#### Overview and Rational

> Avian carriers can provide high delay, low throughput, and low
   altitude service.

「高遅延」「低スループット」「低高度」ということですでにジョーク感がすごく溢れています。 ~~暗に役に立たないって言われてて悲しい~~

> The connection topology is limited to a single
   point-to-point path for each carrier, used with standard carriers,
   but many carriers can be used without significant interference with
   each other, outside of early spring.

ネットワーク・トポロジーや干渉の話が出てきています。ちゃんと技術的な表現がなされておりなるほどと感動しました。「通常は干渉しない、ただし早春以外では」で、下ネタじゃん！！って突っ込みました。

> This is because of the 3D ether
   space available to the carriers, in contrast to the 1D ether used by
   IEEE802.3.  The carriers have an intrinsic collision avoidance
   system, which increases availability.

Avian Carieersが干渉しない理由について、IEEE802.3などの規格の伝送手法がケーブルを通る1次元であるのに対し、Avian Carieersは3次元空間を用いるためと優位性を主張しているのは素晴らしいと思いました。
また、鳥類キャリアは生来の衝突回避システムを搭載している旨も語っています。Ethernet通信の半二重通信ではパケット同士が衝突する可能性があり、それにより通信ができなくなるのを防ぐためCSMA/CD方式があるのですが、その機能を鳥類キャリアは生まれながらにして持っているのですね。
※ 参考：[第14回レイヤ２ イーサネット/IEEE802.3｜3分間Networking](http://www5e.biglobe.ne.jp/aji/3min/14.html)
※ 参考：[第18回レイヤ２ スイッチ｜3分間Networking](
http://www5e.biglobe.ne.jp/aji/3min/18.html)


> Connection oriented service is available in
   some cities, usually based upon a central hub topology.

ネットワーク・トポロジーにはバス型・リング型・スター型・メッシュ型とありますが、帰巣本能の性質を中央ハブ型（スター型トポロジー）と結びつけているようです。なるほど......。
※ 参考：[第11回レイヤ１ ネットワーク・トポロジ｜3分間Networking](http://www5e.biglobe.ne.jp/aji/3min/11.html)

#### Frame Format
IPデータグラムのフォーマットについても書かれていました。

>  The IP datagram is printed, on a small scroll of paper, in
   hexadecimal, with each octet separated by whitestuff and blackstuff.

小さな巻紙に16進数でわざわざ書いて送るの......（困惑）
オクテット毎に分けられるとのことですが、whitestuff and blackstuff は何を指しているのだろう？

>  The scroll of paper is wrapped around one leg of the avian carrier.
   A band of duct tape is used to secure the datagram's edges.

巻紙は鳥類キャリアの脚に巻きつけます。
ガムテープで止めることでセキュアになります。

セキュアとは（哲学）。

ちなみに一回に送信できるデータ量（Maximum Transmission Unit, MTU）は脚の長さに制限されるようで、一般的にCarrierの年齢が上がるほどたくさん送れるようになりますとのこと。

> Upon receipt, the duct tape is removed and the paper copy of the
   datagram is optically scanned into a electronically transmittable
   form.

ガムテープは取り外され、データの紙は光学的に電気的に転送可能な形式に読み取られます。訳に自信がないのですが、もしかして目で直接読みとられますと仰っています？

> An additional property is built-in worm detection and
   eradication.  Because IP only guarantees best effort delivery, loss
   of a carrier can be tolerated.

さらに、ワームの検知・駆除機能もビルトインで搭載しています。
IPはベストエフォートでのみ保証されており、キャリアの損失は許容されてます。

ワームをマルウェアに掛けてたり、途中で鳥類がどこかに行ってしまう可能性をベストエフォート（パケットが行き先に送られるように努力はするが、必ず到達するという保証は一切されていない）として表現するなど面白いし、勉強になりますね......。

> While broadcasting is not specified, storms can cause
   data loss.

こちらもブロードキャスト「ストーム」と鳥類が遭遇する嵐（ストーム）ことを掛けるんですね。うまい。
※ ブロードキャストストームとは二台以上のネットワークスイッチを環状に繋ぐことによりARPリクエストなどのブロードキャストが際限なく転送され続けてしまう減少のこと。ブロードキャストフレームが帯域を埋め尽くすために、通信ができなくなる。

> Audit trails are automatically generated, and can often be
   found on logs and cable trays.

動作記録は自動的に生成されるとのことですが、丸太やケーブルトレイ上で見つかるとのことで、確かに鳥たちは木の上や駅とかで見る配線をまとめるトレイなどに止まるの好きですものね。
ここもlogsはいわゆる記録のログと掛けてたり、ケーブルトレイはコンピュータ周りでも使われるのでそこと掛けてるっぽくて上手いなぁと。

#### Security Considerations
>  Security is not generally a problem in normal operation, but special
   measures must be taken (such as data encryption) when avian carriers
   are used in a tactical environment.

もともとセキュアとは（哲学）という感じでしたが、戦術的環境下では暗号化などの特別な手段が要求される......って戦術的環境下って何を想定しているんでしょうか、不穏。


# 終わりに
以上、RFCを初めて触れるにあたり、大人気のRFC1149を選んだのですが、思った以上に内容自体が面白かったです。
技術的な表現もされつつ言葉遊びが豊富にあったり、技術的な知識がちゃんとないと笑いに気づけなかったり、ジョークRFCとはいえ非常に勉強になることもわかりました。

今回読むにあたって他にも、

- RFC2795：[The Infinite Monkey Protocol Suite (IMPS)](https://datatracker.ietf.org/doc/html/rfc2795)
- RFC8140： [The Arte of ASCII: Or, An True and Accurate Representation of an Menagerie of Thynges Fabulous and Wonderful in Ye Forme of Character](https://datatracker.ietf.org/doc/html/rfc8140)

をはじめとした面白そうなジョークRFCがたくさんあったのでそちらも時間があったら読みたくなりました。
Wikipediaの [こちらのページ](https://en.wikipedia.org/wiki/April_Fools%27_Day_Request_for_Comments) にジョークRFCが一覧としてまとまっているようなので今後参考にしたいです。