Lecture 3 - Richard Clegg
Download
Report
Transcript Lecture 3 - Richard Clegg
Lecture 3
A round up of the most important basics I haven’t
covered yet.
A round up of some of the (many) things I am missing out of
this course (ATM, Ethernet).
More Information:
Bertsekas/Gallager: Section 2.10 + 4.5.2
A brief word about buffers and queues in the internet .
There will be much more about queues later.
A simple model of TCP throughput
A bit of maths at last.
The Structure of the Internet
(typically)
Gateway
(perhaps
via modem)
Internet itself
Your computer
Gateway
Target
Computer
Structure of the Internet
A typical user connects to the internet via a modem
(modulator demodulator).
This sends the signal via telephone wire to their ISP
(Internet Service Provider) who receives it with another
modem.
The ISP forwards the packet through their LAN (Local
Area Network) to their gateway to the internet.
On the internet the packet will probably then head onto
the internet backbone.
At each level different protocols apply.
ATM in brief
ATM (Asynchronous Transfer Mode) is a protocol
designed to provide end-to-end connections at high
speed.
ATM sends data as 53 byte cells (packets) – 5 bytes
header, 48 bytes data.
It allows a connection oriented service (sets up a route
then sends data).
It is used in high speed switches and ADSL.
While it was once thought to be a likely model to
replace TCP/IP, this seems unlikely now.
Ethernet (in Brief)
Ethernet is a widely used protocol for LAN (Local Area
Network).
Typically it supports connections of 10 or 100Mbit/s
(but can go up to Gb/s).
Machines on an ethernet are given a unique address.
(Not related to their IP address).
The most common deployment nowadays is to connect
a number of machines to a central switch which acts as
a gateway to the rest of the network.
The switch translates IP addresses for local machines to
ethernet addresses and forwards packets appropriately.
Buffers and Queues
An issue we will be spending a lot of time on is
queuing
At its simplest, the situation is summarised
below.
Buffer
Queue
Input x(t)
Router
Output y(t)
Buffers (1)
Usually, a network component can only send data at a
certain rate.
If more data is received than can be sent then it must be
stored somewhere.
Only a finite amount of data can be stored (even if it
were practical to store infinite data it would not be
desirable to do so).
If more data arrives than can be stored then it must be
thrown away. (dropped)
This is not necessarily such a bad thing.
Buffers (2)
The simplest type of buffer:
FIFO (First in first out).
Tail drop (If a packet arrives and there is no room for
it it is dropped).
Always sends.
Some common variants:
Priority Queuing.
RED (Random Early Detection).
Leaky Bucket.
TCP Throughput Estimate
In the rest of this lecture we will create a simple model
which gives performance estimates for TCP.
Consider what happens when a buffer is full.
If the buffer is full, packets must be dropped.
If packets are dropped then the TCP algorithm will react
and send less data.
This model is taken from “Modelling TCP Throughput:
A Simple Model and its Empirical Validation” by
Padhye, Firiou, Towsley and Kurose (1998). Published
in proceedings of SIGCOMM ’98 available from
http://citeseer.nj.nec.com/padhye98modeling.html
TCP reminder
TCP sends packets and receives ACKs to indicate they
arrived successfully.
The “window size” is the number of unacknowledged
packets outstanding.
If all goes well and no packets are lost then the
“window size” gradually increases (up to a max).
If a packet is lost then the window size will be halved.
The problem is, how can we estimate the bandwidth of
a TCP connection? (We will need to make some
simplifying assumptions).
TCP – more gory details
Remember that packets and ACKs have a sequence no which
should match.
Assume that our window size is W.
b is a parameter of TCP (typically 2). After Wb ACKs have been
received, W increases by 1 (ignoring slow start).
How does TCP know when a packet is lost?
Triple Duplicate ACK (TDA) – that is three ACKs in a row with
one or more missing ACKs between them – is taken to mean a
packet has lost.
If a TDA occurs then the window size is halved and the lost
packet is resent.
A second mechanism (not discussed here) is timeout (no ACKs at
all for a certain period) – in this case the window becomes 1.
TCP diagram
Packets
sent
lost packet
received packet
Wi
Wi 1
2
3
2 5
1 4
1 2 3 4 ...
i
i 1
Triple duplicate
loss occurs here
Wi
2
i
Xi
round no
Final equation
With just triple duplicate ACKs we get:
1 p 2 b
8(1 p ) 2 b
p
3b
3bp
3b
B( p)
2
2b
2
b
(
1
p
)
2
b
RTT
1
6
3p
6
2
Which can be expressed as:
1
B( p)
RTT
1
3
o
p
2bp
How to take this further
Obviously this analysis can be extended
considerably.
The model has been extended to cover time out
losses and maximum window sizes.
The basic assumption that the probability of a
packet loss is constant is a big problem.
If we want to get a handle on the probability of
packet loss then we need the branch of
mathematics known as “Queuing Theory”.