CS 442 -- The Depressing Election

1a) Which would help senator Kerry more, select or poll?


1b) What functionality does select() offer that poll() does not?

2) (Fork/Thread_Fork)Which is a slower operation, fork() or thread_fork()?

3) Suppose a server has an open socket to a client and then forks. The child closes the connection. What does the client notice?



4) (Yes/No) Is socket() thread safe?

5) (Yes/No) If one thread uses a blocking system call (like read when there is no data available) do other threads of the same process get blocked?

6) (Yes/No) Using NFS, client #1 loads and reads a bunch of data. Around this time client #2 loads and reads the same data. At around this time (give or take) a user on the central NFS server is writing to the data. Only ththis user writes to the data. Will there every be inconsistency because of this?

7) (Yes/No) Using SMB and the same situation, will there be data inconsistency?

8) Suppose a NFS client just booted up. It wants to read a file on a server. How many packets must it send? _________

9) Suppose a SMB client just booted up and wants to read a file on a server. What is the purpose of the third packet it sends to the server?


10) Suppose I have a network were packets never get lost and are always recieved correctly. Further suppose that the sender is confused and thinks the network round trip latency is 20 ms, when it is reall 103 ms. Would selective repeat be able to send data under these circumstances?
a) No, not at all
b) Yes, very slowly
c) Yes, but with data errors
d) Yes, reasonably
e) We're glad George Bush lost :-)

11) My network has a one way latency of 10 ms. It has a bandwidth of 1 megaBYTE per second. My packet size is 5 kiloBYTES. What would be a good window size using go back n? (Feel free to show work.)



12) Using the above network an ping-pong, how long will it take to move 500 kiloBYTES? (Feel free to show work.)



13) Assume the underlying network hardware can handle any packet size. When should i use large packets and when should I use small packets and WHY?



14) I want to send a TCP of IPv4 packet for an already established connection. This packet travels over ethernet. I consists of the one data byte 'R'. Which byte (starting your counting from one) is that 'R' byte?


15) Former Senator Gore (who invented the internet) has a new network protocol It's called GoreProt. In this protocol the senderer sends the file using as many packets as needed. The receiver only sends an ACK on the last packet. That ack is either a "Yes" or a "No" and describes whether the whole file is correctly receieved. When would this be a better protocol than TCP?




16) Which would improve the routes generated by BGP AND WHY?
a) Subdivide the internet into more Autonomous Systems
b) Coalass the internet into fewer Austonomous Systems


17) When does a BGP router effected by a failed link receieve a message that a link is down?
a) Routers find out during the net "gong".
b) Routers directly connected to the link know immediately, others find out
during the next "gong".
c) Reasonably quicky as the message is sent through the system.

18) How can a client decide if a server can receive an IP/6 style packet?


19) Why did IPv6 decide that interediate routers should not fragement packets?


20) (Yes/No) Suppose I have an application that works fine under IPv4. Is it likely to work under IPv6?

21) Right now the internet has a diameter of about 40. The time to live field set by Linux and MS Windows is 64. How big would the internet have to become for
the diameter to exceed 64. You get 0.5 points for using words, and 1.0 points for using math. Any defendable guesss is fine. State any important assumptions. Please ignore any jerk who sets up a long chain of routers just for fun.




22) (Yes/No) Does UDPs sendto() typically block?

23) Does doing connect() on a UDP socket cause an packets to be sent?

24) Why does DNS use UDP and not TCP?