The Wunet Protocol

From ARL Wiki
Revision as of 00:50, 1 February 2010 by Ken Wong (talk | contribs)
Jump to navigationJump to search

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

File:Wunet-simple.png
A Simple Network
             H11 H12 H13     H21 H22 H23    ...
              |   |   |       |   |   |
               -------         -------
                  |               |
                  R1 ------------ R2
...
                  R4 ------------ R3

                  |               |
               -------         -------
              |   |   |       |   |   |
             H11 H12 H13     H21 H22 H23    ...

A Wunet network is a virtual interconnection of host nodes and router nodes. As shown (right), XXX The interconnection is virtual in that

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)