TKN. Technische Universität Berlin. Circuit Switching Module for ns-2. Filip Idzikowski. Berlin, March 2009

Similar documents
Basics (cont.) Characteristics of data communication technologies OSI-Model

Quality of Service Mechanism for MANET using Linux Semra Gulder, Mathieu Déziel

PERFORMANCE ANALYSIS OF AF IN CONSIDERING LINK UTILISATION BY SIMULATION WITH DROP-TAIL

The Network Layer and Routers

Toward a Reliable Data Transport Architecture for Optical Burst-Switched Networks

LS Example 5 3 C 5 A 1 D

Dynamic Routing and Resource Allocation in WDM Transport Networks

Network Layer Enhancements

A Preferred Service Architecture for Payload Data Flows. Ray Gilstrap, Thom Stone, Ken Freeman

Quality of Service in the Internet

II. Principles of Computer Communications Network and Transport Layer

Network Simulator 2. Telematica I (CdL Ing. INF) Ing. Giuseppe Piro.

A closer look at network structure:

PERFORMANCE ANALYSIS OF AF IN CONSIDERING LINK

Real-Time Protocol (RTP)

Resource Allocation and Queuing Theory

PARALLEL ALGORITHMS FOR IP SWITCHERS/ROUTERS

Module objectives. Integrated services. Support for real-time applications. Real-time flows and the current Internet protocols

DMN1 : COMMUNICATION PROTOCOL SIMULATION. Faculty of Engineering Multimedia University

2. Traffic lect02.ppt S Introduction to Teletraffic Theory Spring

Lecture 2 Communication services The Trasport Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Optical Packet Switching

Internet Services & Protocols. Quality of Service Architecture

Quality of Service in the Internet

BROADBAND AND HIGH SPEED NETWORKS

SELECTION OF METRICS (CONT) Gaia Maselli

Affects of Queuing Mechanisms on RTP Traffic Comparative Analysis of Jitter, End-to- End Delay and Packet Loss

Episode 5. Scheduling and Traffic Management

TCP Window Estimation for Burst Assembly in OBS Networks

Congestion control in TCP

SUMMERY, CONCLUSIONS AND FUTURE WORK

QoS Configuration. Overview. Introduction to QoS. QoS Policy. Class. Traffic behavior

BROADBAND AND HIGH SPEED NETWORKS

Design and Performance Evaluation of a New Spatial Reuse FireWire Protocol. Master s thesis defense by Vijay Chandramohan

Lecture 5: Performance Analysis I

2. Traffic. Contents. Offered vs. carried traffic. Characterisation of carried traffic

Communication Fundamentals in Computer Networks

Unit 2 Packet Switching Networks - II

Performance of Multihop Communications Using Logical Topologies on Optical Torus Networks

Analysis of the interoperation of the Integrated Services and Differentiated Services Architectures

end systems, access networks, links circuit switching, packet switching, network structure

Simulation and Analysis of Impact of Buffering of Voice Calls in Integrated Voice and Data Communication System

Configuring global CAR 73 Overview 73 Configuring aggregate CAR 73 Configuration procedure 73 Configuration example 73

Multiconfiguration Multihop Protocols: A New Class of Protocols for Packet-Switched WDM Optical Networks

Quality of Service (QoS)

of-service Support on the Internet

Layer 3: Network Layer. 9. Mar INF-3190: Switching and Routing

fair-queue aggregate-limit

What Is Congestion? Effects of Congestion. Interaction of Queues. Chapter 12 Congestion in Data Networks. Effect of Congestion Control

Quality of Service in the Internet. QoS Parameters. Keeping the QoS. Leaky Bucket Algorithm

Flow Control Packet Marking Scheme: to identify the sources of Distributed Denial of Service Attacks

Simulation with NS-2 and CPN tools. Ying-Dar Lin Department of Computer Science, National Chiao Tung University

Chapter - 7. Multiplexing and circuit switches

ECE 650 Systems Programming & Engineering. Spring 2018

Communication Networks

Lecture 2: Internet Structure

QoS for Real Time Applications over Next Generation Data Networks

Master Course Computer Networks IN2097

Master Course Computer Networks IN2097

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Configuring priority marking 63 Priority marking overview 63 Configuring priority marking 63 Priority marking configuration example 64

CSCD 433/533 Advanced Networks Spring Lecture 22 Quality of Service

CS519: Computer Networks

INTRODUCTORY COMPUTER

Network Support for Multimedia

Quality of Service Monitoring and Delivery Part 01. ICT Technical Update Module

An Evaluation of Deficit Round Robin Fair Queuing Applied in Router Congestion Control

Master s Thesis. Title. Supervisor Professor Masayuki Murata. Author Yuki Koizumi. February 15th, 2006

Presentation Outline. Evolution of QoS Architectures. Quality of Service Monitoring and Delivery Part 01. ICT Technical Update Module

Master Course Computer Networks IN2097

Master Course Computer Networks IN2097

Lecture Outline. Bag of Tricks

Introduction to IP QoS

Chapter 24 Congestion Control and Quality of Service 24.1

Assignment #1. Csci4211 Spring Due on Feb. 13th, Notes: There are five questions in this assignment. Each question has 10 points.

Progress Report No. 3. A Case Study on Simulation Scenario

What Is Congestion? Computer Networks. Ideal Network Utilization. Interaction of Queues

Simple Data Link Protocols

Communication Networks

Week 7: Traffic Models and QoS

Lecture 24: Scheduling and QoS

Performance Analysis of Storage-Based Routing for Circuit-Switched Networks [1]

Prioritized Shufflenet Routing in TOAD based 2X2 OTDM Router.

AVC College of Engineering, Mayiladuthurai, India

Design and implementation of optical burst switching (OBS)

Applications/Design. Example. Locating Resource. End-to-end. Connection UCB. Applications EECS 122

UNIT-II OVERVIEW OF PHYSICAL LAYER SWITCHING & MULTIPLEXING

MPEG4 VIDEO OVER PACKET SWITCHED CONNECTION OF THE WCDMA AIR INTERFACE

Advanced Computer Networks

Multimedia Streaming. Mike Zink

II. ROUTING CATEGORIES

Congestion in Data Networks. Congestion in Data Networks

Contents. QoS overview 1

Table of Contents 1 QoS Overview QoS Policy Configuration Priority Mapping Configuration 3-1

Improving TCP Performance over Wireless Networks using Loss Predictors

RD-TCP: Reorder Detecting TCP

A Path Decomposition Approach for Computing Blocking Probabilities in Wavelength-Routing Networks

"Filling up an old bath with holes in it, indeed. Who would be such a fool?" "A sum it is, girl," my father said. "A sum. A problem for the mind.

2 Network Basics. types of communication service. how communication services are implemented. network performance measures. switching.

Multicast and Quality of Service. Internet Technologies and Applications

Transcription:

TKN Telecommunication Networks Group Technische Universität Berlin Telecommunication Networks Group Circuit Switching Module for ns-2 Filip Idzikowski idzikowski@tkn.tu-berlin.de Berlin, March 2009 TKN Technical Report TKN-09-003 TKN Technical Reports Series Editor: Prof. Dr.-Ing. Adam Wolisz Copyright 2009: Technische Universität Berlin. All Rights reserved.

Abstract This report presents the Circuit Switching Module for ns-2. This module allows establishment of circuits (connections with reserved bandwidth) in the simulated packet-switched network. The Admission Control mechanism at the edges of the circuit decides which packets are allowed to use the circuit. The packets that do not fit into the circuit can be redirected into the packet-switched part of the network, to any outgoing link of the node. Moreover, a Stats Monitor was implemented to collect various packet statistics. The extension was validated using a six node butterfly network with a bidirectional circuit. Contents 1 Introduction 2 1.1 Motivation 2 1.2 Metrics 3 2 Simulation model 3 3 Solution 5 3.1 Classifier 6 3.2 Queues 6 3.3 Stats Monitor 7 4 Scope of the experiments 8 4.1 Multipathing 9 4.2 Circuit capacity 9 4.3 Redirections 10 5 Conclusions 12 A Application Programming Interface 13 A.1 TCL Syntax 13 A.1.1 CSQueue object commands 13 A.1.2 CSSrcDestFidHashClassifier object commands 14 A.1.3 StatsMonitor object commands 14 References 15

1 Introduction 2 1 Introduction Figure 1: Data rate at DE-CIX (Daily Graph from [3]) Circuit switching has been present in telecommunication networks since the invention of telephone. Dynamic establishment of circuits may increase the utilisation of transport networks and QoS of Internet applications. In order to investigate these potential benefits using one of the most popular network simulators ns-2 [1], the simulator had to be extended with a Circuit Switching Module. This work describes some implementation details of the Circuit Switching Module, its functionalities, and TCL syntax. 1.1 Motivation The circuits (connections with reserved banwidth) are to carry IP packets. They are seen as direct links by the IP layer. The data rate of IP traffic is variable in time (see e.g. Fig. 1), so it would be efficient to establish and tear down circuits dynamically, according to the variations of traffic data rate. Admission Control at the edges of circuits makes decisions which packets are allowed to use the circuit. It is a mean of prioritisation (in a special case all packets are allowed to use the circuit). Introduction of shortcut circuits into the packet-switched Internet [2] brings the risk of TCP mechanisms greedily grabbing all the available resources of the circuit. If the packets that do not fit into the circuit (due to lack of its resources) are redirected into the packet switched part of the network, they may be overtaken by subsequent packets transported by the circuit. This may lead to reorderings at the destinations, and therefore to retransmissions, and consequently decrease of goodput as well as increase of jitter at the application level. The Circuit Switching Module for ns-2 has to model the redirections too in order to enable investigation of their influence on the network performance. Moreover, the existing traffic sink models of ns-2 do not contain Flow Monitors that collect statistics like packet delay, jitter etc. (analysis of output trace files demands too much computing resources when simulating

2 Simulation model 3 backbone networks), so this is also a subject of simulation model extension. The simulation model developed in this work may serve to answer the following questions: What is the influence of circuit establishment on the performance of the rest of the packet-switched network? How should a circuit be dimensioned? Between which nodes should a circuit be established? How do packet redirections influence network performance? However the Circuit Switching module can obviously be used for other purposes as well. 1.2 Metrics In order to be able to measure the improvement or deterioration of the network performance upon the circuit establishment, the following metrics are used: Packet transmission delay Jitter Packet loss rate Throughput and goodput Network and link utilisation They are collected by the implemented Stats Monitors (see section 3.3). Various statistics can also be obtained by analysis of the output trace file of ns-2. 2 Simulation model The base of the simulation model is inherited from ns-2 [1]. The Circuit Switching Module as extension to ns-2 is presented in this section. It possesses the following functionalities: Each node can assign packets to a packet-switched part of the network (PSPN, lower priority) and circuit-switched part of the network (CSPN, higher priority). A circuit can be established between any two nodes in the network. Multiple circuits can be established between a node pair.

2 Simulation model 4 Figure 2: Simplified node model without traffic sources and sinks The capacity reserved for the circuit can take any positive value smaller equal the capacity available at the links the circuit traverses. The circuit can take arbitrary, user-defined routes. Each circuit possesses a buffer at its edge. The buffer acts as a traffic shaper. It stores the packets in case a burst of packets temporarily exceeds the capacity of the circuit, and decreases the packet losses at the edge of the circuit. The considered system consists of a group of network nodes interconnected by links. A simplified node model is shown in Figure 2. Packets arrive at the node entry and the routing decision is made according to their source, destination and flow id as well as the state of the queues at the node s outputs. The queues are served by the output links with their data rates. Figure 3 shows the structure of a single queue from Figure 2. It stores packets that are to be sent to one output link. In order to guarantee the capacity for a circuit, not only appropriate bandwidth of links needs to be exclusively reserved for the circuit, but also the buffer capacity needs to be exclusively reserved for it. Therefore the buffer at the input to a link is divided into up to d separate buffers, one of which is dedicated to PSPN, and the rest to the circuits traversing given node. A packet upon arrival is enqueued in the appropriate buffer based on the flow id of the incoming packet and its status (whether it is a redirected packet or not - see section 3.1). If the incoming packet arrives to a full PSPN buffer, the packet is dropped. Packets at the head of each subqueue are served at the rates assigned to corresponding circuits during their establishment.

3 Solution 5 3 Solution Figure 3: Structure of a queue at the entry of a link ns-2 is an event based simulator. The following types of events can be distinguished: generation of a packet, arrival of a packet at a node, completion of packet transmission. It would be optimal to model circuits as separate links between the circuit source and destination, and keep the just mentioned types of events unchanged. However, since a link in ns-2 is determined by the nodes it spans, it is impossible to establish parallel links, which could emulate separate circuits (or wavelength channels of a fibre). The bandwidth reservation is achieved by Time Division Multiplexing (TDM). Time is divided into frames which consists of time slots. The time slots correspond to circuits. In order to reduce the computational complexity of the simulation model, the time slots can have unequal durations, so that the desired bandwidth can be reserved for each circuit. Introduction of TDM demands different behaviour of the network upon occurrence of the events (especially regarding the beginning of service). This behaviour is enclosed in three main blocks of the Circuit Switching Module: a classifier (within a new Circuit Switching Routing Module) which classifies (and according to ns-2 implementation also forwards) packets into the appropriate queue of the queueing system or directly to the receiver a queueing system that stores packets corresponding to the output link they head for a statistics monitor which receives packets at their destination and updates various statistics These blocks are discussed in the following sections. Please note that the Circuit Switching Module was implemented and tested with the version 2.29 of the network simulator. We also validated the compatibility of the complete module with version 2.33 of ns-2.

3 Solution 6 3.1 Classifier The Classifier is one of the most important objects in ns-2. It classifies packets according to the precomputed routing tables, and forwards them to the appropriate outputs of a node (including the traffic sinks). We use the HashClassifier as the base class for our classifier (CSSrcDestFidHashClassifier). It can make routing decisions based on the source, destination and flow id of a packet. Although the mapping between the incoming packet s flow id and the resources it is going to use is made in the queueing system of an output link itself, it is the classifier that realizes redirections. Redirection of packets is nothing else than a routing decision dependent on the fill level of the queue the packet is going to be stored in (at the edge of an output link of a node). This is shown in Fig. 2. An access of the classifier to the queue had to be implemented, as the classifiers available in ns-2 make the routing decision before checking the fill level of the queue. Redirected packets get new packet ids, as indication to classifiers about their redirected status. A summary of properties of the classifier is as follows: a possibility to check the fill level of the queue a packet is going to be stored in forwarding packets from node s entry to appropriate output link or sink, based on the src, dst and fid of the packet, and fill level of the corresponding queue a possibility to redirect packets to the arbitrarily prespecified output links in the packet-switched part of the network turning the redirections on and off separately for each node marking of redirected packets with a unique flow id using appropriate queue 3.2 Queues The queueing system at an output link of a node is quite complex, as indicated in section 2. A queue consisting of several subqueues is needed. Therefore a CSQueue class has been implemented, which contains objects of class SlotQueue. Each SlotQueue is responsible for a separate TDM time slot. A weight is associated with each time slot to indicate the bandwidth assigned to it. Special scheduling system had to be designed to take care of the bandwidth sharing. Current time slot needs to be determined at arrival of each packet at a node. This determines whether the packet can be transmitted straight away to the next node (under the condition that no packet of the same type is currently being transmitted). Moreover, the remaining resources (up to the end of the time slot) need to be sufficient to complete the transmission of a packet. The bandwidth is shared in a TDM manner in this implementation, however it can mimic WDM too via sufficiently small time frames. The packets which do not

3 Solution 7 fit into a time frame are not fragmented, but need to wait for the following time frame. Mapping between the flow ids and time slots is stored in a Flow Behaviour Table (FBT). Entries of FBT need to be defined prior to the start of the simulation. The slotqueues are droptail FIFO queues, however the Circuit Switching Module allows implementation of other queueing schemes. 3.3 Stats Monitor In order to collect network statistics a statistic monitor class StatsMonitor was implemented. This is an agent located at the destination node of a packet flow. It calculates various statistics up-to-date with the running simulation. Class App- StatsMonitor is an extension of the class StatsMonitor, which can calculate also the goodput of a flow (important for connection-oriented protocols). It is integrated into the existing base TcpSink class in ns-2. The following statistics can be collected using method of batch means and the (App)StatsMonitors: Over the whole network: amount of received packets average transmission time per packet and the corresponding confidence interval average jitter and the corresponding confidence interval average throughput per flow and the corresponding confidence interval average goodput per flow and the corresponding confidence interval (AppStatsMonitor only) For each traffic flow: amount of received packets average transmission time per packet and the corresponding confidence interval average jitter and the corresponding confidence interval average throughput of the flow and the corresponding confidence interval average goodput of the flow and the corresponding confidence interval (AppStatsMonitor only) The statistics can be written out to text files at each moment of the simulation. Moreover, by postprocessing of the output simulation trace file, the following information can be obtained using the developed software: For the whole network: amount of dropped packets

4 Scope of the experiments 8 Figure 4: Hierarchy of the implemented classes network utilisation For each node: amount of dropped packets For each link: utilisation For each flow: Ratio of the number of redirected packets to all packets in a flow Detailed information about the amount of received, transmitted, dropped and redirected packets at each node is available as well. Figure 4 shows the dependency of the implemented C++ classes from their ancestors. 4 Scope of the experiments We performed three experiments in order to validate the functionality of our simulation model. The first one checks the possibility to chose an arbitrary path through the network to transport packets. In the second one (which is actually a set of experiments) we analyse the influence of circuits on the performance of the packet switched network, present some results collected by the Statistics Monitors. The third experiment serves for validation of redirections of packets that do not fit into a circuit. All of the expermients use a butterfly network (Fig. 5) with bidirectional STM-64 links (9953.28 Mbps).

4 Scope of the experiments 9 Figure 5: Two flows with the same source (0) and destination (5) nodes, but different flow ids taking different paths - nam graph 4.1 Multipathing The Circuit Switching Module must allow the simulator user choose a path the circuit is going to take. It does not have to be the shortest path. Moreover, the flows within the same source and destination addresses, but different flow ids may need to be routed via different paths. In order to achieve it in ns-2, the new routing module with CSSrcDestFidHashClassifier had to be used. We performed a simple experiment to validate the freedom of the path selection for packets and circuits. Just two traffic sources (located at node 0) generate traffic (both destined to node 5, see Fig. 5). The flows have different flow ids though. By appropriate settings of classifiers at all nodes, as well as the flow behaviour entries at the queues, one flow takes the route via nodes 4 and 3 (via circuit), and the other via nodes 2 and 1 (hop by hop). 4.2 Circuit capacity A circuit, as a connection with reserved capacity, has to be dimensioned. The capacity of a circuit is determined by duration of its slot within a time frame. We validate the circuit dimensioning using the scenario shown in Fig. 6. There is a bidirectional end-to-end circuit established between nodes 0 and 5, which traverses nodes 4 and 3. The packets between these nodes hop via nodes 2 and 1 in a purely packet switched network (with shortest path routing where all links have the same link weight), which serves as a reference scenario for us. We employ one traffic generator for each source-destination pair (6 x (6-1 = 30) generators altogether). Traffic is generated according to Poisson Model with constant packet size of 1500

4 Scope of the experiments 10 Figure 6: Circuit capacity scenario B, and average data rate 2.0 Gbps. The circuit capacity is varied between 15 and 60 percent of the link capacity, and the StatsMonitors collect the statistics mentioned in Section 3.3. The results are stored in text files. Some of the results are graphically shown in Figures 7-10 (circuit size is shown on the OX axis). The horizontal line shows the reference values for a network without any circuits (purely packet switched). Introduction of the circuit brings benefits due to better load balance (unloading of the links 0-2 and 2-1). Moreover, if the circuit is dimensioned between 21 and 40 percent of the link capacity, the benefits are maximised for all considered metrics. The plots confirm the intuition that the transmission delay and packet drops increase, and the network utilisation and throughput decrease if the circuit has too little capacity, as well if it is overdimensioned (lacking resources for the PSPN). 4.3 Redirections Implementation of the redirections and monitoring of TCP flows was validated with the same scenario as the one used in the previous section (Fig. 6). The circuit capacity in this experiment is kept fixed equal to 20 percent of the STM-64 stream. Figures 11 and 12 show the ratio of the amount of redirected packets to the amount of all packets in the flow in dependence of time for load equal to 2.1 and 2.4 Gbps per traffic generator. They include the transient phase of the simulation. For the first case (2.1 Gbps) the redirected packets traverse hop-by-hop the path 0-2-1-5 using the resources of PSPN, and for the second case (2.4 Gbps) they take the same path as the circuit (0-4-3-5). The redirections show the same behaviour at both edges of the bidirectional circuit. Since circuit capacity is close to 2 Gbps, the percentage of redirected packets shown in the Figures increases up to the expected values - 0.052 and 0.170 respectively. In order to validate the AppStatsMonitor embedded into the TCP Sink, the Poisson Traffic Sources were replaced with TCP Agents, which perform FTP file transfers. The Congestion Control mechanism function well, and the appropriate statistics (including network and flow goodput and their confidence intervals) are collected.

4 Scope of the experiments 11 8 2e+05 End-to-end transmission delay of a packet [ms] 7 6 5 4 3 Network with an end-to-end circuit Network without an end-to-end circuit (reference) Amount of dropped packets 1.5e+05 1e+05 50000 Network with an end-to-end circuit Network without an end-to-end circuit (reference) 2 0 10 20 30 40 50 60 Circuit size [Percent of the link capacity] 0 0 10 20 30 40 50 60 Circuit size [Percent of the link capacity] Figure 7: Average packet transmission time in the network Figure 8: Amount of dropped packet in the network 59000 58000 0.7 Throughput of the network [Mb/s] 57000 56000 55000 Network with a circuit Network without an end-to-end circuit (reference) Utilization of the network 0.68 0.66 54000 0.64 Network with an end-to-end circuit Network without an end-to-end circuit (reference) 53000 0 10 20 30 40 50 60 Circuit size [Percent of the link capacity] 0 10 20 30 40 50 60 Circuit size [Percent of the link capacity] Figure 9: Network throughput Figure 10: Network utilisation Ratio of amount of redirected packets to amount of all packets in the flow Ratio of amount of redirected packets to amount of all packets in the flow 0.06 0.05 Flow 0-5 Flow 5-0 0.3 0.25 Flow 0-5 Flow 5-0 0.04 0.2 f(t) 0.03 f(t) 0.15 0.02 0.1 0.01 0.05 0 0 0.5 1 1.5 2 2.5 3 Time [s] 0 0 0.5 1 1.5 2 2.5 3 Time [s] Figure 11: Ratio of amount of redirected packets to the amount of all packets in the flow in dependence of time for the scenario from Fig. 6 and load equal to 2.1 Gbps per traffic source Figure 12: Ratio of amount of redirected packets to the amount of all packets in the flow in dependence of time for the scenario from Fig. 6 and load equal to 2.4 Gbps per traffic source

5 Conclusions 12 5 Conclusions The network simulator was successfully extended and can collect various network, flow, link and node statistics for TCP and UDP traffic. The packets that do not fit into a circuit due to lack of its resources can be redirected to any of the output links of the node. However, variability of data rates the TCP sources transmit traffic with, increases the amount of packets that need to be simulated in order to get sufficient confidence intervals of simulation results. Another issue is that due to the limited TCP window size, multiple TCP connections need to be considered in order to better utilise optical circuits. However, numerous TCP connections may lead to high memory consumption of ns-2. Window-scaling and High-speed TCP are considered here. It is worth mentioning that the developed module can be integrated with ns-2 without changing or disabling any of the functionalities of the original simulator. It was validated with versions 2.29 and 2.33 of ns-2.

A Application Programming Interface 13 A Application Programming Interface A.1 TCL Syntax A.1.1 CSQueue object commands $csqueue setslotqlimit <numslot> <queuelimit> - set the limit of the underlying time slot queue (slotqueue) number numslot to queuelimit packets $csqueue addfbentry <fid> <slot> - add a Flow Behaviour Table entry mapping the flow with flow id fid to the time slot slot $csqueue getstat <stat> <slotqueue> - get a desired statistic (drops, packets, redirections) of the desired subqueue number slotqueue and print the result $csqueue getslotqlength <slotqueue> - get length of the desired subqueue number slotqueue and print the result $csqueue printstats - print the statistics for this queue (CSQueue) $csqueue setframing - set the TDM framing according to the amount of slots and their weights $csqueue setqid <qid> - set the qid for this queue (CSQueue) $csqueue printfbtable - print the Flow Behaviour Table (FBT) $csqueue addslotweight <slot> <weight> - set the weight of the slot slot to weight (in bits transmitted in a time frame) $csqueue setqmode <behaviour> <slotqueue> - set the behavior of the queue slotqueue (by default all underlaying queues (slotqueues)) to behaviour (so far droptail is available) $csqueue setlabelbound <labelbound> - set a static labelbound (for all slotqueues) to labelbound (amount of possible flow ids of not redirected flows) $csqueue addflowincir <fid> <slotqueue> - add a flow with flow id fid to the flows transported by a circuit in a single slotqueue number slotqueue $csqueue setredirectionsonoff <value> - turn on or off (value) redirections at a slotqueue number slotqueue $csqueue setdefaultredirectslot <defaultslot> - set a default slotqueue of this CSQueue to defaultslot, where the packets can be redirected to

A Application Programming Interface 14 A.1.2 CSSrcDestFidHashClassifier object commands $cssrcdestfidhashclassifier set-hash <buck> <src> <dst> <fid> <slot> - inserts a new entry into the hash table within the classifier. The buck argument specifies the hash table bucket number to use for the insertion of this entry. When the bucket number is not known, buck may be specified as auto. The src, dst and fid arguments specify the IP source, destination, and flow IDs to be matched for flow classification [1]. The slot argument indicates the node to which the packet characterised by src, dst and fid is to be forwarded to. $cssrcdestfidhashclassifier del-hash <src> <dst> <fid> - removes an entry from the hash table. The entry is characterised by source (src), destination (dst), and flow ID (fid) $cssrcdestfidhashclassifier setredirectionsonoff <value> - turns on or off (value) the redirections in the CSSrcDestFidHashClassifier A.1.3 StatsMonitor object commands $statsmonitor clear - clears the variable indicating the expected packet to arrive $statsmonitor printstats - prints the collected statistics $statsmonitor enablestat - enables collection of statistics by the StatsMonitor $statsmonitor calculatepktbatch - calculates statistics of a batch of data dependent on the amount of packets in the network $statsmonitor calculatetimebatch - calculates statistics of a batch of data dependent on the amount of simulated time (including the goodput for App- StatsMonitor) $statsmonitor resetpktbatch - resets the variables responsible for calculating statistics of a batch of data dependent on the amount of packets in the network $statsmonitor resettimebatch - resets the variables responsible for calculating statistics of a batch of data dependent on the amount of simulated time $statsmonitor summarizetimebatch - summarises a time batch (once the time of a batch has been reached) for both network and single sinks, and resets the appropriate data to prepare the data to measure the next batch $statsmonitor printnetworkstats <filename> - print statistics of all flows in the network to file of name filename

References 15 $statsmonitor printnetworkstatsbatch <filename> - print batch statistics of all flows in the network to file of name filename $statsmonitor setnetworkpktstosimulatebatch <pkts> - set the amount of packets to be simulated in a single batch to pkts $statsmonitor setbatchtime <time> - set the amount of time to be simulated in a single batch to time $statsmonitor setid <id> - set the statsmonitor id to id $statsmonitor setmonitorl4protocol <prot> - set the layer 4 protocol of the monitored flow to <prot> (udp and tcp available) $statsmonitor setsteadystatetime time - set the time where the simulation steady state is assumed to be reached to <time> $statsmonitor printstats <src> <dst> <filename> - print statistics for the flow of packets between src and dst into the file filename $statsmonitor printstatsbatch <src> <dst> <filename> - print batch statistics for the flow of packets between src and dst into the file filename References [1] K. Fall, K. Varadhan, and et. al. The ns manual. The VINT Project, http://www.isi.edu/nsnam/, February 2008. [2] A. Feldmann, J. Rexford, and R. Caceres. Efficient Policies for Carrying Web traffic Over Flow-Switched Networks. IEEE/ACM Transactions on Networking, 6(6):673 685, 1998. [3] German Internet Exchange DE-CIX, http://www.de-cix.net/content/network/traffic- Statistics.html. DE-CIX Traffic Statistics, June 2008.