# Assignment #4 AIT 622 Summer 2008

Networking and Communications

Oct 24, 2013 (4 years and 5 months ago)

767 views

Assignment #4

AIT 622

Summer

2008

Due:
Tuesday
,
July 1

1. Select a subnet mask for 10.0.0.0 so that there will be at least 16,000 subnets with at least 700
host addresses available on each subnet.

11111111 11111111 11111100 00000000

Subnets: 2
14
-

2

= 16,382

Hosts: 2
10
-
2 = 1,022

2. Select a subnet mask for 172.27.0.0 so that there are at least 500 subnets with at least 100 host

11111111 11111111 111111
11

1
0000000

Subnets: 2
9

-

2

=
510

Hosts: 2
7
-
2 = 1
26

3. How many subnets are available if a class C address has six bits of subnetting? How many
host addresses are available per subnet?

11111111 11111111 11111111 11111100

Subnets: 2
6
-
2 = 62

Hosts: 2
2
-
2 = 2

4. Suppose a 28
-
d to subnet 192.168.147.0. How many subnets are available?
Give the mask and list the subnet addresses in binary and dotted
-

11111111 11111111 11111111 11110000

Subnets: 2
4
-
2 = 14

Hosts: 2
4
-
2 = 14

5. Suppose a 20
-
bit mas
k is used to subnet 172.16.0.0. How many subnets are available? Give
-

11111111 11111111 11110000 0000
0000

Subnets: 2
4
-
2 = 14

Hosts: 2
12
-
2 = 4094

CHAPTER 12

6.
How does TCP provide a reliable transfer service by using IP, which is unreliable?

Transmission Control Protocol (TCP) provides a reliable

byte
-
stream transfer service between
two endpoints on an internet.

TCP depends on IP to move packets around the net
work on its

behalf. IP is inherently unreliable, so TCP protects against data

loss, data corruption, packet
reordering and data duplication by

adding checksums and sequence numbers to transmitted data
and, on

the receiving side, sending back packets that a
cknowledge the

receipt of data.

7. What “specializations” are made to the simplified sliding window protocol for TCP? What
two important problems does the specialized mechanism used by TCP solve?

TCP has a multi
-
stage flow
-
control mechanism which conti
nuously

in an attempt to achieve maximum

data throughput while avoiding congestion and subsequent
packet

losses in the network. It also attempts to make the best use of

network resources by
acking as much data as possible in
to a

single IP packet, although this behaviour can be
overridden by

applications that demand immediate data transfer and don't care

inefficiencies of small network packets.

8. Describe the connection abstraction used by TCP.

With TCP a given p
ort number dose not correspond o a single object. Instead, TCP has been
built on the connection abstraction, in which the objects to be identified are virtual circuit
connections, not individual ports.

TCP uses the connection, not the protocol port, as it
s fundamental abstraction; connections are
identified by a pair of endpoints.

9. Why does TCP support an option to specify a Maximum Segment Size (MSS) when it also

TCP provides a means for a device to specify that
the MSS it wants to use is either smaller or
larger than the default value of 536.
A device can inform the other of the MSS it wants to
use

during the connection establishment process. A device that chooses to do so includes in its
SYN

message the TCP opti
on called, appropriately,
Maximum Segment Size
.

The other device
receives this option and records the MSS for the connection. Each device can specify the MSS it
wants for the segments it receives independently.

Devices may wish to use a larger MSS if they
know for a fact that the MTUs of the networks the
segments will pass over are larger than the IP minimum of 576. This is most commonly the case
when large amounts of data are sent on a local network; the process of path MTU discovery is
used to determine t
he appropriate MSS. A smaller MSS might be advisable if it were known that
a particular optional feature was in place that would consistently increase the size of the IP
header. Employing IPSec for security would be a good example.

Pg: 202 in the book
.

1
0. Why is the TCP acknowledgement scheme called
cumulative
? What are the advantages and

The TCP acknowledgement scheme is called cumulative because it reports how much of the
stream has accumulated.

ge:

Lost acknowledgements do not necessarily fore retransmission.

single position in the stream that has been received.

11. Why is an adaptive ret
ransmission algorithm used for TCP? In general terms, how does it
work?

To accommodate the varying

delays encountered in an internet environment, TCP uses an
adaptive retransmission algorithm that monitors delays on each connection and adjusts its
timeou
t parameter accordingly.

TCP records the time at which each segment is sent and the time at which an acknowledgement
arrives for the data in that segment. Fro the two times, TCP computes an elapsed time known as
a sample round trip time or round trip s
ample. Whenever it obtains a new round trip sample,
TCP adjusts its notion of the average round trip time for the connection.

12. What problem does Karn’s algorithm solve?

Karn’s Algorithm avoids the problem of ambiguous acknowledgements by only adjust
ing the
estimated round trip for unambiguous acknowledgements.

13. What is congestion? What two techniques does the TCP standard recommend to avoid
congestion? Describe the techniques.

Congestion is a condition of severe delay caused by and overload o
f datagrams at one or more
switching points.

To avoid congestion, the TCP standard now recommends using two techniques: slow
-
start and
multiplicative decrease.

Multiplicative decrease congestion avoidance: upon loss of a segment, reduce the congestion
w
indow by half (down to a minimum of at least one segment). For those segments that remain
in the allowed window, backoff the retransmission timer exponentially.

Slow
-
Start (Additive) Recovery: Whenever starting traffic on a new connection or increasing

traffic after a period of congestion, start the congestion window at the size of a single segment
and increase the congestion window by one segment each time an acknowledgement arrives.

14. What is silly window syndrome? Describe the two approaches tak
en to implement silly
window syndrome avoidance on the receive side; which is best? In general terms, describe the
Nagle algorithm that is used for silly window syndrome avoidance on the send side.

Two approaches to avoid silly window syndrome are, 1 T
CP acknowledges each segment that
arrives, but does not advertise an increase in its window until the window reaches the limits
specified by the silly window avoidance heuristic. In the second approach, TCP delays sending
an acknowledgement when silly win
dow avoidance specifies that the window is not sufficiently

Delayed acknowledgments are most likely the best because delayed acknowledgements can
decrease traffic and thereby increase throughput.

Nagle algorithm:
Send
-
side silly windo
w avoidance: When a sending application generates
additional data to be sent over a connection for which previous data has been transmitted but not
acknowledged, place the new data in the output buffer as usual, but do not send additional
segments until t
here is sufficient data to fill a maximum
-
sized segment. If still waiting to send
when an acknowledgement arrives, send all data that has accumulated in the buffer. Apply the
rule even when the users request a push operation.

Other things you should k
now (but don’t need to answer as part of the homework!)

1. Describe the properties of the TCP reliable stream delivery service

2. Describe the operation of the sliding window protocol.

3. Describe the differences and characteristics of the tail
-
d
rop policy and the random early