EN0574 Computer Networks

EN0574 Computer Networks



Module Title: Computer Networks
Module Number: EN0574
Academic Year: 2015-2016
% Weighting (to overall module): 100%
Coursework Title: The Assignment
Average Study Time Required by Student: 123.45 hrs


Dates and Mechanisms for Assessment Submission and Feedback

Date of Handout to Students:

Beginning of Week 7, S2 (29th February 2016)


Mechanism for Handout to Students:

On BlackBoard


Date and Time of Submission by Student:

28th April to 6th May 2016 (different parts); also Week 9 (14th March 2016) for protocol design

Mechanism for Submission of Work by Student:

via Ellison Student Office


Date by which Work, Feedback and Marks will be returned to Students:



Mechanism for return of assignment work, feedback and marks to students:

By appointment (assignment work, feedback), on BlackBoard (marks)









Further Information

(Please ensure the assessment specification includes the following items)


Learning Outcomes tested in this assessment (from the Module Descriptor):

  1. Review the essential design and implementation principles of all layers of the Internet protocol stack;
  2. Design, implement, test and document a small LAN involving the
    use of routers and switches;
  3. Describe the main goals and concepts of network security and apply techniques to support message confidentiality, authentication, integrity and network access;
  4. Develop and demonstrate a simple networked application.


Assessment Criteria/Mark Scheme:

100% (details in assignment).


Nature of the submission required:      

Written report and practical demonstration


Instructions to students:

  • Submit your work by the due date. Usual conditions and penalties apply.
  • This must be entirely your own individual work except where group work is specifically stated. Evidence of plagiarism, collusion or other academic misconduct will be regarded seriously and may result in serious consequences for your academic progress.  If you are unclear about what constitutes academic misconduct, or the possible penalties, you should consult the University guidelines on Academic Misconduct.


Referencing Style:


Expected size of the submission:

A4, 6 sides at size 12+, up to 2 sides for diagrams etc. should be adequate, also code sections as appropriate.

Academic Conduct:

You must stick to the university regulations on academic conduct.  Formal inquiry proceedings will be instigated if there is any suspicion of misconduct or plagiarism in your work.  Refer to the University’s regulations on assessment if you are nuclear as to the meaning of these terms.  The latest copy is available on the university website.

BSc Computing

EN0574 – Computer Networks 2015/16


This assignment (the protocol, network design, programs and report described below) counts for 100% of the total marks available for this module.  You should work in a group of 2, 3 or 4 for the practical work (designing the protocol, network wiring and software writing and testing) but the final report is to be an individual piece of work.

The assignment primarily assesses aspects of all learning outcomes from the module descriptor, viz:

  1. Review the essential design and implementation principles of all layers of the Internet protocol stack;
  2. Design, implement, test and document a small LAN involving the
    use of routers and switches;
  3. Describe the main goals and concepts of network security and apply techniques to support message confidentiality, authentication, integrity and network access;
  4. Develop and demonstrate a simple networked application.

Many aspects of the assignment have been covered in classes for this module – or will be in the next few weeks, well before the work is due for submission, but some issues may require you to undertake additional reading.

Most of the assignment is compulsory, but there are some choices between tasks in the last part of the assignment.  The practical work can be done in small groups of up to 4 students and we recommend students work in groups of 2 or 3 for this.  The report you submit is to be your own individual work and you should take care not to work in a group for this, since the University has strict rules about collusion and other forms of misconduct.

1:   General Guidance

  • Submit your work by the due date. Usual conditions and penalties apply.
  • This course work is worth 100% of the total marks for the module and assesses all learning outcomes.
  • The course work comprises three sections
  1. Network design and configuration (Group Work)

DUE DATE: week 13 (week starting on Tuesday 3rd May 2016)

  1. Client-server system implementation (Group Work)


Protocol Design: Monday 14th March 2016 by 1600

Demonstration: week 13 (starting on Tuesday 3rd May 2016)

  1. Individual report

DUE DATE: Thursday 28th April 2016 by 16.00

You should do ALL of the work for ALL sections.

  • Sections 1 and 2 are each worth 20% of the total marks. Section 3 is worth 60% of the total marks.
  • Follow the specific guidance given in each section about what work you should submit. If you are not clear about what is required for any part, seek guidance from your tutors.
  • For sections 1 and 2, you may collaborate only with your own group members. Each group will submit a single document for each section, describing the work done.  Section 3 must be entirely your own individual work.  Evidence of plagiarism, collusion or other academic misconduct will be regarded seriously and may result in serious consequences for your academic progress.  If you are unclear about what constitutes academic misconduct, or the possible penalties, you should consult the University guidelines on Academic Misconduct.

2:   Scenario

          BordRail is a train-operating company which runs services out of and through Hexham Station to such destinations as Edinburgh (via Berwick), Glasgow (via Kilmarnock), Stranraer, Whitehaven, York and Whitby (both via Sunderland), together with a bus replacement service between Hexham and Tweedbank.  Its HQ is at Hexham Station (Northumberland), with a booking office at Newcastle Central Station.  The company is keen to embrace modern technology to facilitate its business.

2.1:  Network Design (20%)

Figure 1 shows a preliminary network diagram for the proposed company network.  The HQ in Hexham is HEX, while the Newcastle office is NCL.  The company’s network is connected to the outside world via an Internet Service Provider (ISP).  Each location has a single router with one or more subnets directly connected to its fast ethernet interface(s).  All subnets are connected to their routers using a switch/hub (not shown in the diagram).  All routers are connected to other routers through their serial interfaces.  The ISP has determined the parameters for subnets E and F as shown in Table 1.

Figure 1: Network Configuration Scenario

Network Id Interface IP
E fa 0/0 /8
F s 0/0 /30

Table 1: ISP Configuration

Your group will be provided with a base network address, assumed to be allocated to the firm by the ISP, and you are required to design and document an efficient IP addressing scheme to satisfy the requirements in Table 2.

Network Id Max Hosts
A 300
B 5
C 75

Table 2: Siubhal’s Network Addressing Requirements

2.2:  The Task

  1. Form a group: Find up to three other members of the class and form a group consisting of up to four members. This will be your group for this part – and the next part – of the course work.
  2. Inform the module tutor: Choose ONE member of your group to send an e-mail to John.Morton@northumbria.ac.uk. The e-mail should have the subject “EN0574 Group” and contain a complete list of the names, student numbers and e-mail addresses of your group members.  Example:

To: John.Morton@northumbria.ac.uk

Subject: EN0574 Group


This is our group:

123456 Ruth Davidson r.davidson@northumbria.ac.uk

123457 Kezia Dugdale k.dugdale@northumbria.ac.uk

123458 Willie Rennie w.rennie@northumbria.ac.uk

123459 Nicola Sturgeon n.sturgeon@northumbria.ac.uk


This e-mail must be sent no later than 1700 on Friday 4th March 2016.  If you have not been identified in a group e-mail by 0900 on Monday 7th March 2015, you must send an email to John.Morton@northumbria.ac.uk with the subject `EN0574 No Group’.  The module tutor will help to allocate you to a suitable group.  Ultimately, it is your responsibility to join a group.  If a group has not identified the maximum of four members by the deadline, then additional members may be added to that group by the module tutor.  When your group has been identified, you will receive an e-mail from your tutor confirming your group and notifying you of the base network address to be used in your IP addressing scheme.

  1. Design and document an IP addressing scheme: Now you may use the network address that has been assigned to you, together with the subnet requirements, to design an IP addressing scheme. An important aspect of the design is to make the most efficient possible use of the IP address space.  You should document your network with a network diagram and IP address table.
  2. Demonstrate network configuration: In week 13 of the semester (w/c Tuesday 3rd May 2016), your group will be required to cable your network, configure the routers, workstations and server, and demonstrate that the network behaves as required. Your tutors will ask questions to test your understanding of the work done and may set small trouble-shooting exercises to solve on the spot.  You will have approximately 45 minutes to completely prepare your network.  The question/answer session and troubleshooting will take about 15 minutes.  You must submit the completed group network documentation at this session.  In this session, each router should be configured with the following:  hostname, enable and vty passwords, IP addresses for all interfaces, clock rate for serial interfaces (if required), routing protocol, network statements and host table (containing all routers and servers).
  3. Document the network: The documentation that your group submits should include:
  • Network diagram showing the IP address and subnet mask of all interfaces.
  • IP addressing table – for all subnets, you should give the IP address, subnet mask, default gateway, and first and last usable host addresses; for serial links, you should identify the DTE and DCE interfaces and the chosen clock rate.
  • Router configuration command sequence. This documentation may take the form of well-documented show run
  • Commented router output from the following commands:
    • show ip interface brief
    • show ip route
    • show ip protocol
    • show hosts

These items should be included in a single, coherent document with a short commentary identifying and explaining each item.  This is the final document that should be submitted at your group demonstration.

2.3:  Marking

Marks will be awarded for the network design and configuration exercise as follows:

  • Demonstration 10
  • Documentation 10

3:     Client-Server System (20%)

          This will involve the same group that you set up for 2. above.

          For this part of the assignment you are required to design and implement a protocol that will allow anonymous (not signed in) querying of BordRail’’s available routes and services, registering as a new customer with BordRai, signing in to BordRail and booking a ticket with BordRail.  It should be impossible to book a ticket without being signed in.

It is not expected that you should implement encryption, secure sockets or “PayPal” type software, merely that you should design and implement the communications, order of communications and checks for the above.

Your programs should support the example queries shown in the Notes section below.

The following software is to be produced:

  • Server – this must be written in C or Java and run on one of the school’s Linux workstations
  • Client – a version of the client should be written in C or Java and run on one of the school’s Linux workstations.
  • Optionally, you may choose to develop an additional client in the other computer language, or to run on the university’s Windows system, or both.

Note: Your client(s) are solely to test and demonstrate the server and protocol.  Your program will be running on a Unix workstation and the user interface is not important – in real life the user interface would use GUIs but we do not expect you to implement such.

Your group will need to produce a protocol design in early March, and each student must submit their own written report for the end of the assignment.  These requirements are explained in the next section

3.1:  Deliverables & Demonstration

Stage 1 Protocol Design – Each group should submit their protocol design to the school office (Ellison Building) on or by Monday 14th March.  You are recommended to include sequence diagrams and a description of the meaning and structure of each message.  (10% of the assignment mark is for the protocol design)

A sample solution and general feedback will be provided during the week beginning 21st March.  Specific feedback for each group should be available in the following week.

Stage 2 Demonstration – Your group’s server and client programs should implement your protocol (or an amended one, based on the feedback) and are to be demonstrated in class in week beginning 3rd May.  This will carry 10% of the assignment marks and all members of the group are required to attend.

4:   Individual Report (60%)

4.1:  Requirements

Your individual report should just address the questions below.  Please number the sections in your report carefully so that your answers can be easily matched with the corresponding questions.

  1. (a) What class of network address was assigned to your group, ignoring the network prefix length?  What can be deduced about the number of octets in the network and host portions of this address from knowledge of the class of address?  Explain the distinction between classful and classless addressing.  What is the maximum number of hosts that can be supported by this address in a classful addressing scheme?               (5 marks)

(b)       What is meant by variable-length subnet masking (VLSM)?  Explain what benefits are gained by the network designer through the use of VLSM.  Show why the use of VLSM is essential to fulfil the addressing requirements of the network in Figure 1 using the allocated address range.               (5 marks)

(c)                Show how your group IP addressing design can be extended to accommodate an additional office at Carlisle Citadel Station.  You should assume that the Carlisle office has a router of its own (CLL) that is connected via a point-to-point serial link to HEX.  The Carlisle office should have two subnets, one required to support at most 40 hosts and one required to support at most 10 hosts.  Document the complete, revised design in the form of a table, showing for each router and point-to-point link, the network address, the broadcast address, the first usable host address and the last usable host address.  It is important that your original addressing scheme is preserved exactly in the new scheme, i.e. no existing network addresses should be changed to accommodate the Carlisle network.    (5 marks)

(15 marks)

  1. (a)         Identify and explain briefly the services provided by the data link layer in a computer network.   (2 marks)

(b)                Consider the problem of medium access control in a local area network.  Describe and critically evaluate the three general MAC techniques for use within a fully distributed network.     (6 marks)

(c)                BordRail wishes to make use of wireless communications in its Newcastle office.  Outline the main differences between a wired and a wireless local network and suggest (with justification) some additional problems that this may cause, together with possible measures to mitigate these.   (7 marks)

(15 marks)

  1. Report on client-server system: Describe how the server implements your final protocol (commented or annotated listings should be provided in an appendix to the report).

(10 marks)

  1. Do two of the following – each is worth 10% of the assignment mark, and each should need a maximum of 1 page of the report (excluding any diagrams or listings)
  2. Implement the client in another language and/or on another OS (this will need to be demonstrated with your main client & server, and can be done either as groupwork or by an individual group member), and describe the differences in your report.
  3. IPv4 is rapidly being replaced by IPv6. Outline the differences between the two addressing systems, including notation, use of particular address prefixes, “hybrid” (part v6, part v4) addresses and conversions between the two systems.  Why does IPv6 not support the “broadcast” address?
  4. Outline the differences between TCP and UDP. Which has more segment fields, and what are they?  Name one network service that usually uses TCP and one network service that usually uses UDP and explain why they do so.
  5. In your report, explain 5 changes needed to your client and server to help make them suitable for use in a commercial system.

(20 marks)




The report (apart from the listings and the optional development of a second client) is to be researched and written by you as an individual.  This is not group work.


BordRail authentication and ticket details

The server has a customer detail file in the format:

<Customer ref. no.><CustomerName> <Address>, e.g.

1005 Sìne te Wheke    16 Front Street, Nunlle, AT4 6PQ

1006 Anwar Dyfed      “My Abode”, Clach Lane, Àiteigin, OH10 1PC

1007 Geordie Parks    34 Byker Grove, Deckham NE1 4AJ

(in the above example, spaces are enabled within fields by using tabs as field separators)

Sample ticket details in the BordRail database

ID Ticket Cost       Notes
7101 Hexham-York return €40 Return up to 1 month
7102 Hexham-Tweedbank return €20 Return same day only
7103 Hexham-Newcastle single €10 Any train on day
7104 Newcastle-Whitby return €30 Return up to 1 month
7105 Hexham-Carlisle saver €20 Specified trains only
7106 Glasgow-Carlisle single €30 Any train on day

Sample queries available on the Siubhal database:

What tickets do you offer?

When can I travel with <ID>?

What is the cost of <ID>?

When does <ID> run?

Please book <ID> on <date>

Please book <ID> on <date> at <time> (for Saver tickets  only)

Note that the Tweedbank bus only runs Mondays-Saturdays and the Whitby service is only available between April 1st and September 30th (every day).

Feel free to devise a suitable train (and bus) timetable for the purpose of Saver bookings (no need for it to bear any resemblance to reality!).

  • You are strongly recommended to use the socket demonstration programs as the starting point for your software.
  • Finish the socket exercise that was introduced earlier on.
  • Decide who you will work with (remember to email John Morton) and collectively design a protocol, and document its key features.
  • Don’t wait for the feedback from stage 1 or the example protocol. You should start developing your client and server before then, and review your work when you get the feedback.
  • Divide the software development between members of the group, but make sure that everyone in the group has copies of all the software.
  • Test the clients and server together as a group.
  • If you have difficulties, ask at one of the assignment surgery / lab sessions – staff won’t do the assignment for you, but can go over the sockets exercise if required, and can help with C and Java syntax.
  • Start in good time, and stop the practical work (even if it isn’t finished!) in plenty of time to do the report (it is your report that carries most of the marks).
  • Make sure you work on your own when writing the report.

Some resources

You are expected to use the school’s Unix/Linux system to develop your server and at least one of your client programs. (As well as accessing these systems on campus, you can use our Unix remotely using SSH through Desktop Anywhere).

Some particular resources available on BlackBoard will hopefully include:

  • Example data files for this assignment
  • Example sockets programs from Sockets exercise
  • Example file handling programs
  • c also provides a function which may be of assistance – getdatetime (char *p) stores the current date and time in a 25-char string provided as the function parameter
  • Example sockets programs for other languages / environments

Possible problems – and how to deal with them

Hopefully, none of the following will happen to you, but if any of them do, please note the advice:

  • You can’t find a group you want to join – you could work on your own, but our experience is that students benefit from working with others on this type of work. You can be in a group with people from another seminar group, provided you can all get together at suitable times to do the work.
  • You find programming difficult – this is because programming is difficult (that’s why good software engineers get well paid!). We don’t expect everyone in a group to be equally good at programming, and for the report it is more important to understand your programs than to have written them.
  • Some of your group are ill during stage 1 – remaining members of the group will normally be expected to submit the protocol on time. If a group member qualifies for an extension which goes beyond 12th March they will be exempted from stage 1 and their assignment mark calculated out of the remaining 90 marks.
  • Some of your group are ill during the second stage of the assignment – normal rules for extensions will be applied.
  • Your group falls out with each other – talk to one of the module lecturers. Sometimes groups do split up, but it is important that your lecturer is aware of this and is able to advise on how to proceed with any work that has been done by the original group – if you don’t do this you may be suspected of misconduct.
  • The member of your group who has all the group’s work in their account goes ill, so the rest of the group are unable to proceed – don’t let this happen! You can’t stop someone becoming ill, so make sure everyone in the group gets a regularly updated copy of all the group’s work (eg by emailing it – don’t set up a website, as this could make your work available for plagiarism or unfair collusion).

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: