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