Review - Module 8

Key Take-Aways

At this point, you should be able to answer all of the following questions.

  • What is a server and what is a client?
  • What is the typical interaction between a client and a server?
  • What are the different layers in the TCP/IP model?
  • What common protocols are used at different layers?
  • What is an IP address?
  • What are domain names and what is DNS?
  • What is network byte order and what is host byte order? How do you ensure that your programs properly handle any difference in network vs. host byte orders?
  • What is a socket and how we can create sockets?
  • What is a socket address?
  • What functions does a client need to call to connect with a server and send requests using sockets?
  • What functions does a server need to call to service requests from a client over socket connections?
  • What are iterative servers and what are concurrent servers?
  • What are the different designs for implementing concurrent servers?
  • What is I/O multiplexing and how can we use it in our programs?

If you are unsure of any of these answers, take some time to review the course materials. Feel free to post questions in Piazza. Next week’s lessons will be easier if you have invested in mastering this week’s learning outcomes. Check the Explorations and Task List in the Module 8 - Overview to review learning materials and make sure you have completed all required activities for this week.

Return to Modules