Design  | SFC  |  NOS  |  Code |  Diary  | WWW |  Essay |  Cisco | [Home]

 

 
General

Teachers
Module Org
Exams
Timetable
Activities
Mod Reg.
Mod. Quest
.

Material

Notes
Presentations
Tutorials
Challenge
Worksheets
Tests

Sockets

VB Socket
Java Socket programming
VB Client code
VB Server code
Java client/ server

Quizzes

Pub challenge
OSI test
Bits/frames
Hangman
Subetting
IQ Test

Others

WWW page changes
Email support
Subnetting Calc.
Timetable
LOM

News


News

2000/2001 archive

Coursework specifications
Coursework marks
Exam marks
Exam paper
Exam FAQs
Exam details
Exam request
Exam (Joke)
Questionaire results
Class
1999/2000 paper
Aug 2001 page
Archive

 

Background

Students must select one of the two projects attached with this document. The first involves research/analytical skills in tracing routes over the Internet, and the other involves design/development skills in developing a small prototype of a network application. The generic aim of both is to illustrate how data is transmitted over a network from one host to another.

[PDF for Napier students]
[PDF for external students]

Project 1

   [PDF for Napier students]
   [PDF for external students][DOC]

Project 2

Aims
The aims of the assignment are:

To demonstrate how applications transfer data over the Internet, using a structured approach based on the OSI model.

To implement a prototype of an application which implements code which illustrates how data passes between applications on the Internet.

To illustrate how the prototype can be expanded into a complete system.

To present background theory to underpins the system prototype.

Projects
All the projects contain scope for some research, such as in WAP, XML, and so on. Initial ideas for project are:

A. Session-layer protocol prototype
Design and implement a prototype of a Windows-based client-server system using WinSock programming (with VB/ Java/ C++/ Delphi/ and so on), which will implement a basic session layer protocol. This might include a basic PUT and GET command structure, sending some file/directory information, and with some form of authentication.

Possible enhancements:

1

Investigate the integration of FTP (port 21), which is a standard session layer protocol. Some basic commands, such as USER, PASS, SYST, and so on, could be implemented. This could be expanded to support file transfer commands, such as GET and PUT.

2

Investigate the basic integration of the HTTP protocols, when communicating with a WWW server (port 80).

3

Integration of several session protocols into a single package.

4

Development of a basic session-layer server, which implements a limited range of basic session layer protocols, such as one which implements the echo port (port 7).

Possible skills: Software development, WinSock.

VB WinSock programming
WinSock Client ZIP
WinSock Server ZIP
FTP specification
FTP commands reference
[Control commands]
[Transfer commands]
HTTP specification
Java Sockets

For example:

Command entered
Response

USER fred
PASS fredpass
PWD
SYST
HELP
 
QUIT
 
220 selene FTP server (SunOS 5.7) ready.
331 Password required for fred.
230 User fred logged in.
257 "/home/fred" is current directory.
215 UNIX Type: L8 Version: SUNOS
214- The following commands are recognized:
USER PORT MKD PASS

.....

221 Goodbye
 

 

and for HTTP, we connect to port 80. If we manually issue the following command from our client (and press RETURN twice):

GET /index.html HTTP/1.0

The sever responds back with the HTTP information and the WWW page:

HTTP/1.1 200 OK
Date: Sun, 20 Jan 2002 21:44:17 GMT
Server: Apache/1.3.14 (Win32)
Last-Modified: Thu, 17 Jan 2002 10:58:22 GMT
ETag: "0-67c6-3c46ae4e"
Accept-Ranges: bytes
Content-Length: 26566
Connection: close
Content-Type: text/html

 

<HTML><HEAD><TITLE>Bill Buchanan Home</TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<META etc ....

As shown next:

B. Chat client-server program
Design and implement a prototype of a stand-alone system which allows two users to communicate over a network. The program will typically use either Macromedia Flash or WinSock programming to implement the system, and will have several enhancements over the basic client/server system.

Possible enhancements:

1

The ability to pass a user name, and possibly with a password.

2

The ability to create a time-out on the connection, so that the each side will disconnect the connection if the other side is not communicating.

3

Automatic searching of servers. With this the client which scan a whole subnet looking for a server on a given port.

4

Reconfigurable port connections. The system will allow the TCP port to be easily configured on both the client and the server.

5

Implementation using UDP communications, rather than TCP.

6

Implementation using peer-to-peer connections, rather than client-server.

7

Automatic configuration, where the client can determine the IP address of the client.

8

Implement a server which accepts more than one connection

VB WinSock programming
WinSock Client ZIP
WinSock Server ZIP
Java sockets [Background]
Java Sockets
C++ sockets

C. XML-based sports content delivery prototype
Many types sports and news content are now delivered in XML format, to a WWW-based system. This project involves the development basic prototype for the reading of XML-based data into a WWW-browser. The prototype should be able to read an XML file from a server which has some media content, such as sports results or news flashes, and report them to the WWW page.

Possible enhancements:

1

The ability to read the XML file at regular intervals, which would be reflected in the displayed content.

2

To be able to read content from several different sources (a distributed system for delivery).

3

Integration of other types of content, such as links to graphics files, or hypertext links.

4

Automated generation of XML content.

5

Integration of a socket port.

XML-to-Flash

D. Secure WWW-access
Design and implement a secure system which allow users to register their details, and gain access to WWW pages. The system should detect the user's network address, domain name, and so on, and base the security on this.

Possible enhancements:

1

Implement system using a database, rather than using text files.

2

Automated notification (such as with an email message) of incorrect login's.

3

Remote viewing of audit logs for system administrators.

Skills: WWW integration with PHP/Apache server (and, possibly, MySQL) or ASP/IIS or PWS and, possibly, Microsoft Access).

PHP examples
ASP examples
Setting up PWS/IIS
JavaScript examples


Marking schedule

The assignment will count for 60% of the final mark of the module. The marking schedule which will be used is:

Introduction                                                  [10%]

Theory                                                            [15%]

Design                                                            [20%]

Implementation                                  [35%]

Conclusions                                                   [20%]

 

Each of these sections will be given a grade:

 

Excellent.                    A+ (100%), A (92.5%), A- (85%),

Very Good.                  B+ (77.5%), B (70%), B- (62.5%),

Good.                         C+ (55%), C (47.5%), C- (40%),

Weak.                         D+ (32.5%), D- (17.5%),

Poor.                           E (10%) or

Extremely poor.             F (2.5%).

 

The final mark will be generated using these grades and the weighting given above. For example:

 

Introduction

Theory

Design

Implementation

Conclusions

Final mark

10%

15%

20%

35%

20%

100%

A+

B

B

A+

D

75

C

C

C

C

C

48

Project marking

A possible structure for the report could be:

 

1

Introduction [10%]
Objectives, background, methods used.

2

Theory [15%]
Outline of TCP/IP. Research (FTP/TELNET/etc). DO NOT COPY DIRECTLY FROM THE WWW.

3

Design [20%]
Some formal design of the system. This could be using abstract methods such as data flow diagrams and structure charts, or could be formal design of the modules/components.

4

Implementation [35%]
A discussion of the actual prototype, with important code snippets which should the operation of the main elements of the project.

5

Conclusions [20%]
Strong conclusions which summarise your main findings. Don't just say that it was a really good project, and everything think went really well, as it's unlikely that it did. Every system has its faults, and things that can be improved on. If you've found a better way to do something, then talk about it. As much as possible discuss the good things about your system, and outline the problems, and how they could be overcome.

 

2000/2001 archive

The 2000/2001 project was based around determining routes on the Internet, by selecting three destination.

 

[Project 2000/2001]
[Project FAQs]