CPS 472/572  In-Class Challenge

Reviewing Applications and Transport Level

Chapters 2 and 3

 

Dr. Jennifer Seitzer

We have covered material from the following topics:

¨       Application Level Protocol Principles

¨       Client-Server Programming using the Socket API

¨       HTTP and the World Wide Web

¨       File Transfer Protocol:  FTP

¨       Domain Name System:  Recursive and Iterative Algorithms

¨       Client-Server Programming using JAVA

¨       Transport Layer

¨       Multiplexing and Demultiplexing Applications

¨       Connectionless Transport:  UDP  (one's complement checksum)

¨       Principles of Reliable Transport

¨       Congestion Control

¨       Transmission Control Protocol (TCP)

¨       Implementation of TCP using TCB's

¨       Sliding Window Flow Control

¨       Go Back N Flow Control

 

For exam preparation, be sure to study all notes, in-class challenges, homeworks, and quizzes.  Here are some additional questions to help with your study.

 

  1. How does TCP establish a connection?  Define all terms and give an example of your answer.






  2. Give an example scenario between two hosts where a 2-way handshake is not sufficient to establish a connection.






  3. Give an example of a program that is both a client and a server.  You may state a well-known application or describe one of your own designs.







  4. Give a  10-word description of each of the necessary socket calls used in a connection-oriented client.




  5. Give a  10-word description of each of the necessary socket calls used in a connection-oriented server.








  6. Discuss the fundamental differences of UDP and TCP.








  7. What is SMTP?  Draw a diagram of participating nodes and servers where node A sends email to node B.  Be sure to indicate which node houses the SMTP client and which houses the SMTP server.









  8. What are the main differences between a concurrent and an iterative server?



    What are the advantages and disadvantages or each?

    When is it appropriate to use each?



  9. What is the main reason HTTP/1.1 is superior to HTTP/1.0 performance-wise?  Define all terms and give an example to illustrate your reason.








  10. How is FTP similar to HTTP?  How is it different?  (Hint- use textbook.)






  11. What are the socket calls used in a connectionless UDP server to send and receive data?