Protocols for Data Networks (aka Advanced Computer Networks)

Size: px
Start display at page:

Download "Protocols for Data Networks (aka Advanced Computer Networks)"

Transcription

1 Protocols for Data Networks (aka Advanced Computer Networks) Deadline: 19 March 2016 Programming Assignment 1: Introduction to mininet The goal of this assignment is to serve as an introduction to the mininet emulator [1][2]. Mininet allows the creation of realistic virtual networks, running real kernel, switch and application code, on a single machine (VM, cloud or native). Mininet is the main tool used to develop, share, and experiment with Software-Defined Networks. 1. Part I Data center networks typically have a tree-like topology. End-hosts connect to top-of-rack switches, which form the leaves (edges) of the tree; one or more core switches form the root; and one or more layers of aggregation switches form the middle of the tree. In a basic tree topology, each switch (except the core switch) has a single parent switch. Additional switches and links may be added to construct more complex tree topologies (e.g., fat tree) [3] in an effort to improve fault tolerance or increase inter-rack bandwidth. This assignment is composed of two parts: using mininet, a) create a simple tree topology; and b) create a more complex fat tree topology. For the first part, consider Figure 1. Assume each level (i.e., core, aggregation, edge and host) to be composed of a single layer of switches/hosts with a configurable fanout 1 (in the figure, we illustrate a fanout of 2). Figure 1: Simple tree topology with fanout 2 1 The fanout of a switch output is the number of other switch/host inputs it can feed.

2 The output of this part of the assignment should be a mininet script that, receiving as input a generic fanout k, creates a tree-based topology. As a first step you can make a mininet script that creates a topology with fanout 2, and then evolve from there to a generic solution. 2. Part II The objective of the second part of the assignment is to create a data center fat tree topology using mininet. A k-ary fat tree is a three-layer topology (edge, aggregation and core) that consists of k pods, with the following characteristics: a) each pod consists of (k/2) 2 servers and 2 layers of k/2 k-port switches b) each edge switch connects to k/2 servers and k/2 aggregation switche c) each aggregation switch connects to k/2 edge and k/2 core switches d) and has (k/2) 2 core switches: each connects to k pods. The objective of this assignment is to create a k-ary fat tree topology. Figure 2 illustrates a 4-ary fat tree, with k=4 Pods. As such, it has k=4 switches in core level, and each Pod contains two layers (aggregation and edge) of k/2=2 switches. Moreover, each k=4-port switch in the lower layer is directly connected to k/2=2 hosts. Each of the remaining k/2=2 ports is connected to k/2=2 of the k ports in the aggregation layer of the hierarchy. Figure 2: Fat Tree Topology with 4 Pods [ 2 ]

3 3. Grading The grades for this assignment will be distributed as follows (out of 20 pts): a) 10 pts for the solution that builds a simple tree topology with fanout 2; b) 4 pts for the solution that builds a simple tree topology with fanout k; and c) 6 pts for the solution that builds a fat tree topology with k Pods. You should deliver 1 mininet script (including topology generation and testing, as explained in the next section) for each one of these tasks. Do not forget to comment your code with the necessary detail. 4. Code to deliver We advise you to start from the skeleton code illustrated below (in this case, for a Simple Tree Topology with Fanout 2): A skeleton class which you will update with the logic for creating the datacenter topologies described above. from mininet.topo import Topo #from mininet.net import Mininet #from mininet.link import TCLink class CustomTopo(Topo): "Simple Data Center Topology" "linkopts - (1:core, 2:aggregation, 3: edge) parameters" "fanout - number of child switch per parent switch" def init (self, linkopts1, linkopts2, linkopts3, fanout=2, **opts): # Initialize topology and default options Topo. init (self, **opts) # Add your logic here... For the Simple Tree Topology with Fanout 2, the skeleton class takes the following arguments as input: linkopts1: for specifying performance parameters for the links between core and aggregation switches. linkopts2: for specifying performance parameters for the links between aggregation and edge switches. linkopts3: for specifying performance parameters for the links between edge switches and host Fanout: to specify the fanout value i.e., the number of childs per node. Your logic should support setting at least bandwidth, delay and loss packet parameters for each link. [ 3 ]

4 For the Fat Tree Topology with k Pods, the the skeleton class should be changed to take the following arguments as input: linkopts1 = linkopts2 = linkopts3: for specifying performance parameters for the links between every switch (the design of the topology considers they have the same value). Pods: replace the Fanout parameter for the Pods parameter to specify the number of Pods to be considered in the topology. Your logic should support setting at least the bandwidth, delay and loss packet parameters for each link. In addition to writing the code necessary for mininet to generate the tree-like topologies, the students should include in their code (or deliver as an additional script) tests that enable making the following experiments: 1. Using iperf, the test script should demonstrate the achieved throughput between selected hosts. As an example, in the Simple Tree Topology with Fanout 2, the students could set the links between the core and aggregation to 20Mbps, between the hosts and edge switches to 10Mbps, and 1Mbps between edge and aggregation switches. Then, they could generate traffic between selected hosts to show that the performance results are as expected. As another example, in the Fat Tree Topology with 4 Pods the students could set all links to 10Mbps. Then, they could generate traffic between selected hosts to show the performance results. The code should be commented with the expected results. 2. Using the ping command, the test script should demonstrate the delay between selected hosts. The students should set different delays for specific links, and by using the ping command show that the performance results are as expected. Again, the code should be commented with the expected results. 3. Perform the same experiments as in 2), but changing the loss parameter to 10% to selected links. You guessed it: the code should be commented with the expected results. [ 4 ]

5 5. Mininet: a few examples to get you started In this section you will be learning how to build custom topologies using Mininet Python API [4,5] and how certain parameters like bandwidth, delay, loss and queue size can be set individually for different links in the topology. You ll also learn how to do performance testing of these custom topologies using ping and iperf. Overview The network you'll use in this exercise includes hosts and switches connected in a linear topology, as shown in the figure below. Creating Topology Figure 1: hosts and switches connected in a linear topoloy Mininet supports parametrized topologies. With a few lines of Python [6,7] code, you can create a flexible topology that can be configured based on the parameters you pass into it, and reused for multiple experiments. For example, here is a simple network topology (based on Figure 1), which consists of a specified number of hosts (h1 through hn) connected to their individual switches (s1 through sn): #!/usr/bin/python Linear Topology (without Performance Settings) from mininet.topo import Topo from mininet.net import Mininet from mininet.util import irange,dumpnodeconnections from mininet.log import setloglevel # Below is the base class and its inherits (or extend) Topo from mininet.topo class LinearTopo(Topo): "Linear topology of k switches, with one host per switch." [ 5 ]

6 # Constructor method (**opts receives arguments named from a dictionary) def init (self, k=2, **opts): """Init. k: number of switches (and hosts) hconf: host configuration options lconf: link configuration options""" # Required when using "topo" library super(lineartopo, self). init (**opts) self.k = k # The value None in lastswitch variable assignment is frequently # used to represent the absence of a value lastswitch = None for i in irange(1, k): host = self.addhost('h%s' % i) switch = self.addswitch('s%s' % i) self.addlink( host, switch) if lastswitch: self.addlink( switch, lastswitch) lastswitch = switch def simpletest(): "Create and test a simple network" topo = LinearTopo(k=4) net = Mininet(topo) net.start() print "Dumping host connections" dumpnodeconnections(net.hosts) print "Testing network connectivity" net.pingall() net.stop() if name == ' main ': # Tell mininet to print useful information setloglevel('info') simpletest() The important classes, methods, functions and variables in the above code include: Topo: the base class for Mininet topologies addswitch(): adds a switch to a topology and returns the switch name. In this example, four switches were added. addhost(): adds a host to a topology and returns the host name. In this case, four hosts were added. [ 6 ]

7 addlink(): adds a bidirectional link to a topology (and returns a link key, but this is not important). Links in Mininet are bidirectional unless noted otherwise. mininet: main class to create and manage a network start(): starts your network pingall(): tests connectivity by trying to have all nodes ping each other stop(): stops your network net.hosts: all the hosts in a network dumpnodeconnections(): dumps connections to/from a set of nodes. setloglevel( 'info' 'debug' 'output' ): set Mininet's default output level; 'info' is recommended as it provides useful information. Additional example code may be found in mininet/examples. 2 Setting Performance Parameters In addition to basic behavioral networking, Mininet provides performance limiting and isolation features, through the CPULimitedHost and TCLink classes. There are multiple ways that these classes may be used, but one simple way is to specify them as the default host and link classes/constructors to Mininet(), and then to specify the appropriate parameters in the topology. #!/usr/bin/python Linear Topology (with Performance Settings) from mininet.topo import Topo from mininet.net import Mininet from mininet.node import CPULimitedHost from mininet.link import TCLink from mininet.util import irange,dumpnodeconnections from mininet.log import setloglevel class LinearTopo(Topo): "Linear topology of k switches, with one host per switch." def init (self, k=2, **opts): """Init. k: number of switches (and hosts) hconf: host configuration options lconf: link configuration options""" super(lineartopo, self). init (**opts) self.k = k 2 Path of the install directory of Mininet or [ 7 ]

8 lastswitch = None for i in irange(1, k): host = self.addhost('h%s' % i, cpu=.5/k) switch = self.addswitch('s%s' % i) # 10 Mbps, 5ms delay, 1% loss, 1000 packet queue self.addlink( host, switch, bw=10, delay='5ms', loss=1, max_queue_size=1000, use_htb=true) if lastswitch: self.addlink(switch, lastswitch, bw=10, delay='5ms', loss=1, max_queue_size=1000, use_htb=true) lastswitch = switch def perftest(): "Create network and run simple performance test" topo = LinearTopo(k=4) net = Mininet(topo=topo, host=cpulimitedhost, link=tclink) net.start() print "Dumping host connections" dumpnodeconnections(net.hosts) print "Testing network connectivity" net.pingall() print "Testing bandwidth between h1 and h4" h1, h4 = net.get('h1', 'h4') net.iperf((h1, h4)) net.stop() if name == ' main ': setloglevel('info') perftest() Some important methods and parameters: self.addhost(name, cpu=f): This allows you to specify a fraction of overall system CPU resources which will be allocated to the virtual host. self.addlink( node1, node2, bw=10, delay='5ms', max_queue_size=1000, loss=1, use_htb=true): adds a bidirectional link with bandwidth, delay and loss characteristics, with a maximum queue size of 1000 packets using the Hierarchical Token Bucket rate limiter and netem delay/loss emulator. The parameter bw is expressed as a number in Mb/s; delay is expressed as a string with units in place (e.g. '5ms', '100us', '1s'); loss is expressed as a percentage (between 0 and 100); and max_queue_size is expressed in packets. net.get(): retrieves a node (host or switch) object by name. This is important if you want to send a command to a host (e.g. using host.cmd()) and get its output. In the current master branch of Mininet, you can simply use braces (e.g. net['h1']) to retrieve a given node by name. [ 8 ]

9 net.iperf((h1, h4)): this command ran an iperf server on one host (h1), ran an iperf client on the second host (h4), and parsed the bandwidth achieved. You may find it useful to create a Python dictionary to make it easy to pass the same parameters into multiple method calls, for example: linkopts = dict(bw=10, delay='5ms', loss=1, max_queue_size=1000, use_htb=true) alternately: linkopts = {'bw':10, 'delay':'5ms', 'loss':1, 'max_queue_size':1000, 'use_htb':true} self.addlink(node1, node2, **linkopts) Running in Mininet To run the custom topology (linear with four switches/hosts) you have created above, follow the instructions below: Create a LinearTopo.py script on your Mininet VM (or other) and copy the contents of Linear Topology (without Performance Settings), listed above in it. Make the script executable: $ chmod u+x LinearTopo.py Execute the script: $ sudo./lineartopo.py Output: *** Creating network *** Adding controller *** Adding hosts: h1 h2 h3 h4 *** Adding switches: s1 s2 s3 s4 *** Adding links: (h1, s1) (h2, s2) (h3, s3) (h4, s4) (s1, s2) (s2, s3) (s3, s4) *** Configuring hosts h1 h2 h3 h4 *** Starting controller *** Starting 4 switches s1 s2 s3 s4 Dumping host connections h1 h1-eth0:s1-eth1 h2 h2-eth0:s2-eth1 h3 h3-eth0:s3-eth1 h4 h4-eth0:s4-eth1 Testing network connectivity *** Ping: testing ping reachability h1 -> h2 h3 h4 h2 -> h1 h3 h4 h3 -> h1 h2 h4 [ 9 ]

10 h4 -> h1 h2 h3 *** Results: 0% dropped (0/12 lost) *** Stopping 4 hosts h1 h2 h3 h4 *** Stopping 4 switches s1...s2...s3...s4... *** Stopping 1 controllers c0 *** Done 6. References [1] [2] Nikhil Handigol, Brandon Heller, Vimal Jeyakumar, Bob Lantz, and Nick McKeown. Reproducible Network Experiments using Container-Based Emulation. CoNEXT 2012 [3] Mohammad Al-Fares, Alexander Loukissas, and Amin Vahdat, A Scalable, Commodity Data Center Network Architecture, SIGCOMM 08 [4] Mininet Python API [5] Introduction to Mininet [6] Python Offical Web Site [7] Python Books (lots of Python programming material) [ 10 ]

Lab Exercise 3 (part A) Introduction to Mininet

Lab Exercise 3 (part A) Introduction to Mininet Lab Exercise 3 (part A) Introduction to Mininet Objectives: Learn the basic commands in Mininet Learn how to create basic network topologies in Mininet Learn Mininet API Marks: This exercise forms the

More information

ADVANCED COMPUTER NETWORKS Assignment 9: Introduction to OpenFlow

ADVANCED COMPUTER NETWORKS Assignment 9: Introduction to OpenFlow Spring Term 2014 ADVANCED COMPUTER NETWORKS Assignment 9: Introduction to OpenFlow Assigned on: 8 May 2014 Due by: 21 May 2014, 23:59 1 Introduction The goal of this assignment is to give an introduction

More information

Mininet Tutorial. Leonardo Richter Bays Gustavo Mio7o Marcelo Caggiani Luizelli Luciano Paschoal Gaspary

Mininet Tutorial. Leonardo Richter Bays Gustavo Mio7o Marcelo Caggiani Luizelli Luciano Paschoal Gaspary Mininet Tutorial Leonardo Richter Bays Gustavo Mio7o Marcelo Caggiani Luizelli Luciano Paschoal Gaspary Outline Introduc?on Installing Mininet SeAng Up First Steps in Mininet Ini?aliza?on Main commands

More information

ADVANCED COMPUTER NETWORKS Assignment 9: Introduction to OpenFlow

ADVANCED COMPUTER NETWORKS Assignment 9: Introduction to OpenFlow Spring Term 2015 ADVANCED COMPUTER NETWORKS Assignment 9: Introduction to OpenFlow Assigned on: 7 May 2015 Due by: 20 May 2015, 23:59 1 Introduction The goal of this assignment is to give an introduction

More information

Mininet & OpenFlow 24/11/2016

Mininet & OpenFlow 24/11/2016 Mininet & OpenFlow 24/11/2016 Firt steps: configure VM PREREQUISITE: download and install the mininet VM from http://mininet.org/download/ THEN: Change network settings by enabling «bridge» Start the mininet

More information

Observing Bufferbloat using mininet

Observing Bufferbloat using mininet Observing Bufferbloat using mininet In this assignment the objective is to study the dynamics of TCP in a typical home networking setting to observe the bufferbloat problem. Take a look at the figure below,

More information

Outline. SDN Overview Mininet and Ryu Overview Mininet VM Setup Ryu Setup OpenFlow Protocol and Open vswitch Reference

Outline. SDN Overview Mininet and Ryu Overview Mininet VM Setup Ryu Setup OpenFlow Protocol and Open vswitch Reference 1 Mininet and Ryu 2 Outline SDN Overview Mininet and Ryu Overview Mininet VM Setup Ryu Setup OpenFlow Protocol and Open vswitch Reference 3 SDN Overview Decoupling of control and data planes Directly Programmable

More information

Application-Aware SDN Routing for Big-Data Processing

Application-Aware SDN Routing for Big-Data Processing Application-Aware SDN Routing for Big-Data Processing Evaluation by EstiNet OpenFlow Network Emulator Director/Prof. Shie-Yuan Wang Institute of Network Engineering National ChiaoTung University Taiwan

More information

Mininet Performance Fidelity Benchmarks

Mininet Performance Fidelity Benchmarks Mininet Performance Fidelity Benchmarks Nikhil Handigol, Brandon Heller, Vimalkumar Jeyakumar, Bob Lantz, Nick McKeown October 21, 2012 1 Introduction This initial Mininet technical report evaluates the

More information

Cloud and Datacenter Networking

Cloud and Datacenter Networking Cloud and Datacenter Networking Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione DIETI Laurea Magistrale in Ingegneria Informatica

More information

Programming Assignment

Programming Assignment Overview Programming Assignment In this assignment, you will program the OpenFlow controller POX and use it to implement two applications. Task 1: Firewall In this part, your task is to implement a layer-2

More information

Assignment 5: Software Defined Networking CS640 Spring 2015

Assignment 5: Software Defined Networking CS640 Spring 2015 Assignment 5: Software Defined Networking CS640 Spring 2015 Due: Thursday, May 7 at 11pm Overview For this project you will implement two control application for a software defined network (SDN). A layer

More information

Lab 3: Simple Firewall using OpenFlow

Lab 3: Simple Firewall using OpenFlow Lab 3: Simple Firewall using OpenFlow This lab builds on the knowledge acquired through Lab 1 where you were first introduced to the Mininet environment. It will also help you prepare for the class project.

More information

CS 344/444 Computer Network Fundamentals Final Exam Solutions Spring 2007

CS 344/444 Computer Network Fundamentals Final Exam Solutions Spring 2007 CS 344/444 Computer Network Fundamentals Final Exam Solutions Spring 2007 Question 344 Points 444 Points Score 1 10 10 2 10 10 3 20 20 4 20 10 5 20 20 6 20 10 7-20 Total: 100 100 Instructions: 1. Question

More information

Assignment 5. 2 Assignment: Emulate a Data Center and Manage it via a Cloud Network Controller

Assignment 5. 2 Assignment: Emulate a Data Center and Manage it via a Cloud Network Controller University of Crete Computer Science Department Lecturer: Prof. Dr. X. Dimitropoulos TAs: Dimitrios Gkounis, George Nomikos Manos Lakiotakis, George Vardakis HY436 - Software Defined Networks Tasks of

More information

Introduction to Software-Defined Networking UG3 Computer Communications & Networks (COMN)

Introduction to Software-Defined Networking UG3 Computer Communications & Networks (COMN) Introduction to Software-Defined Networking UG3 Computer Communications & Networks (COMN) Myungjin Lee myungjin.lee@ed.ac.uk Courtesy note: Slides from course CPS514 Spring 2013 at Duke University and

More information

Configuration and Management of Networks

Configuration and Management of Networks Final Laboratory Configuration and Management of Networks The final Lab consists in configuring a series of case study routing topologies to configure without instructions. Each scenario has a small description

More information

Configuration and Management of Networks 2014 / 2015

Configuration and Management of Networks 2014 / 2015 ! Departamento de Engenharia Electrotécnica Configuration and Management of Networks 2014 / 2015 Mestrado Integrado em Engenharia Electrotécnica e de Computadores 4º ano 8º semestre Final Lab part II:

More information

A short walk-through of Mininet and POX

A short walk-through of Mininet and POX A short walk-through of Mininet and POX This tutorial has three parts. The first part covers the basics of the Mininet network emulation environment under which your programming assignment will be carried

More information

Transport Protocols for Data Center Communication. Evisa Tsolakou Supervisor: Prof. Jörg Ott Advisor: Lect. Pasi Sarolahti

Transport Protocols for Data Center Communication. Evisa Tsolakou Supervisor: Prof. Jörg Ott Advisor: Lect. Pasi Sarolahti Transport Protocols for Data Center Communication Evisa Tsolakou Supervisor: Prof. Jörg Ott Advisor: Lect. Pasi Sarolahti Contents Motivation and Objectives Methodology Data Centers and Data Center Networks

More information

Towards Predictable + Resilient Multi-Tenant Data Centers

Towards Predictable + Resilient Multi-Tenant Data Centers Towards Predictable + Resilient Multi-Tenant Data Centers Presenter: Ali Musa Iftikhar (Tufts University) in joint collaboration with: Fahad Dogar (Tufts), {Ihsan Qazi, Zartash Uzmi, Saad Ismail, Gohar

More information

Data Center Network Topologies II

Data Center Network Topologies II Data Center Network Topologies II Hakim Weatherspoon Associate Professor, Dept of Computer cience C 5413: High Performance ystems and Networking April 10, 2017 March 31, 2017 Agenda for semester Project

More information

Mininet: Squeezing a 1000 node OpenFlow Network onto a Laptop. Bob Lantz, November 19, 2009

Mininet: Squeezing a 1000 node OpenFlow Network onto a Laptop. Bob Lantz, November 19, 2009 Mininet: Squeezing a 1000 node OpenFlow Network onto a Laptop Bob Lantz, rlantz@cs.stanford.edu November 19, 2009 How To Do Network Research - I'm trying to figure this out! - Use OpenFlow, do cool stuff!

More information

Lecture 7: Data Center Networks

Lecture 7: Data Center Networks Lecture 7: Data Center Networks CSE 222A: Computer Communication Networks Alex C. Snoeren Thanks: Nick Feamster Lecture 7 Overview Project discussion Data Centers overview Fat Tree paper discussion CSE

More information

Delay Controlled Elephant Flow Rerouting in Software Defined Network

Delay Controlled Elephant Flow Rerouting in Software Defined Network 1st International Conference on Advanced Information Technologies (ICAIT), Nov. 1-2, 2017, Yangon, Myanmar Delay Controlled Elephant Flow Rerouting in Software Defined Network Hnin Thiri Zaw, Aung Htein

More information

NaaS Network-as-a-Service in the Cloud

NaaS Network-as-a-Service in the Cloud NaaS Network-as-a-Service in the Cloud joint work with Matteo Migliavacca, Peter Pietzuch, and Alexander L. Wolf costa@imperial.ac.uk Motivation Mismatch between app. abstractions & network How the programmers

More information

Setting-up WAN Emulation using WAN-Bridge Live-CD v1.10

Setting-up WAN Emulation using WAN-Bridge Live-CD v1.10 Setting-up WAN Emulation using WAN-Bridge Live-CD v1.10 Contents Document version 0.1 Overview... 2 What s New in Version 1.10... 2 Software Installed on the CD... 2 License... 3 Sample Lab Configurations...

More information

A Scalable, Commodity Data Center Network Architecture

A Scalable, Commodity Data Center Network Architecture A Scalable, Commodity Data Center Network Architecture B Y M O H A M M A D A L - F A R E S A L E X A N D E R L O U K I S S A S A M I N V A H D A T P R E S E N T E D B Y N A N X I C H E N M A Y. 5, 2 0

More information

COM-407: TCP/IP NETWORKING. LAB EXERCISES (TP) 1 INTRODUCTION TO MININET With Solutions

COM-407: TCP/IP NETWORKING. LAB EXERCISES (TP) 1 INTRODUCTION TO MININET With Solutions Name 1: Name 2: COM-407: TCP/IP NETWORKING LAB EXERCISES (TP) 1 INTRODUCTION TO MININET With Solutions March 16, 2017 Abstract In this TP you deploy a virtual machine that is pre-installed with Mininet,

More information

ECEN Final Exam Fall Instructor: Srinivas Shakkottai

ECEN Final Exam Fall Instructor: Srinivas Shakkottai ECEN 424 - Final Exam Fall 2013 Instructor: Srinivas Shakkottai NAME: Problem maximum points your points Problem 1 10 Problem 2 10 Problem 3 20 Problem 4 20 Problem 5 20 Problem 6 20 total 100 1 2 Midterm

More information

Introduction. Network Architecture Requirements of Data Centers in the Cloud Computing Era

Introduction. Network Architecture Requirements of Data Centers in the Cloud Computing Era Massimiliano Sbaraglia Network Engineer Introduction In the cloud computing era, distributed architecture is used to handle operations of mass data, such as the storage, mining, querying, and searching

More information

Windows Azure Services - At Different Levels

Windows Azure Services - At Different Levels Windows Azure Windows Azure Services - At Different Levels SaaS eg : MS Office 365 Paas eg : Azure SQL Database, Azure websites, Azure Content Delivery Network (CDN), Azure BizTalk Services, and Azure

More information

UNIVERSITY OF CALIFORNIA

UNIVERSITY OF CALIFORNIA UNIVERSITY OF CALIFORNIA Evaluating switch buffers for high BDP flows (10G x 50ms) Michael Smitasin Network Engineer LBLnet Services Group Lawrence Berkeley National Laboratory Brian Tierney Staff Scientist

More information

I Know What Your Packet Did Last Hop: Using Packet Histories to Troubleshoot Networks

I Know What Your Packet Did Last Hop: Using Packet Histories to Troubleshoot Networks I Know What Your Packet Did Last Hop: Using Packet Histories to Troubleshoot Networks Nikhil Handigol With Brandon Heller, Vimal Jeyakumar, David Mazières, Nick McKeown NSDI 2014, SeaOle, WA April 2, 2014

More information

Utilizing Datacenter Networks: Centralized or Distributed Solutions?

Utilizing Datacenter Networks: Centralized or Distributed Solutions? Utilizing Datacenter Networks: Centralized or Distributed Solutions? Costin Raiciu Department of Computer Science University Politehnica of Bucharest We ve gotten used to great applications Enabling Such

More information

VNF Chain Allocation and Management at Data Center Scale

VNF Chain Allocation and Management at Data Center Scale VNF Chain Allocation and Management at Data Center Scale Internet Cloud Provider Tenants Nodir Kodirov, Sam Bayless, Fabian Ruffy, Ivan Beschastnikh, Holger Hoos, Alan Hu Network Functions (NF) are useful

More information

Radhika Niranjan Mysore, Andreas Pamboris, Nathan Farrington, Nelson Huang, Pardis Miri, Sivasankar Radhakrishnan, Vikram Subramanya and Amin Vahdat

Radhika Niranjan Mysore, Andreas Pamboris, Nathan Farrington, Nelson Huang, Pardis Miri, Sivasankar Radhakrishnan, Vikram Subramanya and Amin Vahdat Radhika Niranjan Mysore, Andreas Pamboris, Nathan Farrington, Nelson Huang, Pardis Miri, Sivasankar Radhakrishnan, Vikram Subramanya and Amin Vahdat 1 PortLand In A Nutshell PortLand is a single logical

More information

Communication System Design Projects

Communication System Design Projects Communication System Design Projects KUNGLIGA TEKNISKA HÖGSKOLAN PROFESSOR: DEJAN KOSTIC TEACHING ASSISTANT: GEORGIOS KATSIKAS Traditional Vs. Modern Network Management What is Network Management (NM)?

More information

Project 4: SDNs Due: 11:59 PM, Dec 12, 2018

Project 4: SDNs Due: 11:59 PM, Dec 12, 2018 CS168 Computer Networks Fonseca Project 4: SDNs Due: 11:59 PM, Dec 12, 2018 Contents 1 Introduction 2 2 Overview 2 2.1 Architecture......................................... 3 3 Shortest-path Switching

More information

GFS: The Google File System

GFS: The Google File System GFS: The Google File System Brad Karp UCL Computer Science CS GZ03 / M030 24 th October 2014 Motivating Application: Google Crawl the whole web Store it all on one big disk Process users searches on one

More information

Extending Dijkstra s Shortest Path Algorithm for Software Defined Networking

Extending Dijkstra s Shortest Path Algorithm for Software Defined Networking Extending Dijkstra s Shortest Path Algorithm for Software Defined Networking Jehn-Ruey Jiang, Hsin-Wen Huang, Ji-Hau Liao, and Szu-Yuan Chen Department of Computer Science and Information Engineering National

More information

Lab 2: Threads and Processes

Lab 2: Threads and Processes CS333: Operating Systems Lab Lab 2: Threads and Processes Goal The goal of this lab is to get you comfortable with writing basic multi-process / multi-threaded applications, and understanding their performance.

More information

SDN-based Defending against ARP Poisoning Attack

SDN-based Defending against ARP Poisoning Attack Journal of Advances in Computer Research Quarterly pissn: 2345-606x eissn: 2345-6078 Sari Branch, Islamic Azad University, Sari, I.R.Iran (Vol. 8, No. 2, May 2017), Pages: 95- www.jacr.iausari.ac.ir SDN-based

More information

Evaluation of Performance of Cooperative Web Caching with Web Polygraph

Evaluation of Performance of Cooperative Web Caching with Web Polygraph Evaluation of Performance of Cooperative Web Caching with Web Polygraph Ping Du Jaspal Subhlok Department of Computer Science University of Houston Houston, TX 77204 {pdu, jaspal}@uh.edu Abstract This

More information

Data Center Switch Architecture in the Age of Merchant Silicon. Nathan Farrington Erik Rubow Amin Vahdat

Data Center Switch Architecture in the Age of Merchant Silicon. Nathan Farrington Erik Rubow Amin Vahdat Data Center Switch Architecture in the Age of Merchant Silicon Erik Rubow Amin Vahdat The Network is a Bottleneck HTTP request amplification Web search (e.g. Google) Small object retrieval (e.g. Facebook)

More information

Got Loss? Get zovn! Daniel Crisan, Robert Birke, Gilles Cressier, Cyriel Minkenberg, and Mitch Gusat. ACM SIGCOMM 2013, August, Hong Kong, China

Got Loss? Get zovn! Daniel Crisan, Robert Birke, Gilles Cressier, Cyriel Minkenberg, and Mitch Gusat. ACM SIGCOMM 2013, August, Hong Kong, China Got Loss? Get zovn! Daniel Crisan, Robert Birke, Gilles Cressier, Cyriel Minkenberg, and Mitch Gusat ACM SIGCOMM 2013, 12-16 August, Hong Kong, China Virtualized Server 1 Application Performance in Virtualized

More information

I Know What Your Packet Did Last Hop: Using Packet Histories to Troubleshoot Networks.

I Know What Your Packet Did Last Hop: Using Packet Histories to Troubleshoot Networks. I Know What Your Packet Did Last Hop: Using Packet Histories to Troubleshoot Networks. Paper by: Nikhil Handigol, Brandon Heller, Vimalkumar Jeyakumar, David Mazières, and Nick McKeown, Stanford University

More information

Dynamic Distributed Flow Scheduling with Load Balancing for Data Center Networks

Dynamic Distributed Flow Scheduling with Load Balancing for Data Center Networks Available online at www.sciencedirect.com Procedia Computer Science 19 (2013 ) 124 130 The 4th International Conference on Ambient Systems, Networks and Technologies. (ANT 2013) Dynamic Distributed Flow

More information

Denial-of-Service (DoS) Attacks in an SDN Environment

Denial-of-Service (DoS) Attacks in an SDN Environment Denial-of-Service (DoS) Attacks in an SDN Environment Contents Experiment Task Design:... 3 Submission:... 3 Start the Experiment... 3 Conduct the Experiment... 6 Section 1.1: Installing Dependencies...

More information

DevoFlow: Scaling Flow Management for High-Performance Networks

DevoFlow: Scaling Flow Management for High-Performance Networks DevoFlow: Scaling Flow Management for High-Performance Networks Andy Curtis Jeff Mogul Jean Tourrilhes Praveen Yalagandula Puneet Sharma Sujata Banerjee Software-defined networking Software-defined networking

More information

Dropping Packets in Ubuntu Linux using tc and iptables

Dropping Packets in Ubuntu Linux using tc and iptables Dropping Packets in Ubuntu Linux using tc and... 1 Dropping Packets in Ubuntu Linux using tc and iptables By Steven Gordon on Tue, 18/01/2011-8:13pm There are two simple ways to randomly drop packets on

More information

The instructions in this document are applicable to personal computers running the following Operating Systems:

The instructions in this document are applicable to personal computers running the following Operating Systems: Preliminary Notes The instructions in this document are applicable to personal computers running the following Operating Systems: Microsoft Windows from version 7 up to 10 Apple Mac OS X from versions

More information

ProAc&ve Rou&ng In Scalable Data Centers with PARIS

ProAc&ve Rou&ng In Scalable Data Centers with PARIS ProAc&ve Rou&ng In Scalable Data Centers with PARIS Theophilus Benson Duke University Joint work with Dushyant Arora + and Jennifer Rexford* + Arista Networks *Princeton University Data Center Networks

More information

Experiments on TCP Re-Ordering March 27 th 2017

Experiments on TCP Re-Ordering March 27 th 2017 Experiments on TCP Re-Ordering March 27 th 2017 Introduction The Transmission Control Protocol (TCP) is very sensitive to the behavior of packets sent end-to-end. Variations in arrival time ( jitter )

More information

EXPERIMENTAL STUDY OF FLOOD TYPE DISTRIBUTED DENIAL-OF- SERVICE ATTACK IN SOFTWARE DEFINED NETWORKING (SDN) BASED ON FLOW BEHAVIORS

EXPERIMENTAL STUDY OF FLOOD TYPE DISTRIBUTED DENIAL-OF- SERVICE ATTACK IN SOFTWARE DEFINED NETWORKING (SDN) BASED ON FLOW BEHAVIORS EXPERIMENTAL STUDY OF FLOOD TYPE DISTRIBUTED DENIAL-OF- SERVICE ATTACK IN SOFTWARE DEFINED NETWORKING (SDN) BASED ON FLOW BEHAVIORS Andry Putra Fajar and Tito Waluyo Purboyo Faculty of Electrical Engineering,

More information

Providing Multi-tenant Services with FPGAs: Case Study on a Key-Value Store

Providing Multi-tenant Services with FPGAs: Case Study on a Key-Value Store Zsolt István *, Gustavo Alonso, Ankit Singla Systems Group, Computer Science Dept., ETH Zürich * Now at IMDEA Software Institute, Madrid Providing Multi-tenant Services with FPGAs: Case Study on a Key-Value

More information

Mininet/Openflow. Objectives. Network Topology. You will need a Number

Mininet/Openflow. Objectives. Network Topology. You will need a Number Mininet/Openflow Objectives In this lab, you will start by learning the basics of running Mininet in a virtual machine. Mininet facilitates creating and manipulating Software Defined Networking components.

More information

L19 Data Center Network Architectures

L19 Data Center Network Architectures L19 Data Center Network Architectures by T.S.R.K. Prasad EA C451 Internetworking Technologies 27/09/2012 References / Acknowledgements [Feamster-DC] Prof. Nick Feamster, Data Center Networking, CS6250:

More information

Defining QoS for Multiple Policy Levels

Defining QoS for Multiple Policy Levels CHAPTER 13 In releases prior to Cisco IOS Release 12.0(22)S, you can specify QoS behavior at only one level. For example, to shape two outbound queues of an interface, you must configure each queue separately,

More information

Network softwarization Lab session 2: OS Virtualization Networking

Network softwarization Lab session 2: OS Virtualization Networking Network softwarization Lab session 2: OS Virtualization Networking Nicolas Herbaut David Bourasseau Daniel Negru December 16, 2015 1 Introduction 1.1 Discovering docker 1.1.1 Installation Please launch

More information

CLOUDS-Pi: A Low-Cost Raspberry-Pi based Testbed for Software-Defined-Networking in Clouds

CLOUDS-Pi: A Low-Cost Raspberry-Pi based Testbed for Software-Defined-Networking in Clouds CLOUDS-Pi: A Low-Cost Raspberry-Pi based Testbed for Software-Defined-Networking in Clouds Adel Nadjaran Toosi, Jungmin Son, Rajkumar Buyya Cloud Computing and Distributed Systems (CLOUDS) Laboratory,

More information

Software Defined Networks (S.D.N): Experimentation with Mininet Topologies

Software Defined Networks (S.D.N): Experimentation with Mininet Topologies Indian Journal of Science and Technology, Vol 9(32), DOI: 10.17485/ijst/2016/v9i32/100195, August 2016 ISSN (Print) : 0974-6846 ISSN (Online) : 0974-5645 Software Defined Networks (S.D.N): Experimentation

More information

ONOS: TOWARDS AN OPEN, DISTRIBUTED SDN OS. Chun Yuan Cheng

ONOS: TOWARDS AN OPEN, DISTRIBUTED SDN OS. Chun Yuan Cheng ONOS: TOWARDS AN OPEN, DISTRIBUTED SDN OS Chun Yuan Cheng OUTLINE - Introduction - Two prototypes - Conclusion INTRODUCTION - An open, vendor neutral, control-data plane interface such as OpenFlow allows

More information

Outlines. Introduction (Cont d) Introduction. Introduction Network Evolution External Connectivity Software Control Experience Conclusion & Discussion

Outlines. Introduction (Cont d) Introduction. Introduction Network Evolution External Connectivity Software Control Experience Conclusion & Discussion Outlines Jupiter Rising: A Decade of Clos Topologies and Centralized Control in Google's Datacenter Network Singh, A. et al. Proc. of ACM SIGCOMM '15, 45(4):183-197, Oct. 2015 Introduction Network Evolution

More information

For Step 1, DO NOT USE IP ADDRESSES THAT WEREN'T ASSIGNED TO YOU OR SOMEONE

For Step 1, DO NOT USE IP ADDRESSES THAT WEREN'T ASSIGNED TO YOU OR SOMEONE CS 485/ECE 440/CS 585 Fall 2017 Lab 4, part 1 Lab 4 part 1 is due by 11:59pm on Monday, November 27 th, 2017. Part 1 is worth 100 points, and part 2 will be worth 100 points, so in total Lab 4 is worth

More information

Lecture 16: Data Center Network Architectures

Lecture 16: Data Center Network Architectures MIT 6.829: Computer Networks Fall 2017 Lecture 16: Data Center Network Architectures Scribe: Alex Lombardi, Danielle Olson, Nicholas Selby 1 Background on Data Centers Computing, storage, and networking

More information

Prioritizing Services

Prioritizing Services CHAPTER 8 Voice, video, and data applications have differing quality of service needs. Voice applications, for example, require a small but guaranteed amount of bandwidth, are less tolerant of packet delay

More information

Evaluation Strategies. Nick Feamster CS 7260 February 26, 2007

Evaluation Strategies. Nick Feamster CS 7260 February 26, 2007 Evaluation Strategies Nick Feamster CS 7260 February 26, 2007 Evaluation Strategies Many ways to evaluate new protocols, systems, implementations Mathematical analysis Simulation (ns, SSFNet, etc.) Emulation

More information

Automatic Test Packet Generation

Automatic Test Packet Generation Automatic Test Packet Generation Hongyi Zeng, Peyman Kazemian, Nick McKeown University, Stanford, CA, USA George Varghese UCSD, La Jolla Microsoft Research, Mountain View, CA, USA https://github.com/eastzone/atpg/wiki

More information

UNIX File System. UNIX File System. The UNIX file system has a hierarchical tree structure with the top in root.

UNIX File System. UNIX File System. The UNIX file system has a hierarchical tree structure with the top in root. UNIX File System UNIX File System The UNIX file system has a hierarchical tree structure with the top in root. Files are located with the aid of directories. Directories can contain both file and directory

More information

Characterising Resource Management Performance in Kubernetes. Appendices.

Characterising Resource Management Performance in Kubernetes. Appendices. Characterising Resource Management Performance in Kubernetes. Appendices. Víctor Medel a, Rafael Tolosana-Calasanz a, José Ángel Bañaresa, Unai Arronategui a, Omer Rana b a Aragon Institute of Engineering

More information

Communication Networks Project 2: Reliable Transport Deadline: June at 11.59pm

Communication Networks Project 2: Reliable Transport Deadline: June at 11.59pm Spring 2018 Prof. L. Vanbever/ T. Bühler, R. Birkner, T. Holterbach, R. Meier Communication Networks Project 2: Reliable Transport Deadline: June 1 2018 at 11.59pm 1 Introduction Now that you are all experts

More information

Messaging Overview. Introduction. Gen-Z Messaging

Messaging Overview. Introduction. Gen-Z Messaging Page 1 of 6 Messaging Overview Introduction Gen-Z is a new data access technology that not only enhances memory and data storage solutions, but also provides a framework for both optimized and traditional

More information

Xytech MediaPulse Equipment Guidelines (Version 8 and Sky)

Xytech MediaPulse Equipment Guidelines (Version 8 and Sky) Xytech MediaPulse Equipment Guidelines (Version 8 and Sky) MediaPulse Architecture Xytech Systems MediaPulse solution utilizes a multitier architecture, requiring at minimum three server roles: a database

More information

FAQ. Release rc2

FAQ. Release rc2 FAQ Release 19.02.0-rc2 January 15, 2019 CONTENTS 1 What does EAL: map_all_hugepages(): open failed: Permission denied Cannot init memory mean? 2 2 If I want to change the number of hugepages allocated,

More information

Small-World Datacenters

Small-World Datacenters 2 nd ACM Symposium on Cloud Computing Oct 27, 2011 Small-World Datacenters Ji-Yong Shin * Bernard Wong +, and Emin Gün Sirer * * Cornell University + University of Waterloo Motivation Conventional networks

More information

Interconnected Multiple Software-Defined Network Domains with Loop Topology

Interconnected Multiple Software-Defined Network Domains with Loop Topology Interconnected Multiple Software-Defined Network Domains with Loop Topology Jen-Wei Hu National Center for High-performance Computing & Institute of Computer and Communication Engineering NARLabs & NCKU

More information

Internetworking Part 1

Internetworking Part 1 CMPE 344 Computer Networks Spring 2012 Internetworking Part 1 Reading: Peterson and Davie, 3.1 22/03/2012 1 Not all networks are directly connected Limit to how many hosts can be attached Point-to-point:

More information

Software-Defined Networking (SDN) Overview

Software-Defined Networking (SDN) Overview Reti di Telecomunicazione a.y. 2015-2016 Software-Defined Networking (SDN) Overview Ing. Luca Davoli Ph.D. Student Network Security (NetSec) Laboratory davoli@ce.unipr.it Luca Davoli davoli@ce.unipr.it

More information

QoS: Child Service Policy for Priority Class

QoS: Child Service Policy for Priority Class QoS: Child Service Policy for Priority Class First Published: November, 2006 Last Updated: March 2, 2009 The QoS: Child Service Policy for Priority Class feature allows you to configure a child service

More information

QoS support for Intelligent Storage Devices

QoS support for Intelligent Storage Devices QoS support for Intelligent Storage Devices Joel Wu Scott Brandt Department of Computer Science University of California Santa Cruz ISW 04 UC Santa Cruz Mixed-Workload Requirement General purpose systems

More information

Fishnet Assignment 2: Routing Due: Wednesday, February 2 at the beginning of class CSE/EE 461: Winter 2005

Fishnet Assignment 2: Routing Due: Wednesday, February 2 at the beginning of class CSE/EE 461: Winter 2005 Fishnet Assignment 2: Routing Due: Wednesday, February 2 at the beginning of class CSE/EE 461: Winter 2005 Your assignment is to extend your Fishnet node to support routing, so that messages are sent only

More information

Sofware Defined Networking Architecture and Openflow Network Topologies

Sofware Defined Networking Architecture and Openflow Network Topologies Sofware Defined Networking Architecture and Openflow Network Topologies Fahad Kameez, M.Tech.(VLSI and ES) Department of Electronics and Communication Rashtreeya Vidyalaya College of Engineering Bengaluru,

More information

COMP211 Chapter 5 Network Layer: The Control Plane

COMP211 Chapter 5 Network Layer: The Control Plane COMP211 Chapter 5 Network Layer: The Control Plane All material copyright 1996-2016 J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down Approach 7 th edition Jim Kurose, Keith

More information

Low overhead virtual machines tracing in a cloud infrastructure

Low overhead virtual machines tracing in a cloud infrastructure Low overhead virtual machines tracing in a cloud infrastructure Mohamad Gebai Michel Dagenais Dec 7, 2012 École Polytechnique de Montreal Content Area of research Current tracing: LTTng vs ftrace / virtio

More information

UNIT-IV HDFS. Ms. Selva Mary. G

UNIT-IV HDFS. Ms. Selva Mary. G UNIT-IV HDFS HDFS ARCHITECTURE Dataset partition across a number of separate machines Hadoop Distributed File system The Design of HDFS HDFS is a file system designed for storing very large files with

More information

Hyper-V - VM Live Migration

Hyper-V - VM Live Migration Hyper-V - VM Live Migration Hyper-V Live Migration is first introduced in Windows Server 2008 R2 and enhanced lot in later versions. Hyper-V live migration moves running virtual machines from one physical

More information

Kernel Korner. Analysis of the HTB Queuing Discipline. Yaron Benita. Abstract

Kernel Korner. Analysis of the HTB Queuing Discipline. Yaron Benita. Abstract 1 of 9 6/18/2006 7:41 PM Kernel Korner Analysis of the HTB Queuing Discipline Yaron Benita Abstract Can Linux do Quality of Service in a way that both offers high throughput and does not exceed the defined

More information

SCALING SOFTWARE DEFINED NETWORKS. Chengyu Fan (edited by Lorenzo De Carli)

SCALING SOFTWARE DEFINED NETWORKS. Chengyu Fan (edited by Lorenzo De Carli) SCALING SOFTWARE DEFINED NETWORKS Chengyu Fan (edited by Lorenzo De Carli) Introduction Network management is driven by policy requirements Network Policy Guests must access Internet via web-proxy Web

More information

Reducing Power Consumption in Data Centers by Jointly Considering VM Placement and Flow Scheduling

Reducing Power Consumption in Data Centers by Jointly Considering VM Placement and Flow Scheduling Journal of Interconnection Networks c World Scientific Publishing Company Reducing Power Consumption in Data Centers by Jointly Considering VM Placement and Flow Scheduling DAWEI LI and JIE WU Department

More information

New Fault-Tolerant Datacenter Network Topologies

New Fault-Tolerant Datacenter Network Topologies New Fault-Tolerant Datacenter Network Topologies Rana E. Ahmed and Heba Helal Department of Computer Science and Engineering, American University of Sharjah, Sharjah, United Arab Emirates Email: rahmed@aus.edu;

More information

PYTHON TRAINING COURSE CONTENT

PYTHON TRAINING COURSE CONTENT SECTION 1: INTRODUCTION What s python? Why do people use python? Some quotable quotes A python history lesson Advocacy news What s python good for? What s python not good for? The compulsory features list

More information

S Network service provisioning

S Network service provisioning S-38.3192 Network service provisioning Initial details for S-38.3192, Jan. 18th, 2007 Mika Ilvesmäki Networking laboratory Course contents Course consists of Lectures (14), given two at a time in S3 on

More information

IP addressing. Overview. IP addressing Issues and solution Variable Length Subnet Mask (VLSM)

IP addressing. Overview. IP addressing Issues and solution Variable Length Subnet Mask (VLSM) Overview IP addressing IP addressing Issues and solution Variable Length Subnet Mask (VLSM) Written exercise : VLSM calculation Summarisation of routes Classless InterDomain routing (CIDR) Internet registry

More information

Xytech MediaPulse Equipment Guidelines (Version 8 and Sky)

Xytech MediaPulse Equipment Guidelines (Version 8 and Sky) Xytech MediaPulse Equipment Guidelines (Version 8 and Sky) MediaPulse Architecture Xytech s MediaPulse solution utilizes a multitier architecture, requiring at minimum three server roles: a database server,

More information

The GENI Test Automation Framework for New Protocol Development

The GENI Test Automation Framework for New Protocol Development The GENI Test Automation Framework for New Protocol Development Erik Golen ( ), Sai Varun Prasanth, Shashank Rudroju, and Nirmala Shenoy Rochester Institute of Technology, Rochester, NY 14623, USA efgics@rit.edu

More information

Deadline Guaranteed Service for Multi- Tenant Cloud Storage Guoxin Liu and Haiying Shen

Deadline Guaranteed Service for Multi- Tenant Cloud Storage Guoxin Liu and Haiying Shen Deadline Guaranteed Service for Multi- Tenant Cloud Storage Guoxin Liu and Haiying Shen Presenter: Haiying Shen Associate professor *Department of Electrical and Computer Engineering, Clemson University,

More information

DevoFlow: Scaling Flow Management for High Performance Networks

DevoFlow: Scaling Flow Management for High Performance Networks DevoFlow: Scaling Flow Management for High Performance Networks SDN Seminar David Sidler 08.04.2016 1 Smart, handles everything Controller Control plane Data plane Dump, forward based on rules Existing

More information

PT Activity 8.6.1: CCNA Skills Integration Challenge Topology Diagram

PT Activity 8.6.1: CCNA Skills Integration Challenge Topology Diagram Topology Diagram All contents are Copyright 2008 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 1 of 7 Addressing Table for HQ Device Interface IP Address Subnet

More information

CSE 123: Computer Networks Alex C. Snoeren. HW 2 due Thursday 10/21!

CSE 123: Computer Networks Alex C. Snoeren. HW 2 due Thursday 10/21! CSE 123: Computer Networks Alex C. Snoeren HW 2 due Thursday 10/21! Finishing up media access Contention-free methods (rings) Moving beyond one wire Link technologies have limits on physical distance Also

More information