The Wunet Protocol
Contents
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. 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 Propagation
- A multicast SUBSCRIBE packet with no matching route table entry is propagated toward the root of its multicast tree.
- Anti-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 Example
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.