CSC/ECE 573 Internet Protocols
 

Principles and issues underlying provision of wide area connectivity through interconnection of autonomous networks. Internet architecture and protocols today and likely evolution in future. Case studies of particular protocols to demonstrate how fundamental principles applied in practice. Selected examples of networked clinet/server applications to motivate the functional requirements of internetworking. Project required. 3 credit hours.

 
   

• Prerequisite
 

CSC/ECE 570 Computer Networks. Experience with socket programming, C/C++, and Unix programming are strongly recommended


• Course Objectives
 

The purpose of this course is to provide the in-depth understanding and hands-on experience in designing and implementing computer networks, their protocols, and applications. It includes the following: general overview of computer network and the Internet, applications, transport, TCP congestion control, routing, multicast, data link layer, wireless networks, mobile IP, multimedia networking, network security, and network management.


• Course Requirements
 

This course puts strong emphasis on programming projects. Throughout the course, the students are expected to perform written homework, programming projects, and lab assignments. Distance education students are exempt from lab assignments, but may be expected to do extra homework or projects in lieu of lab assignments. Students who can come to the campus for lab assignments can opt to do the lab assignments instead of extra homework or projects.

There will be one midterm and one final exam. All exams are in-class and closed book. The midterm exam is conducted in a normal class hour (whose date will be announced later on) for in-class students.  Students need to consult the university schedule to get the final exam schedules. For on-line students who cannot come to campus for the exams, they can elect to use a proctor within a window of time (typically three days) after the posted exam time.


• Textbook
 

ISBN: 9780132856201
Author: Kurose and Ross
Title: Computer Networks: A Top-Down Approach
Copyright year: 2009
Edition: 6th
Hardcover
Publisher: Addison-Wesley


• Computer and Internet Requirements
 

NCSU and Engineering Online have recommended minimum specifications for computers. For details, click here.

In addition to the above requirements, students are expected to have full access to a computer that meets or exceeds the following capabilities to accomplish the projects of this course:

  • Reasonably powerful x86 hardware. Any recent Intel or AMD processor should do.
  • 1GB RAM
  • 16GB free hard disk space
  • OS that is supported by VirtualBox (Windows, Linux, Mac OS X, Solaris and OpenSolaris)

As the course puts strong emphasis on hands-on experiences and practical training in computer networking, your assignments require you to perform programming inside the Linux kernel. To do that, we recommend that you install VirtualBox on your computer, create 2 virtual machines, and install Ubuntu 10.04 LTS on both virtual machines. The virtual box ensures that you have superuser privileges on the Linux boxes and your computer won't crash due to your programming errors in the kernel (only the virtual machine crashes). The above hardware requirements are for a smooth experience with the virtual machines. For more information on VirutalBox, refer to http://www.virtualbox.org/


• Instructor
 

Dr. George N. Rouskas, Professor
Computer Science-Engineering
Engineering Building II(Eb2) 3-278, Box 8206
NCSU Campus
Raleigh, NC 27695

Phone: 919-515-3860
Fax: 919-515-7896
Email: rouskas@ncsu.edu
Web Site: http://rouskas.csc.ncsu.edu/