CS 498: Network Systems Laboratory Laboratory Assignment 4: Implementation of AQM as Kernel Modules in Linux

Size: px
Start display at page:

Download "CS 498: Network Systems Laboratory Laboratory Assignment 4: Implementation of AQM as Kernel Modules in Linux"

Transcription

1 CS 498: Network Systems Laboratory Laboratory Assignment 4: Implementation of AQM as Kernel Modules in Linux I. Introduction Jennifer C. Hou and Honghai Zhang Department of Computer Science University of Illinois at Urbana-Champaign Distribution date: October 4, 2005; Due date: October 21, 2005 The objective of this lab assignment is two-fold: (i) understanding of active buffer management; and (ii) learning how to implement kernel modules and write applications that interact with the kernel (modules). You will implement two of the active queue management schemes (AQM) you select as kernel modules and revise the tc source code to give the statistics of each of the AQM schemes implemented. TCP RED is already implemented in /usr/src/linux-(version)/net/sched. In this project, you are required to implement other AQM schemes such as Adaptive RED, SRED, BLUE, REM and AVQ. The information on adaptive RED can be found at information on BLUE can be found at The information on REM can be found at The information on AVQ can be found at 2. Step-by-Step Instruction on Adding Module NewRED In what follows, we give step-by-step instructions on how to implement NEW RED as a new kernel module. All the paths below are relative to /usr/src/linux-(version): 1. Configure the kernel (e.g. using make menuconfig) to enable QoS support and QoS and/or fair queue. 2. In net/sched/config.in, find the line contain RED and add a line below it as follows: tristate ' NEW RED queue' CONFIG_NET_SCH_NEWRED 3. In net/sched/sch_api.c, find the following lines #ifdef CONFIG_NET_SCH_RED INIT_QDISC(red);

2 #endif. Now add the following lines below the above lines: #ifdef CONFIG_NET_SCH_NEWRED INIT_QDISC(newred); #endif. Actually these lines can be add anywhere (outside other #ifdef directive) in the file. Put them behind the directive for RED is simply to make the code consistent. 4. Add the following line in /net/sched/makefile. (Again it is better to put it after the line containing RED), obj-$(config_net_sch_red) += sch_newred.o 5. In the directory /net/sched/, do cp sch_red.c sch_newred.c and in sch_newred.c, change the line line struct Qdisc_ops red_qdisc_ops = struct Qdisc_ops newred_qdisc_ops = return register_qdisc(&red_qdisc_ops); return register_qdisc(&newred_qdisc_ops); and line unregister_qdisc(&red_qdisc_ops); unregister_qdisc(&newred_qdisc_ops); 6. Now reconfigure the kernel, in the networking options QoS and/or fair queuing- >, you will see a new item called NEW RED queue (NEW), select it as a module and recompile the kernel, and reboot the computer. The above are basic steps in adding a new AQM scheme. In order to implement different AQM schemes, you will need to change the content of sch_newred.c. You will need to define a variable that has the data structure struct Qdisc_ops and implement the functions in that data structure. 3. Modifying tc After adding two kernel modules, you will need to use tc to start, configure and stop them in the kernel. Both the source and the detailed information about tc can be found at First you will learn to use tc to

3 configure RED parameters. Next you will need to add code in tc in order to set the parameters in the AVQ schemes you implemented, display the parameters (by tc s qdisc) and show the queue statistics (also by tc s qdisc). The steps for modifying tc are: To add a dummy parameter, you need to add member dummy in the data structure tc_newred_qopt in both the kernel include file (in /usr/src/linux-(version)/include/linux) and the user include file (in /usr/include/linux) pkt_sched.h, and in struct newred_sched_data in the kernel sch_newred.c file. To add a dummy statistic varible, you need to add member dummy in the structure tc_newred_xstats in both the kernel include file and the user include file pkt_sched.h. To add a tc statistics empty_arrive (the number of packets arrives when the queue is empty): 1. in enqueue: sch->stats.empty_arrive ++; 2. add empty_arrive member in both the kernel include file and the user include file pkt_sched.h 4. Experiments and Demo Now you are ready to carry out experiments to compare the performance of different variants of RED. To carry out the experiments, you need to establish a 2-hop connection, make the second hop a bottleneck and put the RED variants at the intermediate node. You need to use certain traffic measurement tools (such as iperf) to establish a large number of connections and record the throughput attained by the connections under a specific AQM scheme. In the demo shown to the TA, you will need to show: 1. How to add AQM (e.g., RED, REM, AVQ) to the network device using tc. 2. How to display the parameters and queue statistics using tc. At least one parameter and one queue statistics must be different from that in RED. 3. Establish TCP connections and measure the throughput attained under each RED variant. In the report, you will need to include: 1. Overview of your implementation approach. 2. Well-commented source code (with the modified part highlighted, together with sufficient comments to explain why and how the modification is made). 3. Example command or scripts used in your experiments. 4. Plots to compare the performance of the two AQM schemes you implemented, with the parameters you use.

4 5. Debugging experience. 6. Comments and suggests on improving this lab assignment. Record roughly how much time you spend on this project. Itemize the time spent on each part of the lab if possible. 5. References 1. RED, adaptive RED: 2. BLUE : 3. REM: 4. AVQ: 5. Iproute2+tc: Other Complementary information: 1. Flow of functions for queuing disciplines (based on the kernel version ). When a packet is enqueued on an interface, dev_queue_xmit in net/core/dev.c is activated. In this function, it invokes the enqueue function of the device s queuing discipline (field qdisc of struct net_device in include/linux/netdevice.h). Afterwards, dev_queue_xmit calls qdisc_run in include/net/pkt_sched.h to try sending the packet that was just enqueued. qdisc_run immediately calls qdisc_restart in net/sched/sch_generic.c, which is the main function to poll queuing disciplines and to send packets. qdisc_restart first obtain a packet from the queuing discipline using dequeue, and if it succeeds, it invokes dev_queue_xmit_nit to prepare the packet, and the device s hard_start_xmit function to actually send the packet. If a queuing discipline is compiled the kernel, it should be registered by pktsched_init in net/sched/sch_api.c dev_queue_xmit( in net/core/dev.c) q->enqueue qdisc_run qdisc_restart q->dequeue dev_queue_xmit_nit hard_start_xmit

5 2. Flow of functions in tc when one calls tc qdisc add dev eth0 root newred When the first parameter matches qdisc, tc calls do_qdisc in tc.c. If the second parameter matches add, do_qdisc calls tc_qdisc_modify. tc_qdisc_modify parses the parameters dev eth0 root and newred. After it finds out the qdisc type, tc_qdisc_modify invokes q->parse_qopt (which must be implemented by each queue discipline). Afterwards, tc_qdisc_modify establishes a connection with the kernel and sets the queuing parameters in the kernel (by rtnl_open and rtnl_talk). 3. Flow of functions in tc when one calls tc s qdisc : It still first calls do_qdisc in tc.c, which further calls qdisc_list. qdisc_list calls rt_open, rtnl_dump_request and rtnl_dump_filter. rtnl_dump_filter has a function parameter print_qdisc which calls the corresponding queue discipline s print_qopt to print out the qdisc statistics, calls print_tcstats to print out tc statistics, and calls q->print_xstat. 4. Options data structure rtattr and macros: struct rtattr { unsigned short rta_len; unsigned short rta_type; }; /* Macros to handle rtattributes */ #define RTA_ALIGNTO 4 #define RTA_ALIGN(len) ( ((len)+rta_alignto-1) & ~(RTA_ALIGNTO-1) ) #define RTA_OK(rta,len) ((len) > 0 && (rta)->rta_len >= sizeof(struct rtattr) && \ (rta)->rta_len <= (len)) #define RTA_NEXT(rta,attrlen) ((attrlen) -= RTA_ALIGN((rta)->rta_len), \ (struct rtattr*)(((char*)(rta)) + RTA_ALIGN((rt a)->rta_len))) #define RTA_LENGTH(len) (RTA_ALIGN(sizeof(struct rtattr)) + (len)) #define RTA_SPACE(len) RTA_ALIGN(RTA_LENGTH(len)) #define RTA_DATA(rta) ((void*)(((char*)(rta)) + RTA_LENGTH(0))) #define RTA_PAYLOAD(rta) ((int)((rta)->rta_len) - RTA_LENGTH(0)) References Werner Almesberger, Linux Network Traffic Control --- Implementation Overview. (This is based on a slightly older Linux implementation; nevertheless, it is worthwhile to read.)

TD(07)037. The 10th COST 290 MC Meeting. Technische Universität Wien Wien, Austria October 1 2, 2007

TD(07)037. The 10th COST 290 MC Meeting. Technische Universität Wien Wien, Austria October 1 2, 2007 TD(07)037 The 10th COST 290 MC Meeting Technische Universität Wien Wien, Austria October 1 2, 2007 Performance of Wireless IEEE 802.11e-Based Devices with Multiple Hardware Queues Gabriel Lazar, Virgil

More information

Performance of Wireless IEEE e-Based Devices with Multiple Hardware Queues

Performance of Wireless IEEE e-Based Devices with Multiple Hardware Queues Performance of Wireless IEEE 802.11e-Based Devices with Multiple Hardware Queues Gabriel Lazăr, Virgil Dobrotă, Member, IEEE, Tudor Blaga, Member, IEEE 1 Agenda I. Linux Network Subsystem II. Linux Traffic

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

Upper layers (TCP, UDP,...) Traffic control. Input de-multiplexing Forwarding Output queuing. Queuing discipline

Upper layers (TCP, UDP,...) Traffic control. Input de-multiplexing Forwarding Output queuing. Queuing discipline Linux Network Trac Control Implementation Overview Werner Almesberger, PFL ICA Werner.Almesberger@epfl.ch April 23, 1999 Abstract Linux oers a rich set of trac control functions. This document gives an

More information

Emulation of a Space Based Internet Communication Link: Design and Implementation. Sandhya Rallapalli Gary Minden

Emulation of a Space Based Internet Communication Link: Design and Implementation. Sandhya Rallapalli Gary Minden The University of Kansas Technical Report Emulation of a Space Based Internet Communication Link: Design and Implementation Sandhya Rallapalli Gary Minden ITTC-FY2003-24350-04 September 2002 Project Sponsor:

More information

QBone Scavenger Service Implementation for Linux

QBone Scavenger Service Implementation for Linux QBone Scavenger Service Implementation for Linux Mathieu Goutelle Pascale Primet Overview of the QBSS model The QBSS model has been proposed by the Internet2 QoS Working Group. It is part of the Non-Elevated

More information

Linux Traffic Control

Linux Traffic Control Linux Traffic Control Author: Ivan Delchev Course: Networks and Distributed Systems Seminar Instructor: Prof. Juergen Schoenwaelder International University Bremen, Spring 2006 Processing of Network Data

More information

Multimedia Communication. Project 6: Intelligent DiffServ

Multimedia Communication. Project 6: Intelligent DiffServ Multimedia Communication Project 6: Intelligent DiffServ Preliminary Design and interface definition (2003-07-08) Steffen Moser - 1 / 9 - Necessary tasks of a DiffServ aware router: Classifying Marking

More information

STUDY OF SOCKET PROGRAMMING AND CLIENT SERVER MODEL

STUDY OF SOCKET PROGRAMMING AND CLIENT SERVER MODEL STUDY OF SOCKET PROGRAMMING AND CLIENT SERVER MODEL AIM: To conduct an experiment to demonstrate the working of file transfer with the UDP Server and Client. APPARATUS REQUIRED: PC with network simulation

More information

Operating Systems 16 - CS 323 Assignment #2

Operating Systems 16 - CS 323 Assignment #2 Operating Systems 16 - CS 323 Assignment #2 Scheduler March 18, 2016 1 Objectives 1. Learn about scheduling in the Linux kernel 2. Understand the tradeoffs involved in scheduling 3. Work on the codebase

More information

UNIVERSITY OF OSLO Department of Informatics. Implementing Rate Control in NetEm. Untying the NetEm/tc tangle. Master thesis. Anders G.

UNIVERSITY OF OSLO Department of Informatics. Implementing Rate Control in NetEm. Untying the NetEm/tc tangle. Master thesis. Anders G. UNIVERSITY OF OSLO Department of Informatics Implementing Rate Control in NetEm Untying the NetEm/tc tangle Master thesis Anders G. Moe 19th August 2013 Implementing Rate Control in NetEm Anders G. Moe

More information

Operating Systems. 17. Sockets. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski

Operating Systems. 17. Sockets. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski Operating Systems 17. Sockets Paul Krzyzanowski Rutgers University Spring 2015 1 Sockets Dominant API for transport layer connectivity Created at UC Berkeley for 4.2BSD Unix (1983) Design goals Communication

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

The State of the Art in Bufferbloat Testing and Reduction on Linux

The State of the Art in Bufferbloat Testing and Reduction on Linux The State of the Art in Bufferbloat Testing and Reduction on Linux Toke Høiland-Jørgensen Roskilde University IETF 86, 12th March 2013 1 / 31 Outline Introduction Recent changes in the Linux kernel Testing

More information

Internet QoS 1. Integrated Service 2. Differentiated Service 3. Linux Traffic Control

Internet QoS 1. Integrated Service 2. Differentiated Service 3. Linux Traffic Control Internet QoS 1. Integrated Service 2. Differentiated Service 3. Linux Traffic Control weafon 2001/9/27 Concept of IntServ Network A flow is the basic management unit Supporting accurate quality control.

More information

The Network Layer and Routers

The Network Layer and Routers The Network Layer and Routers Daniel Zappala CS 460 Computer Networking Brigham Young University 2/18 Network Layer deliver packets from sending host to receiving host must be on every host, router in

More information

What is an L3 Master Device?

What is an L3 Master Device? What is an L3 Master Device? David Ahern Cumulus Networks Mountain View, CA, USA dsa@cumulusnetworks.com Abstract The L3 Master Device (l3mdev) concept was introduced to the Linux networking stack in v4.4.

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

ABE: Providing a Low Delay within Best Effort

ABE: Providing a Low Delay within Best Effort ABE: Providing a Low Delay within Best Effort P. Hurley, M. Kara, J. Le Boudec, and P. Thiran ICA, Swiss Federal Institute of Technology, Lausanne, Switzerland Sprint ATL, California Department of Computer

More information

APPLICATION. NOTE Date:

APPLICATION. NOTE Date: Product: Hurricane LX800 Title: Installing the Micrel KS884X Ethernet Driver using Linux Concerned Versions All General Information This paper discusses the implementation of the Micrel KS8842 ethernet

More information

Order of Packet Transmission and Dropping

Order of Packet Transmission and Dropping Laboratory 9 Queuing Disciplines Order of Packet Transmission and Dropping Objective The objective of this lab is to examine the effect of different queuing disciplines on packet delivery and delay for

More information

Project 2: CPU Scheduling Simulator

Project 2: CPU Scheduling Simulator Project 2: CPU Scheduling Simulator CSCI 442, Spring 2017 Assigned Date: March 2, 2017 Intermediate Deliverable 1 Due: March 10, 2017 @ 11:59pm Intermediate Deliverable 2 Due: March 24, 2017 @ 11:59pm

More information

Queuing Disciplines. Order of Packet Transmission and Dropping. Laboratory. Objective. Overview

Queuing Disciplines. Order of Packet Transmission and Dropping. Laboratory. Objective. Overview Laboratory 2 Queuing Disciplines Order of Packet Transmission and Dropping Objective The objective of this lab is to examine the effect of different queuing disciplines on packet delivery and delay for

More information

Policy Server and Policy Control Agent

Policy Server and Policy Control Agent Policy Server and Policy Control Agent IRoNet Seminar 8 th January, 2004 Piia Pulkkinen Networking Laboratory, HUT Location in the Big Picture Development environment overview Policy Server implementation

More information

Laboratory Assignment #3. Extending scull, a char pseudo-device

Laboratory Assignment #3. Extending scull, a char pseudo-device Laboratory Assignment #3 Extending scull, a char pseudo-device Value: (See the Grading section of the Syllabus.) Due Date and Time: (See the Course Calendar.) Summary: This is your first exercise that

More information

Southern Polytechnic State University Spring Semester 2009

Southern Polytechnic State University Spring Semester 2009 Southern Polytechnic State University Spring Semester 2009 ECET 4840 Laboratory Exercises 9: Router Queuing Configuration and Testing Objective: Students will investigate the effect of varying link capacity

More information

Lecture 21. Reminders: Homework 6 due today, Programming Project 4 due on Thursday Questions? Current event: BGP router glitch on Nov.

Lecture 21. Reminders: Homework 6 due today, Programming Project 4 due on Thursday Questions? Current event: BGP router glitch on Nov. Lecture 21 Reminders: Homework 6 due today, Programming Project 4 due on Thursday Questions? Current event: BGP router glitch on Nov. 7 http://money.cnn.com/2011/11/07/technology/juniper_internet_outage/

More information

TCP LoLa Toward Low Latency and High Throughput Congestion Control

TCP LoLa Toward Low Latency and High Throughput Congestion Control TCP LoLa Toward Low Latency and High Throughput Congestion Control Mario Hock, Felix Neumeister, Martina Zitterbart, Roland Bless KIT The Research University in the Helmholtz Association www.kit.edu Motivation

More information

Introduction to Click

Introduction to Click Introduction to Click ECE544 Communication Networks II Francesco Bronzino Includes teaching material from Bart Braem and Michael Voorhaen Click Modular Router Extensible toolkit for writing packet processors

More information

An Adaptive Virtual Queue (AVQ) Algorithm for Active Queue Management

An Adaptive Virtual Queue (AVQ) Algorithm for Active Queue Management University of Pennsylvania ScholarlyCommons Departmental Papers (ESE) Department of Electrical & Systems Engineering April 2004 An Adaptive Virtual Queue (AVQ) Algorithm for Active Queue Management Srisankar

More information

Event Device Drivers. Release rc1

Event Device Drivers. Release rc1 Event Device Drivers Release 19.02.0-rc1 December 23, 2018 CONTENTS 1 NXP DPAA Eventdev Driver 2 1.1 Features........................................ 2 1.2 Supported DPAA SoCs................................

More information

Modern Computer Network

Modern Computer Network Modern Computer Network An Open Source Approach Chapter 6. Internet QoS Content 6.1 Issues: Requirements for the QoS Network Signal Protocol QoS Routing Admission Control Packet Classification Policing

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

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

Implementation and Evaluation of Proportional Integral controller Enhanced Algorithm in ns-3

Implementation and Evaluation of Proportional Integral controller Enhanced Algorithm in ns-3 8th Annual Workshop on ns-3 (WNS3 2016) Implementation and Evaluation of Proportional Integral controller Enhanced Algorithm in ns-3 Mohit P. Tahiliani, Shravya K. S., Smriti Murali Wireless Information

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

Implementation of Differentiated Services over ATM

Implementation of Differentiated Services over ATM Implementation of Differentiated s over ATM Torsten Braun, Arik Dasen, and Matthias Scheidegger; Institute of Computer Science and Applied Mathematics, University of Berne, Switzerland Karl Jonas and Heinrich

More information

PCI Performance on the RC32334/RC32332

PCI Performance on the RC32334/RC32332 PCI Performance on the RC32334/RC32332 Application Note AN-367 By Rakesh Bhatia and Pallathu Sadik Revision History April 19, 2002: Initial publication. September 4, 2002: Updated for revision YC silicon.

More information

Traffic Engineering 2015/2016. Fernando M. Silva. Instituto Superior Técnico. QoS, Scheduling & priority queues.

Traffic Engineering 2015/2016. Fernando M. Silva. Instituto Superior Técnico. QoS, Scheduling & priority queues. Traffic Engineering 2015/2016 QoS, Scheduling & priority queues fernando.silva@tecnico.ulisboa.pt Instituto Superior Técnico Trafffic Engineering 2015/16 1 Outline Traffic optimization & QoS Scheduling

More information

CS 356: Computer Network Architectures Lecture 19: Congestion Avoidance Chap. 6.4 and related papers. Xiaowei Yang

CS 356: Computer Network Architectures Lecture 19: Congestion Avoidance Chap. 6.4 and related papers. Xiaowei Yang CS 356: Computer Network Architectures Lecture 19: Congestion Avoidance Chap. 6.4 and related papers Xiaowei Yang xwy@cs.duke.edu Overview More on TCP congestion control Theory Macroscopic behavior TCP

More information

Dynamic Fair Queuing (DFQ): A Novel Fair Scheduler Improving Wireless Transmission over Hybrid LANs

Dynamic Fair Queuing (DFQ): A Novel Fair Scheduler Improving Wireless Transmission over Hybrid LANs Dynamic Fair Queuing (DFQ): A Novel Fair Scheduler Improving Wireless Transmission over Hybrid LANs Ce-Kuen Shieh, Yu-Ben Miao, Ming-Qi Shieh, Wen-Shyang Hwang Institute of Electrical Engineering, National

More information

UNIVERSITY OF OSLO Department of Informatics. Late data choice with the Linux TCP/IP stack. Master Thesis. Erlend Birkedal

UNIVERSITY OF OSLO Department of Informatics. Late data choice with the Linux TCP/IP stack. Master Thesis. Erlend Birkedal UNIVERSITY OF OSLO Department of Informatics Late data choice with the Linux TCP/IP stack Master Thesis Erlend Birkedal 24th May 2006 Abstract The amount of time critical data sent on the Internet is

More information

Real-Time Networking for Quality of Service on TDM based Ethernet

Real-Time Networking for Quality of Service on TDM based Ethernet Real-Time Networking for Quality of Service on TDM based Ethernet Badri Prasad Subramanyan Master s Thesis Defense 26 th Jan 2005 Committee: Dr. Douglas Niehaus Dr. David Andrews Dr. Jerry James Presentation

More information

Design and Evaluation of a Partial state router

Design and Evaluation of a Partial state router Design and Evaluation of a Partial state router Phani Gopal V Achanta and A.L. Narasimha Reddy Texas A&M University, College Station, Texas 77843-3128 Email: phani@cs.tamu.edu, reddy@ee.tamu.edu Abstract

More information

VoIP over wireless networks: a packet scheduling approach to provide QoS using Linux

VoIP over wireless networks: a packet scheduling approach to provide QoS using Linux VoIP over 82.11 wireless networks: a packet scheduling approach to provide QoS using Linux Terrence van Valkenhoef and Mishar Mahboob December 13, 25 Abstract In this work, we propose a layer three scheduler

More information

Integration of CIF with ATM

Integration of CIF with ATM Integration of CIF with D. Meziat, A. García, G. López Departamento de Automática Universidad of Alcalá Escuela Politécnica 28871 Alcalá de Henares, Spain Phone: +34 91 8856627 Fax: +34 91 8856641 {jmarco,

More information

destination a (eth1)

destination a (eth1) ECE 4110 Lab 9: Configuring a Linux Machine as a Router and Modifying the Operating System Date Assigned: November 8, 2010 Due Date: November 15, 2010 Please note this is a much longer lab than the others

More information

DATA CENTER TO THE HOME

DATA CENTER TO THE HOME DATA CENTER TO THE HOME Koen De Scheer, Inton Tsang. Olga Bondarenko. Bob Briscoe. koen.de_scheer@alcatel-lucent.com March, 015 1 DCttH OBJECTIVE: UNIVERSAL SUPPORT FOR LOW LATENCY = SUPPORT FOR ADAPTIVE

More information

Chair for Network Architectures and Services Prof. Carle Department of Computer Science Technische Universität München.

Chair for Network Architectures and Services Prof. Carle Department of Computer Science Technische Universität München. Chair for Network Architectures and Services Prof. Carle Department of Computer Science Technische Universität München Network Analysis 2b) Deterministic Modelling beyond Formal Logic A simple network

More information

Experimental Networking ECSE-4963

Experimental Networking ECSE-4963 Experimental Networking ECSE-4963 I hear and I forget. I see and I remember. I do and I understand. -- Chinese Proverb shivkuma@ecse.rpi.edu http://www.ecse.rpi.edu/homepages/shivkuma/ 1 Who s Who Instructor:

More information

Lecture 14: M/G/1 Queueing System with Priority

Lecture 14: M/G/1 Queueing System with Priority Lecture 14: M/G/1 Queueing System with Priority Dr. Mohammed Hawa Electrical Engineering Department University of Jordan EE723: Telephony. Priority Queueing Systems Until the moment, we assumed identical

More information

A Linux Implementation of a Differentiated Services Router

A Linux Implementation of a Differentiated Services Router A Linux Implementation of a Differentiated Services Router Torsten Braun, Hans Joachim Einsiedler 1, Matthias Scheidegger, Günther Stattenberger, Karl Jonas 2, Heinrich J. Stüttgen 2 Institute of Computer

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

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

ENDING THE ANOMALY ACHIEVING LOW LATENCY AND AIRTIME FAIRNESS IN WIFI

ENDING THE ANOMALY ACHIEVING LOW LATENCY AND AIRTIME FAIRNESS IN WIFI ENDING THE ANOMALY ACHIEVING LOW LATENCY AND AIRTIME FAIRNESS IN WIFI Toke Høiland-Jørgensen (Karlstad University), Michał Kazior (Tieto Poland), Dave Täht (Teklibre), Per Hurtig and Anna Brunstrom (Karlstad

More information

Project No. 2: Process Scheduling in Linux Submission due: April 12, 2013, 11:59pm

Project No. 2: Process Scheduling in Linux Submission due: April 12, 2013, 11:59pm Project No. 2: Process Scheduling in Linux Submission due: April 12, 2013, 11:59pm PURPOSE Getting familiar with the Linux kernel source code. Understanding process scheduling and how different parameters

More information

Order of Packet Transmission and Dropping

Order of Packet Transmission and Dropping LAB 11 Queuing Disciplines Order of Packet Transmission and Dropping OBJECTIVES The objective of this lab is to examine the effect of various queuing disciplines on packet delivery and delay for different

More information

CS 326 Operating Systems C Programming. Greg Benson Department of Computer Science University of San Francisco

CS 326 Operating Systems C Programming. Greg Benson Department of Computer Science University of San Francisco CS 326 Operating Systems C Programming Greg Benson Department of Computer Science University of San Francisco Why C? Fast (good optimizing compilers) Not too high-level (Java, Python, Lisp) Not too low-level

More information

Make Your Own Linux Module CS 444/544

Make Your Own Linux Module CS 444/544 Make Your Own Linux Module CS 444/544 Lab Preparation: Running VM! Download the image using - wget http://cslabs.clarkson.edu/oslab/syscall_lab.vdi! Applications -> Accessories-> VirtualBox! In Virtual

More information

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University Prof. Peng Li TA: Andrew Targhetta (Lab exercise created by A Targhetta and P Gratz) Laboratory

More information

Who fears the spectres?

Who fears the spectres? Who fears the spectres? Performance impacts of spectre/meltdown counter-measures and possible improvements Paolo Abeni - Red Hat NetConf, Boston 2018 Outline Performance impact of PTI and retpoline on

More information

Measuring Application's network behaviour

Measuring Application's network behaviour EuroNGI PhD measurement workshop - 1 Measuring Application's network behaviour EuroNGI PhD measurement workshop University of Linz,, Austria May, 12th 2006 Sven Hessler http://dps.uibk.ac.at/~sven Institute

More information

Activity-Based Congestion Management for Fair Bandwidth Sharing in Trusted Packet Networks

Activity-Based Congestion Management for Fair Bandwidth Sharing in Trusted Packet Networks Communication Networks Activity-Based Congestion Management for Fair Bandwidth Sharing in Trusted Packet Networks Michael Menth and Nikolas Zeitler http://kn.inf.uni-tuebingen.de Outline The problem Definition

More information

Recursively Cautious Congestion Control

Recursively Cautious Congestion Control Recursively Cautious Congestion Control Radhika Mittal Justine Sherry Sylvia Ratnasamy Scott Shenker UC Berkeley ICSI Abstract TCP s congestion control is deliberately cautious, avoiding network overloads

More information

Destruction Testing: Ultra-Low Delay using Dual Queue Coupled Active Queue Management

Destruction Testing: Ultra-Low Delay using Dual Queue Coupled Active Queue Management Destruction Testing: Ultra-Low Delay using Dual Queue Coupled Active Queue Management Henrik Steen Thesis submitted for the degree of Master in Informatics: Programming and Networks 60 credits Department

More information

STateless Resource Sharing (SRS)

STateless Resource Sharing (SRS) STateless Resource Sharing (SRS) via per packet value (PPV) marking (New serious method for ensuring QoS characteristics) 2016-05-25, IEEE P802.1Qcr, Budapest Balázs Varga (A), Szilveszter Nádas, János

More information

Congestion Avoidance

Congestion Avoidance COMP 631: NETWORKED & DISTRIBUTED SYSTEMS Congestion Avoidance Jasleen Kaur Fall 2016 1 Avoiding Congestion: Strategies TCP s strategy: congestion control Ø Control congestion once it occurs Repeatedly

More information

Quality of Service. Traffic Descriptor Traffic Profiles. Figure 24.1 Traffic descriptors. Figure Three traffic profiles

Quality of Service. Traffic Descriptor Traffic Profiles. Figure 24.1 Traffic descriptors. Figure Three traffic profiles 24-1 DATA TRAFFIC Chapter 24 Congestion Control and Quality of Service The main focus of control and quality of service is data traffic. In control we try to avoid traffic. In quality of service, we try

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

Figure 1: Graphical representation of a client-server application

Figure 1: Graphical representation of a client-server application CS/EE 145a : Networking Lab #1 http://www.its.caltech.edu/ eecs145/ Due: October 24, 2007 1 Introduction The development of network-based software has been around for many years. Since its conception,

More information

Grandstream Networks, Inc. GWN7000 QoS - VoIP Traffic Management

Grandstream Networks, Inc. GWN7000 QoS - VoIP Traffic Management Grandstream Networks, Inc. GWN7000 QoS - VoIP Traffic Management Table of Contents INTRODUCTION... 4 DSCP CLASSIFICATION... 5 QUALITY OF SERVICE ON GWN7000... 6 USING QOS TO PRIORITIZE VOIP TRAFFIC...

More information

Congestion Control for High Bandwidth-delay Product Networks

Congestion Control for High Bandwidth-delay Product Networks Congestion Control for High Bandwidth-delay Product Networks Dina Katabi, Mark Handley, Charlie Rohrs Presented by Chi-Yao Hong Adapted from slides by Dina Katabi CS598pbg Sep. 10, 2009 Trends in the Future

More information

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University Prof. Sunil P. Khatri Lab exercise created and tested by: Abbas Fairouz, Ramu Endluri, He Zhou,

More information

jelly-near jelly-far

jelly-near jelly-far sudo./run Two interfaces created: os0, os1 Two networks created: (add to /etc/networks) peanut where os0 will connect 192.168.0.0 grape where os1 will connect 192.168.1.0 Two IP addresses in peanut: (add

More information

Scheduling Data Flows using DRR

Scheduling Data Flows using DRR CS/CoE 535 Acceleration of Networking Algorithms in Reconfigurable Hardware Prof. Lockwood : Fall 2001 http://www.arl.wustl.edu/~lockwood/class/cs535/ Scheduling Data Flows using DRR http://www.ccrc.wustl.edu/~praveen

More information

Increasing Automation in the Backporting of Linux Drivers Using Coccinelle

Increasing Automation in the Backporting of Linux Drivers Using Coccinelle 1 Increasing Automation in the Backporting of Linux Drivers Using Coccinelle Luis R. Rodriguez, (SUSE Labs) Julia Lawall (Inria/LIP6/UPMC/Sorbonne Universités) September 10, 2015 What is backporting? Linux

More information

Increasing Automation in the Backporting of Linux Drivers Using Coccinelle

Increasing Automation in the Backporting of Linux Drivers Using Coccinelle Increasing Automation in the Backporting of Linux Drivers Using Coccinelle Luis R. Rodriguez, (SUSE Labs) Julia Lawall (Inria/LIP6/UPMC/Sorbonne University-Whisper) January, 2015 (Unpublished work) What

More information

Problem Set: Processes

Problem Set: Processes Lecture Notes on Operating Systems Problem Set: Processes 1. Answer yes/no, and provide a brief explanation. (a) Can two processes be concurrently executing the same program executable? (b) Can two running

More information

tcconfig Documentation

tcconfig Documentation tcconfig Documentation Release 0.17.0 Tsuyoshi Hombashi Nov 04, 2017 Table of Contents 1 tcconfig 1 1.1 Summary................................................. 1 1.2 Traffic control features..........................................

More information

Scalable Emulation of IP Networks through Virtualization

Scalable Emulation of IP Networks through Virtualization Scalable Emulation of IP Networks through Virtualization by Amit P Kucheria B.E. (Computer Science and Engineering), SSGMCE, India, 1998 Submitted to the Department of Electrical Engineering and Computer

More information

Congestion Avoidance

Congestion Avoidance Congestion Avoidance Richard T. B. Ma School of Computing National University of Singapore CS 5229: Advanced Compute Networks References K. K. Ramakrishnan, Raj Jain, A Binary Feedback Scheme for Congestion

More information

Qdisc layer. Fast enough for 10G wirespeed? Jesper Dangaard Brouer Hannes Frederic Sowa Daniel Borkmann Florian Westphal

Qdisc layer. Fast enough for 10G wirespeed? Jesper Dangaard Brouer Hannes Frederic Sowa Daniel Borkmann Florian Westphal Qdisc layer Fast enough for 10G wirespeed? Jesper Dangaard Brouer Hannes Frederic Sowa Daniel Borkmann Florian Westphal Network-Services-Team, Red Hat inc. 1/17 Netfilter Workshop, July 2014 Overview Analysing

More information

NGN Progress Report. Table of Contents

NGN Progress Report. Table of Contents NGN Progress Report Title: Simulator Scalability Testing Prepared by: Richard Nelson Date: 08 February, 2006 Table of Contents Introduction...2 Simulators...2 Test Method...2 Simulation Model...2 CPU Utilisation...2

More information

521262S Computer Networks 2 (fall 2007) Laboratory exercise #4: Multimedia, QoS and testing

521262S Computer Networks 2 (fall 2007) Laboratory exercise #4: Multimedia, QoS and testing 521262S Computer Networks 2 (fall 2007) Laboratory exercise #4: Multimedia, QoS and testing Name Student ID Signature In this exercise we will take a little look at the multimedia and Quality of Service

More information

CS 378 (Spring 2003)

CS 378 (Spring 2003) Department of Computer Sciences THE UNIVERSITY OF TEXAS AT AUSTIN CS 378 (Spring 2003) Linux Kernel Programming Yongguang Zhang (ygz@cs.utexas.edu) Copyright 2003, Yongguang Zhang This Lecture Linux Networking

More information

Implementation of Feedback Mechanism into AODV based on NS2

Implementation of Feedback Mechanism into AODV based on NS2 Implementation of Feedback Mechanism into AODV based on NS2 Sebastian Roschke [sebastian.roschke@hpi.uni-potsdam.de] 2007-05-16 Abstract This paper gives an overview on the implementation of a feedback

More information

QoS Services with Dynamic Packet State

QoS Services with Dynamic Packet State QoS Services with Dynamic Packet State Ion Stoica Carnegie Mellon University (joint work with Hui Zhang and Scott Shenker) Today s Internet Service: best-effort datagram delivery Architecture: stateless

More information

UML Simulator. Werner Almesberger. 1 Introduction.

UML Simulator. Werner Almesberger. 1 Introduction. UML Simulator Werner Almesberger werner@almesberger.net Abstract umlsim extends user-mode Linux (UML) with an event-driven simulation engine and other instrumentation needed for deterministically controlling

More information

Implementation Experiments on HighSpeed and Parallel TCP

Implementation Experiments on HighSpeed and Parallel TCP Implementation Experiments on HighSpeed and TCP Zongsheng Zhang Go Hasegawa Masayuki Murata Osaka University Outline Introduction Background of and g Why to evaluate in a test-bed network A refined algorithm

More information

Sebastian Zander, Grenville Armitage. Centre for Advanced Internet Architectures (CAIA) Swinburne University of Technology

Sebastian Zander, Grenville Armitage. Centre for Advanced Internet Architectures (CAIA) Swinburne University of Technology TCP Experiment Automation Controlled Using Python (TEACUP) Sebastian Zander, Grenville Armitage Centre for Advanced Internet Architectures (CAIA) Swinburne University of Technology Overview TCP Experiments

More information

Chunyan Wang Electrical and Computer Engineering Dept. National University of Singapore

Chunyan Wang Electrical and Computer Engineering Dept. National University of Singapore Chunyan Wang Electrical and Computer Engineering Dept. engp9598@nus.edu.sg A Framework of Integrating Network QoS and End System QoS Chen Khong Tham Electrical and Computer Engineering Dept. eletck@nus.edu.sg

More information

Packet Aggregation in Linux

Packet Aggregation in Linux Computer science Jonas Brolin Mikael Hedegren Packet Aggregation in Linux Computer science C-level thesis 15p Date/Term: 08-06-03 Supervisor: Examiner: Andreas Kassler Martin Blom Serial Number: C2008:04

More information

CS 349/449 Internet Protocols Final Exam Winter /15/2003. Name: Course:

CS 349/449 Internet Protocols Final Exam Winter /15/2003. Name: Course: CS 349/449 Internet Protocols Final Exam Winter 2003 12/15/2003 Name: Course: Instructions: 1. You have 2 hours to finish 2. Question 9 is only for 449 students 3. Closed books, closed notes. Write all

More information

Overview. Queuing Schemes (1) Motivation. Smart Queuing: An Adaptive Approach. Motivation Queuing Schemes Smart Queuing Implementation Summary

Overview. Queuing Schemes (1) Motivation. Smart Queuing: An Adaptive Approach. Motivation Queuing Schemes Smart Queuing Implementation Summary CMPT 885-3: Special Topics: High-Performance Networks Final Project Demo Spring 2002 Overview Smart Queuing: An Adaptive Approach By Tedi Susanto & Jason Sze {tsusanto,jszea}@cs.sfu.ca Motivation Queuing

More information

SELECTION OF METRICS (CONT) Gaia Maselli

SELECTION OF METRICS (CONT) Gaia Maselli SELECTION OF METRICS (CONT) Gaia Maselli maselli@di.uniroma1.it Computer Network Performance 2 Selecting performance metrics Computer Network Performance 3 Selecting performance metrics speed Individual

More information

Linux Kernel Development (LKD)

Linux Kernel Development (LKD) Linux Kernel Development (LKD) Session 2 CISTER Framework: Laboratory 2 Paulo Baltarejo Sousa pbs@isep.ipp.pt 2017 1 Introduction The goal of the CISTER framework is to create a set of tools that help

More information

RECHOKe: A Scheme for Detection, Control and Punishment of Malicious Flows in IP Networks

RECHOKe: A Scheme for Detection, Control and Punishment of Malicious Flows in IP Networks > REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) < : A Scheme for Detection, Control and Punishment of Malicious Flows in IP Networks Visvasuresh Victor Govindaswamy,

More information

XCP: explicit Control Protocol

XCP: explicit Control Protocol XCP: explicit Control Protocol Dina Katabi MIT Lab for Computer Science dk@mit.edu www.ana.lcs.mit.edu/dina Sharing the Internet Infrastructure Is fundamental Much research in Congestion Control, QoS,

More information

Studying Fairness of TCP Variants and UDP Traffic

Studying Fairness of TCP Variants and UDP Traffic Studying Fairness of TCP Variants and UDP Traffic Election Reddy B.Krishna Chaitanya Problem Definition: To study the fairness of TCP variants and UDP, when sharing a common link. To do so we conduct various

More information

IT Certification Exams Provider! Weofferfreeupdateserviceforoneyear! h ps://www.certqueen.com

IT Certification Exams Provider! Weofferfreeupdateserviceforoneyear! h ps://www.certqueen.com IT Certification Exams Provider! Weofferfreeupdateserviceforoneyear! h ps://www.certqueen.com Exam : 4A0-107 Title : Alcatel-Lucent Quality of Service Version : Demo 1 / 6 1.The IP ToS field consists of

More information