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
2b

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”.