Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

UNIVERSITY OF SOUTHAMPTON COMP2207W1

SEMESTER 1 EXAMINATION 2015 - 2016

DISTRIBUTED SYSTEMS AND NETWORKS

DURATION 90 MINS (1.5 Hours)

This paper contains 4 questions

Answer one question from Section A and one question from Section B.
Each question is worth 50 marks, out of a total of 100 marks for the paper.

An outline marking scheme is shown in brackets to the right of each


question.

This examination is worth 50% of the marks for the module. The coursework
was also worth 50%.

University approved calculators MAY be used.


A foreign language dictionary is permitted ONLY IF it is a paper version of a
direct ‘Word to Word’ translation dictionary AND it contains no notes,
additions or annotations.
5 page examination paper.

Copyright 2016 c University of Southampton Page 1 of 5


COMP2207W1

Section A

Question A1.

(a) Explain why dealing with failures is important in the development of


distributed applications. Give two examples that illustrate the different
degrees to which failures can be masked in a distributed application.
[12 marks]
(b) Illustrate the mechanism for acquiring and using remote object references
in Java RMI. You should only provide the relevant Java code and not
an entire RMI application. [12 marks]
(c) Describe how stream-based communication using the Transmission
Control Protocol (TCP) works, and give a simple example to illustrate
the use of Java sockets for sending a single object between two
processes residing on different machines.
[12 marks]
(d) Describe the Java Message Service programming model, with reference
to the concepts of connection factory, connection, session and message,
and distinguishing between point-to-point and publish-subscribe commu-
nication. Why is indirect communication more appropriate to use than
objects for some kinds of distributed systems?
[14 marks]

Copyright 2016 c University of Southampton Page 2 of 5


COMP2207W1

Question A2.

(a) Describe how vector clocks are used to capture the happened-before
relation in a distributed system.
[12 marks]
(b) Define what causally-ordered multicast is, and show how it can be
implemented over basic multicast by using vector clocks.
[14 marks]
(c) Describe the two-phase commit protocol for distributed transactions.
[14 marks]
(d) Explain how the two-phase commit protocol for nested transactions
ensures that if the top-level transaction commits, all the right descendants
are committed or aborted.
[10 marks]

TURN OVER
Copyright 2016 c University of Southampton Page 3 of 5
COMP2207W1

Section B

Question B1.

(a) Describe the mechanism by which the domain name southampton.ac.uk


is delegated from the top-level Internet naming authority to the University
of Southampton, such that administrators in the Southampton network
can add DNS entries for hosts within the domain.
[12 marks]
(b) Describe the process by which a DNS resolver in a network that is
external to the University of Southampton would perform resolution of
the host name www.southampton.ac.uk to its IPv4 address (its DNS
A record).
[12 marks]
(c) A number of recent distributed denial of service (DDoS) attacks have
used DNS infrastructure to perform a DNS amplification attack. Describe
what is meant by such an attack, and how an attacker might coordinate
such an attack against a specific IPv4 target address. Include a
diagram illustrating the attack in your answer.
[20 marks]
(d) Give three examples of methods that could be applied to reduce the
potential for such attacks. You may choose examples that apply at
any part of the infrastructure used to stage such an attack.
[6 marks]

Copyright 2016 c University of Southampton Page 4 of 5


COMP2207W1

Question B2.

(a) For the following network prefixes, give the range of IP addresses
included in the prefix, the network mask, and the IP broadcast address.

(i) 152.78.71.0/24
(ii) 152.78.76.0/20
(iii) 152.78.62.128/27

[18 marks]
(b) Compare and contrast the operation of a distance vector and a link
state routing protocol. For each type of routing protocol, outline how
routing tables are constructed and updated.
[26 marks]
(c) If you were the network manager of a large university campus network,
explain whether you would choose to run a distance vector or link
state protocol, and give at least three reasons for that choice.
[6 marks]

END OF PAPER
Copyright 2016 c University of Southampton Page 5 of 5

You might also like