wiki:GEC22Agenda/LabWiki/ModuleA

Version 6 (modified by divyashri.bhat@gmail.com, 9 years ago) (diff)

--

Module A: Run your first experiment

In this first module of the tutorial you will quickly learn how to design and execute a Lab exercise on a GENI testbed by using LabWiki.

Introduction

The goal of this assignment is to implement the learning switch capability that is used by Ethernet switches by using a software-based OpenFlow switch. In the topology shown in the figure, this software switch is to be implemented in node “switch”. All the other nodes represent regular hosts. To realize this implementation of a learning switch, Trema based Openflow controller written in Ruby has to be designed and implemented. The correct functionality of the learning switch can be verified by creating an experiment script in which a node A pings node B – node D in LabWiki.

Working

In the topology shown in the figure, the switch node will act as the learning switch, which connect nodes A-D with each other. Whenever any of these nodes ping each other for the first time, the switch does not know the destination address of the node. At this point, the switch node floods the packet to all the nodes it is connected to. When it receives a reply to the flood, this information will be used to populate its switching table. Hereafter,whenever any node wants to ping any other nodes, the switch node will fetch the information from the table. For this purpose, a script called "fdb.rb" is pre-loaded in the switch node. The script offers rudimentary database functionality that is used to maintain the switching table

To learn about learning-switch, check out this link: https://www.opennetworking.org/images/stories/downloads/sdn-resources/white-papers/wp-sdn-newnorm.pdf

To learn about the Trema controller, check out this link:http://trema.github.io/trema/

http://groups.geni.net/geni/raw-attachment/wiki/GEC20Agenda/LabWiki/ModuleA/GEC20_simple_topo.png

Tutorial Instructions

Design/Setup
Execute
  • Part II: Execute
    • 2. Configure and Initialize services
    • 3. Run your experiment
    • Appendix: Hints and Explanations
Finish

Back: LabWiki Tutorial