<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
    <!ENTITY rfc1055 PUBLIC '' 
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.1055.xml'>
    <!ENTITY rfc1958 PUBLIC '' 
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.1958.xml'>
]>

<rfc category="info" ipr="full3978" docName="draft-gershenfeld-i0-00.txt">

<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

<?rfc toc="no" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="no" ?>
<?rfc strict="no" ?>

    <front>
        <title abbrev="I0">Internet 0: Enabling IP Over Anything</title>

        <author initials='N.' surname="Gershenfeld" fullname='Neil Gershenfeld'>
            <organization abbrev="CBA/MIT">
                Massachusetts Institute of Technology
            </organization>
            <address>
                <postal>
                    <street>Room E15-411</street>
                    <street>20 Ames Street</street>
                    <city>Cambridge</city> <region>MA</region>
                    <code>02139</code>
                    <country>US</country>
                </postal>
                <phone>+1 617 253 0392</phone>
                <email>gersh@cba.mit.edu</email>
            </address>
        </author>

         <author initials='D.' surname="Cohen" fullname='Danny Cohen'>
            <organization>Sun Microsystems, Inc.</organization>
            <address>
                <postal>
                <street>Mailstop UMPK16-160</street>
                <street>16 Network Circle</street>
                <city>Menlo Park</city> <region>CA</region>
                <code>94025</code>
                <country>US</country>
                </postal>
                <phone>+1 650 786 0006</phone>
                <email>danny.cohen@sun.com</email>
            </address>
        </author>

        <author initials='T.' surname="Snide" fullname='Todd Snide'>
            <organization abbrev="Schneider Electric">
                Schneider Electric
            </organization>
            <address>
                <postal>
                    <street>1 High Street</street>
                    <city>North Andover</city> <region>MA</region>
                    <code>01845</code>
                    <country>US</country>
                </postal>
                <phone>+1 978 975 9472</phone>
                <email>todd.snide@us.schneider-electric.com</email>
            </address>
        </author>

        <author initials='D.' surname="Kopp" fullname='David Kopp'>
            <organization abbrev="Schneider Electric">
                Schneider Electric
            </organization>
            <address>
                <postal>
                    <street>1 High Street</street>
                    <city>North Andover</city> <region>MA</region>
                    <code>01845</code>
                    <country>US</country>
                </postal>
                <phone>+1 978 975 9472</phone>
                <email>David.Kopp@us.schneider-electric.com</email>
            </address>
        </author>

        <author initials='K.' surname="Lynn" fullname='Kerry Lynn'>
            <organization abbrev="Cisco">
                Cisco Systems
            </organization>
            <address>
                <postal>
                    <street>1414 Massachusetts Avenue</street>
                    <city>Boxborough</city> <region>MA</region>
                    <code>01719</code>
                    <country>US</country>
                </postal>
                <phone>+1 978 936 1342</phone>
                <email>kelynn@cisco.com</email>
            </address>
        </author>

        <author initials='D.' surname="Oran" fullname='David R. Oran'>
            <organization abbrev="Cisco">
                Cisco Systems
            </organization>
            <address>
                <postal>
                    <street>7 Ladyslipper Lane</street>
                    <city>Acton</city> <region>MA</region>
                    <code>01720</code>
                    <country>US</country>
                </postal>
                <email>oran@cisco.com</email>
            </address>
        </author>

       <date month="December" year="2007"/>

<abstract>
<t>
Internet 0 (zero) is an encoding technology for carrying IP datagrams
over any link medium.  In contrast to other encoding schemes,
Internet 0 places primary design emphasis on simplicity and medium
independence.  Following in the spirit of the "IP-over-everything"
paradigm, Internet 0 makes minimal assumptions about the physical
properties of the underlying network.  Rather than being optimized for
a single physical transport, Internet 0 is suitable for carrying IP
over anything.  Internet 0's encoding scheme is analogous to Morse
code. Packets may be transmitted over any medium as electric,
optic, radio or acoustic impulses.  By adopting a unified design
into lower layers, Internet 0 provides significant value to the
emerging class of inexpensive sensor and embedded devices expected to
be active network participants.  This document defines a standard for
the transmission of IP datagrams over Internet 0 networks.  This
document also describes the Internet 0 protocol and its design
principles.
</t> 
</abstract> 
</front>

    <middle>


<section title="Introduction">
<t>
A retrospective analysis of the Internet identified and enumerated
several architectural enablers of the Internet's success <xref
target="RFC1958"/>.  One notion that has stood the test of time is the
Internet's ability to accommodate a variety of network technologies by
making a minimum set of assumptions on the functionality of the
network.  Colloquially, this network heterogeneity is referred to as
the "IP-over-everything" argument.  While the principles of simplicity
and minimal assumptions are brought to bear on the Internet Protocol
(IP) and higher layers, there is significant value to applying the
same design tenets to the data-link layer.  
</t>

<t>
Internet 0 (zero) is an encoding technology which pushes the
IP-over-everything paradigm into the link layer.  Just as IP is
agnostic to the data-link it runs on top of, Internet 0 aims to be a
"encoding over anything." While Internet 0 is not optimal for a single
particular medium, it is acceptable for virtually any media.  This
generality is appropriate when minimizing cost and complexity is more
important than maximizing performance for a specific task.  
</t>

<t>
Internet 0's design goals address the emerging class of inexpensive
sensor and embedded devices expected to become active and ubiquitous
network participants.  These automated devices, an Internet of things
<xref target="i0"/>, may outnumber the current population of
traditional hosts on the network.  Such devices have unique
requirements which naturally differ from the servers and clients
attached to the Internet today.  
</t>

<t>
For example, a light bulb and light switch do not need a high-speed
network in order to communicate short instructions or query state.
Rather, cost and the ability to transmit over any physical medium, for
instance the bulb's own power line, are paramount.  Internet 0 orders
its design goals in the context of link layer requirements for
ubiquitous nodes.  An Internet of things places cost, simplicity and
interoperability as primary goals with speed a secondary concern.  
</t> 

<t>
This document defines a standard for the transmission of IP datagrams
over Internet 0 networks.  This document also details Internet 0 and
describes architectural principles of the protocol.  
</t>
</section>

<section title="Internet 0">
<t>
Internet 0 defines an encoding scheme for carrying bytes over links of
various media, to all destinations.  It may encapsulate IP version 4
(IPv4) and IP version 6 (IPv6) packets, as well as any other byte
oriented protocol.  Internet 0 makes no changes to IP or the IP
standard. 
</t>

<section title="IP over Anything">
<t>
There exist a myriad of link layer schemes that address specific
requirements including speed, transport medium, error protection and
noise immunity.  The fact that IP runs and interoperates over this
wide variety of networks is a testament to its design.  IP achieves
this flexibility by not specifying any performance numbers and making
only minimal assumptions on the functionality of the underlying
network <xref target="clark-philosophy"/>.  Internet 0 similarly
applies these design insights to the next lower layer.  
</t>

<t>
Today's link layer technologies are not end-to-end: a packet on the
Internet may travel over several local area Ethernets, an optical
network with SONET and PPP framing, and a wireless connection to name
a few.  A great deal of effort has been spent on developing standards
for IP over X where X is any of the recent IETF working groups: Cable
Data Network (ipcdn), IEEE 802.16 (16ng), Resilient Packet Rings
(iporpr), ATM (ipatm), FDDI (fddi), IEEE 1394 (ip1394), Bluetooth
(ipobt), etc.
</t>

<t>
Internet 0 unifies encoding into a single scheme.  In this sense, the
encoding of the link-layer signal may be carried through the entire
span of the network without decoding and re-encoding.  Thus, the
encoding becomes an end-point functionality and intermediate devices
are greatly simplified.  <xref target="interconnect"/> shows the
difference between interconnecting networks at the software protocol
layers versus Internet 0's approach of interdevice internetworking at
the physical link.
</t>

<figure anchor="interconnect">
    <preamble>Internet 0 Interconnects Networks at the Physical Link</preamble>
    <artwork>
    +-----------+     +-----------+
    |  Network  |&lt;---&gt;|  Network  |
    +-----------+     +-----------+
    | Data Link |     | Data Link |
    +-----------+     +-----------+    +-----------+     +-----------+
  -&gt;|  Physical |     |  Physical |&lt;--&gt;|  Physical |&lt;---&gt;|  Physical |&lt;-
    +-----------+     +-----------+    +-----------+     +-----------+
    </artwork>
</figure>

<t>
Two important, but separable principles of Internet 0 contribute
to its ability to accommodate wide media heterogeneity: big bits
and clicks.  We describe each in turn next.
</t>
</section>

<section title="Big Bits">
<t>
Internet 0's encoding scheme diverges from current networking
practice by using "big bits."  The duration of a bit and its speed of
propagation define a size.  Bits have length equal to the ratio
between the speed of light (actually 2c/3 in most medium) and the rate
of transmission.  For example, bits are approximately 30cm long for a
data rate of a gigabit per second while over 10km long on an 18kbps
link.  If a bit is larger than a network, the transient response to it
can settle independently of the topology of the network.  By allowing
enough time such that all echoes die, Internet 0 does not have to
content with signal integrity, echoes and multi-path issues.  Thus,
for low data-rate devices, using bits that are large enough to settle
on the local network eliminates the need for active hubs in wired
networks and collision detection in wireless ones.  
</t>

<t>
In the near-field limit for big bits, signals can equilibrate.  In the
time domain this corresponds to communicating in impulse responses.
Transmission schemes such as Ultra Wideband <xref target="uwb"/> use
impulse responses on multiple orthogonal frequencies, but for
low-power, fading and interference rejection at high-speeds.  Internet
0 is much simpler.  Information is communicated solely in the
timing of an event rather than its frequency, amplitude, or phase.
Internet 0 encodes bits via timing so that not just the data in a
packet, but also its encoding can be carried end-to-end.
</t>
</section>

<section title="Click Encoding">
<t>
Internet 0's encoding scheme is, by design, very simple.  Because
Internet 0 makes no assumptions about the underlying medium, for
instance the frequency or amplitude response, it relies on timing
events.
</t>

<t>
Internet 0 operates by pulse-position modulation: a bit-interval of
length t encodes a bit.  Each bit-interval is divided into two equal
sized time slots.  A bit is transmitted as an impulse, or "click," in
the center of the appropriate slot.  Every interval must have a click
impulse in the first or second slot or both slots.  As depicted in
<xref target="encoding"/>, the first interval slot encodes the start
sequence while the second slot encodes a 1 (one) bit.  The next click
interval, the third slot, encodes a 0 (zero) bit.  Bytes are framed by
start and stop sequences with impulses in both slots of a click
interval, self-consistently providing time origin and data rate.  Each
bit of a byte is sent in big-endian order.  This transmission order
sends bits in the normal order in which they are read in English.  For
example, in <xref target="encoding"/> the first bit sent after the
start sequence is 1 and the second bit sent is 0.  
</t>

<figure anchor="encoding">
    <preamble>Internet 0 Encoding</preamble>
    <artwork>
      ^ ^   ^       ^     ^   ^     ^     ^       ^     ^   ^ ^   
      | |   |       |     |   |     |     |       |     |   | |   
      | |   |       |     |   |     |     |       |     |   | |   
    +--:--|--:--|--:--|--:--|--:--|--:--|--:--|--:--|--:--|--:--> Time
     start   1     0     0     1     1     1     0     0    stop
    </artwork>
</figure>

<t>
A malformed byte in a click stream is discarded.
</t>

<t>
Two primary issues with pulse-position modulation are synchronization
and multipath interference.  The receiver's clock must be properly
aligned with the sender in order to decode the incoming signal.  The
start and stop framing sequence is used in Internet 0 to recover the
timing.  More problematic is interference due to echos of transmitted
pulses.  A receiver that experiences echo interference cannot
disambiguate the correct pulse positions.  
</t>

<t>
However, Internet 0 avoids these potential pitfalls by bounding the
data transmission rate to the size of the network.  In addition, 
decoding can be performed over windows of clicks.  More sophisticated
non-local click decoding such as a decoding tree can 
provide noise rejection and signal separation.
</t>
</section>

<section title="Medium Independence">
<t>
Because of its simplicity and low cost Internet 0 may support IP to the
leaves in networks of things.  Internet 0 communicates information by
encoding it into the timing of activities on its links.  Internet 0 nodes
encode information into the timing of outbound activities and decode
the information from the timing of received activities.  The media
to media communication bridging is accomplished by nodes creating
activities on one medium whenever they detect activities on their
other medium, preserving their timing.  Internet 0 makes no assumptions
about the media.
</t>

<t>
Thus, Internet 0 is medium independent, in much the same way Morse
code is.  With Internet 0, the common language of all devices is the
timing onset which gives the distinction between activity and
non-activity in a click interval.  Clicks can be sent as electrical
impulses on a wire, smoke signals through air, knocks on a table or
light impulses through an optical medium.  Critical to the design is
that information is always represented the same way irrespective of
the underlying medium.  In this way, the logical and physical layers
are coincident.  Internet 0 purposefully omits performance numbers so
that technological assumptions do not limit current and future use.
</t>
</section>
</section>


<section title="IP Packet Framing">
<t>
In order to frame an entire packet for serial transmission, Internet 0
uses the current, simple de facto SLIP standard <xref
target="RFC1055"/>: 
</t>

<t>
The SLIP protocol defines two special characters: END and ESC.  END is
octal 300 (decimal 192) and ESC is octal 333 (decimal 219) not to be
confused with the ASCII ESCape character.  To send a packet, a SLIP
host simply starts sending the data in the packet.  If a data byte is
the same code as END character, a two byte sequence of ESC and octal
334 (decimal 220) is sent instead.  If it the same as an ESC
character, an two byte sequence of ESC and octal 335 (decimal 221) is
sent instead.  When the last byte in the packet has been sent, an END
character is then transmitted.
</t>

<t>
Internet 0 eliminates link-layer addresses.  Hence, on broadcast
networks, every node receives all traffic.  
</t>

<t>
<xref target="layers"/> shows the relationship between the various
protocols and Internet 0.
</t>

<figure anchor="layers">
    <preamble>Protocol Relationships</preamble>
    <artwork>
                 +------+ +-----+ +-----+     +-----+
                 |Telnet| | FTP | | TFTP| ... | ... |
                 +------+ +-----+ +-----+     +-----+
                       |   |         |           |
                      +-----+     +-----+     +-----+
                      | TCP |     | UDP | ... | ... |
                      +-----+     +-----+     +-----+
                         |           |           |
                      +-------------------------------+
                      |    IP (Internet Protocol)     |
                      +-------------------------------+
                         |           |           |
                  +----------+ +----------+ +-----------+
                  |Internet 0| | Ethernet | | SONET/SDH |
                  +----------+ +----------+ +-----------+
    </artwork>
</figure>

<t>
A 240-bit UDP/IP Internet 0 packet, comprising 160 bits for an IPv4
header, 64 bits for the UDP header, and 16 bits for the SLIP framing
is shown below. This figure looks like a bar code, and in fact could
be used that way, scanned optically and then the raw signals carried
over any other Internet 0 transport, wired or wireless,
electromagnetic, acoustic, or optical.  This packet illustrates an
important fundamental concept of Internet 0: the fact that the logical
and physical representations of a packet are coincident.
</t>

<t>
|| | | | | | || | |||||  ||  | | ||  ||||| | | | | | | | ||||| | | | | | | | ||||| | || | |  | | ||||| | | | | | | | ||||| | | | | | | | ||||| | | | | | | | ||||| | | | | | | | |||||| | | | | | | | |||||  | | ||  | | ||||||  || |  | | || |||| ||  | ||  || | |||| ||  ||  | | | ||||||  | | | | | | ||||| ||  | | | | | |||||| |  | | | | | ||||| ||  ||  | | | ||||| | ||  | | | | ||||||  ||  | | | | ||||| || |  | | | | ||||| | | | | | | | ||||| | | | ||  ||  ||||| | | | | | | | ||||| | | | ||  ||  ||||| | | | | | | | ||||| | | ||  | | | ||||| | | | | | | | ||||| | | | | | | | ||||| | | | | | || | ||
</t>
</section>

<section title="Principles">

<t>
In Summary:
<list style="numbers">
  <t>Accommodate Medium Heterogeneity: Currently, encoding
     schemes vary widely between media and often offer competing
     standards for a single medium.  Rather than continued standard
     proliferation, interconnecting links of 
     different media should be simple.  Internet 0 is end-to-end and
     requires no
     encoding or decoding for inter-media interconnect.</t>
  <t>Simplicity: Internet 0 is simple. Information is encoded via
     an on-set timed, pulse-positioning signal.  This simplicity
     extends beyond silicon area to 
     include e.g. power consumption and debugging.  In addition to 
     minimizing computational cost, Internet 0 minimizes economic cost
     in both production and installation.</t>
</list>
</t>
</section>


<section title="Feasibility">

<t>
The Internet 0 project <xref target="i0"/>, <xref target="ieee-i0"/>
enjoys both academic and industrial backing.  Internet 0 encoding
and clicks are implemented on tiny inexpensive general purpose
microprocessors.  Active test installations of Internet 0 include
RFID, lights and switches and industrial control.  Internet 0 is
successfully running on a series of commercial home office routers and
mass-produced sensor devices.  Test beds in other application domains
are planned.
</t>

</section>

<section title="Security Considerations">
<t>
This memo does not address security issues.  Authors note their
use of current scalable encryption research <xref target="sea"/>
as a promising part of security for the embedded devices mentioned
in this draft.
</t>
</section>

    </middle>

    <back>
        <references>
        &rfc1055;
        &rfc1958;

<!--
       <reference anchor="saltzer-e2e">
           <front>
               <title>The End-to-End Arguments in System Design</title>
               <author initials="J. H." surname="Saltzer"
                       fullname="J. H. Saltzer">
                   <organization abbrev="MIT">
                   MIT
                   </organization>
               </author>
               <author initials="D. P." surname="Reed"
                       fullname="D. P. Reed">
                   <organization abbrev="MIT">
                   MIT
                   </organization>
               </author>
               <author initials="D. D." surname="Clark"
                       fullname="David D. Clark">
                   <organization abbrev="MIT">
                   MIT
                   </organization>
               </author>
           </front>
           <format type='HTML'
target='http://web.mit.edu/Saltzer/www/publications/endtoend/endtoend.pdf#search=%22The%20End-to-End%20Arguments%20in%20System%20Design%22' />
           <format type='TXT'
target='http://web.mit.edu/Saltzer/www/publications/endtoend/endtoend.txt'
/>
       </reference>
-->

       <reference anchor="clark-philosophy">
           <front>
               <title>The Design Philosophy of the DARPA Internet
               Protocols</title>
               <author initials="D. D." surname="Clark"
                       fullname="David D. Clark">
                   <organization abbrev="MIT">
                   MIT
                   </organization>
               </author>
           </front>
           <format type='HTML'
target='http://www.acm.org/sigs/sigcomm/ccr/archive/1995/jan95/ccr-9501-clark.pdf' />
       </reference>

<!--
       <reference anchor="blumenthal-e2e">
           <front>
               <title>Rethinking the design of the Internet: the
end-to-end arguments vs. the brave new world</title>
               <author initials="M. S." surname="Blumenthal"
                       fullname="Majory S. Blumenthal">
                   <organization abbrev="CST">
                   Computer Science and Telecommunications Bd
                   </organization>
               </author>
               <author initials="D. D." surname="Clark"
                       fullname="David D. Clark">
                   <organization abbrev="MIT">
                   MIT
                   </organization>
               </author>
               <date month="August" year="2001" />
           </front>
           <seriesInfo name="ACM Transactions on Internet Technology" value="" />
           <format type='HTML'
             target='http://www.ana.lcs.mit.edu/papers/PDF/Rethinking_2001.pdf' />
       </reference>
-->

       <reference anchor="i0">
           <front>
               <title>The Internet of Things</title>
               <author initials="N." surname="Gershenfeld"
                       fullname="Neil Gershenfeld">
                   <organization abbrev="MIT">
                   MIT/Center for Bits and Atoms
                   </organization>
               </author>
               <author initials="R." surname="Krikorian"
                       fullname="Raffi Krikorian">
                   <organization abbrev="MIT">
                   MIT/Center for Bits and Atoms
                   </organization>
               </author>
               <author initials="D." surname="Cohen"
                       fullname="Danny Cohen">
                   <organization abbrev="Sun">
                   Sun Microsystems
                   </organization>
               </author>

               <date month="October" year="2004" />
           </front>
           <seriesInfo name="Scientific American" value="" />
           <format type='HTML'
                target='http://www.sciam.com/article.cfm?chanID=sa006&colID=1&articleID=00023B66-5F28-1150-902F83414B7F4945' />
       </reference>

       <reference anchor="ieee-i0">
           <front>
               <title>Internet 0: Interdevice Internetworking</title>
               <author initials="N." surname="Gershenfeld"
                       fullname="Neil Gershenfeld">
                   <organization abbrev="MIT">
                   MIT/Center for Bits and Atoms
                   </organization>
               </author>
               <author initials="D." surname="Cohen"
                       fullname="Danny Cohen">
                   <organization abbrev="Sun">
                   Sun Microsystems
                   </organization>
               </author>

               <date month="October" year="2006" />
           </front>
           <seriesInfo name="IEEE Circuits and Systems" value="" />
       </reference>

       <reference anchor="uwb">
           <front>
               <title>Ultra Wideband</title>
               <author>
               <organization abbrev="uwbforum">Ultra Wideband Forum</organization>
               </author>
           </front>
           <seriesInfo name="http://www.uwbforum.org/" value="" />
           <format type='HTML' target='http://www.uwbforum.org/' />
       </reference>

       <reference anchor="sea">
           <front>
               <title>SEA: A Scalable Encryption Algorithm for
                      Small Embedded Applications</title>
               <author initials="F. X." surname="Standaert"
                       fullname="Francois-Xavier Standaert">
                   <organization abbrev="UCL">
                   UCL Crypto Group
                   </organization>
               </author>
               <author initials="G." surname="Piret"
                       fullname="Gilles Piret">
                   <organization abbrev="ENS">
                   Ecole Normale Superieure
                   </organization>
               </author>
               <author initials="N." surname="Gershenfeld"
                       fullname="Neil Gershenfeld">
                   <organization abbrev="MIT">
                   MIT/Center for Bits and Atoms
                   </organization>
               </author>
               <author initials="J. J." surname="Quisquater"
                       fullname="Jeans-Jacques Quisquater">
                   <organization abbrev="UCL">
                   UCL Crypto Group
                   </organization>
               </author>
               <date month="April" year="2006" />
           </front>
           <seriesInfo name="Seventh Smart Card Research and Advanced
Applications" value="" />
           <format type='HTML'
             target='http://www.springerlink.com/content/62t56wp745p1t0q7/' />
       </reference>


        </references>

<section title="Acknowledgments">
<t>
The authors gratefully acknowledge the contributions of
(alphabetically):
Robert Beverly,
David Dalrymple,
Ralph Droms,
Doug Johnson,
Karen Sollins
and
JP Vasseur.
</t>
</section>
    </back>

</rfc>
