Unit Three Objectives, CSCI 661, Computer Networks II UNIX Network Programming - 3rd edition - W. R. Stevens, et. al. Chapter Seven - Socket Options continued... 5)Describe the role of SO_KEEPALIVE, its time values, and give examples of applications that may or may not use this option. Explain how the distinction between ETIMEOUT & EHOSTUNREACH is made by TCP. 6)Using Figure 7.6, give the four scenarios and possible failures, explain how to detect a "broken" connection and its implication. (Five parts) 7)Explain the role of S0_LINGER and its relationship with SO_REUSE, explain why, in the end, it may not be much use, and give two alternative solutions to the problem. (Five parts) 8)Explain why it is impossible to recover from a "crash" and explain how this relates to network design (see pp. 508-510 in Tanenbaum). 9)Describe the general flow within a TCP "pipe," give the rule of thumb and how it's implemented in TCP, and explain how this relates to SO_RCVBUF and SO_SNDBUF options. a)TCP allows outstanding (un-ack'd) packets, so the sender's buffer must large enough to hold sent packets until they are ack'd. b)TCP buffers (both send & receive) should be a minimum of four times the MMS using multiples of the MMS. c)RCV/SND options MUST be set before Listen/Connect service calls. d)Existing default buffer sizes vary from as little as 4K up to 60K. e)Avaiable room in the socket receive buffer limits what the window size advertised to the other end during the 3-way hand shake. And if the peer sends more than advertised, the packets are discarded. 10)Describe the bandwidth-delay product, explain its significance with TCP and LAN rates of 10Mbs, & 100Mbs with a delay of 6ms or a WAN rate of 45Mbs and a delay of 50ms. How does the sys administrator fix this problem?A a)Throughput is the product of bits/sec X Round Trip Time (RTT) in seconds and dividing the resulting total bits by 8 to obtain bytes/sec. b)T3 Line = 45,000 X .05 (50ms) = 2,225,000/8 = 281,250 bytes c)Gigabit Ethernet = 1,000,000,000 X .006 (6ms) = 6,000,000/8 = 750,00 bytes d)Max buffer size may be up to 256,000, so these cases require a kernel re-compile to allocate correct buffer size for a Long Fat Pipe. 11)Define wildcard addressing. Describe the interaction of the SO_REUSEADDR option for wildcard versus specific servers. Describe when to invoke the SO_REUSEADDR option and when to use it. 12)Define a competely duplicate binding and what the SO_REUSEADDR does not allow and how this limits server hijacking. Explain the two way UDP servers employ the SO_REUSEADDR option. Omit)Describe the TCP_MAXSEG socket option and the application programmer's ability to increase or decreas its value. 14)Explain the Nagle algorithm and how rlogin or telnet clients interact with it. Explain why the TCP_NODELAY option interacts with the delayed ACK algorithm and fragmented client requests. 15)Explain the conflict with SCTP and getsockopt() and the recommended solution. Describe the tradeoff and support refute the conflict in terms of software design. 16)Describe the three roles of SCTP_ASSOCINFO socket option and list three of its six parameters. 17)Describe the two basic roles of SCTP_DEFAULT_SEND_PARAM socket option. 18)Describe the role of SCTP_EVENTS socket option. UNIX Network Programming - 3rd edition - W. R. Stevens Chapter 9 - Elementary SCTP Sockets 1)Contrast the two types of SCTP interface models. (Four parts) 2)Describe how SCTP preserves message boundaries. 3)When porting from TCP to SCTP, describe four application program design issues that will have to be addressed. 4)Describe the six key design issues for implementing one-to-many SCTP programs. 5)Contrats TCP's bind() with sctp_bindx() service. 6)Contrats TCP's connect() and getpeername() with sctp_connectx() and sctp_getaddrs() services. 7)Compared to the UDP sndmsg() service, describe the added features of the sctp_sndmsg() service. (Hint: ppid, flags, stream, timetolive, & context) Chpater 10 - SCTP Client/Server Example 1)