Protocols for Data Networks (aka Advanced Computer Networks)
|
|
- Julianna Lyons
- 6 years ago
- Views:
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 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 informationADVANCED 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 informationMininet 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 informationADVANCED 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 informationMininet & 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 informationObserving 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 informationOutline. 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 informationApplication-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 informationMininet 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 informationCloud 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 informationProgramming 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 informationAssignment 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 informationLab 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 informationCS 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 informationAssignment 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 informationIntroduction 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 informationConfiguration 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 informationConfiguration 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 informationA 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 informationTransport 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 informationTowards 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 informationData 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 informationMininet: 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 informationLecture 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 informationDelay 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 informationNaaS 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 informationSetting-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 informationA 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 informationCOM-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 informationECEN 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 informationIntroduction. 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 informationWindows 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 informationUNIVERSITY 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 informationI 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 informationUtilizing 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 informationVNF 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 informationRadhika 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 informationCommunication 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 informationProject 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 informationGFS: 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 informationExtending 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 informationLab 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 informationSDN-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 informationEvaluation 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 informationData 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 informationGot 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 informationI 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 informationDynamic 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 informationDenial-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 informationDevoFlow: 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 informationDropping 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 informationThe 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 informationProAc&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 informationExperiments 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 informationEXPERIMENTAL 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 informationProviding 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 informationMininet/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 informationL19 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 informationDefining 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 informationNetwork 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 informationCLOUDS-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 informationSoftware 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 informationONOS: 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 informationOutlines. 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 informationFor 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 informationLecture 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 informationPrioritizing 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 informationEvaluation 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 informationAutomatic 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 informationUNIX 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 informationCharacterising 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 informationCommunication 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 informationMessaging 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 informationXytech 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 informationFAQ. 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 informationSmall-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 informationInterconnected 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 informationInternetworking 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 informationSoftware-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 informationQoS: 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 informationQoS 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 informationFishnet 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 informationSofware 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 informationCOMP211 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 informationLow 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 informationUNIT-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 informationHyper-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 informationKernel 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 informationSCALING 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 informationReducing 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 informationNew 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 informationPYTHON 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 informationS 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 informationIP 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 informationXytech 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 informationThe 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 informationDeadline 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 informationDevoFlow: 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 informationPT 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 informationCSE 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