CS422: Fall2004 Final Exam

Name:___________________________________________

  
Question
Max.
Current
Part I. True and False
10 pts.
 
1-7
28 pts
 
8-15
32 pts
 
16-22
30 pts.
 
Total:
100pts

Part 1. Answer True or False (1 point each)

_F__ Vector Distance Routing uses Dijkstra's Shortest Path algorithm to compute the best routes.

_F__ Routers may have multiple IP addresses but hosts should have only one IP address.
_T__ The maximum IP header size is 64 bytes.
_T__ 192.5.48.3 is a class C address.
_F__ ARP requests could be unicasted.
_F__ A host could fragment a large IP packet if it is larger than the MTU of the network.
_F__ After a packet is dropped due to a TTL=0 a router will send a ICMP "destination unreachable" to the source.
_T__ The size of the basic IP header is 20 bytes.
_F__ It is possible to send an ARP request to a remote network.
_T__ A packet fragment can be fragmented.

Part 2. Short Questions: (4 points each)

1. Explain what is the use of the TTL field in the IP packets, the most common initial value, and when the TTL is modified.

The TTL field is to prevent packets from being forwarded forever.
The most common value is 255
TTL is modified -
    Every time it is forwarded by a router
    The TTL is decremented by 1 every second the packet waits in the router.

2. What parameters does a computer need to have when it is connected to the Internet.

IP address, Default router address, Subnet Mask, DNS server address

3. Explain how ARP works.

When sender A does not know the hardware address of destination B that is directly connected to the LAN.

  1. It broadcasts the ARP request that contains the IP address of B on the LAN
  2. B will unicast to A its own hardware address
  3. A and B cache each other's hardware address


4. Explain why routers do not send ICMP messages about other ICMP messages and explain a situation when an ICMP packet could cause another ICMP packet to be sent.

Because it could cause a cascade of ICMP messages which could never end.

If a source sends an IP packet with a wrong source and wrong destination.  The final router will not be able to deliver the packets so it sends an ICMP back to the source that it is wrong . The other router wont be able to deliver packets as well and send an ICMP message thus leading to 2 ICMP messages.

5. Assume a packet with ID=101 of length 1000 bytes is fragmented by a router when the next network has an MTU=400. Ignoring the size of the headers, give the values of the ID, length, MF flag,  and offset of each of the fragments.

3 fragments

  1. Fragment 1 : ID 101 length 400 MF = 1 offset = 0
  2. Fragment 2 : ID 101 length 400 MF = 1 offset = 400
  3. Fragment 3 : ID 101 length 200 MF = 0 offset = 800


6. Explain why UDP is considered a transport protocol.

Because its an application to application protocol
Reliability is optional in transport protocols

7. Explain how path MTU discovery works and in what situations it may not work.

Send a PING message with the do not fragment bit set with a size N
If the packet does not go through decrease the size to N-U then to N-2U and so on until the packet start going through
 

8. Explain how TCP deals with network congestion step by step.

IF a packet is lost TCP interprets it as NEtwork congetion.
It starts "slow" by retransmitting only one packet in the window instead of the entire wondow
If it succeeds then send 2 packets, then 4 and so on
When it reaches half the window then increase the window linearly until it reaches the complete window
 

9. What problems do you see having a retransmission timer with a fixed timeout.

If the fixed timeout is too short (less than RTT) then unneeded retransmissions
If the fixed timeout is too long, then the throughput will slow down after the packets are lost .

10. Explain how adaptive retransmission works in TCP.

TCP estimates the retransmission timeout as the RTT plus the standard deviation. In this way most of the acknowledgements
arrive before the retransmission timer expires.

11. Explain why TCP  by default waits about 5 minutes to reuse a port number that has been previously used.

This prevents packets from a previous session that are still alive to be accepted in the current session.

12. Explain what is a positive acknowledgment  and what is a negative acknowledgement.

Positive acknowledgement are sent when a packet was received successfully
Negative acknowledgements are sent when a packet did not arrive when it should have arrived

13. Explain how a reliable protocol with negative acknowledgements could be implemented.

Sender sends to receiver data in fix rate
If there is no data to be sent, it keeps sending empty messages.
If the receiver did not receive data on time when it should arrive due to error or delay, it will send negative acknowledgement requesting retransmission

14. Explain why the routers do not do reassembly?

Fragments of the same path may follow different paths
Simplify the design leaving reassembly to the hosts
less state in routers

15. Explain why in the three-way hand shake during closing a connection, 4 packets are necessary instead of three that are used during opening a connection.

Because the application has to be informed that connection is closing and it may take a long time to the
application to also close its side of the connection. Meanwhile an
ack has to be sent or the other side will retransmit the FIN.

16. Explain how NAT works.

17. Explain how VPN works

18. Assume that TCP will be used to communicate the earth with space ships doing exploration where transmission delays will be in the order of minutes.. Mention what modifications will be needed toTCP.


 

19. Explain what will happen if  you use TCP to send voice data in your internet phone.
 
 
 
 
 
 
 

20. Describe the function of the jitter buffer.
 
 
 
 
 
 
 
 

21. (5 pts.) Describe the use of the callNumber and the sampleOffset in the UDP packet of the Internet Phone.
 
 
 
 
 
 


22. (5 pts.) In your Internet Phone, how would do you compute the number of voice packets lost and the number of voice packets received too late.