1718

Q1 ARP, ICMP, Timers

img

img

img

img

Q2 Binary searching tree

img

img

img

img

Q3 TCP, IPv6, Congestion

img

Correct Suppose packets n, n+1, and n+2 are sent, and that packet n is received and ACKed. If packets n+1 and n+2 are reordered along the end-to-end-path (i.e., are received in the order n+2, n+1) then the receipt of packet n+2 will generate a duplicate ack for n and would trigger a retransmission under a policy of waiting only for second duplicate ACK for retransmission. By waiting for a triple duplicate ACK, it must be the case that two packets after packet n are correctly received, while n+1 was not received. The designers of the triple duplicate ACK scheme probably felt that waiting for two packets (rather than 1) was the right tradeoff between triggering a quick retransmission when needed, but not retransmitting prematurely in the face of packet reordering.

img

img

img

img

Wrote a wrong sentence in above.

Number of segments to send = 100

Number of segments buffer can hold = 20

Thus the sending window cannot be great than 20

imgimg

1
2
#Not sure if it is correct, but I think this solution is incorrect.
![img](https://i.imgur.com/gVtU9bD.png)

Q4 Multicast, Finger Table

img

img

img

img

img

img

img

img

img

1819

Q1 ICMP, Binary searching Tree

img

img

img

img

img

img

img img

Q2 Distance Vector Routing, BGP

img

img

img

img

img

img

img

img

img

img

Q3 Multicast, RTO

img

img

img

img

img

img

img

img

img

img

Q4 Mobile, TCP, Finger Table

img

img

img

img
img

img

img img

Test1

SQ

Assume a router using RIP has 12 entries in its forwarding table at time t1t_1. The 12 entries received the last update 68, 183, 110, 178, 235, 180, 110, 78, 170, 83, 234 and 213 seconds before time t2t_2 respectively. Find the number of periodic timers, expiration timers, and garbage collection timers running at time t1t_1 and t2t_2.

At t1,

1 periodic timer because there is only 1 router

12 expiration timers because there are 12 entries

0 garbage collection timer

At t2,

183, 235, 180, 234, 213 are >= 180

Therefore 5 garbage collection timers

1 periodic timer because there is only 1 router

7 expiration timers

Describe two circumstances under which an end-host (not a router) will send an ICMP message.

Any two of the following three situations:

  • When an end-host sends an ICMP ping (“Echo Request”) message, to test the liveliness of other hosts or routers on the internet
  • When an end-host receives a ping and sends back an ICMP “Echo Reply” message.
  • When a packet arrives at an end-host destined for a UDP port for which no socket is associated (no server is listening on that port). This causes the host to generate an ICMP “port unreachable” in response.

A user in Host A uses the Ping application to check whether the server www.downloadmoreram.com is online or not. There are 12 hops apart from A to the server. If the destination host doesn’t exist, what will happen? How long will the user obtain the feedback from the network? Given that the propagation time in each hop is fixed at 5 ms and the data rate of each hop is equal to 400 Mbps. Assume that all ICMP messages are 8 bytes in length and the processing time in the routers is ignored. The IP header has 20 bytes and the link layer frame header has 28 bytes.

Host A will receive an ICMP message with type 03 “Destination Unreachable”.

There are 12 hops apart from the host to the server, as the destination network does not exist, the message will reach the 11th router which will then send back the error message.

hops = 11

ICMP message = 8 bytes

IP header = 20 bytes

link layer frame header = 28 bytes

propagation time in each hop = 5ms

data rate of each hop = 400Mbps

Total size of ICMP message = 8 + 20 + 28 = 56 bytes

the transmission time of the query/error report message:

(56×8bits)400M=1.12×106s=1.12μs\frac{(56 \times 8 \text{bits})}{400\rm{M}} = 1.12 \times 10^{-6}\rm{s} = 1.12\mu \rm{s}

The total time for the message to reach it, it goes through 11 hops hence the delay is

(\text{t_trans} \times \text{hops} + \text{t_prop} \times \text{hops} ) = (1.12\mu \rm{s} \times 11 + 5\rm{ms} \times 12 ) = 55.01232\rm{ms}

It takes the same time for the error message to travel back to Host A. Hence, the total time for A receives the ICMP report message is:

(\text{t_trans} \times \text{hops} + \text{t_prop} \times \text{hops} ) \times 2 = (1.12\mu \rm{s} \times 11 + 5\rm{ms} \times 12 ) \times 2 = 0.11002464 \rm{s} = 110.02464 \rm{ms}

Consider the following network of Autonomous Systems. Each cloud represents an AS. Assume that if an AS has multiple routes through customers that it will choose the one with the least number of ASes along the path. For simplicity, assume that destinations in this problem are domains (ASes), not prefixes.

img

(a) What path(s) does Y advertise to Z? (4 marks)

Y and Z are peer level

Thus Y advertise to Z only customer routes of Y and Y itself

Y, Y-V-v1, Y-y1

(b) What path(s) does W advertise to Y? (4 marks)

W and Y are provider-customer level (W is Provider, Y is customer)

  • Provider exports its customer routes to everybody

Thus W advertise to Y all the customer and peers of W (including customer of Peers of W) and W itself

W, W-w1, W-Z-z1, W-U-u1, W-U-X-x1

© What will be the path from z1 to x1? (4 marks)

Both z1 and x1 are customers

  • Customer exports provider routes only to its customers

z1-Z-W-U-X-x1

LQ

img

img img

Test 2

SQ

In the multicast backbone network (MBONE), a tunnel is set up between two multicast routers over the unicast networks, in which a multicast datagram is carried inside of a unicast datagram. How does the multicast router at the end of the tunnel know that the datagram contains a multicast datagram (as opposed to simply being an IP unicast datagram that should be forwarded along)?

The multicast router at the end of the tunnel will use the protocol number in the ‘Upper Layer Protocol” field of the IPv4 packet to determine which upper layer protocol to pass the IP packet. Thus, IP doesn’t really know that the IP packet contains a multicast datagram. This is only discovered when the upper layer protocol “opens” the IP datagram it is handed by the IP layer.

A and B are both mobile users and they are visiting the same foreign network. Given the following information for the two users:

A’s home address: 138.1.2.3

B’s home address: 138.1.4.5

A’s care-of address: 158.124.5.6

B’s care-of address: 113.108.3.4

A’s home agent address: 138.1.88.88

B’s home agent address: 138.1.88.88

Suppose B sends data to A, identify the path that the packets go through and the source and destination address of the IP packet in each path.

B home to A home agent

Source: 138.1.4.5

Dest: 138.1.2.3

A home agent to A foreign agent

Source: 138.1.88.88

Dest: 158.124.5.6

Encapsulated Source: 138.1.4.5

Encapsulated Dest: 138.1.2.3

A foreign agent to A home

Source: 138.1.4.5

Dest: 138.1.2.3

In TCP congestion control, TCP waits until it has received three duplicate ACKs before performing a fast retransmit. Why do you think the TCP designers chose not to perform a fast retransmit after the first duplicate ACK for a segment is received?

Suppose packets n, n+1, and n+2 are sent, and that packet n is received and ACKed. If packets n+1 and n+2 are reordered along the end-to-end-path (i.e., are received in the order n+2, n+1) then the receipt of packet n+2 will generate a duplicate ack for n and would trigger a retransmission under a policy of waiting only for second duplicate ACK for retransmission. By waiting for a triple duplicate ACK, it must be the case that two packets after packet n are correctly received, while n+1 was not received. The designers of the triple duplicate ACK scheme probably felt that waiting for two packets (rather than 1) was the right tradeoff between triggering a quick retransmission when needed, but not retransmitting prematurely in the face of packet reordering.

Consider two TCP flows A and B:

- The RTT for flow A is 400 ms while the RTT for flow B is 200 ms.

At time T seconds, Flow A has a cwnd value of 24 and Flow B has a value of 30. Both flows have just had a timeout at T, and so their window size is set to 1. Calculate how many packets each flow is able to send in the next 2 second (including at time T+2 seconds). Assume that the transmission resumes at time T+RTT (round trip time), and that there are no dropped packets for either flow during the interval [T, T+2] seconds. Ignore the transmission time of the segment.

T+2 - T = 2sec

cwnd of A = 24

cwnd of B =30

A:

New ssthresh = cwnd of A /2 = 12

2000/400 = 5 RTT

Packet = 1+2+4+8+12 = 27 packets in next 2 second

B:

New ssthresh = cwnd of B/2 = 15

2000/200 = 10 RTT

Packet = 1+2+4+8+15+16+17+18+19+20 = 120 packets in next 2 second

A TCP entity sends 5 segments across the Internet. The measured round-trip times (RTTM) for the 5 segments are 54ms, 28ms, 62ms, 92ms and 50ms, respectively. Assume that the smooth averaged RTT (RTTS) and Deviation (RTTD) was respectively 40ms and 15ms just before the first of these seven samples.

According to the Jacobson’s algorithm, the retransmission timeout (RTO) is given by one RTTS plus 4 times the value of RTTD. Determine the value of RTO after the six segments using the Jacobson’s algorithm if the exponential smoothing parameters (a and b) are 0.2 and 0.25 for calculating RTTS and RTTD respectively.

img

LQ

img

img

img

img

img

img

img

img

img