La Trobe University, Bendigo

Division of Information Technology

BITCNE: Computer Networks

Assignment 2, Semester 2, 1998

Your task in this assignment is to investigate one only of the following topics in computer network architecture, and submit a report on your findings. Note that the topics are about, or related to, application-level protocols in the Internet. Each of the topics has a "theory" section, where you have to look up the information somewhere (presumably on the 'net), and a "practical" section where you have to demonstrate how the particular system under discussion actually operates in practice. You must complete both sections to gain a high mark.

Note also that additional topics might appear on this page as they are suggested to me. It could be worth checking back regularly if you don't like any of those given below.

HTTP Proxies
Theory
What gets sent to a proxy server when you fetch a Web page? What happens at the proxy server? What is a squid in the context of proxy servers? Briefly discuss the limitations of proxy servers for HTTP.
Practical
How effective is La Trobe's proxy server? Use Telnet (as described in the lectures) to GET a Web page from the proxy server. Can you tell if the page was cached? How?

NNTP Protocol
Theory
Investigate the NNTP protocol, the basis of the "USENET" (or "netnews") electronic news system, with attention to some or all of the following points: what are some of the basic NNTP commands? How do you discover available newsgroups on a server? What is an "active" file? How do you discover a list of articles in a newsgroup? How you fetch a desired article? How do you "post" a message to a newsgroup? Who is Emily Postnews?
Practical
Post a message to newsgroup latrobe.test, or some other appropriate group, using an appropriate software application. Save your posted message from your favourite news reader software and analyse its headers. Attempt to post a message using NNTP directly by the use of telnet to the NNTP port on the server.

Internet Time Protocols
Theory
Investigate the use of the network to allow systems to set their system time accurately. There are several degrees of complexity in this question: you should not allow yourself to become too immersed in detail, rather your should provide an overview of the techniques and protocols which are used.
Practical
Assuming you have a computer which you use to dial in to the Internet, configure your system to set its time from ironbark (or some other timeserver if you know a better one). Document the steps involved. How does your system handle timezones? How accurate would you expect your system's clock to be when set from a remote system? Note that if you don't dial in, you can't really do this question

Network Programming
Theory
You will need to understand enough of the appropriate application protocols to undertake this question, but you do not have to document this part of your work. The practical (programming) section of the question is all that has to be submitted.
Practical
There are two possible tasks which you can undertake for this question. Both can be implemented in the programming language of your choice.
  1. Write a "Web page analyser" which will submit a HTTP GET or HEAD request (as appropriate) to a server (or proxy server) and then inspect the value of the "Content-length: " header line to discover the size (in bytes) of the document. This could be (for example) launched from the Unix command line something like:
    websize http://ironbark.bendigo.latrobe.edu.au/index.html
    which will simply send the number of bytes to stdout. For really keen students: fetch the actual page, and additionally discover the size of all images loaded with the page (using the IMG markup), and display the aggregated total. This is much harder, and if you can get it working, will surely earn you an "A".
  2. Write a utility which uses one (or a small subset) of the NNTP commands to fetch and nicely format information from a news server such as news.latrobe.edu.au. For example, you could list all current "active" newsgroups, or you could show the "description string" associated with most (some?) newsgroups. Again, any really keen students could build a utility to do something useful like check the contents of a user's .newsrc file (or whatever it's called on systems other than Unix) to check for consistency with the groups listed on the server.

Other
Any other appropriate application protocol-related topic with the explicit prior approval of the lecturer.

You should expect to write something between 1500 and 3000 words on the topic of your choice, although this is not mandatory. You can submit your assignment using either traditional hard copy (paper) form, or as an email attachment of MIME type text/html sent to cnsubmit@ironbark.bendigo.latrobe.edu.au, as for the first assignment. Your choice of submission format will not affect the mark gained for your assignment. Submissions must, as usual, adhere to the requirements of the La Trobe University, Bendigo Assignment Guide.

This assignment carries 15% of your mark for Computer Networks.

Due Date: Monday, October 5th, 1998, 9am

Lecturer: Phil Scott, 5444 7277, p.scott@latrobe.edu.au.


Phil Scott