Simple Data Link Protocols

Size: px
Start display at page:

Download "Simple Data Link Protocols"

Transcription

1 Simple Data Link Protocols Goals 1) Become familiar with Network Simulator 2 2) Simulate Stop & wait and Sliding Window 3) Investigate the effect of channel with loss on link utilization Introduction Data Link Layer deals with the algorithms required to achieve reliable, efficient peer to peer communication using the physical layer. These algorithms are designed to provide appropriate services to the network layer such as acknowledged connection oriented services. Several algorithms can be used to provide such a service and the objective of this exercise is to study the concepts of these algorithms. To provide a reliable service in which the data link at the transmitter node can be perfectly sure about the delivery of each frame to the destination, it should receive a feedback from the receiver acknowledging the correct reception of the transmitted frame. This acknowledgement (ACK) can also be used to control the data flow from the source to the destination. A transmitter would not send frames until it receives permission from destination (an ACK for the previous frame) and therefore cannot overflow the receiver. The simplest protocol that can be used for these purposes is called Stop and Wait. In this protocol, the transmitter sends one frame and then waits for an ACK from the receiver before sending the next frame. To avoid a deadlock which can be caused by a lost frame or a lost ACK, the transmitter can use a timer. When the delay in receiving the ACK exceeds a certain amount (time-out), the transmitter assumes something (the packet or its ACK) has been lost and re-transmits the frame. This protocol works well if the propagation time (the time it takes for the frame to propagate from source to destination) is small compared to the frame time span. There are many situations in which this is a valid assumption. However, when the propagation delay is no longer a negligible factor, this protocol is Dr. M. R. Pakravan 1

2 a wasteful protocol that uses the system resources inefficiently. The window-based protocols can be used to increase the efficiency of the system by allowing the transmission of a few packets (As much as specified by the transmitter window size) before allowing the reception of an ACK from the receiver. This would create a pipeline of un-acknowledged frames at the transmitter. The Go Back-N and Selective Repeat protocols are two protocols that can increase the efficiency of the transmission using this concept. In Go Back-N protocol, the transmitter would go back N frames and re-start the transmission again if it does not receive neither an ACK for a frame nor a negative acknowledgement (NACK) for it. In Selective Repeat, the transmitter would only send those frames which have timed out on ACK or have received a NACK for them. Appropriate use of timers in these protocols would prevent deadlocks. In this exercise, we try to become familiar with the network simulator NS package and learn to use it properly to investigate the properties of data link layer protocols. I) Stop and Wait Protocol In this part we want to run a simulation to investigate the dependency of link utilization on the frame length in Stop and Wait protocol. We use NS to generate an output file containing two columns. The first column is frame length and the second column is the transmitter bandwidth for that frame length. Link utilization is defined as: Transmitter bandwidth Link bandwidth Where for a special time interval T you can find the Transmitter bandwidth as follow: Number of frames sent during T Number of bytes in each frame To get a correct result T should be large enough compared to link delay. You will set the link bandwidth yourself and therefore, the link bandwidth is also known. Now you can write a small program in MATLAB to find link utilization and plot it. In first step you should write a Tcl (pronounced "tickle", not T-c-l!) script, you can write it in any text editor such as Notepad++ and save it with tcl extension (*.tcl). At the first line of your code, create a new simulator object by this command: (Be careful of Capital letters. Tcl is a case sensitive language!) #Make New Simulator set ns [new Simulator] Dr. M. R. Pakravan 2

3 The next step is to command NS to generate output files. Usually two output file formats are produced by NS (NAM and trace files). The NAM file will be the input to another program called NAM to show a graphical representation of the packet flow. The trace type is a file recording all the parameters during simulation. The NAM and trace files usually have large sizes especially when the simulation duration is long. Therefore, if you command NS to create these files, you should wait a while to allow the simulation to finish its job and produce the files. These files should be opened at the beginning of the script and they are closed at the end of the script. #Nam output file set namfile [open output.nam w] #trace output file set tracefile[open trace.tr w] You will also need other output text files that should be filled by your code manually. Open them as follows: #Output files to store Link Utilization set transmitterbw1 [open part1.txt w] set transmitterbw2 [open part2.txt w] Now, write a procedure and call it at the end of the simulation to close the output files and run NAM to see the output: #To finish the job by removing all the traces and closing output files proc finish {} { global ns namfile transmitterbw1 transmitterbw2 tracefile $ns flushtrace close $transmitterbw1 close $transmitterbw2 close $tracefile close $namfile exec nam out.nam & exit 0 } Add this command to your code to write all packets properties and conditions in NAM file. #Let the nam output file trace the entire process $ns namtraceall $namfile Dr. M. R. Pakravan 3

4 The next step is to define a network with 3 nodes. In our scenario, node n(0) sends data link frames to node n(1) using the stop & wait protocol, as well node n(2) sends data link frames to node n(1) using the sliding window protocol. At this step, we will create the entire topology, but just one of the links is active for testing the stop & wait protocol (n(0)-n(1)). In the following figure, you see the topology of the network: The following lines define nodes for your network: #define three nodes set n(0) [$ns node] set n(1) [$ns node] set n(2) [$ns node] You can set the color of the nodes with the following codes: $n(0) color "red" $n(2) color "black" $n(1) color "blue" Also, you can add annotations to the nodes. To do so, use: $ns at 0.0 "$n(0) label Stop-Wait-Sender" $ns at 0.0 "$n(2) label Sliding-Win-Sender" $ns at 0.0 "$n(1) label Receiver" Dr. M. R. Pakravan 4

5 Two nodes n(0) and n(1) are connected by a duplex-link with a 2Mb bandwidth, 2ms delay and DropTail queue format. The link n(1)-n(2) is also duplex, DropTail link with a bandwidth of 2Mb and delay of 2ms (refer to ns2 documents for further details about these specifications). set LineBW(1) 0.5Mb set LineDelay(1) 10ms set LineBW(2) 0.5Mb set LineDelay(2) 10ms #define link between nodes $ns duplex-link $n(0) $n(1) $LineBW(1) $LineDelay(1) DropTail $ns duplex-link $n(2) $n(1) $LineBW(2) $LineDelay(2) DropTail The following lines set the link position in network animator. #set the link position in network animator $ns duplex-link-op $n(0) $n(1) orient right $ns duplex-link-op $n(0) $n(1) color "black" $ns duplex-link-op $n(2) $n(1) orient left $ns duplex-link-op $n(2) $n(1) color "black" To send and receive data you need to put agents over nodes. NS does not support agents in Data link layer; however, it has TCP and UDP agents in transport layer. Transport layer and data link Layer have some common tasks such as flow control; therefore, TCP agents can also implement the sliding window protocol and act the same as sliding window agents. However, they do not have a constant window size and change their window size dynamically. In this part we want a Stop and Wait agent. This is like a sliding window agent with a window size of 1. By a little trick you can make a TCP agent act like this. Just set its maximum window size to 1 so that it cannot increase its window size or decrease it and it will have the constant window size equal to 1. There are some other parameters related to a TCP source. Here are some of them: maxcwnd_: maximum congestion window size windowinit_: initial window size in slow start seqno_ : highest sequence number for data from data source to TCP ack_ : highest ack seen from receiver Dr. M. R. Pakravan 5

6 To create a TCP agent, use the following command: #Create a TCP agent set tcp(1) [new Agent/TCP] Now attach the agent to desired node (here for example n (0)): $ns attach-agent $n(0) $tcp(1) The required parameters of the TCP agent can be set as follows: $tcp(1) set window_ 1 #this command set the upper bound on advertised window 1 $tcp(1) set maxcwnd_ 1 #this command set maximum congestion window size 1 $tcp(1) set maxseq_ #this command set highest sequence number for data from data source to TCP to All agents require a source to generate traffic for them. FTP application can be used for this purpose. You should first create an FTP application with constant bit rate (CBR) and then, attach it to your TCP agent using the following lines: #generate traffic and attach it to agent set ftp(1) [new Application/FTP] $ftp(1) attach-agent $tcp(1) Note that you need two instances of FTP application, one for each TCP agent. You also need an agent in receiver that acts as traffic sink. It receives packets and sends acknowledgements. Two of such agents should be created and both should be connected to n(1). For instance: #create an agent for receiver and attach it to agent set tcpsnk(1) [new Agent/TCPSink] $ns attach-agent $n(1) $tcpsnk(1) #connect 2 TCP agents to each other $ns connect $tcp(1) $tcpsnk(1) You can also change the color of the frames (for a better visualization) using the following lines: $ns color 1 red $tcp(1) set fid_ 1 Dr. M. R. Pakravan 6

7 Additionally, some initializations are also required: #set header size to 40 byte set headersize 40 #set frame length to 30 byte set framelen 30 #set the time interval to 2 second set timeinterval 2.0 set firstacknum(1) [$tcp(1) set ack_] set lastacknum(1) [$tcp(1) set ack_] #set packet size $tcp(1) set packetsize_ $framelen Now, write a procedure which is called every 2 seconds to record the transmitter bandwidth. To find the source bandwidth you can use the following approach: Each ack that a TCP source receives has a sequence number. In reality, the sequence number is not a large number so it will wrap around after a while. But you can set the maximum sequence number for the TCP source to a large enough number so that it will not wrap around. The change in sequence number of ack packets in any time interval equals to the number of packets received during that timeinterval. The record procedure is called once in the main program and it will call itself again and again. In this procedure, the number of received bytes in a 2 sec interval and the frame length are written to a file. The frame length is then incremented for the next interval. This procedure could be written using the following lines: #Procedure to record the events proc record {} { #Define global variables global transmitterbw1 framelen tcp ns firstacknum lastacknum headersize timeinterval n #Get the ack number of current frame set lastacknum(1) [$tcp(1) set ack_ ] #Compare this ack number with the one regarding 2 seconds before in order to determine transmitter bandwidth set bw(1) [expr ($lastacknum(1)+1-$firstacknum(1))*($framelen + $headersize)*8] set now [$ns now] #Fill the respective text files with transmitterbw1 puts $transmitterbw1 "[expr ($framelen+$headersize)] [expr ($bw(1))/($timeinterval)] $now*" #Record this ack number for next loop: set firstacknum(1) $lastacknum(1) Dr. M. R. Pakravan 7

8 #Increasing the frame length for next packet: set framelen [expr ($framelen+10)] $tcp(1) set packetsize_ $framelen #Execute this proc every 2 second (timeinterval=2) $ns at [expr $now+$timeinterval] "record" } According to all of these, first, you should start FTP applications (in the first part of the exercise, you just need the FTP application to be turned on between n(0) and n(1), in the rest of the exercise, you will need to turn on the next one), then the record procedure should be called and finally, the finish procedure should be executed at the end of simulation time. By these lines, you can execute all of the mentioned tasks in the right time and then start the simulation: $ns at 1.0 "$ftp(1) start" $ns at 3.0 "record" $ns at "finish" $ns run Note: To save more points in the output file we have adapted such a big number for Simulation time. So it may take a long time for the simulation to be finished because NS wants to create a large file for NAM. If you want the simulation to run much faster, don t command NS to generate any NAM output file. You can see the simulation timer in Command DOS environment or in UNIX terminal Using puts $now. At the end of the simulation you can see the generated text file (for the connection between nodes n(0) and n(1)) in addition to the automatically generated Trace file. Use MATLAB to normalize the second column of the text file by the link bandwidth and plot it versus the first column (frame length). Find link utilization for link delays of 1ms, 10ms, 20ms, 30ms and 50ms and then plot link utilization versus link delay. Find link utilization for bandwidths of 1Mb, 10Mb, 20Mb, 30Mb, 40Mb and 50Mb with link delay of 10 ms and then plot link utilization against link bandwidth. II) Sliding Window Protocol Using stop and wait protocols for links with high delay wastes much time due to waiting for the acknowledgements. For achieving better efficiency, we can use Sliding window protocols instead. Create tcp (2) between node (2) (as the source node) and node (1) (as the sink node). In this part, we want to find the relation between link utilization and window size for the sliding window protocol. The Dr. M. R. Pakravan 8

9 approach is the same as the first part except that we record the window size instead of frame length and the window size is incremented each time the record procedure is called. To do so, we add details to our simulation by making a data link connection between n(1) and n(2), using sliding window protocol instead of stop and wait protocol. We increase the window size in each call of the record procedure. Therefore, it should be modified as follows (note that stop and wait is just a sliding window protocol with window size equal to 1): #Procedure to record the events proc record {} { #Define global variables global transmitterbw2 framelen tcp ns firstacknum lastacknum headersize timeinterval n #Get the ack number of current frame set lastacknum(2) [$tcp(2) set ack_ ] #Compare this ack number with the one regarding 2 seconds before in order to determine transmitter bandwidth set bw(2) [expr ($lastacknum(2)+1-$firstacknum(2))*($framelen + $headersize)*8] set now [$ns now] set wind [$tcp(2) set window_] set maxwind [$tcp(2) set maxcwnd_] #Fill the respective text files with transmitterbw2 puts $transmitterbw2 "$wind [expr ($bw(2))/($timeinterval)] $now*" #Record this ack number for next loop: set firstacknum(2) $lastacknum(2) #Increasing the window size for next packet: $tcp(2) set window_ [expr ($wind+1)] $tcp(2) set maxcwnd_ [expr ($maxwind+1)] #Execute this proc every 2 second (timeinterval=2) Dr. M. R. Pakravan 9

10 $ns at [expr $now+$timeinterval] "record" } Note: real size of a TCP packet is not what you have set with packetsize_ parameter. There is an overhead. Set the size of packets to a number and run the simulation. In the NAM window right click on a packet and monitor it. Nam will show you the real size of the packet and you can find out how many overhead bytes are present. If you don t consider this overhead you will never have the link utilization equal to one. Run NS and use the output file to plot the link utilization versus window size. III) Stop & Wait vs. Sliding Window Protocol In this part, we want to compare sliding window protocol with stop and wait protocol. To do this, we should turn on both FTP application, tcp(1) between n(0) and n(1) as well tcp(2) between n(2) and n(1). Dr. M. R. Pakravan 10

11 For this, you can use: $ns at 1.0 "$ftp(1) start" $ns at 1.0 "$ftp(2) start" $ns at 3.0 "record" $ns at "finish" $ns run Now, we want to vary frame length and calculate link utilization of both protocols. For this, you should set the window size and maximum window size of stop and wait protocol to 1. For sliding window protocol, you should set window size and maximum window size to 2, 4, 6 and 8. (You should do the simulation four times for these amounts of window size). To do so, you can use the following code: $tcp(1) set window_ 1 #this command set the upper bound on advertised window 1 $tcp(1) set maxcwnd_ 1 #this command set maximum congestion window size 1 $tcp(1) set maxseq_ #this command set highest sequence number for data from data source to TCP to $tcp(2) set window_ 2 #this command set the upper bound on advertised window 1 $tcp(2) set maxcwnd_ 2 #this command set maximum congestion window size 1 $tcp(2) set maxseq_ #this command set highest sequence number for data from data source to TCP to Now, you should write a procedure to change frame length (window size is fixed) and calculate link utilization of both protocols. You can use the procedure used in part I and modify it with for command. The structure of for command in NS is as follow: for {set i 1} {$i<3} {incr i} { #Get the ack number of current frame set lastacknum($i) [$tcp($i) set ack_ ] #Compare this ack number with the one regarding 2 seconds before in order to determine transmitter bandwidth set bw($i) [expr ($lastacknum($i)+1-$firstacknum($i))*($framelen + $headersize)*8] } Dr. M. R. Pakravan 11

12 Then, you should plot link utilization versus frame length for the stop and wait and the sliding window protocols in a single figure. (Four separate figures for the window size equals to 2, 4, 6 and 8). IV) Sliding Window Protocol with lossy channel In this part, we want to find the dependence of link utilization to frame length in the presence of error. We should first create a data-link connection with sliding window protocol, and with a window size of 5 and variable frame size between nodes n(1) and n(0). Additionally, we need a loss link with a drop rate of The channel between n(1) and n(2) is without loss and the protocol is also sliding window with a constant size of window and equals to 5. To do this, we can insert a loss module that drops packets with a programmable statistical characteristic using the following commands and add it to our existing link between n(1) and n(0): #Loss parameters set loss_module [new ErrorModel] #set Drop rate Dr. M. R. Pakravan 12

13 $loss_module set rate_ 0.01 $loss_module set min_ 0 $loss_module set max_ 1 # Uniform random variable (means choosing a packet for dropping is uniform in time): $loss_module ranvar [new RandomVariable/Uniform] $loss_module drop-target [new Agent/Null] # a complete packet should be dropped not bytes or bits, etc: $loss_module unit pkt # Loss module starts working at time = 0.01 (s) between node 0 and 1: $ns at 0.01 "$ns lossmodel $loss_module $n(1) $n(0)" The other point is that TCP changes its window size whenever an error occurs. If you want a constant window size, you can write a routine that sets the window size for the TCP source periodically and does not let it change when an error occurs: #Constant Window Size For Lossy Channel proc windconst {} { global tcp ns file1 for {set i 1} {$i<3} {incr i} { $tcp($i) set maxcwnd_ 5 # maximum congestion window $tcp($i) set windowinit_ 5 # initial window size $tcp($i) set window_ 5 # window size $tcp($i) set cwnd_ 5 #congestion window } set now [$ns now] $ns at [expr $now+0.01] "windconst" } Dr. M. R. Pakravan 13

14 You can call this procedure in the main program once and it will call itself periodically. $ns at 1.01 "windconst" Vary the size of frame and find the link utilization of lossy channel for drop rates of 0.01, 0.1, 0.2 and 0.5 and then plot link utilization of lossy channel (for the respective drop rate values) and the channel without loss versus frame length in a figure. V) How to Read a Trace File Open the trace file. You will see that it contains 12 columns, each of which records a parameter. Here is a sample selection of this file: r tcp tcp d tcp r tcp ack ack r ack ack ack As you can see, each row represents an event and the details of the event characteristics are listed in each row using the following format: Event Time From node To node Pkt type Pkt size Flags Fid Src addr Dst addr Seq num Pkt id Event: this field can take four values r : receive + :en queue - : de queue d :drop Dr. M. R. Pakravan 14

15 Time: the time at which the event occurred From node: number of the input node of the link at which the event occurred To node: number of the output node of the link at which the event occurred Packet type: type of the packet.it can be tcp, ack or any other acceptable type. Packet size: size of packet in bytes Flags: means no flag has been set. ---A--- means congestion window reduced. Flow id: users can specify an id for each flow. this id can be used to specify a color for each flow. Src address: source address of the packet in the form of node.port Dst address: destination address of the packet in the form of node.port Seq number: the sequence number of packet in network layer Packet id: a unique number given to each packet As it is hard to read this file by MATLAB, you may prefer to use the text files instead. VI) Experiment Report: You should prepare a proper explanatory report for this assignment. Then you should pack this report, as well as the scripts and output files (trace and NAM) for each part, zip them and upload one file in the courseware. The received folder should contain: The scripts written for each part, The output files (trace and NAM files) for each part, Written MATLAB files as well as acquired figures, Your report (both MS word and PDF format) that contains the results of the simulations in the form of plots and some snapshots from NAM output. Please kindly that for each part, you should analyze the results you have found and explain how they are related to the theories discussed in the class. Dr. M. R. Pakravan 15

The Transport Control Protocol (TCP)

The Transport Control Protocol (TCP) TNK092: Network Simulation - Nätverkssimulering Lecture 3: TCP, and random/short sessions Vangelis Angelakis Ph.D. The Transport Control Protocol (TCP) Objectives of TCP and flow control Create a reliable

More information

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

Simulation with NS-2 and CPN tools. Ying-Dar Lin Department of Computer Science, National Chiao Tung University Simulation with NS-2 and CPN tools Ying-Dar Lin Department of Computer Science, National Chiao Tung University Outline NS-2 simulator NS-2 basics Basic syntax Tracing a simple network Mini and term projects

More information

Network Simulator 2: Introduction

Network Simulator 2: Introduction Network Simulator 2: Introduction Presented by Ke Liu Dept. Of Computer Science SUNY Binghamton Spring, 2006 1 NS-2 Overview 2 NS-2 Developed by UC Berkeley Maintained by USC Popular simulator in scientific

More information

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

Network Simulator 2. Telematica I (CdL Ing. INF) Ing. Giuseppe Piro. Network Simulator 2 Telematica I (CdL Ing. INF) Ing. Giuseppe Piro g.piro@poliba.it 1 NS-2 Goals NS-2 is a Network Simulator - version 2 Can setup network topologies Generate packet traffic similar to

More information

PART A SIMULATION EXERCISES

PART A SIMULATION EXERCISES PART A SIMULATION EXERCISES 1. Simulate a three nodes point to point network with duplex links between them. Set the queue size and vary the bandwidth and find the number of packets dropped. set ns [ new

More information

ns-2 Tutorial Exercise (1)

ns-2 Tutorial Exercise (1) ns-2 Tutorial Exercise (1) Multimedia Networking Group, The Department of Computer Science, UVA Jianping Wang Adopted from Nicolas s slides Jianping Wang, 2002 cs757 On to the Tutorial Work in group of

More information

Brief Overview and Background

Brief Overview and Background Brief Overview and Background In this assignment you will be studying the performance behavior of TCP, using ns 2. At the end of this exercise, you should be able to write simple scripts in ns 2 as well

More information

1 What is network simulation and how can it be useful?

1 What is network simulation and how can it be useful? CESNET Technical Report 26/2003 Experience with using simulations for congestion control research Sven Ubik, ubik@cesnet.cz Jan Klaban, xklaban@quick.cz December 5, 2003 Abstract As part of the CESNET

More information

ns-2 Tutorial Contents: Today Objectives of this week What is ns-2? Working with ns-2 Tutorial exercise ns-2 internals Extending ns-2

ns-2 Tutorial Contents: Today Objectives of this week What is ns-2? Working with ns-2 Tutorial exercise ns-2 internals Extending ns-2 ns-2 Tutorial Contents: Objectives of this week What is ns-2? Working with ns-2 Tutorial exercise ns-2 internals Extending ns-2 Today Partly adopted from Nicolas slides. 1 Objectives of this week Get some

More information

The Network Simulator Fundamentals. Downloads and further info at:

The Network Simulator Fundamentals. Downloads and further info at: ns-2 The Network Simulator Fundamentals Downloads and further info at: http://www.isi.edu/nsnam/ns 1 ns Primer Basic ns Architecture Basic Tcl, OTcl Elements of ns 2 ns Architecture Object-oriented (C++,

More information

Part 6. Confidence Interval

Part 6. Confidence Interval Introduction to NS-2 Part 6. Confidence Interval Min Chen School of Computer Science and Engineering Seoul National University 1 Outline Definitions Normal Distribution Confidence Interval Central Limit

More information

Project Network Simulation CSE 5346/4346

Project Network Simulation CSE 5346/4346 Project Network Simulation CSE 5346/4346 Project Overview This is a comprehensive project designed to be completed by 4 phases, and intended to demonstrate network performance and quality of service (QoS)

More information

EE 122: Computer Networks Network Simulator ns2

EE 122: Computer Networks Network Simulator ns2 EE 122: Computer Networks Network Simulator ns2 Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley, CA 94720-1776 Adapted from F04 Slides K. Fall, J.

More information

DMN1 : COMMUNICATION PROTOCOL SIMULATION. Faculty of Engineering Multimedia University

DMN1 : COMMUNICATION PROTOCOL SIMULATION. Faculty of Engineering Multimedia University DMN1 : COMMUNICATION PROTOCOL SIMULATION Faculty of Engineering Multimedia University DMN1 Marking Scheme No Component Criteria Not answered 0 marks Poor 2 marks Acceptable 4 (max) marks 1 Viva Students

More information

ns-2 Tutorial (1) Multimedia Networking Group, The Department of Computer Science, UVA Jianping Wang Jianping Wang, 2002 cs757 1

ns-2 Tutorial (1) Multimedia Networking Group, The Department of Computer Science, UVA Jianping Wang Jianping Wang, 2002 cs757 1 ns-2 Tutorial (1) Multimedia Networking Group, The Department of Computer Science, UVA Jianping Wang Jianping Wang, 2002 cs757 1 Contents: Objectives of this week What is ns-2? Working with ns-2 Tutorial

More information

Mohammad Hossein Manshaei 1393

Mohammad Hossein Manshaei 1393 Mohammad Hossein Manshaei manshaei@gmail.com 1393 A brief Introduction to ns-2 2 Contents 1. Introduction to ns-2 2. ns-2 Components 3. Create a Basic ns-2 Model 4. Case Study: WiFi Simulation 5. Simulation

More information

An Introduction to NS-2

An Introduction to NS-2 An Introduction to NS-2 * Roadmap For Today s Lecture 1. ns Primer 2. Extending ns Part I: ns Primer What is ns? Object-oriented, discrete event-driven network simulator Written in C++ and OTcl By VINT:

More information

REVA INSTITUTE OF TECHNOLOGY AND MANAGEMENT. Kattigenahalli, Jala Hobli, Yelahanka, Bangalore

REVA INSTITUTE OF TECHNOLOGY AND MANAGEMENT. Kattigenahalli, Jala Hobli, Yelahanka, Bangalore REVA INSTITUTE OF TECHNOLOGY AND MANAGEMENT Kattigenahalli, Jala Hobli, Yelahanka, Bangalore 560 064 Department of Master of Computer Applications III Semester MCA Laboratory Manual 1 Subject Code: I.A

More information

Simulations: ns2 simulator part I a

Simulations: ns2 simulator part I a Simulations: ns2 simulator part I a Lecturer: Dmitri A. Moltchanov E-mail: moltchan@cs.tut.fi http://www.cs.tut.fi/ moltchan/modsim/ a Based on: Eitan Altman and Tania Jimenez NS Simulator for Beginners,...

More information

S Ns2 simulation exercise

S Ns2 simulation exercise S-38.3148 Ns2 simulation exercise Fall 2007 1 Table of contents 1. Introduction... 3 2. Theoretical background... 3 2.1. IEEE 802.11 MAC protocol... 3 2.2. Overview of TCP s congestion control... 4 2.3.

More information

CSE 573S Protocols for Computer Networks (Spring 2005 Final Project)

CSE 573S Protocols for Computer Networks (Spring 2005 Final Project) CSE 573S Protocols for Computer Networks (Spring 2005 Final Project) To Investigate the degree of congestion control synchronization of window-based connections bottlenecked at the same link Kumar, Vikram

More information

NS-2 Tutorial. Kumar Viswanath CMPE 252a.

NS-2 Tutorial. Kumar Viswanath CMPE 252a. NS-2 Tutorial Kumar Viswanath CMPE 252a kumarv@cse.ucsc.edu 1 What is ns-2? ns-2 stands for Network Simulator version 2. ns-2: Is a discrete event simulator for networking research packet level simulator.

More information

Part 3. Result Analysis

Part 3. Result Analysis Introduction to NS-2 Part 3. Result Analysis Min Chen School of Computer Science and Engineering Seoul National University 1 Outline A Simulation and its results The Format of Trace File The AWK language

More information

Eexercise5: How to do Data Transmission between Nodes Using TCP in NS2

Eexercise5: How to do Data Transmission between Nodes Using TCP in NS2 Eexercise5: How to do Data Transmission between Nodes Using TCP in NS2 In wireless network, nodes communicate using the communication model that consists of TCP agent, TCPSink agent, and FTP application.

More information

CDA6530: Performance Models of Computers and Networks. Chapter 10: Introduction to Network Simulator (NS2)

CDA6530: Performance Models of Computers and Networks. Chapter 10: Introduction to Network Simulator (NS2) CDA6530: Performance Models of Computers and Networks Chapter 10: Introduction to Network Simulator (NS2) Some Contents are from. USC ISI Network Simulator (ns) Tutorial 2002 http://www.isi.edu/nsnam/ns/ns-tutorial/tutorial-02/index.html

More information

S Ns2 simulation exercise

S Ns2 simulation exercise S-38.148 Ns2 simulation exercise 1. Introduction...3 2. Theoretical background...3 2.1. Overview of TCP s congestion control...3 2.1.1. Slow start and congestion avoidance...4 2.1.2. Fast Retransmit...4

More information

LAN-WAN-LAN end-to-end Network Simulation with NS2

LAN-WAN-LAN end-to-end Network Simulation with NS2 International Journal of Applied Engineering Research ISSN 0973-4562 Volume 13, Number 17 (2018) pp 13136-13140 Research India Publications http://wwwripublicationcom LAN-WAN-LAN end-to-end Network Simulation

More information

S Quality of Service in Internet. Introduction to the Exercises Timo Viipuri

S Quality of Service in Internet. Introduction to the Exercises Timo Viipuri S-38.180 Quality of Service in Internet Introduction to the Exercises Timo Viipuri 8.10.2003 Exercise Subjects 1) General matters in doing the exercises Work environment Making the exercises and returning

More information

John Heidemann, USC/ISI and Polly Huang, ETH-Zurich 14 March 2002

John Heidemann, USC/ISI and Polly Huang, ETH-Zurich 14 March 2002 QVWKHQHWZRUNVLPXODWRU,3$07XWRULDO 1HWZRUN0RGHOLQJDQG7UDIILF $QDO\VLVZLWKQV John Heidemann, USC/ISI and Polly Huang, ETH-Zurich 14 March 2002 a discrete event simulator simple model focused on modeling

More information

Network Simulator 2. Reti di Telecomunicazioni (CdL Ing. TLC) Telematica I (CdL Ing. INF) Ing. Carla Passiatore.

Network Simulator 2. Reti di Telecomunicazioni (CdL Ing. TLC) Telematica I (CdL Ing. INF) Ing. Carla Passiatore. Network Simulator 2 Reti di Telecomunicazioni (CdL Ing. TLC) Telematica I (CdL Ing. INF) Ing. Carla Passiatore c.passiatore@poliba.it 1 NS2 wireless simulation Use NS to simulate Wireless Network Simple

More information

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections Application / Transport Interface Application requests service from transport layer Transport Layer Application Layer Prepare Transport service requirements Data for transport Local endpoint node address

More information

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

Flow Control Packet Marking Scheme: to identify the sources of Distributed Denial of Service Attacks Flow Control Packet Marking Scheme: to identify the sources of Distributed Denial of Service Attacks A.Chitkala, K.S. Vijaya Lakshmi VRSE College,India. ABSTRACT-Flow Control Packet Marking Scheme is a

More information

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1 Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 23-1 PROCESS-TO-PROCESS DELIVERY 23.2 The transport

More information

Outline. EEC-484/584 Computer Networks. Data Link Layer Design Issues. Framing. Lecture 6. Wenbing Zhao Review.

Outline. EEC-484/584 Computer Networks. Data Link Layer Design Issues. Framing. Lecture 6. Wenbing Zhao Review. EEC-484/584 Computer Networks Lecture 6 wenbing@ieee.org (Lecture nodes are based on materials supplied by Dr. Louise Moser at UCSB and Prentice-Hall) Outline Review Data Link Layer Design Issues Error

More information

QoS in Network Simulator 2

QoS in Network Simulator 2 QoS in Network Simulator 2 This experiment provides experience in how to apply and simulate QoS mechanisms in communication networks by means of NS2. We focus on RSVP in this experiment. 1. RSVP in NS2

More information

UNIT IV -- TRANSPORT LAYER

UNIT IV -- TRANSPORT LAYER UNIT IV -- TRANSPORT LAYER TABLE OF CONTENTS 4.1. Transport layer. 02 4.2. Reliable delivery service. 03 4.3. Congestion control. 05 4.4. Connection establishment.. 07 4.5. Flow control 09 4.6. Transmission

More information

Communication Networks

Communication Networks Communication Networks Prof. Laurent Vanbever Exercises week 4 Reliable Transport Reliable versus Unreliable Transport In the lecture, you have learned how a reliable transport protocol can be built on

More information

Principles of Reliable Data Transfer

Principles of Reliable Data Transfer Principles of Reliable Data Transfer 1 Reliable Delivery Making sure that the packets sent by the sender are correctly and reliably received by the receiver amid network errors, i.e., corrupted/lost packets

More information

Department of Computer and IT Engineering University of Kurdistan. Transport Layer. By: Dr. Alireza Abdollahpouri

Department of Computer and IT Engineering University of Kurdistan. Transport Layer. By: Dr. Alireza Abdollahpouri Department of Computer and IT Engineering University of Kurdistan Transport Layer By: Dr. Alireza Abdollahpouri TCP/IP protocol suite 2 Transport Layer The transport layer is responsible for process-to-process

More information

[1] Chowdhury, A. K., Ibrahim, M., Shanmugam, V., Singh, A. K. (2013). [2] Chowdhury, A. K., Raj, N., Singh, A. K., Area efficient MAX operator for

[1] Chowdhury, A. K., Ibrahim, M., Shanmugam, V., Singh, A. K. (2013). [2] Chowdhury, A. K., Raj, N., Singh, A. K., Area efficient MAX operator for References [1] Chowdhury, A. K., Ibrahim, M., Shanmugam, V., Singh, A. K. (2013). Multiple valued logic (MVL) reduction operator, its synthesis and application on network congestion. Proceeding of 7th

More information

Transport Layer Review

Transport Layer Review Transport Layer Review Mahalingam Mississippi State University, MS October 1, 2014 Transport Layer Functions Distinguish between different application instances through port numbers Make it easy for applications

More information

LAMPIRAN. set ns [new Simulator]

LAMPIRAN. set ns [new Simulator] LAMPIRAN set ns [new Simulator] $ns color 0 pink $ns color 1 red $ns color 2 green $ns color 3 yellow $ns color 4 brown $ns color 5 purple $ns color 6 black $ns color 7 grey $ns color 8 maroon set n0 [$ns

More information

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2015

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2015 1 Congestion Control In The Internet Part 2: How it is implemented in TCP JY Le Boudec 2015 Contents 1. Congestion control in TCP 2. The fairness of TCP 3. The loss throughput formula 4. Explicit Congestion

More information

USE OF THE NETWORK SIMULATOR NS-2 TOOL IN LECTURES

USE OF THE NETWORK SIMULATOR NS-2 TOOL IN LECTURES USE OF THE NETWORK SIMULATOR NS-2 TOOL IN LECTURES Petr Berka, Petr Hujka Department of Telecommunications, Brno University of Technology, Purkynova 118, 612 00 Brno, Czech Republic, phone: +420 5 41149190,

More information

Data Link Control Protocols

Data Link Control Protocols Protocols : Introduction to Data Communications Sirindhorn International Institute of Technology Thammasat University Prepared by Steven Gordon on 23 May 2012 Y12S1L07, Steve/Courses/2012/s1/its323/lectures/datalink.tex,

More information

An Issue in NewReno After Fast Recovery. Yoshifumi Nishida

An Issue in NewReno After Fast Recovery. Yoshifumi Nishida An Issue in NewReno After Fast Recovery Yoshifumi Nishida nishida@dyyno.com RFC3782 Definition Definition of Fast Retransmit and Fast Recovery Algorithm (Step 5 of fast retransmit fast recovery) When a

More information

Announcements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

Announcements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Announcements No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Copyright c 2002 2017 UMaine Computer Science Department 1 / 33 1 COS 140: Foundations

More information

Good Ideas So Far Computer Networking. Outline. Sequence Numbers (reminder) TCP flow control. Congestion sources and collapse

Good Ideas So Far Computer Networking. Outline. Sequence Numbers (reminder) TCP flow control. Congestion sources and collapse Good Ideas So Far 15-441 Computer Networking Lecture 17 TCP & Congestion Control Flow control Stop & wait Parallel stop & wait Sliding window Loss recovery Timeouts Acknowledgement-driven recovery (selective

More information

No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Announcements No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Copyright c 2002 2017 UMaine School of Computing and Information S 1 / 33 COS 140:

More information

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014 1 Congestion Control In The Internet Part 2: How it is implemented in TCP JY Le Boudec 2014 Contents 1. Congestion control in TCP 2. The fairness of TCP 3. The loss throughput formula 4. Explicit Congestion

More information

Computer Networking. Reliable Transport. Reliable Transport. Principles of reliable data transfer. Reliable data transfer. Elements of Procedure

Computer Networking. Reliable Transport. Reliable Transport. Principles of reliable data transfer. Reliable data transfer. Elements of Procedure Computer Networking Reliable Transport Prof. Andrzej Duda duda@imag.fr Reliable Transport Reliable data transfer Data are received ordered and error-free Elements of procedure usually means the set of

More information

Performance Analysis of TCP Variants

Performance Analysis of TCP Variants 102 Performance Analysis of TCP Variants Abhishek Sawarkar Northeastern University, MA 02115 Himanshu Saraswat PES MCOE,Pune-411005 Abstract The widely used TCP protocol was developed to provide reliable

More information

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014 1 Congestion Control In The Internet Part 2: How it is implemented in TCP JY Le Boudec 2014 Contents 1. Congestion control in TCP 2. The fairness of TCP 3. The loss throughput formula 4. Explicit Congestion

More information

c. If the sum contains a zero, the receiver knows there has been an error.

c. If the sum contains a zero, the receiver knows there has been an error. ENSC-37 Fall 27 Assignment#3 Due Date 6 Oct. 27 Problem-:[4] UDP and TCP use s complement for their checksums. Suppose you have the following three 8-bit bytes:,, and. a. [6] What is the s complement of

More information

Communication Networks

Communication Networks Communication Networks Spring 2018 Laurent Vanbever nsg.ee.ethz.ch ETH Zürich (D-ITET) April 30 2018 Materials inspired from Scott Shenker & Jennifer Rexford Last week on Communication Networks We started

More information

S Ns2 simulation exercise

S Ns2 simulation exercise S-38.148 Ns2 simulation exercise Table of contents 1. Introduction...3 2. Theoretical background...3 2.1. Overview of TCP s congestion control...3 2.1.1. Slow start and congestion avoidance...4 2.1.2.

More information

NSIS for NS-2. N4 TCP connection. Figure 1: TCP connection reuse

NSIS for NS-2. N4 TCP connection. Figure 1: TCP connection reuse NSIS for NS-2 NSIS (Next Steps in Signalling) is a signalling framework being developed by the IETF, based on various signalling protocols, of which the Resource Reservation Protocol (RSVP) is the corner

More information

23-3 TCP. Topics discussed in this section: TCP Services TCP Features Segment A TCP Connection Flow Control Error Control 23.22

23-3 TCP. Topics discussed in this section: TCP Services TCP Features Segment A TCP Connection Flow Control Error Control 23.22 23-3 TCP 23.22 TCP is a connection-oriented protocol; it creates a virtual connection between two TCPs to send data. In addition, TCP uses flow and error control mechanisms at the transport level. Topics

More information

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2015

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2015 Congestion Control In The Internet Part 2: How it is implemented in TCP JY Le Boudec 2015 1 Contents 1. Congestion control in TCP 2. The fairness of TCP 3. The loss throughput formula 4. Explicit Congestion

More information

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2 Transport Protocols Reading: Sections 2.5, 5.1, and 5.2 CE443 - Fall 1390 Acknowledgments: Lecture slides are from Computer networks course thought by Jennifer Rexford at Princeton University. When slides

More information

Introduction. Ns Tutorial Ns Goals. SAMAN and CONSER Projects. Ns Status. Ns functionalities

Introduction. Ns Tutorial Ns Goals. SAMAN and CONSER Projects. Ns Status. Ns functionalities Introduction Ns Tutorial 2002 Padmaparna Haldar (haldar@isi.edu) Xuan Chen (xuanc@isi.edu) Nov 21, 2002 1989: REAL network simulator 1995: DARPA VINT project at LBL, Xerox PARC, UCB, and USC/ISI Present:

More information

Mobile Routing : Computer Networking. Overview. How to Handle Mobile Nodes? Mobile IP Ad-hoc network routing Assigned reading

Mobile Routing : Computer Networking. Overview. How to Handle Mobile Nodes? Mobile IP Ad-hoc network routing Assigned reading Mobile Routing 15-744: Computer Networking L-10 Ad Hoc Networks Mobile IP Ad-hoc network routing Assigned reading Performance Comparison of Multi-Hop Wireless Ad Hoc Routing Protocols A High Throughput

More information

Announcements Computer Networking. Outline. Transport Protocols. Transport introduction. Error recovery & flow control. Mid-semester grades

Announcements Computer Networking. Outline. Transport Protocols. Transport introduction. Error recovery & flow control. Mid-semester grades Announcements 15-441 Computer Networking Lecture 16 Transport Protocols Mid-semester grades Based on project1 + midterm + HW1 + HW2 42.5% of class If you got a D+,D, D- or F! must meet with Dave or me

More information

Peer-to-Peer Protocols and Data Link Layer. Chapter 5 from Communication Networks Leon-Gracia and Widjaja

Peer-to-Peer Protocols and Data Link Layer. Chapter 5 from Communication Networks Leon-Gracia and Widjaja Peer-to-Peer Protocols and Data Link Layer Chapter 5 from Communication Networks Leon-Gracia and Widjaja Peer-to-Peer Protocols At each layer two (or more) entities execute These are peer processes For

More information

16.682: Communication Systems Engineering. Lecture 17. ARQ Protocols

16.682: Communication Systems Engineering. Lecture 17. ARQ Protocols 16.682: Communication Systems Engineering Lecture 17 ARQ Protocols Eytan Modiano Automatic repeat request (ARQ) Break large files into packets FILE PKT H PKT H PKT H Check received packets for errors Use

More information

Computer Networking Introduction

Computer Networking Introduction Computer Networking Introduction Halgurd S. Maghdid Software Engineering Department Koya University-Koya, Kurdistan-Iraq Lecture No.11 Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and

More information

WB-RTO: A Window-Based Retransmission Timeout. Ioannis Psaras, Vassilis Tsaoussidis Demokritos University of Thrace, Xanthi, Greece

WB-RTO: A Window-Based Retransmission Timeout. Ioannis Psaras, Vassilis Tsaoussidis Demokritos University of Thrace, Xanthi, Greece WB-RTO: A Window-Based Retransmission Timeout Ioannis Psaras, Vassilis Tsaoussidis Demokritos University of Thrace, Xanthi, Greece Motivation and Contribution We observe that retransmission scheduling

More information

Bandwidth Allocation & TCP

Bandwidth Allocation & TCP Bandwidth Allocation & TCP The Transport Layer Focus Application Presentation How do we share bandwidth? Session Topics Transport Network Congestion control & fairness Data Link TCP Additive Increase/Multiplicative

More information

Lecture 7: Flow Control"

Lecture 7: Flow Control Lecture 7: Flow Control" CSE 123: Computer Networks Alex C. Snoeren No class Monday! Lecture 7 Overview" Flow control Go-back-N Sliding window 2 Stop-and-Wait Performance" Lousy performance if xmit 1 pkt

More information

Topics. TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput

Topics. TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput Topics TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput 2 Introduction In this chapter we will discuss TCP s form of flow control called a sliding window protocol It allows

More information

CS519: Computer Networks. Lecture 5, Part 1: Mar 3, 2004 Transport: UDP/TCP demux and flow control / sequencing

CS519: Computer Networks. Lecture 5, Part 1: Mar 3, 2004 Transport: UDP/TCP demux and flow control / sequencing : Computer Networks Lecture 5, Part 1: Mar 3, 2004 Transport: UDP/TCP demux and flow control / sequencing Recall our protocol layers... ... and our protocol graph IP gets the packet to the host Really

More information

Multiple unconnected networks

Multiple unconnected networks TCP/IP Life in the Early 1970s Multiple unconnected networks ARPAnet Data-over-cable Packet satellite (Aloha) Packet radio ARPAnet satellite net Differences Across Packet-Switched Networks Addressing Maximum

More information

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 23-1 PROCESS-TO-PROCESS DELIVERY The transport

More information

Wireless Challenges : Computer Networking. Overview. Routing to Mobile Nodes. Lecture 25: Wireless Networking

Wireless Challenges : Computer Networking. Overview. Routing to Mobile Nodes. Lecture 25: Wireless Networking Wireless Challenges 15-441: Computer Networking Lecture 25: Wireless Networking Force us to rethink many assumptions Need to share airwaves rather than wire Don t know what hosts are involved Host may

More information

Lecture 7: Sliding Windows. CSE 123: Computer Networks Geoff Voelker (guest lecture)

Lecture 7: Sliding Windows. CSE 123: Computer Networks Geoff Voelker (guest lecture) Lecture 7: Sliding Windows CSE 123: Computer Networks Geoff Voelker (guest lecture) Please turn in HW #1 Thank you From last class: Sequence Numbers Sender Receiver Sender Receiver Timeout Timeout Timeout

More information

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2. Goals for Todayʼs Lecture. Role of Transport Layer

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2. Goals for Todayʼs Lecture. Role of Transport Layer Transport Protocols Reading: Sections 2.5, 5.1, and 5.2 CS 375: Computer Networks Thomas C. Bressoud 1 Goals for Todayʼs Lecture Principles underlying transport-layer services (De)multiplexing Detecting

More information

Announcements Computer Networking. What was hard. Midterm. Lecture 16 Transport Protocols. Avg: 62 Med: 67 STD: 13.

Announcements Computer Networking. What was hard. Midterm. Lecture 16 Transport Protocols. Avg: 62 Med: 67 STD: 13. Announcements 15-441 Computer Networking Lecture 16 Transport Protocols Mid-semester grades Based on (ckpt 1 & ckpt2) + midterm + HW1 + HW2 NOTE: GRADES DO NOT REFLECT LATE PENALTIES! 25.4% of class If

More information

Programming Assignment 3: Transmission Control Protocol

Programming Assignment 3: Transmission Control Protocol CS 640 Introduction to Computer Networks Spring 2005 http://www.cs.wisc.edu/ suman/courses/640/s05 Programming Assignment 3: Transmission Control Protocol Assigned: March 28,2005 Due: April 15, 2005, 11:59pm

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

UNIT IV TRANSPORT LAYER

UNIT IV TRANSPORT LAYER Transport Layer UNIT IV TRANSPORT LAYER Congestion Control and Quality of Service Ref: Data Communication & Networking, 4 th edition, Forouzan IV-1 DATA TRAFFIC The main focus of congestion control and

More information

Computer Networks. Sándor Laki ELTE-Ericsson Communication Networks Laboratory

Computer Networks. Sándor Laki ELTE-Ericsson Communication Networks Laboratory Computer Networks Sándor Laki ELTE-Ericsson Communication Networks Laboratory ELTE FI Department Of Information Systems lakis@elte.hu http://lakis.web.elte.hu Based on the slides of Laurent Vanbever. Further

More information

TCP: Flow and Error Control

TCP: Flow and Error Control 1 TCP: Flow and Error Control Required reading: Kurose 3.5.3, 3.5.4, 3.5.5 CSE 4213, Fall 2006 Instructor: N. Vlajic TCP Stream Delivery 2 TCP Stream Delivery unlike UDP, TCP is a stream-oriented protocol

More information

Transport Protocols. Raj Jain. Washington University in St. Louis

Transport Protocols. Raj Jain. Washington University in St. Louis Transport Protocols Raj Jain Washington University Saint Louis, MO 63131 Jain@cse.wustl.edu These slides are available on-line at: http://www.cse.wustl.edu/~jain/cse473-05/ 16-1 Overview q TCP q Key features

More information

An Application of the Modification of Slow Start Algorithm in Campus Network

An Application of the Modification of Slow Start Algorithm in Campus Network Available online at www.sciencedirect.com Energy Procedia 17 (2012 ) 1326 1331 2012 International Conference on Future Electrical Power and Energy Systems An Application of the Modification of Slow Start

More information

Q23-5 In a network, the size of the receive window is 1 packet. Which of the follow-ing protocols is being used by the network?

Q23-5 In a network, the size of the receive window is 1 packet. Which of the follow-ing protocols is being used by the network? CS368: Exercise 5 Q23-5 In a network, the size of the receive window is 1 packet. Which of the follow-ing protocols is being used by the network? a) Stop_and_Wait b) Go-Back-N c) Selective-Repeat Q23-6.

More information

Exercises TCP/IP Networking With Solutions

Exercises TCP/IP Networking With Solutions Exercises TCP/IP Networking With Solutions Jean-Yves Le Boudec Fall 2009 3 Module 3: Congestion Control Exercise 3.2 1. Assume that a TCP sender, called S, does not implement fast retransmit, but does

More information

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste Outline 15-441 Computer Networking Lecture 18 TCP Performance Peter Steenkiste Fall 2010 www.cs.cmu.edu/~prs/15-441-f10 TCP congestion avoidance TCP slow start TCP modeling TCP details 2 AIMD Distributed,

More information

8. TCP Congestion Control

8. TCP Congestion Control 8. TCP Congestion Control 1 TCP Congestion Control Slow-start increase Multiplicative decrease Congestion avoidance Measurement of variation Exponential timer backoff 2002 Yanghee Choi 2 Congestion Control

More information

Fall 2012: FCM 708 Bridge Foundation I

Fall 2012: FCM 708 Bridge Foundation I Fall 2012: FCM 708 Bridge Foundation I Prof. Shamik Sengupta Instructor s Website: http://jjcweb.jjay.cuny.edu/ssengupta/ Blackboard Website: https://bbhosted.cuny.edu/ Intro to Computer Networking Transport

More information

COMPARISON OF DIFFERENT VERSIONS OF TCP IN

COMPARISON OF DIFFERENT VERSIONS OF TCP IN SONG XING COMPARISON OF DIFFERENT VERSIONS OF TCP IN 802.11 WLANS Master of Science Thesis Examiner: Yevgeni Koucheryavy Dmitri Moltchanov Examiner and topic approved by the Faculty Council of the Faculty

More information

COMPUTER NETWORK. Homework #2. Due Date: April 12, 2017 in class

COMPUTER NETWORK. Homework #2. Due Date: April 12, 2017 in class Computer Network Homework#2 COMPUTER NETWORK Homework #2 Due Date: April 12, 2017 in class Question 1 Suppose a process in Host C has a UDP socket with port number 6789. Suppose both Host A and Host B

More information

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Transmission Control Protocol. ITS 413 Internet Technologies and Applications Transmission Control Protocol ITS 413 Internet Technologies and Applications Contents Overview of TCP (Review) TCP and Congestion Control The Causes of Congestion Approaches to Congestion Control TCP Congestion

More information

ENRICHMENT OF SACK TCP PERFORMANCE BY DELAYING FAST RECOVERY Mr. R. D. Mehta 1, Dr. C. H. Vithalani 2, Dr. N. N. Jani 3

ENRICHMENT OF SACK TCP PERFORMANCE BY DELAYING FAST RECOVERY Mr. R. D. Mehta 1, Dr. C. H. Vithalani 2, Dr. N. N. Jani 3 Research Article ENRICHMENT OF SACK TCP PERFORMANCE BY DELAYING FAST RECOVERY Mr. R. D. Mehta 1, Dr. C. H. Vithalani 2, Dr. N. N. Jani 3 Address for Correspondence 1 Asst. Professor, Department of Electronics

More information

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control Chapter 6 What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control OSI Model Hybrid Model Software outside the operating system Software inside

More information

Modeling of data networks by example: ns-2 (I)

Modeling of data networks by example: ns-2 (I) Modeling of data networks by example: ns-2 (I) Holger Füßler Holger Füßler Course overview 1. Introduction 7. NS-2: Fixed networks 2. Building block: RNG 8. NS-2: Wireless networks 3. Building block: Generating

More information

TCP. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli)

TCP. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli) TCP CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli) 1 Sources Fall and Stevens, TCP/IP Illustrated Vol. 1, 2nd edition Congestion Avoidance

More information

CSCD 330 Network Programming

CSCD 330 Network Programming CSCD 330 Network Programming Lecture 10 Transport Layer Continued Spring 2018 Reading: Chapter 3 Some Material in these slides from J.F Kurose and K.W. Ross All material copyright 1996-2007 1 Last Time.

More information

MIDTERM EXAMINATION #2 OPERATING SYSTEM CONCEPTS U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E

MIDTERM EXAMINATION #2 OPERATING SYSTEM CONCEPTS U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E MIDTERM EXAMINATION #2 OPERATING SYSTEM CONCEPTS 03-60-367-01 U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E Intersession 2008 Last Name: First Name: Student ID: PLEASE

More information

CS 640 Introduction to Computer Networks Spring 2009

CS 640 Introduction to Computer Networks Spring 2009 CS 640 Introduction to Computer Networks Spring 2009 http://pages.cs.wisc.edu/~suman/courses/wiki/doku.php?id=640-spring2009 Programming Assignment 3: Transmission Control Protocol Assigned: March 26,

More information

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2 Transport Protocols Reading: Sections 2.5, 5.1, and 5.2 COS 461: Computer Networks Spring 2006 (MW 1:30-2:50 in Friend 109) Jennifer Rexford Teaching Assistant: Mike Wawrzoniak http://www.cs.princeton.edu/courses/archive/spring06/cos461/

More information