Views
OpenRoads (n-casting)
From OpenFlow Wiki
Contents |
The n-casting using OpenFlow demonstration is discussed in another page. This page provides the instructions for recreating the demonstration, pointing to the various tools used.
Recreating the Demonstration
Controllers
To recreate the n-casting demonstration, you will need the following.
- FlowVisor to provide a specific slice for the n-casting application
- In the demo, n-casting is given a slice defined
- Read-only: All traffic from client's mac address
- Read-write: All traffic desired to client's mac address (optionally, restricted to certain transport port)
- Other traffic of the client should be handled by another controller with standard switching or routing in NOX.
- In the demo, n-casting is given a slice defined
- OpenRoads: has been integrated into NOX, adding functionalities for wireless devices and services.
- n-casting is distributed as NOX components
- The controller can be run using the command
./nox_core -i ptcp:<port_no> bicast
Client (with Multiple Interfaces)
At the client side, you will require a wireless client with multiple interfaces. In our case, we have 2 WiFi interfaces and one WiMAX interface. The client is installed with Linux. Further, we require the following software.
- netfilter for removing duplicates, and
- custom bonding driver for multiple interfaces
Instructions are provided in OpenRoads (n-casting) clients.
Visualization
The graphical visualization is created by extending ENVI. It can be retrieved using
git clone git://gitosis.stanford.edu/envi-ncast.git
If you are sadly behind a firewall, try gitweb. After making sure you have Java 1.6, it can be compiled using
cd envi-ncast/gui ant
and run with
java -jar bin/openflow.jar <options> <controller>
Options can be
- fs for fullscreen and nofs for not fullscreen
- <filename>.yaml to specify a yaml file to load
- screen<width>x<height> to specify certain width and height
- mark to place a marker at the specified width and height for reference
- label to show the n-casting labels; and nolabel to not show the labels. The labels cannot be shown if dragging of the icons are wanted (e.g., rearrangement for saving a new yaml file).
Video Streaming
The video streaming can be done using VLC.
At server side: Execute the following to start a streaming service through RTSP:
cvlc -vvv INPUT_STREAM --mtu 1000 --loop --sout "#rtp{sdp=rtsp://SERVER_IP:8080/test.sdp}"
At client side: Receive RTSP stream
cvlc rtsp://SERVER_IP:8080/test.sdp
WiFi APs
The WiFi APs are standard ones used for OpenRoads. Refer to the OpenRoads page for instructions. To inject loss, we use TC in Linux which can be installed in Debian with
apt-get install iproute
To add 1% loss to interface ath0, run
tc qdisc add dev ath0 root netem loss 1%
and to change the loss rate to 2%, run
tc qdisc change dev ath0 root netem loss 2%
WiMAX
For the WiMAX setup, we require a WiMAX client driver for Linux and a WiMAX basestation with ASN gateway. The WiMAX client driver for Linux is proprietary software from Beceem. Further, the ASN gateway and basestations are supported by NEC. Thus, both of these will not be distributed here.
People
The n-casting demonstration is brought to you by
- Kok-Kiong Yap
- Te-Yuan Huang
- Masayoshi Kobayashi
- Michael Chan
- Rob Sherwood
