Virginia Tech: ECE 4564 Network Application Design - Final Exam Topics and Review, Study notes of Electrical and Electronics Engineering

An overview of the topics covered in the final exam for virginia tech's ece 4564: network application design course, offered in fall 2008. The exam includes multiple-choice, short-answer, and long-answer questions, and students are allowed to refer to class notes, assignments, textbook, and instructor-provided materials on blackboard. Various aspects of networks and services, network applications, client-server protocols, programming interfaces and sockets, client and server algorithms and examples, server design techniques, client design techniques, design examples, application layer protocols, multicast applications, application security, xml, web applications, web services, remote procedure calls, and data representation.

Typology: Study notes

Pre 2010

Uploaded on 12/10/2008

gauravgupta
gauravgupta 🇺🇸

1 document

1 / 4

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
Final Exam Topics
The exam will be given on Dec. 16, from 3:25-5:25 p.m. You will have two hours to complete the exam.
The final exam will consist of a mix of multiple-choice, short-answer, and long-answer questions. You will
be allowed to refer to your class notes, your submitted or in-progress assignments, text book, and any
material provided by the instructor on Blackboard. You may use a computer only to refer to notes and
material on Blackboard. In particular, you will not be allowed to run a compiler or to view web sites other
than the class Blackboard site.
The final exam is comprehensive. To be successful, you should be able to do the following.
verview 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 Final Exam Review Page 1 of 4
pf3
pf4

Partial preview of the text

Download Virginia Tech: ECE 4564 Network Application Design - Final Exam Topics and Review 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

Final Exam Topics The exam will be given on Dec. 16, from 3:25-5:25 p.m. You will have two hours to complete the exam. The final exam will consist of a mix of multiple-choice, short-answer, and long-answer questions. You will be allowed to refer to your class notes, your submitted or in-progress assignments, text book, and any material provided by the instructor on Blackboard. You may use a computer only to refer to notes and material on Blackboard. In particular, you will not be allowed to run a compiler or to view web sites other than the class Blackboard site. The final exam is comprehensive. To be successful, you should be able to do the following. verview 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.

 Describe .NET remoting’s structure and operation. Data Representation  Describe the different schemes for data representation and identify strengths and weaknesses.  Describe the basic operation of four example schemes, NDR, ASN.1, XDR, and SOAP with XML.  Show how simple data types can be represented using four example schemes, NDR, ASN.1, XDR, and SOAP with XML. Raw Sockets  Describe the use of ICMP for queries and replies.  Describe the format of ICMP messages.  Describe how ping and tracert work Projects  Write pseudocode and/or C# code snippets for key functionality in the applications developed for the 5 Projects.