Study Guide - Network Application Design | ECE 4564, Study notes of Electrical and Electronics Engineering

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

Pre 2010

Uploaded on 10/20/2008

ez-mac
ez-mac 🇺🇸

1 document

1 / 3

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Virginia Tech
Bradley Department of Electrical and Computer Engineering
ECE 4564: Network Application Design Fall 2008
Midterm Exam Topics
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.
ECE 4564 Fall 2008 Midterm Exam Review Page 1 of 3
pf3

Partial preview of the text

Download Study Guide - Network Application Design | ECE 4564 and more Study notes Electrical and Electronics Engineering in PDF only on Docsity!

Virginia Tech Bradley Department of Electrical and Computer Engineering

ECE 4564: Network Application Design  Fall 2008

Midterm Exam Topics

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.