[Joke-RFC] RFC2322 洗濯バサミDHCPによるIPアドレスの管理

# はじめに

* この文書は [RFC2322](https://tools.ietf.org/html/rfc2322) を勉強と好奇心のため適当に訳したものです。
  * 洗濯バサミを使って、DHCPを実現するプロトコルです。
  * 非常に有名なジョークRFCであり、個人的には[RFC1149](https://qiita.com/yoshi389111/items/a7ba3d66bb775bafeb6e)や[RFC2324](https://qiita.com/yoshi389111/items/03a9ef5f32e3d882da61)とあわせて三大ジョークRFCなのではないかと思っています。
  * 最近は wifi などが広く使われているため、本プロトコルを実際に適用する場面はかなり限られているのが残念なところです。
* 翻訳の正確さは全く保証しません。
* 誤字誤訳等の指摘はいつでも大歓迎です。

# Management of IP numbers by peg-dhcp(洗濯バサミDHCPによるIPアドレスの管理)

* Network Working Group
* Request for Comments: 2322
* Category: Informational

- K. van den Hout HvU/HIP-networkteam
- A. Koopal UUnet NL/HIP-networkteam
- R. van Mook University of Twente/HIP-networkteam
- 1 April 1998

## Status of this Memo(このメモの位置付け)

>   This memo provides information for the Internet community.
>   It does not specify an Internet standard of any kind.
>   Distribution of this memo is unlimited.

このメモでは,インターネットコミュニティのための情報を提供する.
このメモはなんらインターネット標準を定めない.
このメモの配布に制限は設けない.

## Copyright Notice(著作権について)

>   Copyright (C) The Internet Society (1998).  All Rights Reserved.

## Introduction(序文)

>   This RFC describes a protocol to dynamically hand out ip-numbers on field networks and small events that don't necessarily have a clear organisational body.

   このRFCでは，必ずしも明確な組織体を持たない野外ネットワークや小規模イベントにおいて，動的にIPアドレスを配布するためのプロトコルを述べる．

>   It can also provide some fixed additional fields global for all clients like netmask and even autoproxyconfigs.
>   It does not depend on a particular ip-stack.

   また，ネットマスクや自動プロキシ設定のような，すべてのクライアントに共通な追加情報を提供することができる．
   これは，特定のIPスタックに依存しない．

## History of the protocol.(このプロトコルの歴史)

>   The practice of using pegs for assigning IP-numbers was first used at the HIP event (http://www.hip97.nl/).
>   HIP stands for Hacking In Progress, a large three-day event where more then a thousand hackers from all over the world gathered.
>   This event needed to have a TCP/IP lan with an Internet connection.
>   Visitors and participants of the HIP could bring along computers and hook them up to the HIP network.

   IPアドレスの割り当てに洗濯バサミを使用する方法は，HIPイベント( http://www.hip97.nl/ )で初めて採用された．
   HIPは Hacking In Progress の略で，世界中から1000人以上のハッカーが集まる3日間の大規模なイベントだった．
   このイベントには，インターネットに接続された TCP/IP LAN が必要だった．
   HIPの来場者や参加者は，コンピュータを持ち込んで，HIPのネットワークに接続することができた．

>   During preparations for the HIP event we ran into the problem of how to assign IP-numbers on such a large scale as was predicted for the event without running into troubles like assigning duplicate numbers or skipping numbers.
>   Due to the variety of expected computers with associated IP stacks a software solution like a Unix DHCP server would probably not function for all cases and create unexpected technical problems.

   HIPの準備の中で，今回想定されるような大規模なIPアドレスの割り当てを，重複や欠番などのトラブルなく行うにはどうしたらよいかという問題に直面した．
   予想されるコンピュータの種類とIPスタックの関係から，UnixのDHCPサーバーのようなソフトウェアソリューションは，おそらくすべてのケースでは機能せず，予期せぬ技術的な問題を引き起こすと思われた．

>   So a way of centrally administrating IP-numbers and giving them out to people to use on their computers had to be devised.
>   After some discussion, the idea came up of using wooden clothes-pegs.
>   Using pegs has the following advantages in respect to other methods:

   そこで，IPアドレスを一元管理し，各自のパソコンで利用できるようにする方法を考えなければならなかった．
   議論の末，木製の洗濯バサミを使ったらどうだろうということになった．
   洗濯バサミは，他の方法と比べて次のような利点がある．

> - cheap
> - a peg is a 'token' and represents one IP-number, therefore making the status of the IP-number (allocated or not allocated) visible.
> - a peg can be clipped to a network cable giving a very clear view of where a given IP-number is in use.

- 安い
- 洗濯バサミは「トークン」であり，1つのIPアドレスを表し，そのIPアドレスの状態（割り当て済みか未割り当てか）を可視化することができる．
- 洗濯バサミをネットワークケーブルに挟むと，そのIPアドレスがどこで使われているかが一目瞭然になる．

>   Credits for the original idea of using wooden pegs go to Daniel Ockeloen.

木製の洗濯バサミを使うというアイデアの功績は，Daniel Ockeloen氏のものである．

## The server.(サーバ)

>   The server can have many appearances.
>   At HIP it was a large tent situated at the central field where all the activities were.
>   It can also be a small table in the corner of a terminalroom.

   サーバーは様々な外観を持ち得る．
   HIPでは，すべての作業が行われる会場の中央に設置された大きなテントがそれだった．
   また，端末室の片隅にある小さなテーブルのようなものであることもありえる．

>   The server can hand out two parts to the client, the peg and a paper with additional fields fixed for the site the server is running for.
>   We will describe both here.

   サーバーは，洗濯バサミと，サーバーが稼働しているサイトの情報を記載した追加情報用紙の2つのパーツをクライアントに貸与する．
   以下に，それらについて説明する．

## The peg.(洗濯バサミ)

>   On the peg the IP-number is mentioned.
>   The text on the peg can be described according to the following BNF:

   洗濯バサミにはIPアドレスが記載されている．
   洗濯バサミ上のテキストは，以下のBNFに従って記述する．

     Total ::== IP | Net

     IP ::== num.num.num.num | num.num | num

     Net ::== num.num.num/mask | num.num/mask | num/mask

     num ::== {1..255}

     mask ::== {8..31}

>   The Net-method of writing larger nets is an optional part of the protocol, it doesn't have to be implemented.
>   If it is implemented, it requires more administration at the server (see below).

   より大きなネットを記載するNet表記はプロトコルのオプション部分であり，実装は必須ではない．
   実装する場合は，サーバー側でより多くの管理が必要になる(下記参照)．

>   The short versions of the IP-number with only 1 or 2 chunks are meant for large servers where writing the whole number on the peg is just boring and time-consuming.
>   It requires the prefix to be mentioned on the additional field paper, but that can be produced in more convenient ways.
>   It is not recommended to work with more prefixes.
>   It is better to write more numbers on the peg and use a smaller prefix.

   1つか2つの数字しかない短いバージョンのIPアドレスは，洗濯バサミにアドレスのすべてを書くのが大変な大規模サーバー用である．
   この場合，追加情報用紙に省略したIPアドレスの先頭部分を記載する必要があるが，それはより容易な方法で作成が可能である．
   ただし，省略を多くすることは推奨しない．
   洗濯バサミに多くの数字を書き，省略するIPアドレスの先頭部分を少なくする方が望ましい．

>   If the network to be numbered is rather large and some kind of subnetting has to be implemented it is possible to give the pegs from the different subnets different colors.
>   This has proven to be a very convenient way at HIP.

   管理するネットワークがかなり大きくなり，ある種のサブネットを実装する必要がある場合には，異なるサブネットの洗濯バサミに異なる色を付けることが可能である．
   HIPにおいて，この方法が非常に便利であることが証明されている．

## The additional vendorfield paper.(追加情報用紙)

>   This part is meant for information that is fixed for the whole site.
>   It can either be implemented as small printed notes handed out with the peg or as a large paper billboard hung at a convenient place where everybody can read it.

   このパーツは，サイト全体で共通な情報のためのものである．
   洗濯バサミと一緒に配る小さな印刷物として，あるいは誰もが読める場所に吊るす大きな紙看板として実装することができる．

>   The information can be described with the following BNF:

この情報は，以下のBNFで記述することができる．

     Network ::== num.num.num.num

     Netmask ::== num.num.num.num | num

     Gateway ::== num.num.num.num | num.num | num

     Proxy ::== num.num.num.num:port | num.num:port | num:port

     Paper ::== Network Netmask Gateway Proxy | Network Netmask Gateway

     num ::== {0..255}

     port ::== {1..65535}

>   The paper and the peg are of course one part, if two numbers are used on the peg, two numbers are used on the paper.

紙と洗濯バサミはもちろん一対の部品で，洗濯バサミに2つのアドレスが使われれば，紙にも2つのアドレスが使われる．

>   Because it is fixed information, it can be produced with means of mass-production (printing, copying).

固定情報であるため，大量生産手段（印刷，コピー）で生産することができる．

## The IP-repository(IP保管庫)

>   Due to the nature of the peg, the repository can be quite simple.
>   Just a clothes-line with all the pegs that are ready to be handed out attached to it.
>   If you work with different subnets, it is convenient to group the pegs for the different subnets (colors).

   洗濯バサミの性質上，保管庫は非常にシンプルにすることができる．
   配布する準備が整った洗濯バサミをすべてくっつけておく物干しロープだけである．
   異なるサブネットで作業する場合は，異なるサブネット用の洗濯バサミをグループ化（色分け）しておくと便利である．

>   At large networks where it is not really known how many IP-numbers are needed, a first set of pegs can be made in advance, and the administration of produced pegs kept on paper so it is known for which numbers pegs have already been made.
>   If use is made of the net-extension on the pegs, numbers given out that way can be administrated this way too.

   大規模なネットワークで，どれだけのIPアドレスが必要かわからない場合には，あらかじめいくつかの洗濯バサミを作り，作った洗濯バサミを紙に書いて管理しておけば，どのアドレスの洗濯バサミが作られたかがわかる．
   洗濯バサミでNet表記拡張を使用する場合にも，同様の方法で払い出したアドレスを管理することができる．

## Issuing IP-numbers.(IPアドレスの発行)

>   The pegs and the IP-numbers are issued at the server to the client.
>   Normally the client has to visit the server personally.
>   Depending on how secure and controlled you want the process, the client has to ask for a peg to a responsible person, or he or she can just get a peg from store himself.

洗濯バサミとIPアドレスは，サーバーからクライアントに発行される．
通常，クライアントは自らサーバーを訪問する必要がある．
どの程度安全に制御したいかによって，クライアントが責任者に洗濯バサミを要求するか，あるいは自分で保管庫から洗濯バサミを取得する．

>   If someone could apply for a networkrange, and he net-extension isn't used, coat-hangers can be prepared with sets of pegs attached to them.

もし誰かがIPアドレスの範囲申請をして，Net表記拡張を使っていなかった場合には，ハンガーを用意して洗濯バサミを取り付けて渡せばよい．

>   The vendorfields paper doesn't have to be issued with every peg, it is only needed when wanted.

追加情報用紙はすべての洗濯バサミで発行する必要はなく，必要なときだけ発行すればよい．

## Reclaiming and reusing IP-numbers.(IPアドレスの回収と再利用)

>   It is not easy to implement a TTL in this protocol.
>   One obvious TTL is the duration of the event after which the IP-numbers are not valid anymore.

   このプロトコルでTTL(Time to Live; 生存期間)を実装するのは容易ではない．
   1つの明白なTTLは，IPアドレスがもう有効でなくなるイベントが終了するまでの期間である．

>   However, if a client decides that it doesn't need an IP-number anymore it can bring the peg back to the server.

   しかし，クライアントがもうIPアドレスを必要としないと判断した場合には，サーバーに洗濯バサミを返却することができる．

>   The server should at that point decide what to do, if desired, it can bring the peg back into the pool (attach it to the clothes-line again).

   サーバーはその時点でどうするかを決め，必要であれば洗濯バサミを保管庫に戻す（再び物干しロープに取り付ける）ことができる．

>   If the server is not manned (the client has to help themselves), the only thing possible is that the client just places the peg back into the pool.

   サーバーに人がいない（クライアントが自分でやらなければならない）場合，唯一可能なことは，クライアントが洗濯バサミを保管庫に戻すことだけである．

## The client side.(クライアント側)

>   The optimum location for the peg is clipped to the network cable near the NIC of the device needing an IP-number allocated.
>   This ensures a clear visual connection between the device and the IP-number allocated and makes it an easy task to see which IP-number is allocated.

   洗濯バサミを取り付ける最適な場所は，IPアドレスの割り当てが必要な機器のNICの近くのネットワークケーブルである．
   これにより，機器と割り当てられたIPアドレスを視覚的に明確に結びつけ，どのIPアドレスが割り当てられたかを容易に確認することができる．

>   Transfer of the IP information from the peg and the additional vendorfield paper note to the settings in the IP stack is done by human transfer.
>   A person reads the information from the peg and from the additional information and enters this in the configuration of the used IP stack.
>   This transfer is not completely free of corruption of the information or loss of the information contained on the peg.

   洗濯バサミと追加情報用紙からIPスタックのへ設定は，人手によって行う．
   人が洗濯バサミと追加情報用紙から情報を読み取り，これを使用するIPスタックの設定に入力する．
   この方法による情報の破損や洗濯バサミに含まれる情報の損失は，完全には避けられない．

>   A certain amount of knowledge of the logic of IP settings is also assumed on the part of the person transferring the information.

   また，情報を転送する側にもIP設定のロジックに関する一定の知識があることが前提である．

>   Other information on the vendorfield paper note has to be transferred to the settings within specific application programs.

   追加情報用紙のその他の情報は，特定のアプリケーション内の設定に設定する必要がある．

## Use with other protocols

>   This protocol could be combined with avian carriers as described in RFC 1149 to hand out IP-numbers remote.

   このプロトコルは，RFC1149に記載されている鳥類キャリアと組み合わせて，IPアドレスを遠隔に配布することができる．

>   At the first avian carrier, the peg is clipped to the leg of the carrier after rolling the additional vendorfield paper around it.

   最初の鳥類キャリアには，追加情報用紙を巻いた後，洗濯バサミをキャリアの脚部に留める．

>   The remote site can take the peg on arrival of the avian carrier and use the information on it.

   遠隔地では，鳥類キャリアの到着時に洗濯バサミを取り，その情報を利用することができる．

>   This part of the protocol is still experimental and requires some additional research on topics like the weight of the peg and loss of the peg/whole carrier.

   この部分はまだ実験的なもので，洗濯バサミの重量や洗濯バサミ/キャリア全体の損失といったテーマについて，さらなる研究が必要である．

## Security Considerations

>   Some remarks about security can be made.

   セキュリティに関して，いくつかの指摘がある．

>   Pegs are small devices and can be lost.
>   At that time, the IP-number which was lost can't be used anymore because someone else can find the peg and use the information stored on it.
>   But, once the peg is attached to a network cable, the chance to loose the peg is minimized.

   洗濯バサミは小さな機器なので，紛失する可能性がある．
   その場合，他の人が洗濯バサミを見つけ，そこに保存されている情報を使うことができるため，紛失したIPアドレスは使用できない．
   しかし，洗濯バサミをネットワークケーブルに取り付けておけば，洗濯バサミを紛失する可能性は限りなく低くできる．

>   All the information on both the peg and on the additional 'fixed' fields on the paper record are plain text and readable for everyone.
>   Private information should not be exchanged through this protocol.

   洗濯バサミと追加情報用紙の両方の情報はすべて平文で，誰でも読むことができる．
   このプロトコルで個人情報を交換するべきではない．

>   On the client side all sorts of clients exist and cooperate freely.
>   Due to the human factor of the clients transferring information from peg to IP stack, the information can be misinterpreted, which could cause network troubles.
>   In the field test at HIP this became perfectly clear when someone mixed up the numbers and used the address from the default router as his IP-number, rendering the network useless for a period of time.

   クライアント側では，さまざまなクライアントが存在し，自由に連携している．
   クライアントが洗濯バサミからIPスタックに情報を転送する際，人的要因があるため，情報を誤認してしまい，ネットワークトラブルを引き起こす可能性がある．
   HIPのフィールドテストでは，誰かが番号を間違えて，デフォルトルーターのアドレスを自分のIPアドレスとして使ってしまい，ネットワークが一時的に使えなくなったことでそれが明らかになった．

## Authors' Addresses

>     Koos van den Hout
>     Hogeschool van Utrecht / Expertisecentrum Cetis
>     P.O. box 85029
>     3508 AA Utrecht
>     The Netherlands

>     Phone: +31-30-2586287
>     Fax:   +31-30-2586292
>     EMail: koos@cetis.hvu.nl


>     Andre Koopal
>     UUnet Netherlands
>     P.O. box 12954
>     1100 AZ  AMSTERDAM
>     The Netherlands

>     Phone: +31-20-4952727
>     Fax:   +31-20-4952737
>     EMail: andre@NL.net


>     Remco van Mook
>     Van Mook Consulting
>     Calslaan 10-31
>     7522 MA Enschede
>     The Netherlands

>     Phone: +31-53-4895267
>     EMail: remco@sateh.com

## Full Copyright Statement

>   Copyright (C) The Internet Society (1998).  All Rights Reserved.

>   This document and translations of it may be copied and furnished to
>   others, and derivative works that comment on or otherwise explain it
>   or assist in its implementation may be prepared, copied, published
>   and distributed, in whole or in part, without restriction of any
>   kind, provided that the above copyright notice and this paragraph are
>   included on all such copies and derivative works.  However, this
>   document itself may not be modified in any way, such as by removing
>   the copyright notice or references to the Internet Society or other
>   Internet organizations, except as needed for the purpose of
>   developing Internet standards in which case the procedures for
>   copyrights defined in the Internet Standards process must be
>   followed, or as required to translate it into languages other than
>   English.

>   The limited permissions granted above are perpetual and will not be
>   revoked by the Internet Society or its successors or assigns.

>   This document and the information contained herein is provided on an
>   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
>   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
>   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
>   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
>   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.