SFNet

From OpenFlow Wiki

Jump to: navigation, search

SFNet (software-friendly network) is built using OpenFlow to provide users/applications with high-level network primitives. Using these primitives, applications do not need to second-guess the network conditions; and the network can be explicitly told about the application requirements.

Contents

Quick Description

SFNet is developed in NOX on top of OpenFlow v1.0. The code includes a basic framework for other primitives to be added with ease. The components that are available currently are as follows:

  1. congestion allows an application to enquire about the congestion state of the shortest path between two hosts. This allows applications to adapt to network conditions without doing extensive probing.
  2. qos allows an application to reserve bandwidth along the shortest path between two hosts. This can be used by high-bandwith interactive applications to guarantee a quality of service from the network.
  3. meshcast is used by chat servers to offload the forwarding of packets between clients of a session. Using this, the server can relinquish the task of forwarding and scale to a larger number of sessions.

Setup and Installation

SFNet is built on NOX, and distributed as git patches on top of NOX's Zaku branch.

  • Grab archive and extract into src/nox/netapps
 git clone git://noxrepo.org/nox sfnet
 cd sfnet
 wget http://openflow.org/downloads/sfnet.tgz
 tar zxvf sfnet.tgz
 git am 0001-SFNet.patch
  • Apply 0002-SFNet-s-configure.ac.in-and-nox.json-changes.patch and fight the conflicts or manually edit to do the following:
    1. Add sfnet to configure.ac.in under netapps
    2. Register sfnet_congestion, sfnet_meshcast, sfnet_multicast, sfnet_qos for JSONMsg_event in src/etc/nox.json
  • Compile NOX and SFNet
 ./boot.sh
 mkdir build
 cd build
 ../configure
 make -j
  • Now run sfnet_congestion, sfnet_meshcast, sfnet_multicast or sfnet_qos, e.g.,
 ./nox_core -v -i ptcp:6633 sfnet_congestion

People

SFNet is brought to you by

For further enquiries, requests and/or bug reports, please post them to openflow-discuss@lists.stanford.edu, starting the subject line with SFNet:. If you would like to correct our mistakes, make this better, add a new feature, etc., don't be shy and please contact KK. We would add you as a collaborator.

Publications

  1. Towards Software Friendly Networks at APSys 2010
  2. PhoneNet: a Phone-to-Phone Network for Group Communication within an Administrative Domain at MobiHeld 2010