Mininet and Openflow Labs

Slides:



Advertisements
Similar presentations
Static Routing Exercise AFNOG 2003/ Track 2 # 1 Static Routing Exercise u Unix network interface configuration u Cisco network interface configuration.
Advertisements

Router Implementation Project-2
 WAN uses Serial ports  Ethernet Ports:  Straight through  Cross over.
Ryu Book Chapter 1 Speaker: Chang, Cheng-Yu Date: 25/Nov./
Copyright 2014 Kenneth M. Chipps Ph.D. Software Defined Networking Lab Using Mininet and the Floodlight Controller Last Update
Workshop on Software Defined Networks
Copyright 2014 Kenneth M. Chipps Ph.D. Software Defined Networking Lab Using Mininet and the POX Controller Last Update
Ver 1,12/09/2012Kode :CIJ 340,Jaringan Komputer Lanjut FASILKOM Routing Protocols and Concepts – Chapter 2 Static Routing CCNA.
SYSTEM ADMINISTRATION Chapter 19
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Static Routing Routing Protocols and Concepts – Chapter 2.
1 Linux Networking and Security Chapter 2. 2 Configuring Basic Networking Describe how networking devices differ from other Linux devices Configure Linux.
Network Management And Debugging
TCP/IP Tools Lesson 5. Objectives Skills/ConceptsObjective Domain Description Objective Domain Number Using basic TCP/IP commands Understanding TCP/IP3.6.
SUSE Linux Enterprise Server Administration (Course 3037) Chapter 7 Connect the SUSE Linux Enterprise Server to the Network.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Static Routing Routing Protocols and Concepts – Chapter 2.
N ETWORKED & D ISTRIBUTED COMPUTING S YSTEMS L AB Programming Assignments EE323 Computer Networks.
CCNA – Cisco Certified Network Associates Routing and Static Routes By Roshan Chaudhary Lecturer Islington College.
Lab How to Use WANem Last Update Copyright 2011 Kenneth M. Chipps Ph.D. 1.
NOX an OpenFlow controller. Role of Controller in OpenFlow Environments Push forwarding logic to switches Give developers a high-level API to develop.
Sponsored by the National Science Foundation Tutorial: An Introduction to OpenFlow using POX GENI Engineering Conference 20 June 2014.
Cisco S2 C4 Router Components. Configure a Router You can configure a router from –from the console terminal (a computer connected to the router –through.
Hour 7 The Application Layer 1. What Is the Application Layer? The Application layer is the top layer in TCP/IP's protocol suite Some of the components.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Static Routing Routing Protocols and Concepts – Chapter 2.
Mininet and Openflow Labs. Install Mininet (do not do this in class) Download VirtualBox Download Xming for windows (X11) Download Mininet VM for linux-ubuntu.
Course Project for CS Objective Simulate the FatTree datacenter network using Mininet and MinEdit. With controller: spamming tree, link failures.
+ Routing Concepts 1 st semester Objectives  Describe the primary functions and features of a router.  Explain how routers use information.
Introduction to Mininet, Open vSwitch, and POX
Jennifer Rexford Princeton University MW 11:00am-12:20pm Data-Plane Verification COS 597E: Software Defined Networking.
Copyright © 2010, Install OpenFlow Mininet 指導教授:王國禎 學生:洪維藩 國立交通大學資訊科學與工程研究所 行動計算與寬頻網路實驗室.
Static Routing Routing Protocols and Concepts – Chapter 2.
CHAPTER 3 Router CLI Command Line Interface. Router User Interface User and privileged modes User mode --Typical tasks include those that check the router.
© 2002, Cisco Systems, Inc. All rights reserved..
Programming Assignment 2 Zilong Ye. Traditional router Control plane and data plane embed in a blackbox designed by the vendor high-seed switching fabric.
Cisco Routers Routers collectively provide the main feature of the network layer—the capability to forward packets end-to-end through a network. routers.
Software OpenFlow Solutions using Open vSwitch
Luis Gomez, Principal SW Test Engineer, Brocade
SDN controllers App Network elements has two components: OpenFlow client, forwarding hardware with flow tables. The SDN controller must implement the network.
6. The Open Network Lab Overview and getting started
Click to edit Master subtitle style
What I Learned From Mininet
Troubleshooting ip Chapter 5e.
Software defined networking: Experimental research on QoS
Using the jFed tool to experiment from zero to hero
CompTIA Network+ N Authorized Cert Guide
Switch Commands Exec Commands Switch#? exec Commands
Programming Assignment
ECE 544: Middlebox lab Abhigyan Sharma.
Programming Assignment
Port Forwarding and Shell Login Essentials
Chapter 4: Routing Concepts
Troubleshooting IP Communications
Chapter 2: Static Routing
© 2002, Cisco Systems, Inc. All rights reserved.
Introduction to Networking
Chapter 6: Network Layer
Chapter 2: Basic Switching Concepts and Configuration
Introduction to Networking
ECE544: Software Assignment 3
Programming Assignment #3
IP Network Layer and Ethernet Encapsulation
Virtual LANs.
2018 Huawei H Real Questions Killtest
Chapter 2: Static Routing
Group 6-SDN Based Prioritized Information Dissemination
Adaptive Flow Control using OpenFlow
Routing Protocols and Concepts – Chapter 2
Troubleshooting ip Chapter 5e.
Lecture9: Embedded Network Operating System: cisco IOS
CS434/534: Topics in Network Systems High-Level Programming for Programmable Networks Yang (Richard) Yang Computer Science Department Yale University.
Lecture9: Embedded Network Operating System: cisco IOS
Presentation transcript:

Mininet and Openflow Labs

Install Mininet (do not do this in class) Download VirtualBox Download Xming for windows (X11) Download Mininet VM for linux-ubuntu Start VirtualBox Create a new VM for linux-ubuntu and the Mininet VM as the disk image Start the VM Set network device forwarding 127.0.0.1:2222 to virtual machine port 22. This allows you to ssh to 127.0.0.1:2222 to login to the Mininet VM Login with mininet:mininet – this is just like any other Linux machine.

Lab 1: Mininet Walkthrough Perform the steps at http://mininet.org/walkthrough Objective: Understand how to use mininet How to run a command on each host Learn how to change network parameters in mininet Link bandwidth, latency, topology, etc Learn how to write python code for new topologies Make sure that you understand the custom topology example

Lab 1: Mininet Walkthrough Login to crux (enable X11 forwarding). crux>ssh mininet@localhost –p 2222 (3333, 4444, …) password: mininet Follow the walk through.

Lab 1 exercise Write the Python script to create the topology in hw1.

Lab 2: Manually configure Openflow switches with dpctl Objectives Understand how an Openflow switch behaves Understand what an Openflow controller supposes to do to enable communication. Dpctl: a command-line utility that sends openflow messages to a switch View switch configuration and capability View flow table entries Add, delete, and modify flow table entries Useful tool for learning and debugging Human faking an openflow controller ‘man dpctl’ for more details

Lab 2: Manually configure Openflow switches with dpctl $ sudo mn --topo single,3 --mac --switch ovsk --controller remote This creates a simple host with 3 switches, the mac addresses are assigned in a certain way, the switch is an Open vSwitch (software OpenFlow switch), controller is supposed to be at local host with port number 6633. Mininet> net Mininet> h1 ifconfig Mininet> h2 ifconfig The switch can be controlled at tcp:127.0.0.1:6634 Mininet>pingall This fails as the switch has nothing in its flow table Start another window do ‘man dpctl’ and ‘man ovs-dpctl’ $ dpctl show tcp:127.0.0.1:6634 Tcp:127.0.0.1:6634 is the switch port for control $dpctl dump-flows tcp:127.0.0.1:6634 The flow table is empty

Lab 2: Manually configure Openflow switches with dpctl $dpctl add-flow tcp:127.0.0.1:6634 in_port=1,idle_timeout=1000,actions=output:2 $dpctl add-flow tcp:127.0.0.1:6634 in_port=2,idle_timeout=1000,actions=output:1 $dpctl dump-flows tcp:127.0.0.1:6634 Mininet> pingall H1 and h2 are now connected. Check the statistics Mininet> s1 dpctl dump-flows tcp:127.0.0.1:6634 Continue the exercise to completely install flow table for all hosts. Try the following: $dpctl add-flow tcp:127.0.0.1:6634 dl_dst=0:0:0:0:0:1,idle_timeout=1000,actions=output:1 $dpctl add-flow tcp:127.0.0.1:6634 dl_dst=0:0:0:0:0:2,idle_timeout=1000,actions=output:2 $dpctl add-flow tcp:127.0.0.1:6634 dl_dst=0:0:0:0:0:3,idle_timeout=1000,actions=output:3

Lab 2: Manually configure Openflow switches with dpctl Try the following: $dpctl add-flow tcp:127.0.0.1:6634 idle_timeout=1000,actions=flood Mininet> pingall $dpctl add-flow tcp:127.0.0.1:6634 dl_dst=ff:ff:ff:ff:ff:ff,idle_timeout=1000,actions=flood Mininet>pingall dpctl del-flows tcp:127:0.0.1:6634 dpctl dump-flows tcp:127.0.0.1:6634 $dpctl add-flow tcp:127.0.0.1:6634 dl_dst=0:0:0:0:0:1,idle_timeout=1000,actions=output:1 how to make the ping successful for one pair of hosts?

Lab 2 execise: manually setup openflow switches with dpctl Set up a network with the following topology such that all communication can be realized between each pair of hosts: using destination based routing. Using hw1 topology $ dpctl show tcp:127.0.0.1:6634 $ dpctl show tcp:127.0.0.1:6635 $ dpctl show tcp:127.0.0.1:6636

Lab 3: a naïve POX controller Objectives Moving commands from dpctl to a POX controller Understand how the POX controller interacts with switches POX document https://openflow.stanford.edu/display/ONL/POX+Wiki See POX controller examples forwarding/hub.py at pox/forwarding/hub.py See the flow_mod message that add one flow table entry to flood all packets – turning each connected switch to a hub. To use the controller: $ sudo mn --topo linear,4 --mac --switch ovsk --controller remote The default controller is at the same machine with port number 6633. Different switches are at tcp:127.0.0.1:6634{6635, 6636,…} $./pox.py forwarding.hub Create a controller running on local machine port 6633, will connect with the openflow switches. Pay attention to how the flow table entries are created Pay attention to the connectionup event $dpctl dump-flows tcp:127.0.01:6634 $dpctl dump-flows tcp:127.0.01:6635 Mininet> pingall

Lab3: A naïve POX controller See lab3.py and lab3_controller.py Put lab3_controller.py under pox/ext Run lab3.py with ‘$sudo ./lab3.py’ Use dpctl to see the flow-table on each switch. h2 h1 s1 s2 s3 h3

Lab3 exercise: A naïve POX controller Modify lab3.py and lab3_controller.py to setup the connectivity of the topology of hw1.

Lab4: Shortest path forwarding Try my_lab4.py (‘sudo ./my_lab4.py’) Read the code for topology discovery and path calculation in forwarding/l2_multi.py