RFC 2322 INFORMATIONAL META · HUMOR · NETWORKS

Management of IP numbers by peg-dhcp

A humorous protocol for handing out IP addresses using wooden clothespegs

On rfc-editor.org ↗
PUBLISHED
April 1998
AUTHORS
K. van den Hout, A. Koopal, R. van Mook
STREAM
INDEPENDENT
ORIGINAL EVENT
HIP97 (Hacking In Progress)
IP ADDRESS FORMATS
num.num.num.num or num.num or num
PUBLICATION DATE
1 April 1998
DOI
10.17487/RFC2322
ERRATA
Reported errata

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                    K. van den Hout
Request for Comments: 2322                           HvU/HIP-networkteam
Category: Informational                                        A. Koopal
                                                UUnet NL/HIP-networkteam
                                                             R. van Mook
                                    University of Twente/HIP-networkteam
                                                            1 April 1998


                  Management of IP numbers by peg-dhcp

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.

   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.

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.

   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.

   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:

      - 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.

   Credits for the original idea of using wooden pegs go to 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.

   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.

The peg.

   On the peg the IP-number is mentioned. The text on the peg can be
   described according to the following 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).

   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.

   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.

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:

   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.

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

The IP-repository

   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.

Issuing IP-numbers.

   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.

   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.

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

Reclaiming and reusing IP-numbers.

   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.

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

   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.

   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.

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

   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.

   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.

   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.

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.

AI ELI5

On this page
PROBLEMTemporary field networks at large events where many computers arrive and need IP addresses quickly have no clear organizational infrastructure and cannot rely on traditional DHCP servers, which may not work with all systems present.
MECHANISMThis April Fools RFC humorously proposes peg-dhcp: a low-tech protocol using wooden clothespegs. Each peg is labeled with an IP address or network range. Pegs are clipped to a clothesline (the repository) and handed out by a server person to clients who visit in person. Clients read the information from the peg and manually configure their computers. A paper note lists shared configuration (netmask, gateway, proxy).
A HUMOROUS RFCThis is an April Fools joke, though it is grounded in a real experience at the HIP97 (Hacking In Progress) event where peg-dhcp was actually used. The memo describes the practical benefits (cheap, visible status, easy to track) but also its limitations (human error, potential for misconfiguration, no automatic recovery).

§1The Problem and Solution

This RFC describes peg-dhcp, a humorous protocol for assigning IP addresses at field networks and large temporary events that lack a clear organizational structure. The problem was first addressed at the HIP event (Hacking In Progress), a large three-day event where over a thousand hackers gathered from around the world and brought computers needing TCP/IP network access. A software solution like a traditional DHCP server was judged impractical due to the variety of operating systems and IP stacks present. Instead, the organizers devised a physical solution using wooden clothespegs. Each peg represents one IP address or network block, is labeled with the IP number in text, and can be clipped to a network cable to show which computer uses which address.

At a big hacker party, many people brought computers needing network setup. Instead of running software, they used wooden clothespegs labeled with IP addresses.

§2The Peg-DHCP Server and Client

The server location can be a central tent (at HIP97) or a small table in a terminal room. The server hands out two items: the peg itself, labeled with an IP address or network block, and optional additional papers with fixed configuration (netmask, gateway, proxy) for the entire site. The peg can show a single IP (written as num.num.num.num, num.num, or num), or a network block (written as num.num.num/mask). Pegs are stored on a clothesline, organized by subnet, with different colored pegs for different subnets. On the client side, the person reads the information from the peg and the paper, then manually enters the configuration into the computer's IP settings. The memo notes that this human transfer of information is not error-free and that network knowledge is required from the person doing configuration.

Someone runs a table where computers can pick up pegs. The peg says the computer's IP address. The person using the computer reads it and types the address into their system. Colors show different networks.

§3Reclamation, Reuse, and Extensions

When a client no longer needs an IP address, they can return the peg to the server for reuse. If the server is unmanned, clients place pegs back into the pool themselves. The memo describes extensions such as using different colored pegs for subnets, printing multiple copies of the configuration paper for mass distribution, and even theoretically combining peg-dhcp with RFC 1149 (IP datagrams on avian carriers) by attaching pegs to the leg of a carrier pigeon. The memo notes that TTL implementation is difficult; one obvious TTL is the end of the event. The final section notes that pegs are small and can be lost, but once clipped to a network cable the risk is minimized, and all information is in plain text and readable to everyone, so private information should not be exchanged through this protocol.

When you are done with your peg, you return it for someone else to use. You can make pegs in different colors for different networks. Everything is visible and in plain text, so do not send secrets through it.

§4References