RFC 5514 EXPERIMENTAL IPV6 · HUMOR · NETWORKING

IPv6 over social nets: IPv6 over Social Networks

A humorous April Fools proposal to fix IPv6 adoption.

On rfc-editor.org ↗
PUBLISHED
April 2009
AUTHORS
E. Vyncke
STREAM
INDEPENDENT
PUBLICATION DATE
April 1, 2009
PROTOTYPE NODES
3,800
PACKET RATE
160 packets/minute
PING LATENCY OBSERVED
2+ days
DOI
10.17487/RFC5514

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                          E. Vyncke
Request for Comments: 5514                                 Cisco Systems
Category: Experimental                                      1 April 2009


                       IPv6 over Social Networks

Status of This Memo

   This memo defines an Experimental Protocol for the Internet
   community.  It does not specify an Internet standard of any kind.
   Discussion and suggestions for improvement are requested.
   Distribution of this memo is unlimited.

Copyright Notice

   Copyright (c) 2009 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents in effect on the date of
   publication of this document (http://trustee.ietf.org/license-info).
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.

Abstract

   There is a lack of IPv6 utilization in early 2009; this is partly
   linked to the fact that the number of IPv6 nodes is rather low.  This
   document proposes to vastly increase the number of IPv6 hosts by
   transforming all Social Networking platforms into IPv6 networks.
   This will immediately add millions of IPv6 hosts to the existing IPv6
   Internet.  This document includes sections on addressing and
   transport of IPv6 over a Social Network.  A working prototype has
   been developed.

1.  Introduction

   While the IPv6 protocols are well-known for years, not every host
   uses IPv6 (at least in March 2009), and most network users are not
   aware of what IPv6 is or are even afraid by IPv6 because it is
   unknown.

   On the other hand, Social Networks (like Facebook, LinkedIn, etc.)
   are well-known by users and the usage of those networks is huge.

   This document describes how to leverage Social Networks in order to
   make more people aware of IPv6 and to add several thousands of IPv6
   routers to the Internet.

2.  Architecture

   With IPv6 over Social Network (IPoSN):

   o  Every user is a router with at least one loopback interface;

   o  Every friend or connection between users will be used as a point-
      to-point link.

   On social networks, users want to have multiple friends, partners, or
   relations with other users.  Therefore, it can be expected that there
   is a heavily meshed network among these users.  This will provide for
   good IPv6 connectivity because each user (IPoSN router) will be IPv6
   connected to all his/her friends (IPoSN neighbor routers).

   Several Social Network Applications (SNAs) allow for plug-ins or for
   other applications to be mashed with the social network.  Those
   applications can then generate IPv6 packets on the behalf of the
   users.  Those packets can then be transferred hop by hop, or rather
   user by user, over the mashed SNA/IPv6, until they reach their
   destination.

   The usual policy of an SNA is to only allow the account owner to
   modify an account.  Therefore, the IPv6 processing of a packet
   received by an SNA account must be explicitly executed by the account
   owner using a web action; this action will give the router CPU a
   nudge to process all received IPv6 packets.  This behavior has two
   impacts on the IPv6 network:

   1.  the account owner must explicitly 'run the CPU' in order to
       forward or to receive IPv6 packets; this is an opportunity for
       IPoSN to detail all its operation (one goal is education)

   2.  the latency between two nodes over such a network can be very
       high, and timers (especially the routing timers; see Section 3)
       will have to be modified.

   A latency of several hours has an impact on the transport protocols.
   UDP SHOULD be used, and TCP SHOULD NOT be used.

2.1.  Addressing

   In SNA, all users have a unique numerical identification.  Assuming
   that there are less than 2**64 users on the SNA, the IPv6 global
   address of the router loopback will be a /64 prefix (such as 2001:
   db8:face:b00c::/64) followed by the SNA identification.  As this
   address is a loopback address, the prefix length will always be /128.
   As the same /64 prefix is used for all SNA users, they will all
   appear as being part of the same /64 network.

   On each interface, the link-local address will be generated by
   appending the SNA identification to the fe80::/64 prefix.

   For example, here are two IPoSN addresses generated for the user
   620147832 (this is 0x24f6b478 in hexadecimal):

   o  Global: 2001:db8:face:b00c::24f6:b478/128

   o  Link-local: fe80::24f6:b478/64

2.2.  Address Translation

   With the choice of the example prefix for all global addresses, an
   IPv6-to-IPv6 Non-Carrier Grade NAT (NCGN) must be implemented and
   linked to at least one 'edge' SNA user whose account will be used to
   pass (and translate) IPv6 packets between IPoSN and the real IPv6
   Internet.  The gateway and NAT functions are out of scope of the
   present document.

3.  Choice of IGP

   As seen in the architecture section (Section 2, the propagation of
   IPv6 packets only happens when a user activates the IPoSN application
   linked to his/her SNA account.  Therefore, propagation delays are
   measured in hours or days compared to microseconds over the Internet
   fishbone.  Moreover, the jitter is also very high as different users
   have different habits regarding the use of SNA.

   IPoSN SHOULD implement RIPng [RFC2080], which is relatively immune to
   jitter and does not rely on flooding messages to all neighboring
   routers.  OSPFv3 [RFC5340] SHOULD NOT be used over IPoSN.

   Routing protocols for Delay Tolerant Networks MAY be use for IPoSN.

4.  Working Prototype

   A working prototype has been developed by the author and is freely
   available: IPv6 over Facebook Social Network [IPv6overFacebook].  It
   uses the LAMP architecture.

   Some statistics as of March 26, 2009 (pre-standard implementation of
   course):

   o  Packet rate: 160 packets per minute

   o  Number of nodes: 3800

   o  Largest FIB: 1352

   o  NAT66 packet counters:

      *  to the Internet: 8,500

      *  from the Internet: 53,000

   The extreme value of the latency makes network operation and trouble-
   shooting quite interesting.

   A high latency ICMP echo request/reply:

2009-02-24 10:23:01: Ping to 2001:db8:face:b00c::2a42:4346
2009-02-26 21:52:24: Got a PING reply from 2001:db8:face:b00c::2a42:4346

   A high latency UDP-based traceroute:

 2009-02-25 13:38:05: Traceroute to 2001:db8:face:b00c::21ca:5ab1
 2009-02-25 13:40:41: 2001:db8:face:b00c::28ef:7c60, intermediate node
 2009-02-25 18:04:21: 2001:db8:face:b00c::312a:c8cb, intermediate node
 2009-02-26 00:55:32: 2001:db8:face:b00c::2707:a4a0, intermediate node
 2009-02-26 00:55:33: 2001:db8:face:b00c::1e21:338b, intermediate node
 2009-02-26 00:56:25: 2001:db8:face:b00c::4c13:9577, intermediate node
 2009-02-26 07:44:17: 2001:db8:face:b00c::5422:2f57, intermediate node
 2009-02-27 10:16:45: 2001:db8:face:b00c::5422:2f57, intermediate node
 2009-02-27 10:16:45: 2001:db8:face:b00c::2726:8ed8, intermediate node
 2009-03-01 15:41:50: 2001:db8:face:b00c::21ca:5ab1, destination reached
 2009-03-01 16:22:54: 2001:db8:face:b00c::3e22:92b9, intermediate node

5.  Security Considerations

   As the users cannot really control what they are sending (they send
   IPv6 packets through a well-controlled web interface), there is no
   threat to send spoofed packets.  The only exception is at the NAT66
   gateway where packets from the real Internet can be received;
   therefore, NAT66 gateway MUST implement anti-spoofing.

   Denial of service (packet flooding) can happen if a malicious user
   uses a web tool to request a ping diagnostic every second.
   Therefore, implementation SHOULD implement a rate limit on each web
   page that can generate an IPv6 packet.

   Denial of service (packet flooding) can also happen at the NAT66
   gateway from the real Internet.  A rate limiter SHOULD also be
   implemented at the NAT66 gateway.

6.  Acknowledgments

   Many thanks to all first users of the IPv6 over Facebook
   [IPv6overFacebook] application: Isabelle Dehousse, Yves Hertoghs,
   Thomas Kernen, Simon Leinen, and so many others.

7.  References

7.1.  Normative References

   [RFC2080]           Malkin, G. and R. Minnear, "RIPng for IPv6",
                       RFC 2080, January 1997.

   [RFC3428]           Campbell, B., Rosenberg, J., Schulzrinne, H.,
                       Huitema, C., and D. Gurle, "Session Initiation
                       Protocol (SIP) Extension for Instant Messaging",
                       RFC 3428, December 2002.

   [RFC5340]           Coltun, R., Ferguson, D., Moy, J., and A. Lindem,
                       "OSPF for IPv6", RFC 5340, July 2008.

7.2.  Informative References

   [IPv6overFacebook]  Vyncke, E., "IPv6 over the Facebook Social
                       Network", <http://apps.facebook.com/ipoverfb/>.

Author's Address

   Eric Vyncke
   Cisco Systems
   De Kleetlaan 6a
   Diegem  1831
   Belgium

   Phone: +32 2 778 4677
   EMail: evyncke@cisco.com

AI ELI5

On this page
PROBLEMIPv6 adoption was still very low in early 2009, despite being a standard for years. Network engineers wanted more IPv6 nodes on the Internet.
MECHANISMThis April Fools' RFC jokingly proposes treating social networks as IPv6 networks: each user becomes a router, each friendship becomes a link, and every user's account gets an IPv6 address.
HUMOROUS BUT FUNCTIONALThe author actually built a working prototype on Facebook to demonstrate the concept. Packets travel between users as they manually invoke the IPv6 processing, creating extremely high latencies (multi-day ping times).

§1The Joke

RFC 5514, published on April 1, 2009, is a humorous proposal to solve the slow adoption of IPv6. The idea is absurdly simple: turn every social network into an IPv6 network. Each user becomes an IPv6 router with a loopback interface, and each friendship link between users becomes a point-to-point network link. This would instantly add millions of IPv6 hosts to the Internet.

The RFC is tongue-in-cheek but technically coherent, describing actual architecture, addressing schemes, and routing protocol choices.

The joke: Everyone on Facebook is already your friend, so why not count them as part of the IPv6 internet? It is silly but the author actually built it.

§2How It Works

In IPoSN (IPv6 over Social Networks), each user's social network account is assigned an IPv6 address derived from their unique user ID. The global unicast address uses a /64 prefix (such as 2001:db8:face:b00c::/64) followed by the user's ID; link-local addresses use fe80::/64 with the same user ID appended.

Packets only propagate when a user manually activates the IPoSN application on their account. This creates extraordinarily high latency—the proposal recommends RIPng routing because traditional OSPF cannot tolerate delays measured in hours or days. UDP should be used; TCP will not work.

Each person gets an IPv6 address based on their Facebook ID. Messages hop from friend to friend, but only when each person manually clicks a button. A ping might take days.

§3The Prototype

Remarkably, the author built a real working prototype on Facebook. In March 2009, it had 3,800 nodes and was routing IPv6 packets across the social graph. The statistics include actual ping and traceroute outputs showing latencies spanning days: a ping request sent February 24 received a reply February 26; a traceroute that started February 25 reached its destination March 1.

The application processed about 160 packets per minute and demonstrated the principle works, albeit slowly. The joke has become a real proof of concept.

The author actually made this work on Facebook. When you pinged someone, it took 2 days to get a response. The longer the chain of friends, the longer the wait.

§4References