CS 442 -- The Advanced Networking Final

1) How can a client tell if a server is uing select or poll on a file descriptor?

2) It's very important to me that my server not crash.  I anticipate a light load.  What would be a better implementation technique
	select
	poll
	fork

3) Which has a higher resolution (more precise) timeout mechanism, select or poll?
	select
	poll
	they are the same

4) (Yes/No) Many threads are going to run the following code.  Are locks required anywhere in this code to ensure correctness?
	pthread_create(aThread, 0, ThreadFunc, 0);
	pthread_create(aThread, 0, ThreadFunc, 0);
	void *ThreadFunc(void *ptr) {
		int a;
		while (a < 1000000)
			a++;
		cout << a << endl;
	}

5)  Given an aribtrary IPv6 address, how does one find the coresponding IPv4 address?

6) How many different headers must there be for a correct IPv6 TCP packet?
       2     3     4      5      6      more

7) How does IPv6 handle routing loops?

8) What should an old IPv4 computer do when it receives an IPv6 packet?

9 ) IPv4 has intermediate routers fragement packets when needed.  Why did IPv6 decide that intermediate routers should not fragement packets?

10) The current internet uses a routing algorithm known to produce imperfect routes.  Yet this algorithm is considered better than other choices known to produce perfect routes.  What's so good about BGP?

11) (Yes/No) Can the Ford algorithm ever have the count-to-infinity problem in a fully connected network (every node has a link to every other)?

12) (Yes/No) I'm snooping on the network.  I notice a bunch of packets going to port 80 and a bunch of packets coming from port 80, but very few packets packets with source AND destination of port 80.  Is this normal?

13) Suppose I'm a Gnutella Ultrapeer.  I purposefully lie about which files my clients have available.  Who will be affected by this lie?
	Me
	My Ultrapeer clients
	The whole Gnutella network

14) (Yes/No) Must a Bittorrent client run a tracker to offer parts of files it has downloaded to other clients?

15) How would I use public key encryption to prove to the world that I'm the author of a document and yet have the document remain world readable?

16)  In normal https like I engage with when giving www.amazon.com my credit card number, who has a certificate?
	Client (me)
	Server (Amazon)
	Both
	Neither

17) In TOR (The Onion Router) I must connect to a router.  How do I know that router is not compromised (run by the enemy)?
	It has a certificate
	It knows my public key
	It knows my private key
	There is no authentication mechanism built into TOR, one must use trust

18) When using wireless ethernet, how does one find a base station?
	You broadcast looking for a base station
	It broadcases looking for clients

19) When using wireless ethernet and associated with a base station and the transmission frequency is quiet and you have data to send ..
	Just send the data
	Something else

20) How secure is WEP?
	Very
	Secure enough as long as you keep your passwords secret
	Secure enough as long as your certificates use a suffeciently long password key
	Breakable by any fool who can read and work google

21) What was a major constraint in the design of WAP that limited WAP choices?

22) How much CPU time does a remote RMI object use when NOT fielding method calls?  Assume an ethernet, and a modern style computer 
	Almost none
	Maybe 1/10 the computer's CPU 
	Maybe 1/2 the computer's CPU
	Almost all the computer's CPU 

23) Suppose I pass the head of a linked list to a remote RMI function.  What does the remote function see
	The whole linked list
	Only the head of the linked list
	Only the head and things directly pointed to by the head
	One cannot pass pointers to an RMI function