ECSE 414 - Intro To Telecom Networks - Fall 2007 Midterm 2007 Solutions

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

ECSE 414 Intro to Telecom Networks Fall 2007

Midterm 2007 Solutions

Question 1 [30 marks]

a) In a packet switched network, resources do not necessarily go wasted if one connection


temporarily sits idle.
Consequently, a packet-switched network can generally service more users than a circuit-
switched network with the same amount of bandwidth, especially when traffic is bursty.
There is no required overhead for call setup to establish a circuit.

b) In statistical multiplexing, resources are allocated as needed; messages may need to be buffered
in case many users request resources at the same time. In time division multiplexing resources
are pre-allocated (slotted) and each user has one slot during which they can transmit. The
network should not need to buffer messages in a TDM system.

c) Queueing delay is the time a packet spends being buffered because of congestion experi-
enced en route to the destination; it depends on the amount of background traffic in the
network.
Transmission delay is the amount of time it takes to write a packet (or bit) onto the wire;
it is a function of the link bandwidth.
Propagation delay is the amount of time it takes for a packet to travel from one end of a
link to the other end; it is a function the length and propagation characteristics of the
link.
Processing delay is the time a node spends processing a packet (e.g., examining headers,
computing the checksum, etc.); it is a function of the protocols being used, the hardware,
processor speed, and operating system in use at each router and end-host.

d) From the top down they are: Application Layer, Transport Layer, Network Layer, Link Layer,
Physical Layer.

e) From the book: The session layer provides for delimiting and synchronization of data ex-
change, including the means to build a checkpointing and recovery scheme. It sits between
the transport and application layers (between the transport and presentation, to be more
precise). Examples of session layer protocols include RTP/RTCP, SSH, SCP, FTP, and SIP.

f) With the IMAP protocol, messages are stored and organized on the server, so that a client
can easily connect and read the same messages from different machines at different locations.
With the POP3 protocol, messages are typically downloaded to the clients machine and
deleted off the server when they are retrieved.

g) In iterative DNS queries, the local DNS server interacts with all of the other DNS servers (root,
top-level domain, and authoritative). In a recursive query, the local DNS server interacts with
the root server, the root server interacts with the top-level domain server, and the top-level
server interacts with the authoritative server. Figure 1 illustrates the difference pictorially.

1
(a) (b)

Figure 1: Difference between iterative and recursive DNS queries. Images reproduced from Com-
puter Networking: A Top-Down Approach (4th ed.) by J. Kurose and K. Ross.

h) Assuming all four images can be transmitted in a single packet, we have: 1 RTT for TCP
handshaking/connection setup + 1RTT to retrieve the HTML files + 1 RTT to retrieve all
four images = 3 RTTs. 3 RTTs 150ms/RTT = 450ms.
i) Web caches speed up the time to access web objects by storing popular objects closer to
the clients.
When the cache resides within the local network, a web cache also reduces the amount
of traffic on the access link, freeing up bandwidth so that non-cached files can be down-
loaded faster.
j) P2P takes advantage of upload bandwidth available at each of the peers to reduce the burden
on the file server. This results in faster distribution time and allows the system to scale to
larger networks.
k)
10010110 (first data word)
+00110101 (second data word)
11001011
+01011000 (third data word)
100100011 (carry over overflow bit...)
+1 (...and add one)
00100100 (finally, take the 1s complement to get...)
11011011 (...the UDP checksum)
This checksum does not match the checksum received in the packet header (11011101), so
there must have been a bit error.
l) No, the UDP checksum is not guaranteed to catch all errors, in general. It is guaranteed
to catch all single-bit errors, but if two bits in the same position of two different words get
flipped, the checksum will not catch the error.

2
Question 2 [18 marks]

a) t0 = 2 50ms + 2 5ms = 110ms.

(128 8 bytes) 8 bits/byte


R0 = 8, 727 bps.
110ms

R0 8, 727 bps
b) = = 0.0008727.
R 10, 000, 000 bps
c) In Go-Back-N, assuming no errors and no losses, the sender transmits a window of N = 100
packets in each transmission round, instead of just one. Each packet takes 50ms to reach
the receiver. After a processing delay of 5ms, an ACK is transmitted back to the sender
(another 50ms), and the message is compete after another 5ms processing of the ACK at the
sender. The total amount of time it takes to transmit and receive an entire window is thus:
tGBN
0 = 50ms + 100 5ms + 50ms + 5ms = 605ms.

100 (128 8 bytes) 8 bits/byte


R0GBN = 158, 678 bps
605ms
158, 678 bps
GBN = 0.015868.
10, 000, 000 bps

d) Selective repeat is more efficient than Go-Back-N based on the number of messages which
are retransmitted. In selective repeat, the receiver buffers and ACKs individual packets, even
when they arrive out of order, so only packets which were dropped need to be retransmitted.
However, the tradeoff is that both the sender and receiver implementation are more complex
in selective repeat. The sender must maintain an individual timer for each transmitted packet,
and both the sender and receiver must have buffer space available for an entire window of
packets.

e) Selective repeat needs a number of sequence numbers greater than or equal to 2N in order to
avoid mis-interpreted data or ACK packets, as depicted in Figure 3.27 in the book (reproduced
as Fig. 2 below). To avoid these problems we need to make sure there are enough sequence
numbers to avoid having the senders window and receivers window wrapping around and
overlapping with each other. Choosing the window size to be at least 2N accomplishes this.

f) If TCP times out, then all packets are being dropped somewhere in the network (e.g., nothing
is arriving at the receiver, or no ACKs are making it back to the sender). This is extremely
severe congestion. On the other hand, if congestion is observed via three duplicate ACKs,
then at least some packets are making it across the network (the receiver only transmits ACKs
when packets are received, and these ACKs are actually making it all the way back to the
sender).

3
Figure 2: Window size and sequence numbers for selective repeat.

4
Question 3 [17 marks]

a) In class and review questions we actually defined the bandwidth delay product in two slightly
different ways, so either of the following answers is correct for this part. BW-delay product =
1 Mbps 160ms = 160, 000 bits, or BW-delay product = 1 Mbps (160ms/2) = 80, 000 bits.
160, 000 bits
b) The number of packets transmitted when a drop occurs is given by =
8, 000bits/packet
20 packets. Thus, the maximum number of packets that can be successfully transmitted in
one round is 19 packets. (Either 19 or 20 packets is an acceptable answer.)

c) The purpose of slow start is to rapidly find the maximum available bandwidth. Exponential
increase is much faster than linear (additive) increase, and if the available bandwidth is very
large then it could take a long time to get there just using additive increase. The first drop

transmission round 1 2 3 4 5 6
window size 1 2 4 8 16 32

occurs in the sixth transmission round (first time we exceed the number of packets determined
in part (b)). Thus, slow start lasts 6 160ms = 960ms.

d) We want to know when the number of bits transmitted is equal to the bandwidth delay
R (bps) RT T (s)
product. This is when W = .
P (bits/packet)
e) When a drop is detected via three duplicate ACKs, the window size is cut in half.
W W
f) Assuming W is a multiple of 2, to go from 2 to W takes 2 + 1 transmission rounds (additive
increase).

g) The average throughput in one spike of the sawtooth TCP pattern is given by the total
number of bits transmitted during that spike, divided by the amount of time it takes for that
spike. Ignoring the one dropped packet, the total number of packets transmitted is given by

W W/2
X W W X
k = ( + 1) + n
2 2
k=W/2 n=0
  W W
W W ( + 1)
= +1 + 2 2
2 2 2
  
3 W W
= + 1 packets.
2 2 2

The total time during this period is ( W


2 + 1) RT T . Therefore, the average throughput
(measured in bps) is
3 W W
2 ( 2 )( 2 + 1) packets P bits/packet 3 W P 3
= = R.
(W
2 + 1) RT T seconds
2 2 RT T 4

5
h) Let w1 (t) denote the window size for the first connection and let w2 (t) denote the window
size for the second connection at time t (where time is measured in transmission rounds).
To be concrete, we will assume that if a drop occurs at time t and wi (t) is not even, then we
round down: wi (t + 1) = bwi (t)/2c. Based on part (b) above, we know that both connection
experience a drop when the sum of their congestion window sizes equals or exceeds 20. The
two congestion window sizes evolve as follows: Yes, the two connections do converge to a fair

t 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
w1 (t0 + t) 10 11 12 13 6 7 8 9 10 11 5 6 7 8 9 10 11 5
w2 (t0 + t) 1 2 4 8 4 5 6 7 8 9 4 5 6 7 8 9 10 5
w1 + w2 11 13 16 21 10 12 14 16 18 20 9 11 13 15 17 19 21 10

solution where they each have equal transmission rates. The windows converge in the 17th
transmission round (17 160ms = 2.72s) after t0 . Note that once they have converged, they
will remain identical w1 (t) = w2 (t) until one connection finishes.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy