50歳を迎えたRFC1

IETFのTwitterアカウントがRFCの50歳の誕生日だよとツイートしていた。いろいろな約束事の多いRFCだが、最初はどんな内容だったのだろう。

The software for the ARPA Network exists partly in the IMPs and partly in the respective HOSTs. BB&N has specified the software of the IMPs and it is the responsibility of the HOST groups to agree on HOST software.

ARPAは世界で初めてのネットワークとして有名だが、そのネットワークを支えるソフトウェアのうち、ルータの元祖であるIMPのソフトウェアはBBN社が仕様を決めており、HOSTのソフトウェアを決めなければいけないという背景のようだ。

I present here some of the tentative agreements reached and some of the open questions encountered. Very little of what is here is firm and reactions are expected.

UtahとSRIとUCLAの代表者がHOSTのソフトウェアについて会合を重ねたのと、UCLAが独自にHOST-IMPについて検討をし、tentative(暫定)の合意に達したことと、open question(未解決の問題?)があったことを紹介する。firm(ちゃんと決まったこと)はvery little(ほとんどない)とは、なんて謙虚・・・

Information is transmitted from HOST to HOST in bundles called messages. A message is any stream of not more than 8080 bits, together with its header. The header is 16 bits and contains the following information:
    Destination 5 bits
    Link 8 bits
    Trace 1 bit
    Spare 2 bits

16bitという小さいヘッダによるメッセージの転送。宛先が5bitというから最大32台しかホストがない小さいネットワークだ。1981にRFC791として公開されたIPv4のダイアグラムと比べると、いかに小さいヘッダかわかるだろうか。

    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |Version|  IHL  |Type of Service|          Total Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Identification        |Flags|      Fragment Offset    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Time to Live |    Protocol   |         Header Checksum       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Source Address                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Destination Address                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Options                    |    Padding    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
After receiving a message from a HOST, an IMP partitions the message into one or more packets. Packets are not more than 1010 bits long and are the unit of data transmission from IMP to IMP. A 24 bit cyclic checksum is computed by the transmission hardware and is appended to an outgoing packet. The checksum is recomputed by the receiving hardware and is checked against the transmitted checksum. Packets are reassembled into messages at the destination IMP.

HOSTからのメッセージを受け取ったIMPはメッセージをパケットに分割し、IMPからIMPへ転送する。24bitごとにチェックサムがある。RFC1が最初の実装というわけではないが、この頃から今の形に近かったわけだ。

1. An 8 bit field is provided for link specification, but only 32 links are provided, why?
2. The HOST is supposed to be able to send messages to its IMP. How does it do this?
3. Can a HOST, as opposed to its IMP, control RFNMs?
4. Will the IMPs perform code conversion? How is it to be controlled?

冒頭でOpen Questionと書いている4項目。正直、質問の意味がわかってないが、世界中の開発者に対して開かれた議論をしている雰囲気だ。

この時点では現代のRFCで見られるMUSTやSHOULDが大文字になってないし趣が異なるが、テキストで構成を表現するあたり伝統を感じた。

         /                                                      \
        |     +-----------+                    +-----------+    |
        |     |           |                    |           |    |
        |     |           |                    |           |    |
        |     | terminal  |                    | terminal  |    |
        |     |           |                    |           |    |
        |     |           |                    |           |    |
        |     +-----+-----+                    +-----+-----+    |
        |           |                                |          |
        |           |                                |          |
        |           |                                |          |
        |     +-----+-----+                    +-----------+    |
        |     |     |     | Request connection |     |     |    |
   UCLA {     |     |     | -> over link 25    |     |     |    } SRI
        |     |   +-+-+   |  +-+          +-+  |   +-+-+   |    |
        |     |   | OS|---+-=|I|----------|I|=-+---| OS|   |    |
        |     |   +-+-+   |  +-+          +-+  |   +---+   |    |
        |     |           |                    |           |    |
        |     |           |                    |           |    |
        |     +-----------+                    +-----------+    |
        |      HOST: UCLA                        HOST: SRI      |
         \                                                     /




この記事が気に入ったらサポートをしてみませんか?