Principles of Computer Networking (Fall 2012-13)

Textbooks

  • Computer Networking: A Top-Down Approach by James Kurose and Keith Ross, 6th edition, Addison Wesley, 2012. ISBN: 978-0-13-285620-1.

We will follow the Kurose/Ross textbook for preliminary introductions to subject content, and then use important papers published in the literature to supplement the material in the textbook.

Optional References

This sequence of courses will often require a familiarity with concepts in probability. For use as a reference textbook, the following is highly recommended:

  • Probability, Statistics, and Random Processes For Electrical Engineering by Alberto Leon-Garcia, 3rd edition, Prentice Hall, 2008, ISBN: 0-13-601641-3.

If you already own a textbook in basic probability, you need not purchase this book for this course (ECE-C631). On the other hand, if you wish to take the entire sequence of networking courses (ECE-C632 and ECE-C633), purchasing this textbook is recommended because it will serve as a reference textbook in the second course (ECE-C632). It is one of the few probability textbooks that begins with the basics and covers an adequate amount of material on Markov chains and queueing systems.

Syllabus

  • A review of the technological history of the Internet; circuit switching versus packet switching; statistical multiplexing and its justification through analysis; protocol layering; the Internet protocol stack; the Internet backbone architecture; topological and traffic characterisitics of large networks.
  • Principles of network applications; web protocols and practice; the Domain Name Service; peer-to-peer applications; distributed hash tables.
  • Transport layer services in the Internet; principles of reliable data transfer: stop-and-wait, go-back-n and selective repeat; sequence numbering; retransmission strategies; TCP flow control; TCP congestion control; TCP Tahoe and TCP Reno; analysis of TCP flow control and congestion avoidance; approximate results on TCP throughput; random early detection.
  • Network layer services; principles of routing algorithms; link state and distance-vector routing algorithms; routing in the Internet.
  • Router architectures, input/output ports and buffering, FIFO queueing, input-queued and output-queued switches; combined input-output queueing; delay analysis; virtual output queueing; parallel iterative matching.
  • Multiple access protocols; channel partitioning protocols; random access protocols: ALOHA, slotted ALOHA, and CSMA/CD; wireless multiple access; wireless LANs; the 802.11 MAC protocol; virtual carrier sensing.
  • Streaming audio and video; best-effort service; scheduling and policing mechanisms; service curves, envelopes and regulators; weighted fair queueing; quality-of-service issues.
  • Issues in network security and a historical perspective; principles of cryptography; symmetric key cryptography, Data Encryption Standard (DES); public encryption and the RSA algorithm; authentication protocols; data integrity: message digests and digital signatures; key distribution and certification.
  • Attacks and counter-measures; security issues beyond cryptography; firewalls; wireless security; weaknesses of WEP; web security and commerce.

Grading Policy

The grading in the course is based on homework assignments, Wireshark lab exercises, the mid-term examination and the final examination. The cumulative grade is based on the following:

  • Homework assignments: 10%
  • Wireshark lab exercises: 15%
  • Mid-term examination: 32%
  • Final examination: 43%

Both your class rank in the exam scores and your class rank in the overall scores will be considered for the final grade.

Policy on homework assignments

Homeworks are always due at the beginning of the next class (6:30pm on Thursdays) after they are assigned. Homework solutions will be made available on the course web site soon after the time they are due, and therefore, homeworks submitted after the due date will not be accepted, and will be graded at 0 points. Homeworks should be delivered as a hardcopy to either the instructor or the teaching assistant. Typically, homeworks are collected during the class hours; if a student is unable to attend class, he/she should make alternate arrangements to deliver the homework to the instructor before the time it is due (e.g., by faxing the homework to the instructor, or sending the homework as an e-mail attachment to the teaching assistant).

Policy on exams

All exams in the course will be open-textbook and open-"reading assignment materials". Use of other books or any other material (such as solutions to homeworks), however, is not permissible. Use of cell phones, laptops or any other devices capable of computing (other than simple calculators) are prohibited. The exams will cover material discussed in the lectures, homeworks or sections of the textbook given as reading assignments. For example, the exams may include questions on material covered in class lectures or homeworks but not specifically covered in the textbook. Similarly, the exams may include any material covered in a section of the textbook given as a reading assignment but not specifically covered in the lectures or homeworks.

Policy on Absences

Absence from examinations will be excused only under extraordinary circumstances such as medical or family emergencies. A missed examination without prior approval and without legitimate reasons will be graded at zero points. An absence will be excused only if the student is able to provide legitimate documentation (such as a physician's note). An absence from an examination with prior approval will require the student to take an alternate exam at a later time. Special examinations will not be held earlier or on later dates to accommodate, for example, flight schedules for overseas vacations.

Policy on Academic Honesty

Each student is expected to complete weekly assignments independently; it is not acceptable to copy another student's work or to copy solutions from any other source. Barring action on flagrant violations, an honor system will be assumed.

The following is a partial list of activities that will be considered to constitute academic dishonesty:

  • Presenting the work of another person (fellow student or not) as your own.
  • Cheating in an examination such as through conversations with other students, sharing textbooks or other materials with another student, using unauthorized books not approved by the instructor in an open book examination, or by inappropriate or unauthorized use of technology such as laptops and cell-phones during an examination.
  • Using or attempting to use the work of another student or providing answers to other students.
  • Failing to take reasonable measures to protect your work from use by other students in assignments, projects or examinations.

Penalties for academic dishonesty will be strictly enforced and will include a lowering of the grade or a failing grade in the course.

Related Links

To find out your grades in the course, go to Blackboard Learn.

The Internet Engineering Task Force (IETF) is an open community of network designers, developers and researchers. The development of all new Internet standards and protocols are carried out by working groups chartered by the IETF. At this IETF web site, you can access all the lastest RFCs (which are the working notes of the Internet research and development community) and find out the latest in the evolution of the Internet architecture and protocols.

The web site of the course text book, Computer Networking: A Top-Down Approach, 6th ed., features an online version of the book with illustrative Java applets, interactive exercises, python socket programming assignments and an errata. Interested students should make use of these to further their understanding of the topics covered in the course.