Network Programming Question Paper
Network Programming
Course:Bachelor Of Science In Information Technology
Institution: Kca University question papers
Exam Year:2009
UNIVERSITY EXAMINATIONS: 2008/2009
THIRD YEAR EXAMINATION FOR THE DEGREE OF BACHELOR OF
SCIENCE IN INFORMATION TECHNOLOGY
BIT 3105: NETWORK PROGRAMMING
DATE: AUGUST 2009 TIME: 2 HOURS
INSTRUCTIONS: Answer question ONE and any other TWO questions
QUESTION ONE (30 MARKS)
(a) Define the following terms: (3 Marks)
(i) Protocol
(ii) Network programming.
(iii) Ethernet
(b) Outline three types of computer networks. (3 Marks)
(c) State what you understand by the terms protocol suite (2 Marks)
(d) (i) Using a suitable diagram, explain the function of any four (4) layers of the
TCP/IP protocol suite. (4 Marks)
(ii) Outline four (4) services provided by the Internet Protocol (IP). (4Marks)
(e) (i) With the use of a diagram, explain the concept of the client/server
structure in network programming. (6 Marks)
(ii) With respect to client/server interactions, briefly explain the role played by following
functions:
1. bind( ).
2. connect( ).
(4 Marks)
2
(f) Briefly explain the functions of each of the following layers found in the 7-layer OSI reference
model:
(i) Transport layer
(ii) Network layer
(4 Marks)
QUESTION TWO (20 MARKS)
(a) (i) Outline the significance of addressing of network hosts. (1 Mark)
(ii) Differentiate between an IP address and an Ethernet address. (2 Marks)
(b) (i) State your understanding of the terms address resolution. (2 Marks)
(ii) Describe briefly how the process of address resolution works. (3 Marks)
(c) Ethernet allows for transmission of data in form of frames. With the use of a diagram, explain
each part of the Ethernet frame. (6 Marks)
(d) Explain the tasks performed by the following parts of the TCP segment.
(i) options
(ii) control
(iii) urgent pointer
(6 Marks)
QUESTION THREE (20 MARKS)
(a) Define the term descriptor and state its significance in network programming. (3 Marks)
(b) Distinguish between the following network programming concepts:
(i) blocking vs non-blocking servers
(ii) connection oriented vs connectionless communication
(iii) carrier sense vs collision detection
(6 Marks)
(c) (i) In a client/server set up, the server is said to be persistent. Explain what
you understand by the term persistent. (2 Marks)
(ii) With the use of suitable C language constructs, illustrate the general structures of any
two functions that are performed by the client side of the interaction, and any two
performed by the server side. (7 Marks)
(d) Distinguish centralized networks from distributed networks. (2 Marks)
3
QUESTION FOUR (20 MARKS)
(a) (i) Differentiate between a process and a thread. (2 Marks)
(ii) Outline 2 advantages of using threads in programming. (2 Marks)
(b) List two properties of a thread. (2 Marks)
(c) (i) When the UNIX function fork( ) is called to create a child process, explain
what value it returns. (2 Marks)
(ii) Briefly describe the code that the child starts to execute. (5 Marks)
(d) (i) State what you understand by RPC. (2 Marks)
(ii) Using a well-labeled illustrative diagram, explain the components of an RPC based
application. (5 Marks)
QUESTION FIVE (20 MARKS)
(a) Differentiate between an API and a socket as used in network programming. (2 Marks)
(b) Explain the tasks performed by each of the following socket functions:
(i) listen( )
(ii) accept( )
(iii) close( )
(6 Marks)
(c) Write suitable program structures to show how each of the above functions is implemented.
Include relevant parameters for each function. (12 Marks)
More Question Papers
Exams With Marking Schemes