

Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
study guide Material Type: Notes; Class: Network Application Design; Subject: Electrical & Computer Engineer; University: Virginia Polytechnic Institute And State University; Term: Fall 2008;
Typology: Study notes
1 / 3
This page cannot be seen from the preview
Don't miss anything!


Virginia Tech Bradley Department of Electrical and Computer Engineering
The midterm exam will consist of a mix of multiple-choice and open-ended questions. You will have 75 minutes to complete the exam. The exam will be given in class and is an open-book exam. The midterm exam will cover lectures through “Example Application Protocols” including the associated assigned reading. Questions may also be based on Project 1 and Project 2. To be successful, you should be able to do the following. Overview of Networks and Services Distinguish between services, interfaces, and implementations related to protocols Identify the functions and specify the operation of the key protocols in the TCP/IP protocol suite, including IP, IPv6, UDP, and TCP. Identify the differences in transport layer services provided by TCP versus UDP and select an appropriate protocol based on application characteristics. Overview of Network Applications Describe the role of port numbers for network applications. Distinguish between clients and servers as determined by the transport protocol (TCP and UDP) and the application protocol. Introduction to Network Application Design Characterize client-server protocols with respect to being connection-oriented versus connectionless. Characterize client-server protocols with respect to being stateful versus stateless. Discuss design issues related to stateful and stateless application protocols. Characterize a server as being concurrent versus iterative. Compare and contrast the use of threads versus processes for concurrency. Programming Interface and Sockets Describe the role and functionality of a socket and a socket descriptor. Discuss the need for network byte order and provide an example. Describe the basic runtime structure of Microsoft’s .NET. Client Algorithms and Examples Describe how .NET classes and associated methods provide TCP and UDP clients with required functionality. Relate Connect() and Shutdown() methods in the Socket class to TCP connect and disconnect operations. Describe or analyze the basic operation of clients for both connection-oriented and connectionless application protocols. Analyze the operation of example DAYTIME, TIME, and ECHO clients.
Write pseudocode and/or C# code snippets for key functionality in synchronous TCP and UDP clients. Server Algorithms and Examples Describe how .NET classes and associated methods provide TCP and UDP servers with required functionality. Describe or analyze the basic operation of servers for both connection-oriented and connectionless application protocols and both iterative and concurrent implementations. Select iterative versus concurrent server designs based on requirements and application characteristics. Analyze the operation of example DAYTIME, TIME, and ECHO servers. Write pseudocode and/or C# code snippets for key functionality in synchronous TCP and UDP servers. Discuss causes of deadlock and analyze scenarios for possible deadlock. Server Design Techniques Identify and compare different methods of concurrency management and control for servers. Analyze, in a simple way, the performance of an iterative versus concurrent server design. Discuss design principles that can improve the robustness of server applications. Client Design Techniques Describe roles for concurrency in clients. Discuss design principles that can improve the robustness of client applications. Design Examples Discuss the key features and differences between the different designs for the ECHO servers and clients. Write pseudocode and/or C# code snippets for key functionality in the example ECHO clients and servers. Example Application Layer Protocols Describe the operation of the client-server model used for HTTP and the role of request and reply messages. Compare persistent and non-persistent connections and indicate the advantages and disadvantages of persistent connections. Describe techniques used by HTTP to support authorization, state (cookies), and caching. Discuss how FTP operates using a control and data channel. List the major components of a mail system. Describe the basic operation of SMTP. Describe the characteristics of mail message formats. Describe the role of MIME in email. Describe the basic operation of POP3 for mail access.