ECE 4110a: Internetworking Programming

Fall 2008


Instructor Prof. Doug Blough
Office 3356 KACB (Klaus Advanced Computing Bldg.)
Phone 404-385-1271
E-Mail doug.blough
Office Hours Tue 1:45 - 2:45 PM,
Wed 10:00-11:00 AM

Course Summary:

This class covers how the Internet works and includes hands on practical networking exercises for the laboratory. Both Internet hardware (equipment) and software (both sockets programming and TCP/IP protocol implementation) are included in this class. Students use routers, network test equipment, hardware as well as software traffic generators, etc in the laboratory. The class also covers some aspects of network security. Using the Linux operating system, students examine the networking portions of the operating system in order to perform modifications to the computer's TCP/IP implementation. The laboratory consists of C programming on computers running Linux and working with computer network equipment such as routers and switches. Laboratory work is done in teams in an open laboratory in Klaus 2246, which has class TA support during limited hours.

You will work in groups of two on the labs. It is OK to talk to others and help each other in the lab.

Expected time committment is approximately 3 hours of class per week, plus approximately 3 hours of lab per week, for 4 hours of credit

Policy on Commenting Software:

Fully commenting code, even code that you were given as a starting point, is mandatory. You must fully comment all code you turn in and must include comments to explain all of the code you turn in. You must include in the comments an explanation of what the purpose of the code is, the date the code was originally written, the date the code was last modified, your lab team member names and your group number must be in the comments. The last date modified must be correct and in the comments.

Prerequisites: ECE3076 Or CS3251 Or ISYE 3770 Or Math 3770 Or CEE 3770 Or ISYE 2027 and only CMPE ECE EE CS; some previous C Programming (or Java) experience.


This class really does need three textbooks! We cover lots of really good material and no one textbook has it all. These are excellent references and will serve you well in future jobs or research projects. Other References:

TCP/IP and Internets in General:

  • IP Fundamentals, by Thomas Maufer ISBN 0-13-975483-0
  • Internet Core Protocols, Eric Hall and Vint Cerf, O'Reilly, ISBN 1-56592-572-6
  • TCP/IP Illustrated The Implementation, Volume 2, Gary R. Wright and Richard W. Stevens

    LINUX Internet Implementation:

  • TCP/IP and Linux Protocol Implementation, John Crowcroft and Ian Phillips, Wiley, ISBN 0-471-40882-4
  • Linux IP Stacks Commentary, Coriolis Open Press, By Maxwell , ISBN 1576104702
  • Linux Core Kernel Commentary, Second Edition, Coriolis Open Press, By Maxwell, ISBN 1588801497

    Internet Programming:

  • The Pocket Guide to TCP/IP Sockets, C Version, Donahoo and Calvert, Morgan Kaufman, ISBN 1-55860-686-6
  • Beginning LINUX Programming, by Neil Matthew and Richard Stones, WROX Press, ISBN 1-874416-68-0
  • UNIX Network Programming Interprocess Communications, Volume 2, SECOND EDITION, by Richard Stevens
  • Internetworking with TCP/IP Client-Server Programming and Applications, Volume III, by Douglas E. Comer and David L. Stevens
  • Interprocess Communications in UNIX, Second Edition, by John Shapley Gray

    Intrusion Detection:

  • Intrusion Signatures and Analysis, Northcutt, Cooper, Fearnow and Frederick, New Riders, ISBN 0-7357-1063-5
  • Network Intrusion Detection An Analyst's Handbook, Second Edition, New Riders, ISBN 0-7357-1008-2


      Labs 40%
      Exam 1 20%
    Exam 2 20%
      Final Exam      20%

    Responsibility for Material:

    Students are responsible for all material in assigned sections of texts, even if not explicitly covered in lecture. Students are also responsible for all material covered in lecture.

    Makeup Exams and Incompletes:

    As a rule, makeup exams will be offered at the discretion of the professor and only for scheduled absences that are requested in writing at least one week in advance. Medical emergencies are the only exception to this rule and in case of such an emergency, the student must contact the professor as soon as possible to discuss the makeup. Incomplete grades will be given only in extraordinary circumstances.

    Late Turn-in and Regrading:

    Late policy for lab assignments is TBD and will be posted here shortly. Exams will not be considered for regrading later than the next class period after they are returned. Regrading requests should be submitted in writing with a specific explanation of the possible grading error. Photocopies of completed exams will be made by the instructor prior to returning them.

    Academic Honesty:

    Although students are encouraged strongly to communicate with each other to assist in learning the course material, all students are expected to complete course work individually, following all instructions stated in conjunction with exams and assignments. All conduct in this course will be governed by the Georgia Tech honor code. Additionally, it is expected that students will respect their peers and the instructor such that no one takes unfair advantage of any other person associated with the course. Any suspected cases of academic dishonesty will be reported to the Dean of Students for further action.

    Problems with this page? Please email doug.blough

    Page last modified on August 14, 2008