140 likes | 205 Vues
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 .
E N D
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) Gateway Internet itself Target Computer Your 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.
Buffer Queue Router Input x(t) Output y(t) Buffers and Queues • An issue we will be spending a lot of time on is queuing • At its simplest, the situation is summarised below.
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 Triple duplicate loss occurs here 3 5 2 1 4 round no 1 2 3 4 ... Xi
Final equation • With just triple duplicate ACKs we get: • Which can be expressed as:
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”.