You are on page 1of 3

SIT325: Advanced Network Security

T2_2023, Deakin University, VIC

Activity: Task 3.1P, Pass Task


Released on 24th July, due date of submission is 7th August 23:59hrs.

Note: Queries should be forwarded to your respective tutor via email only. Give at least 2
business days for us to reply or give feedback.

Part A
Custom Topologies- Mininet supports a simple Python API to create custom network
topologies. You can create your custom topology by writing a few lines of Python code. For
example, the following figure shows a topology with two switches and four hosts. The code
consists of a class, named C_Topology which extends the Topo class provided by the API.

We suggest that you SSH into your mininet VM so that you can use a GUI text editor such as
gedit or emacs (see instructions in the Mininet Introduction document).

It is strongly recommended that you should save the source code in a file, named
C_Topology.py in your (mounted) CSE home directory. You can copy the source code from
here: C_Topology.py (see below). Change the working directory to your CSE home directory
and type:
from mininet.topo import Topo
class C_Topology ( Topo ):
# Simple topology example
def __init__( self ):
# Create custom topo.
# Initialize topology
Topo.__init__( self )
# Add hosts and switches
h1 = self.addHost( 'h1' )
h2 = self.addHost( 'h2' )
h3 = self.addHost( 'h3' )
h4 = self.addHost( 'h4' )
leftSwitch = self.addSwitch( 's1' )
rightSwitch = self.addSwitch( 's2' )
# Add links
self.addLink( h1, leftSwitch )
self.addLink( h2, leftSwitch )
self.addLink( leftSwitch, rightSwitch )
self.addLink( rightSwitch, h3 )
self.addLink( rightSwitch, h4 )
topos = { ' C_Topology ': ( lambda: C_Topology () ) }

Part B
After running this, draw the figure shown above at your end and label the IP and MAC address
for the hosts. Also label the interface names and MAC address of the switch ports that are
connected to the hosts.

Part C
Accomplish the followings:
1. Start the network.
2. Show the detailed connectivity of all nodes in the network.
3. Test the connectivity by pinging all nodes.

Part D (maximum 200 words each question)

Q1. Why is the use of devices like TCAMs more challenging in an SDN environment than in a
traditional switch?
Q2. What might be some solutions for dealing with issues of scale in an Open SDN
environment?
Q3. What are the different types of APIs you noticed in the above task sheet (command and
program). List (name and explain) two low-level, mid-level, and high-level APIs.

References:
• https://github.com/mininet/mininet/wiki/Introduction-to-Mininet
• http://mininet.org/api/annotated.html
• http://mininet.org/walkthrough/
• https://github.com/mininet/mininet/wiki/Mininet-Apps-and-Tools
To Submit
• Submit a pdf file, show your source code + screen shorts to show us that you have
successfully completed steps/ instructions, i.e., you are required to repeat the
experiment at your end and submit the codes and images to show complete
implementation of all steps. Submit all requirements in one pdf file.

You might also like