UNIVERSITY EXAMINATIONS: 2014/2015
ORDINARY EXAMINATION FOR THE BACHELOR OF SCIENCE
IN INFORMATION TECHNOLOGY
BIT 3105 NETWORK PROGRAMMING
DATE: APRIL, 2015 TIME: 2 HOURS
INSTRUCTIONS: Answer Question ONE and any other TWO
QUESTION ONE (30 MARKS) – COMPULSORY
(a) Distinguish between the following terms as used in client/server systems:
a) Datagram and Stream. [2 Marks]
b) Subnet and Subnet mask [2 Marks]
c) Client-based and Cooperative Processing C/S classes [2 Marks]
d) Heterogeneous and Homogeneous environments [2 Marks]
e) wait() and waitpid() [2 Marks]
(b) Why is the Application layer of the OSI Reference Model referred to as Layer 7
and yet it is the first layer that the user interacts with? [6 Marks]
(c) In view of the implementation approaches of a 2-Tier Client/Server system,
discuss how a dynamic web site is a fat client-thin server implementation of a 2-
Tier C/S. [4 Marks]
(d) Briefly describe any three (3) functional interfaces provided by middleware.
(e) Why is it a good idea to close() each socket when you are done with it?
(f) Explain briefly what the code below does. [5 Marks]
k = listen(sockfd, 5)
QUESTION TWO – (TOTAL MARKS: 20)
(a) Briefly discuss “Extensibility” and “Security” as attributes of a middleware.
(b) With the aid of a well labelled diagram, describe an Ethernet frame.
(c) Describe the ‘3-way’ process involved when a TCP connection is being
established. [6 Marks]
(d) (i) List the four (4) desired characteristics of a network API. [2 Marks]
(ii) What is wrong with this line of code? Re-write it correctly. [3 Marks]
mysock = socket(PF_INET,SOCKECT_STREAM,0);
QUESTION THREE – (TOTAL MARKS: 20)
(a) Explain the two (2) reasons for TIME_WAIT. [2 Marks]
(b) Define file descriptor. [2 Marks]
(c) What are Byte Ordering Functions? [2 Marks]
(d) What is sockaddr_ and how is it uniquely identified? [2 Marks]
(e) Discuss “Relocation” and “Persistence” as two forms of transparency
(f) Compare the implementation details of Concurrent Server and Iterative server.
(g) What are the steps involved in transmission and reception of an ICMP message?
QUESTION FOUR: (TOTAL MARKS: 20)
(a) What is the purpose of a zombie state? [2 Marks]
(b) (i) Give the generic structure of a socket address and briefly explain the parts of the
structure. [3 Marks]
(ii) How do the internet family and UNIX family implement this structure of the
socket? [3 Marks]
(c)(i) Briefly explain the purpose of buffers in a TCP connection. [2 Marks]
(ii) List and explain the two (2) types of buffers that are in used in a TCP connection.
(d) Provide the Internet Socket Port number and the type of transport layer
protocol (whether TCP, UDP or both) used by the following applications:
i). FTP (File Transfer Protocol)
iii).HTTP (Hypertext Transfer Protocol)
iv).HTTPS (Hypertext Transfer Protocol over SSL/TLS)
QUESTION FIVE – (TOTAL MARKS: 20)
(a) In a sequential server application, what prevents the server from dying once it has
served a client? [2 Marks]
(b) “ENOMEM” and “EAGAIN” are among possible errors that are likely to occur
when an OS fails to create a socket. Briefly discuss these two errors. [4 Marks]
(c) Processes running in a networked environment can communicate in two ways
either through Remote Procedure Calls (RPC) or Message Passing. Distinguish
between these two. [4 Marks]
(d) Three (3) things happen when a server accepts a connection request from a client.
List and explain them. [6 Marks]
(e) List and briefly discuss the factors that need to be considered in choosing the best
server design. [4 Marks]