CS 640 - Midterm Exam October 19, 1994 (20) 1. In BSD UNIX, abstract endpoints of communication, called sockets, are used to provide interprocess-communication (IPC). Describe the parameters which define each instance of a socket, and provide examples of possible parameter values. Also, discuss why it is important to name sockets, and provide an example of one way in which sockets may be named (i.e., what does the name look like). (15) 2. Let M = 1101011110100 and G(x) = x**5 + x**3 + x**2 + 1 a. Give the shift register corresponding to G(x). b. Compute T, the bit string to transmit for the data M and generator polynomial G(x). c. Let R = 110100100000001111 be the bit string that is received after the above transmission occurs. Is this transmission accepted? Why? (20) 3. a. Explain the difference between circuit switching and virtual circuits. b. Define "connection-oriented service interface." c. What is the relationship, if any, between virtual circuits and connection-oriented service interfaces. (25) 4. The following are used by TCP. Explain each, its purpose, and how it is realized (implemented) in TCP and TCP extensions. a. 3-way handshake b. graceful close c. cumulative acks d. credits e. window scaling f. timestamp for estimating round trip time (20) 5. Describe link protocol error detection/handling mechanisms. Why are these simpler than those of transport protocols. As an example explain why a 3-way handshake is not generally used by link protocols.