
This course studies the architecture and protocols of the Internet. Topics to be covered include: addressing, routing, transport protocols, flow and congestion control, wireless and mobile networking, P2P, multimedia, security, web searching and other application layer protocols. To acquire practical experience, students will implement several features of Internet protocols in a semester-long programming project. Additionally, students will read and present research papers for a deeper understanding of networking concepts.
CS 456 or equivalent. Students are expected to be capable of programming in either Java (used for code examples in this class) or C/C++ (acceptable, but only minimally supported through examples in this class) in order to complete the programming project.
| Week | Topic | Readings |
| 1 | Introduction. Network layering concepts. Slides |
|
| 2 | IP Addressing. DNS. The client-server model. Socket programming. Slides First phase of the project handed out. |
|
| 3 | HTTP. Slides |
|
| 4 | E-mail. P2P Networks. Slides. Multi-threading Programming and Synchronization in Java. |
|
| 5 | UDP. Principles of Reliable data transfer. Slides. |
|
| 6 | TCP. Congestion control. Slides. First phase of the project due. Second phase of the project handed out. |
|
| 7 | Midterm. Discussion of midterm solutions. | |
| 8 | IP, ICMP. Slides. |
|
| 9 | Routing. Slides. |
|
| 10 | Multicast, Broadcast, QoS in Internet. Slides. Second phase of the project is due. |
|
| 11 | Data Link Layer. ARP. DHCP. Slides. Third phase of the project handed out. |
|
| 12 | Wireless and mobile networks: WiFi, Cellular Networks, Mobile IP, Bluetooth. Slides. |
|
| 13 | Multimedia: RTSP, RTP, SIP. Slides. |
|
| 14 | Network Security: authentication, attacks, access control. Slides. |
|
The lecture slides will be posted on the class's webpage prior to the lecture. Students are required to read the assigned book chapters before each lecture.
There will be two exams: a midterm, and a final exam. Both exams are closed book/notes. The final exam will cover only the material taught after the midterm.
Students will work individually toward implementing a micro-Internet at the application layer. This micro-Internet will consist of a micro-TCP protocol for reliable communication and a micro-IP protocol for packet forwarding. The project will be divided in three phases, which will be graded separately. Solutions for the intermediate phases will be posted immediately after each submission; in this way, students can work on a new phase even if they didn't implement completely the previous phase. The submissions will be done electronically. Test cases will be posted one week before the due dates. Late submissions will not be accepted.
Homework will be assigned weekly to prepare students with the type of questions encountered in exams. Each student is required to submit electronically one short question every week. The questions are due by Friday at 6PM. The homework consists of a few of these questions selected/edited by the instructor and posted by midnight on Fridays. The homework is due (electronically) the next Wednesday at noon. Late submissions will not be accepted. The solutions will be discussed in class on Wednesdays, and the graded homework emailed back to you by Fridays.
Each student is required to read and present one research paper during the semester. In this way, students will learn fundamental lessons from the design of the Internet and be exposed to recent developments in the networking area. As byproducts, students will understand how networking research is done and learn to speak in public about a research topic. The papers will be selected by the instructor from top conferences and journals. The presentations (using power point slides) will take place in class before every lecture (starting with the 3rd week). Extra-credit will be assigned for active participation in the discussions.
A make-up exam may be taken only after providing written documentation from the Dean of Students.
The NJIT Honor Code will be upheld, and any violations will be brought to the immediate attention of the Dean of Students. Note in particular that copying homework or programming assignments, in full or in part, is forbidden.
The students will be consulted and must agree to any modifications or deviations from the syllabus throughout the course of the semester.