1)Describe the difference between Stateless and Stateful protocols, and which type of protocol is susceptible to which types of PDU faults. Ans Stateless Protocols:When a server does not maintain any state of a transaction, we term it stateless. Subject to : syntactically faulty PDUs Stateful Protocols: In these protocols, the server maintains state about the client until the entire transaction is over,is aborted, or times out. Subject to : syntactically and semantically faulty PDUs 2) Paragraph #3, page 2, define robustness as "... continue normal protocol operation", is it a valid interpretation of IEEE's definition of robustness "function correctly in the presence of invalid input..." ? I agree that crashing the server process is not robust. But terminating a connection and exiting gracefully if the client misbehave is arguably safer because that is very likely an attempt to attack the server as any ordinary client must conform to the protocol. Ans It is important that the server can notify the client of the inappropriate action in cases when the client is not an intruder and can also recover from such setbacks rather than terminating the connection which can test the robustness of the server under such circumstances as reflected in the definition. 3) Why are stateless protocols susceptible to syntax faults, and stateful protocols susceptible to semantic faults? Ans If a protocol is stateless, it is susceptible to syntactically faulty PDUs. An incorrect sequence of syntactically correct PDUs cannot cause problems for a stateless protocol since it maintains no history of PDUs. However,if a protocol is stateful(which maintains state), it is susceptible to syntactically and semantically faulty PDUs.