ICS 651: Computer Networks

http://www.ics.hawaii.edu/~ics651

Edo Biagioni

          esb@hawaii.edu

956-3891

Department of Information and Computer Science

Today’s Outline

• Performance – Bandwidth and Throughput

– Latency and Round-Trip time

– Bandwidth-Delay and Congestion Control • Layering:

– OSI

– Internet

Performance

What we really care about is:

How fast will this operation complete?

The time to completion is the cost of the operation. This cost is expressed in units of time (ns, μs, ms, s, ..).

Performance Analysis

Experimentally, we find that the cost (i.e. time) of a network transaction can be approximated by a linear combination of a fixed cost and a per-bit cost:

total time = K × latency + K′ × \frac{bits}{throughput}

where the constants K and K′ are independent of network characteristics and only depend on the network transaction. (Textbook calls this “perceived latency”).

Latency

Latency is the time required to traverse the network from the sender to the receiver. This time can be divided into 3 components:

latency = propagation + queue + transmit

This is of course a great question for a midterm or the final...

5-1

Propagation Delay

The propagation delay is:

propagation = \frac{distance}{lightspeed}

lightspeed is the speed of light in the medium. Note that this is not necessarily the same as the speed of light in a vacuum! This delay is generally fixed for a given route through the network.

Queueing Delay

The queueing delay is due to the packet-switched nature of the network: at each switch in the network, a packet may have to be stored for a time while other packets are sent along the outbound link. The total time that the packet is stored while in the network is the queueing delay. This delay varies according to network congestion. If nobody else is using the network, the queueing delay is zero.

Transmission Delay

The transmission delay is:

transmit = \frac{packet size}{bandwidth}

This delay is both constant for a given route and generally small enough to be negligible. Question 1: If a route includes links with a variety of bandwidths b_{1} … b_{n}, which bandwidth should we include in this calculation? Question 2: What is the transmission delay of a 41-byte packet on a 300-baud line?

Answer 1: the lowest bandwidth in the path. Answer 2: \frac{41×8}{300} ≈ 1second

8-1

Measuring Latency

In practice, latency is rarely measured directly. Instead, we measure round-trip time (See the “ping” exercise in the homework). If the packet round-trip is symmetric, then the latency is half the round-trip time; however, the round-trip is rarely symmetric. For most applications the round-trip time is really the measure of interest, and latency in each direction is not really important. Examples: WWW, telnet, TCP, X-windows. Counter-examples: e-mail submissions, NTP.

Mention challenges of measuring latency directly (in most cases). Special cases include atomic clocks, wire loops. Anything other special cases?

9-1

Throughput

In all cases, throughput ≤ link bandwidth. Likely factors causing throughput to be less than bandwidth:

• Hardware processing of each byte (bus bandwidth, memory bandwidth, device overhead).

• Software processing of each byte (copying, checksums, compression)

• Per-packet and other costs (interrupt handling, context switches, flow control).

Measuring Throughput: Reliable Protocols

With a reliable protocol, send a known amount of data, measure the time from receipt of first byte to receipt of last byte.

(As with latency, the measurement is easier if a single end-system can perform the computation.)

Question: if you measure the time at the sender instead of the receiver, will the result be the same?

Measuring Throughput:

Unreliable Protocols

With an unreliable protocol:

• If the receiver is faster than the sender, essentially all the data should be received, so can divide the total data by the time to receive it.

• If the sender is faster than the receiver, data will be dropped. The receiver must both determine when the last data has been received, and use the actual amount of data received to determine the bandwidth.

• A simplification of this is to measure the time to receive only a fraction of the data that is sent.

• Or, you can use a reliable protocol to communicate the fact that the sender is done.

Measuring Throughput: at user level

Use the program ttcp, available in

~ics651/sw/ttcp.

Be sure to use the -s option on both sides, or you will get a dump of the data on your screen. If ttcp is not available, you can use ftp and get or put a large file. Be sure to do so more than once so the file gets cached in memory. Note: do not send or receive a file that’s larger than your computer’s memory! You will most likely be measuring the average bandwidth to your system’s disk.

Bandwidth-Delay product

This is very important for congestion control. This is the amount of data that the sender can send before any feedback can be expected from the receiver. If this amount of data gets buffered in the network and “clogs” it for a long time, there is nothing either side can do to “un-clog” the network. (The textbook calls this “Delay×Bandwidth Product”).

Measuring Network Congestion

In TCP and other protocols, accurate congestion control requires an estimate the congestion in the network. The fixed component of latency can be estimated as the lowest round-trip time seen so far on the connection. The remaining latency seen can be assumed to be the queueing delay. The total amount of this connection’s data buffered by the network is:

data = bandwidth × queue

Bandwidth is the rate at which data is actually being sent.

Layering Principles

• Each layer offers an abstraction of the layers below it.

• Logically, all communication is between peers, protocols at the same layer on different systems.

• Each layer communicates with and only depends on the layer below it and its peers.

We now switch to the other major topic for today...

16-1

OSI Architecture

Open Systems Interconnect • Application

• Presentation

• Session

• Transport

• Network

• Data Link

• Physical Is the OSI model still relevant?

Say a few words about each layer. Answer the question at the end.

17-1

Next: show Internet architecture (from p. 37 of the textbook), explain that it’s not strictly layered. Also, it came before OSI, or it might have looked a lot more like it.

Four layers: device, IP, Transport, application.

Note IP “hourglass”, which makes it possible for everything to talk to everything else.

Explain about IETF, how “running code” is essential (best if there are at least two separate implementations), how the theoretical definition sometimes takes a bow to the implementation.

Explain about RFCs, about on-line documentation, about technical co-operation leading to consensus building.

17-2

Summary

Described some properties of networks “in general”. Focused on performance and structure.

From the next lecture, we will start to talk about Direct Link networks.