Difference between revisions of "The Wunet Protocol"
m |
m |
||
Line 29: | Line 29: | ||
= A Wunet Virtual Network = | = A Wunet Virtual Network = | ||
+ | |||
+ | [[ Image:wunet-simple.png | thumb | right | 400px | A Simple Network ]] | ||
+ | |||
+ | <pre> | ||
+ | H11 H12 H13 H21 H22 H23 ... | ||
+ | | | | | | | | ||
+ | ------- ------- | ||
+ | | | | ||
+ | R1 ------------ R2 | ||
+ | ... | ||
+ | R4 ------------ R3 | ||
+ | |||
+ | | | | ||
+ | ------- ------- | ||
+ | | | | | | | | ||
+ | H11 H12 H13 H21 H22 H23 ... | ||
+ | </pre> | ||
+ | |||
+ | 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 Unicast DATA Packet Routing = |
Revision as of 00:50, 1 February 2010
Contents
- 1 History of Wunet
- 2 A Wunet Virtual Network
- 3 Basic Unicast DATA Packet Routing
- 4 Basic Multicast DATA Packet Routing
- 5 Basic SUBSCRIBE/UNSUBSCRIBE Routing
- 6 Route Learning
- 7 Flooding
- 8 Upstream SUBSCRIBE Packet Propagation
- 9 Spoofing Protection
- 10 Wunet Concepts
- 11 Wunet Features
- 12 Wunet Packet Header
- 13 Wunet Tables
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
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.