Project 1

advertisement
SCHOOL OF SCIENCE AND ENGINEERING
CSC3352 Computer Communications
Project no. 1, Spring 2002
Dr. Driss Kettani
In this Project, you have to write a program1 that shows how data go from a specific
machine to another machine using a ‘virtual’ Network and based on a simulation of the
TCP/IP layers.
You will have to design your virtual network in Morocco to connect to computers spread
over 4 countries (Canada, Senegal, Austria and Singapore). Each country has at least 9
machines organized in at least Four LANs and sub LANs (maximum three levels).
The addresses in your network respect the following format: C.L.S.N, Where: C
(country Id), L (LAN Id), S (Sub LAN Id) and N (computer Id) are less or equal to 2
digits each. Computers’ name in your network respect the following format
CountryName.LanName.SubLanName.PCName.
Each machine in the Network has unique address and unique name inside its sub LAN
(which means that two machines in two different LANs or countries can have the same
name). There must be at least three routers to link between any two countries. Indeed,
your program must link between the PC’s address and name when ever this is required
(thanks to several DNS servers that you must implement) and it must deliver the
data to the appropriate machine using an appropriate route.
The physical network will be represented in your program by directories (Countries),
subdirectories (LANs and sub LANs) and Files (Computers). You have to organize your
work space in the hard disk so as it can actually reflect the architecture and topology that
you have chosen for your Network.
In term of programming, you need to Implement the five layers of the TCP/IP model
and to strictly perform the tasks related to a specific layer inside the code of the function
that represents that layer.
Applications: File transfer, DNS, Transport_Segment, Transport_Assemble,
LL_Segment, LL_Assemble.
Transport: You have to segment your data into packets with respect to specific
segmentation rules that you have to agree on between the sender and the
receiver;
Network: You have to route your packets via different routers until the final
destination;
Link Layer: you won’t care about the MAC sub layer but you will have to send
the packets received form the Network layer to the physical layer fralme by frame
(assume that a frame is a little set of characters).
Physical layer: you won’t perform particular actions in that layer since you will
be using the transmissions buses of the PC.
1
Any programming language is welcomed in this course but, in order to ease your task, it
is better to use a visual programming tool such as Visual C, Visual Basic or Delphi.
The user Interface must graphically show the initial architecture of your network and
allow the user to modify it by adding, removing or renaming a country, a LAN a Sub
LAN or a PC.
It must also allow the user to transfer a text file from any location in your computer to
any PC in the network and vice-versa. A user can select the destination machine by
clicking at its location in the user interface, or by specifying its name or its address. Your
program must show the route that has been chosen to solve addresses and the route to
deliver the data.
Deliverables
o A document that contains explanations on how you have solved out this project
along with the references and the sources of information;
o A listing of the source code;
o Some relevant testing sets (some snapshots of your system interactions and outputs);
o A diskette2 containing the source and executable of you program;
o Any pertinent comments related to this project (difficulties, bugs, team cooperation,
etc.).
Deadline
Monday, March. 4th 2002 at (or before) 10am.
2
It is your responsibility to ensure that your diskette does not contain any virus. A
penalty of 20% will apply in case of negligence.
2
Download