August
1999 QUESTION 2 Total Marks: 20 Marks |
Click here to access other
questions
SUGGESTED SOLUTIONS |
(a) | FTP recognizes certain file types, and treats them appropriately. Does FTP recognize MS Word documents? Explain your answer, and identify any two (other) file types recognized by FTP. | [4] |
No. FTP recognises only plain text or unstructured files. Image, ASCII, EBCDIC or Logical byte files.
|
||
(b) | FTP uses the TCP facilities of the network later. What features of TCP make it suitable for supporting FTP? | [2] |
Award marks for points
from the following, or similar: It gives a connection-orientated service, with guaranteed single delivery, which is in-order.
|
||
(c) | Discuss the security problems you might come across in using the Simple Mail Transfer Protocol (SMTP) and in using MIME. | [4] |
SMTP A potential security problem comes from the way that the caller specifies a return address in the MAIL FROM command. There is no reliable way for the local machine to verify the return address, so there is no way to verify the identity of the sender. Alternatively, the answer may discuss the Internet Worm. MIME
|
||
(d) | You have studied a few different approaches to
designing a network application. Identify and explain the approach used to design both the FTP and SMTP applications. Also identify another application using a similar design approach. |
[4] |
Both FTP and SMTP use
a protocol-based design approach. This approach includes designing a protocol primitives, data unit structure and encoding, and protocol algorithms. The applications are built on top of such a protocol, and must handle issues of presentation and synchronisation. HTTP or SNMP are the other applications using a similar design approach.
|
||
(e) | Explain one benefit of using the 'web-based' approach to network application design. Also explain how the Java language can help in this context, and two possible drawbacks in using Java. | [6] |
Web-based applications
can be very flexible and user-friendly, and are also easily kept up to date because the
client side can be downloaded on demand. Java is a part-complied/interpreted language; interpreters for its bytecode exist on many platforms. This aids portability of network applications. A Java interpreter is incorporated into most modern browsers, so many small Java programs ('applets') can appear in web pages, and provide arbitrary functionality, for great flexibility in application design. The flexibility has security implications - the Java interpreter must be careful to prevent arbitrary downloaded programs from, say, deleting files on the local disc. Java bytecode, being an interpreted language, runs quite slowly, compared to C or C++.
|