Lehigh University
COLLEGE HOME | LEHIGH HOME | SEARCH




   

CSE 342    Fundamentals of Internetworking (4)

Instructor:  Brian Davison

Current Catalog Description 
Architecture and protocols of computer networks. Protocol layers; network topology; data-communication principles, including circuit switching, packet switching and error control techniques; sliding window protocols, protocol analysis and verification; routing and flow control; local and wide area networks; network interconnection; client-server interaction; emerging networking trends and technologies; topics in security and privacy. Prerequisite: CSE109.

Textbook
Kurose and Ross, Computer Networking: A Top-Down Approach Featuring the Internet, 3rd. Ed, 2005, Addison Wesley.

References
Donahoo and Calvert, TCP/IP Sockets in C: Practical Guide for Programmers, 2001, Morgan Kaufmann.

Harbison and Stelle, C: A Reference Manual, 5th Ed., 2002, Prentice Hall.

Course Goals
To provide a practical and theoretical understanding of computer networks that comprise the Internet, with respect to system architectures, protocols, and client-server interaction.

Prerequisites by Topic
Strings and arrays
Pointers
Makefiles
Modular programming design
Digital (binary) representations of data

Major Topics Covered in the Course 
Computer Networks and the Internet
Application Layer
Transport Layer
Network Layer and Routing
Link Layer and Local Area Networks
Wireless and Mobile Networks
Multimedia Networking
Security in Computer Networks
Network Programming in C


Laboratory projects (specify number of weeks on each)
UNIX, C, File I/O – 2 weeks
DNS – 1 week
TCP – 1 week
UDP – 2 weeks
Network simulation – 1 week
Packet capture and analysis – 1 week
Reliable protocol implementation – 1 week
Interactive multi-player network game development – 4 weeks

Prior to the final multi-player network game project, the students are assigned two additional significant programming projects. The first is the development of an Web client and server (based on sample code provided in class). The second is an implementation of a distributed routing protocol (within the context of a simulator written for that purpose).

Estimate CSAB Category Content
                                                                        CORE       ADVANCED
Data Structures     
Computer Organization and Architecture               1                    1
Algorithms Software Design                                                        0.5  
Concepts of Programming Languages                                          0.5
 
Oral and Written Communications
Every student is required to submit at least  __0__  written reports (not including exams, tests, quizzes, or commented programs) of typically  _____  pages and to make  __0__  oral presentations of typically  _____  minutes duration. Include only material that is graded for grammar, spelling, style, and so forth, as well as for technical content, completeness, and accuracy.

Social and Ethical Issues
We cover the basics of network security, including various ways that network communications can be attacked, and some of the countermeasures available. This is covered in approximately three hourly lectures (1 week), and is part of the content on which they are tested.

In one lab we discuss the implications on privacy from the capture and analysis of raw packets on a shared network. The students are not tested on their understanding.

Theoretical Content
 Protocol analysis – 2 lectures
 Reliable data transfer – 6 lectures
 Congestion control – 4 lectures
 Routing techniques – 4 lectures
 Multicast algorithms – 3 lectures
 Error-detection and correction – 2 lectures
 Multiple access protocols – 5 lectures
 Scheduling – 3 lectures
 Encryption – 4 lectures

Problem Analysis
Many of the homework problems create a realistic situation in which some quantity is needed to be calculated. Students must apply knowledge and procedures acquired from the lecture or text. Each of the programming projects requires some analysis of the problem to be solved. In the Web client and server (the first project), the project is broken down into sub-steps, each of which can be implemented and tested independently. The second (distributed routing) requires a global understanding that includes the limited perspective of each element. The last (multi-player network game) is broken into four stages which must be implemented consecutively, but can be tested independently.

Solution Design
In the first and last programming project, the students must consider exactly the data that is sent and received.Details of representation necessarily become clear in order for proper functionality.

 

 


 

     
image


©2008 P.C. Rossin College of Engineering & Applied Science
Computer Science & Engineering, Packard Laboratory, Lehigh University, Bethlehem PA 18015