CSCI 4345

Computer Networks

Spring 2007

 

 

 

Professor: Dr. John P. Abraham

Office: ENGR 3.276

Web:  cs.panam.edu/~abraham

E-mail: jabraham@panam.edu

Email is the best way to contact me.

 

Schedule

           

           

Email: jabraham@panam.edu.  Tele: 381-3550

CSCI 4345

TTh                1:10-2:25 pm        Eng 1.272

 

Syllabus

 

CSCI 6345

M 5:45 pm to 8:25 pm                Eng 1.272

Syllabus

 

CSCI 6175

M 8:35pm to 9:25 pm

 

 

Office Hours

M 3:30 pm to 5:30 pm

TR 11 am to 12 noon

 

 

 CSCI 6390

arranged

 

 

 

 

                       

RequiredText book: Comer, Douglas E., Internetworking with TCP/IP, Principles and Protocols, 5th Edition, Prentice Hall, 2006.  ISBN 0-13-187671-6

 

Reference:

 

·         Behrouz A. Forouzan, TCP/IP Protocol Suite, 34d Ed., McGraw Hill, 2006. ISBN 0-07—296772-2

·         Tanenbaum, A. S., 2002, Computer Networks, 4th Ed., Prentice Hall, Upper Saddle River, New Jersey.

·         Data and Computer Communications 7th edition, by William Stallings, Prentice Hall, 12004

·         UNIX Network Programming by W. Richard Stevens, Prentice Hall, 1990

Expected Background:

Students are expected to be able to program in C or ++, VB or Java. Students who are not fluent in these topics should make up the deficiencies by home works and programming exercises.

 

Catalog description:

An introduction to data communication topics, including data transmission, encoding data link control, switching, network topologies, protocols, internetworking and data security. Examples of existing networks and network architectures are studied.  Prerequisites: Operating systems or Computer Architecture.

 

Course Topics:

Fundamentals of computer networks; theory, design, implementation and performance analysis of computer networks; network protocols; examples of computer network applications.

 

Grading:

Midterm and final exams                            40%

Group project                                                            20% (5% for presentation, 5% written report, 10% for quality of project)

Independent project                                                10%

Programming assignments (3)                  15%

Group Assignments (3)                               15%

 

COURSE OBJECTIVES: Upon conclusion of this course a student will be able to plan and install a TCP/IP protocol stack based local area network, set up switches and routers, and write socket programs for communication.

 

Learning outcomes:

1.      Compare and contrast the OSI and TCP/IP models, discuss standardization and history.

2.      Become familiar with all the layers of the TCP/IP model.

3.      Given a network problem, create appropriate topology and draw wiring diagrams.

4.      Make cat 5 cables and connect them with switches and make crossover cables where appropriate.

5.      Configure servers, switches and routers.  Discuss frames and MTUs.  Do calculations on fragments. Discuss Physical vs. IP addresses. Discuss ARP.

6.      Compare and contrast circuit switching and packet switching.

7.      Create subnets and supernets.

8.      Create routing tables.

9.      Setup static IP address as well as DHCP based addresses.

10. Setup a DNS.

11. Setup a mail server

12. Setup a wireless network

13. Install appropriate network security

14. Write socket programs in C or Java.

 

Assignments:

 

General instructions about programming:  You may choose any of the following languages: C, C++, Java, Visual Basic.  If you would like to use another language please talk with me first.  I will not give you any assistance with the programming assignments.  You are welcome to talk with others in the class to get general ideas and algorithms, but may not view their source codes.  Assignments are due at the beginning of the class.  Late penalties: 1 day=10%, 2 days=20%, 1 week=30%, 2 weeks=50%, after two weeks I do not accept assignments.

 

General instructions about the group project: Start working on the research right away.  Submit a topic for approval by the 2nd week.  All research should be completed by the middle of February.  Examples of group projects done in the past will be discussed in class.

 

General instructions about the individual project: Choose something you want to do.  Example of such projects may be setting up a VPN, wireless network security, Windows SharePoint, Calendar sharing, contact sharing, media center, etc.

 

General instructions about the group assignments: Group assignments are given to encourage cooperation among students.  Consider yourself as a team leader in a computer network department.  Suppose you are asked to prepare specifications and budgets for new implementations.  Your first group assignment is this: Suppose your company is planning to install a LAN.  You are asked to prepare specifications and prepare a budget to connect two servers, 100 workstations, and 10 printers.  Assume that you already have the computers, printers, servers and existing cat 5 wiring.  Provide alternative specifications, and different budgets based on the alternatives to present to a board meeting.  You will need to research what is required to do the network, how to set up access to the web, etc.  You may want to visit Dell, HP, IBM, etc. to find out what is available.   Additional assignments will be given every 3 or 4 weeks.

 

All students in this class should have sufficient working knowledge installing and removing interface cards, installing appropriate driver software, assigning IRQ, base address, etc.  If you do not have enough experience in these matters, you need to build a computer with parts provided.  All students need to write one page summarizing steps in building a computer or your practical experiences working with hardware. 

 

Programming assignments:

 

1. Write a Java program to discover the IP address of your machine. 

 

2. Write a program to send a file across Transport Service Access Points (TSAPs) also known as TCP ports or Sockets.  Your program can select any non-privileged port (that is, the port number should be greater than 1024). 

 

3. You have a choice for this assignment: Write a server program to make use of threads.  Write appropriate client program to test it. OR  Write a Java program to open a file on a remote computer and look up records. 

 

Drop Policy: A student who requests a drop on or before THE OFFICIAL DAY TO DROP will receive a DR.  After that DP or DF will be given based on the academic standing at the time.  It is the responsibility of the student to take care of necessary paper work to receive DP, D, or W.  All DP/DFs should be handled prior to the official cut off date for dropping.

 

Attendance is required.   A student with three or more unexcused absences (10% of the classes) will be given a DF. 

 

Classroom Conduct: All students are expected to demonstrate professional behavior and use language appropriate for the classroom learning experience.  All cell phones must be turned off during class.  Cell phones must be entirely out of sight (inside a closed backpack or purse, for example) during exams and other in-class assignments.

 

Documented Disability:   If you have a documented disability which will make it difficult for you to carry out the work as I have outlined and/or if you need special accommodations/ assistance due to the disability, please contact the Office of Services for Persons with Disabilities (OSPD), Emilia Schunior-Ramirez Hall, Rm. 1.101, 316-7005 immediately.  Appropriate arrangements/ accommodations can be made.

 

WEEK

TOPIC

CHAPTERS

Assignments due

1

Introduction & Underlying Technologies

1

 

2

Internetworking concept & classful addressing

2,3 Lecture notes

 

3

Classful addressing

3,4 Lecture notes

Feb1 Group Ass 1

4

Internet Protocol

4,5

Feb 8 Program Ass1

5

Datagram forwarding

6,7

Feb 15 Group ass2

6

ICMP & classless addressing

8,9 Lecture notes

March 6 Prog Ass2 Group Ass 3

7

Protocol layering and UDP

10, 11

 

8

EXAM I

 

 

9

TCP & Routing

12,13

Mar 22 Ind pres 1,2,3

10

Routing and BGP

13, 14 Lecture notes

Mar 27 Ind pres 4,5,6

Mar 29 Group Pro1

11

RIP, OSPF and Multicasting

15,16

Apr 3 Ind pres7,8,9

Apr 5 Group Proj2

12

Mobile IP, NAT, VPN

18,19

Apr 10 Ind pres10,11,12

Apr 12 Group proj3

13

Client Server Model, Sockets

20,21

Apr 17 Ind pres 13,14,15

Apr 19 Prog Ass 3

14

DHCP, DNS

22,23

Apr 24 Group Proj4

Apr 26 Group Proj5

 

Final Exam: Thurs, May 10 12:45 p.m.-2:30 p.m.