What I Learned From Mininet

Slides:



Advertisements
Similar presentations
LAN Segmentation Virtual LAN (VLAN).
Advertisements

© 2006 Cisco Systems, Inc. All rights reserved.Cisco PublicITE I Chapter 6 1 Implement Inter- VLAN Routing LAN Switching and Wireless – Chapter 6.
DOT – Distributed OpenFlow Testbed
Ryu Book Chapter 1 Speaker: Chang, Cheng-Yu Date: 25/Nov./
Workshop on Software Defined Networks
Copyright 2014 Kenneth M. Chipps Ph.D. Software Defined Networking Lab Using Mininet and the POX Controller Last Update
An Overview of Software-Defined Network Presenter: Xitao Wen.
Performance Evaluation of Open Virtual Routers M.Siraj Rathore
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) SriramGopinath( )
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) Sriram Gopinath( )
1 Reminding - ARP Two machines on a given network can communicate only if they know each other’s physical network address ARP (Address Resolution Protocol)
An Overview of Software-Defined Network
1 LAN switching and Bridges Relates to Lab 6. Covers interconnection devices (at different layers) and the difference between LAN switching (bridging)
Networking Components
An Overview of Software-Defined Network Presenter: Xitao Wen.
And how they are used. Hubs send data to all of the devices that are plugged into them. They have no ability to send packets to the correct ports. Cost~$35.
Specialized Packet Forwarding Hardware Feature Specialized Packet Forwarding Hardware Operating System Operating System Operating System Operating System.
PA3: Router Junxian (Jim) Huang EECS 489 W11 /
1 IP Forwarding Relates to Lab 3. Covers the principles of end-to-end datagram delivery in IP networks.
Software Defined-Networking. Network Policies Access control: reachability – Alice can not send packets to Bob Application classification – Place video.
VeriFlow: Verifying Network-Wide Invariants in Real Time
OpenFlow: Enabling Innovation in Campus Networks
CS3502: Data and Computer Networks Local Area Networks - 4 Bridges / LAN internetworks.
IP Forwarding.
Chapter 8: Virtual LAN (VLAN)
Chapter 19 Binding Protocol Addresses (ARP) A frame transmitted across a physical network must contain the hardware address of the destination. Before.
Chapter 7 Backbone Network. Announcements and Outline Announcements Outline Backbone Network Components  Switches, Routers, Gateways Backbone Network.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Connecting Devices CORPORATE INSTITUTE OF SCIENCE & TECHNOLOGY, BHOPAL Department of Electronics and.
SDN Management Layer DESIGN REQUIREMENTS AND FUTURE DIRECTION NO OF SLIDES : 26 1.
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.
Introduction to Mininet, Open vSwitch, and POX
NetEgg: Scenario-based Programming for SDN Policies Yifei Yuan, Dong Lin, Rajeev Alur, Boon Thau Loo University of Pennsylvania 1.
NETWORK DEVICES Department of CE/IT.
Software Defined Networking and OpenFlow Geddings Barrineau Ryan Izard.
Chapter 4: server services. The Complete Guide to Linux System Administration2 Objectives Configure network interfaces using command- line and graphical.
Atrium Router Project Proposal Subhas Mondal, Manoj Nair, Subhash Singh.
SDN controllers App Network elements has two components: OpenFlow client, forwarding hardware with flow tables. The SDN controller must implement the network.
Mininet and Openflow Labs
Prepared by: Ameer Sameer Hamood University of Babylon - Iraq
Software defined networking: Experimental research on QoS
Heitor Moraes, Marcos Vieira, Italo Cunha, Dorgival Guedes
Programming Assignment
Network Environment Management
Programming Assignment
Planning and Troubleshooting Routing and Switching
Network Data Plane Part 2
Chapter 5: Inter-VLAN Routing
© 2002, Cisco Systems, Inc. All rights reserved.
Introduction to Networking
Programming Assignment #3
The WiMAX/LTE Project: We See You
Network Environment Management
Chapter 7 Backbone Network
LAN switching and Bridges
Indigo Doyoung Lee Dept. of CSE, POSTECH
The Stanford Clean Slate Program
Software Defined Networking (SDN)
Group 6-SDN Based Prioritized Information Dissemination
Firewalls Routers, Switches, Hubs VPNs
LAN switching and Bridges
2018/12/10 Energy Efficient SDN Commodity Switch based Practical Flow Forwarding Method Author: Amer AlGhadhban and Basem Shihada Publisher: 2016 IEEE/IFIP.
Implementing an OpenFlow Switch on the NetFPGA platform
Chapter 15. Connecting Devices
LAN switching and Bridges
Ch 17 - Binding Protocol Addresses
Networking and Network Protocols (Part2)
Mobile IP Outline Homework #4 Solutions Intro to mobile IP Operation
IP Forwarding Relates to Lab 3.
Mobile IP Outline Intro to mobile IP Operation Problems with mobility.
Mobile IP Outline Intro to mobile IP Operation Problems with mobility.
Presentation transcript:

What I Learned From Mininet Yulai Bi 2014.05.20

OUTLINE Introduction Basic Usage Remote Controller Future Work

INTRODUCTION What is SDN? Software-Defined Networking (SDN) is an emerging architecture that decouples the network control and forwarding functions enabling the network control to become directly programmable and the under infrastructure to be abstracted from applications and network services.

INTRODUCTION What is OpenFlow? OpenFlow is a communication protocol that gives access to the forwarding plane of a switch or router over the network.  The OpenFlow protocol is a fundamental element for building SDN solutions.

INTRODUCTION Software-Defined Network Architecture

INTRODUCTION What is Mininet? Mininet is a network emulator which creates a network of virtual hosts, switches, controller, and links. Mininet provides a simple network testbed for developing OpenFlow applications.

INTRODUCTION What is Mininet? Mininet run real code including standard Linux network applications as well as the real Linux kernel. A design that works in Mininet can usually move directly to hardware switches.

OUTLINE Introduction Basic Usage Remote Controller Future Work

BASIC USAGE Start Network 1switch-3hosts topology sudo mn --topo single,3 --mac --switch ovsk --controller remote --topo single,3 Set a network with 1 switch and 3 hosts. --mac Set the switch MAC, host MAC and IP address to small, unique and easy to read IDs. --switch ovsk Set a switch with a state of Open Vswitch(开放虚拟交换标准) --controller remote Set a controller running outside of the VM

BASIC USAGE Start Network 1switch-3hosts topology s1 c0 h1 h2 h3 sudo mn --topo single,3 --mac --switch ovsk --controller remote OpenFlow Switch s1 Controller port 6633 c0 loopback (127.0.0.1) h1 10.0.0.1 h2 10.0.0.2 h3 10.0.0.3 h1-eth0 h2-eth0 h3-eth0 s1-eth1 s1-eth2 s1-eth3 127.0.0.1:6634 dpctl (user-space process)

BASIC USAGE Start Network Custom Topology eg. 2switch-3host topology # Add hosts and switches left1Host = self.addHost( 'h1' ) left2Host = self.addHost( 'h2' ) rightHost = self.addHost( 'h3' ) leftSwitch = self.addSwitch( 's1' ) rightSwitch = self.addSwitch( 's2' ) # Add links self.addLink( left1Host, leftSwitch ) self.addLink( left2Host, leftSwitch ) self.addLink( leftSwitch, rightSwitch ) self.addLink( rightSwitch, rightHost )

BASIC USAGE Start Network 2switch-3host topology h2 s1 s2 h3 c0 h1 sudo mn --custom mytopo.py --topo mytopo –mac –controller remote h2 s1 s2 h3 h1-eth0 s1-eth1 h3-eth0 S2-eth2 s1-eth3 s2-eth1 c0 h1 h2-eth0 s1-eth2

BASIC USAGE Test Connectivity Ping test mininet > pingall mininet > h1 ping –c3 h2

OUTLINE Introduction Basic Usage Remote Controller Future Work

REMOTE CONTROLLER There are a handful of controllers available: such as POX, NOX, Beacon and Floodlight. Beacon Beacon is a java-based SDN controller platform for research and education. 

REMOTE CONTROLLER Hub A network hub is a simple device in comparison with a switch or a router. A hub does not examine or manage any of the traffic that comes through it. Any input packet is rebroadcast on all the other ports.

REMOTE CONTROLLER Hub OFAction action = new OFActionOutput(OFPort.OFPP_FLOOD.getValue()); #OFPP_FLOOD - output all openflow ports except the input port.

REMOTE CONTROLLER Verify Hub Behavior with tcpdump mininet > xterm h1 h2 h3 h4 h1 > tcpdump –XX –n –i h1-eth0 h2 > tcpdump –XX –n –i h2-eth0 h3 > tcpdump –XX –n –i h3-eth0 # tcpdump - a utility to print the packets seen by a host mininet > h1 ping –c1 h2

REMOTE CONTROLLER Verify Hub Behavior with tcpdump

REMOTE CONTROLLER L2_learning_switch When we see a packet, we'd like to output it on a port which will eventually lead to the destination. To accomplish this, I build a table that maps addresses to ports in L2_learning switch.

REMOTE CONTROLLER L2_learning_switch The algorithm of l2_learning_switch For each packet from the switch: 1) Use source address and switch port to update address/port table 2) Is the port for destination address in our address/port table? Yes: Send the packet out appropriate port (Drop the packet whose outport is the same as inport) No: Act as a hub(Flood the packet)

REMOTE CONTROLLER Verify Learning Switch Behavior with tcpdump mininet > xterm h2 h3 h2 > tcpdump –XX –n –i h2-eth0 h3 > tcpdump –XX –n –i h3-eth0 mininet > h1 ping –c1 h2 # for the first time

REMOTE CONTROLLER Verify Learning Switch Behavior with tcpdump

REMOTE CONTROLLER Multiple Learning Switch What is the difference between single learning switch controller and multiple learning switch controller? We need to create a address/port table for each switch rather than a single table for the whole network.

REMOTE CONTROLLER Multiple Learning Switch protected Map<IOFSwitch, Map<Long,Short>> macTables = new HashMap<IOFSwitch, Map<Long,Short>>(); # A Map of macTables, indexed by the switch.

REMOTE CONTROLLER The Behavior of Multiple Learning Switch 2switch-3host topology sudo mn --custom mytopo.py --topo mytopo –mac –controller remote h2 s1 s2 h3 h1-eth0 s1-eth1 h3-eth0 S2-eth2 s1-eth3 s2-eth1 c0 h1 h2-eth0 s1-eth2

REMOTE CONTROLLER The Behavior of Multiple Learning Switch 2switch-3host topology sudo mn --custom mytopo.py --topo mytopo –mac –controller remote The host1 is connected to host3!

OUTLINE Introduction Basic Usage Remote Controller Future Work

FUTURE WORK Extend the learning switch to the learning router. Using ARP packets to learn the IP/MAC/port table.

Thank You