Difference between revisions of "The Wunet Protocol"

From ARL Wiki
Jump to navigationJump to search
m
Line 9: Line 9:
 
It was developed primarily for educational purposes during the Fall 2009 semester for a course in the Computer Science and Engineering Department at Washington University in St. Louis.
 
It was developed primarily for educational purposes during the Fall 2009 semester for a course in the Computer Science and Engineering Department at Washington University in St. Louis.
  
This page describes the features of Wunet.
+
This page describes the features of Wunet and gives several examples.
 
These features include:
 
These features include:
  
Line 20: Line 20:
 
* ''No-Route Flooding''
 
* ''No-Route Flooding''
 
** A unicast packet with no matching route table entry is forwarded by flooding.
 
** A unicast packet with no matching route table entry is forwarded by flooding.
* ''Upstream Propagation''
+
* ''Upstream Packet Propagation''
 
** A multicast SUBSCRIBE packet with no matching route table entry is propagated toward the root of its multicast tree.
 
** A multicast SUBSCRIBE packet with no matching route table entry is propagated toward the root of its multicast tree.
* ''Anti-Spoofing Protection''
+
* ''Spoofing Protection''
 
** XXX
 
** XXX
  
Line 28: Line 28:
 
We plan to implement a GPE-only version of Wunet on the GENI deployment of the SPP as a precursor to implementing a fastpath verion involving the NPR.
 
We plan to implement a GPE-only version of Wunet on the GENI deployment of the SPP as a precursor to implementing a fastpath verion involving the NPR.
  
= A Wunet Example =
+
= A Wunet Virtual Network =
  
 +
= Basic Unicast DATA Packet Routing =
 +
 +
= Basic Multicast DATA Packet Routing =
 +
 +
= Basic SUBSCRIBE/UNSUBSCRIBE Routing =
 +
 +
= Route Learning =
 +
 +
= Flooding =
 +
 +
= Upstream SUBSCRIBE Packet Propagation =
 +
 +
= Spoofing Protection =
  
 
= Wunet Concepts =
 
= Wunet Concepts =
Line 76: Line 89:
  
 
== ST (Stats Table) ==
 
== ST (Stats Table) ==
 
= More Wunet Examples =
 
 
= ONL Implementation =
 

Revision as of 00:35, 1 February 2010

Template:Newpage

History of Wunet

The Wunet Protocol is a simplified version of the Forest Protocol. Like Forest, Wunet is an overlay network that supports unicast and multicast traffic. But Wunet only supports only a rudimentary form of multicast and there is no provision for error control (e.g., dropped bits). It was developed primarily for educational purposes during the Fall 2009 semester for a course in the Computer Science and Engineering Department at Washington University in St. Louis.

This page describes the features of Wunet and gives several examples. These features include:

  • Network Virtualization
    • Wunet is a virtual network overlayed over an IP network in which each Wunet packet is carried inside a UDP packet.
  • Unicast and Multicast Packets
    • There are unicast and multicast DATA packets and multicast SUBSCRIBE and UNSUBSCRIBE multicast packets.
  • Route Learning
    • A router will add a reverse route for any incoming packet with a source address not found in the routing table
  • No-Route Flooding
    • A unicast packet with no matching route table entry is forwarded by flooding.
  • Upstream Packet Propagation
    • A multicast SUBSCRIBE packet with no matching route table entry is propagated toward the root of its multicast tree.
  • Spoofing Protection
    • XXX

A version of Wunet that is targeted at conventional processors has been implemented in C++. We plan to implement a GPE-only version of Wunet on the GENI deployment of the SPP as a precursor to implementing a fastpath verion involving the NPR.

A Wunet Virtual Network

Basic Unicast DATA Packet Routing

Basic Multicast DATA Packet Routing

Basic SUBSCRIBE/UNSUBSCRIBE Routing

Route Learning

Flooding

Upstream SUBSCRIBE Packet Propagation

Spoofing Protection

Wunet Concepts

A Wunet network consists of a set of nodes consisting of hosts and router nodes. Each node has a 32-bit virtual node address (vaddr). By convention hosts have virtual node addresses between 1 and 99, and routers have addresses that are typically multiples of 100 (e.g., 300). A multicast address is any 32-bit address with its high-order bit set (i.e., any decimal number greater than 2^31-1 = 2,147,483,647).

  • Virtual Node
    • Vaddr (Virtual address)
  • Vnet (Virtual Network)
    • Vlink (Virtual Link)
  • Subscribe/Unsubscribe

Wunet Features

  • UDP Encapsulation:
    • Each packet is encapsulated in UDP packet
  • Virtual Addresses:
    • There are unicast addresses(e.g., 21, 200) and
    • Multicast addresses(e.g., 2200110011 = x832303BB) addresses.
      • Any address with high-order bit set is mcast addr; i.e., any decimal number greater than 2^31-1 = 2,147,483,647.
  • Packet Types: DATA, SUBSCRIBE, UNSUBSCRIBE
  • Routing:
    • Packets are routed by (vnet, vaddr)
  • Route Learning:
    • A router will add a reverse route for any incoming packet with a source address not found in the routing table
  • Joining/Leaving Multicast Group:
    • A host joins/leaves a multicast group using SUBSCRIBE/UNSUBSCRIBE
  • Multicast tree is formed for each vnet through SUBSCRIBE packets that travel up the multicast tree
  • Missing Routes:
    • Unicast Data: Flood all downstream links when there is no route.
    • Multicast Data: Send subscriptions upstream when there is no route.

Wunet Packet Header

Wunet Tables

LT (Link Table)

RT (Routing Table)

VT (Vnet Table)

ST (Stats Table)