___ The source quench ICMP message is produced when the router detects
that the source IP address is invalid
___ 255.255.255.255 is a valid IP destination address.
___ The type field in the IP packet determines if the packet is ICMP,
UDP or TCP.
___ ATM is connection oriented.
___ A character typed during a telnet session generates only one packet.
___ FTP data connections start in the FTP client
___ A host may have more than one DNS name
___ A host may have more than one IP address
___ ICMP packets are retransmitted if lost
___ The size of the IP header plus the TCP header is typically 40 bytes.
1. What does RIP and OSPF stand for. What are their advantages and disadvantages.
2. When is the "Time exceeded" ICMP message produced?
3. Why is ATM better for real time traffic than IP on ethernet.
4. What does CIDR stands for and when it is used.
5. Explain the advantages/disadvantages of TCP vs. UDP and when each of these protocols should be used.
6. a) What does NAT mean b) how does it work. c) mention what problems causes if it is used to link servers.
7. Explain what program numbers are used for in Sun RPC.
8. What does XDR stands for an what it is used for.
9. Explain how Path MTU discovery works.
10. Explain how the initial TCP sequence number is computed and why it is done in this way.
11. Explain how the TCP retransmition time is computed.
12. Explain what is the TCP "window size" and what it is used for.
13. Explain what TCP "slow start" is and what it is used for.
14. How does DNS resolution works.
15. Describe how reassembly works and what fields in the IP packet are used for that and how.
17. (10 pts) HTTP 1.1 handles persistent connections by having the same
connection be used for multiple requests. In HTTP1.1 it is mandatory to include
the "Content Length: " tag in the HTTP header thatt gives the lenght of the
document to be able to separate one reply from another.
Write the procedure handle_cgibin( char * request, int ssocket ) for
an HTTP1.1, where request contains the program requested by the client
in the form "/cgi-bin/prog?a=b&c=d...". ssocket is the
slave socket returned by accept(). handle_cgibin() should
send the HTTP header with the "Content Length:" field before sending the
output of the program, and it should not close the ssocket before
it returns. (Hint. the problem arises from the fact that "Content Length"
has to be sent before sending the document, so redirecting the output of
the program directly to ssocket will not work. You need either a) redirect
the ouput of the program to a file, determine the size of the file, send
the HTTP header with the "Content Length:" field and then send the file or
b) Redirect the output of the program to a pipe, read from the pipe and write
it to a buffer in memory, send the HTTP header with the "Content Length:"
field, and then send the content of the buffer. Solution a) is worth 6 pts
because it is simpler. Solution b) is worth the 10 pts.