CSC7230 Homework 2

· Each question contributes 10% of the total mark

· Due date: 19/11/2002

· Submission: Hand in on class or send email to with student name and student ID. Please name your file with your SID.

1. Is it conceivably useful for a port to have several receivers? (Q 4.1)

2. Why is there no explicit data-typing in CORBA CDR? (Q 4.9)

3. Explain the design choices that are relevant to minimizing the amount of reply data held at a server. Compare the storage requirements when the RR and RRA protocols are used. (Q 4.20)

4. Discuss the invocation semantics that can be achieved when the request-reply protocol is implemented over a TCP/IP connection, which guarantees that data is delivered in the order sent, without loss or duplication. Take into account all of the conditions causing a connection to be broken. (Q 5.2)

5. A simpler version of the distributed garbage collection algorithm described in Section 5.2.6 just invokes addRef at the site where a remote object lives whenever a proxy is created and removeRef whenever a proxy is deleted. Outline all the possible effects of communication and process failures on the algorithm. Suggest how to overcome each of these effects, but without using leases. (Q 5.14)

6. Describe some of the ways in which conventional email is vulnerable to eavesdropping, masquerading, tampering, replay, denial of service. Suggest methods by which email could be protected against each of these forms of attack. (Q 7.2)

7. Initial exchanges of public keys are vulnerable to the man-in-the-middle attack. Describe as many defenses against it as you can. (Q 7.3)

8. How does caching help a name service’s availability? (Q 9.5)

9. Which other name server addresses do DNS name servers hold by default, and why? (Q 9.9)

10. Discuss the potential advantages and drawbacks in the use of an X.500 directory service in place of DNS and the Internet mail delivery programs. Sketch the design of a mail delivery system for an internetwork in which all mail users and mail hosts are registered in an X.500 database. (Q 9.16)