CS176A: Introduction to Computer Communication Networks
Basic concepts in networking, the OSI model, error detection codes, flow
control, routing, medium access control, and high-speed networks.
- Understand the challenges of network communication.
- Understand the basics of network communication.
- Understand the operation of the protocols that are used inside the Internet.
Course Objectives and Department Mission
Because the Internet is such an important part of the communications
infrastructure, understanding how it works is of benefit to everyone.
Understanding the Internet in detail is especially critical for Computer
Science students. Not only do students learn how communication takes place,
but the Internet serves as an excellent example of a highly distributed and
complex computer system. As a consequence, understanding the Internet fits
well with the CS Department's Mission.
- Lecture Time/Place
- Mon/Wed/Fri from 9:00am to 9:50am (Phelps 1425) [SEE ADDENDUM ON CHANGE TO CLASS START TIME!!]
- Discussion Time/Place
- Tue from 5:00pm to 5:50pm (Phelps 1401)
- First discussion is October 5
- Last discussion is November 30
Course WWW Site: there is a Moodle Web Site on Gaucho Space. The link is: https://gauchospace.ucsb.edu/courses/course/view.php?id=3893.
- Course Material
- [Requred Textbook] J. Kurose and K. Ross, Computer Networking: A Top-Down Approach Featuring the Internet", Addison-Wesley, 2nd edition (July 2002), 3rd edition (May 2004), 4th edition (April 2007), or 5th edition (Mar 2009).
- Good descriptive text, but top-down instead of bottom-up. That's fine, we'll just work in reverse.
- A bit light on detail in some places, so you should expect to have to occassionaly look elsewhere for more detail.
- The fifth edition was released last year, but in general, the third or fourth editions are fine (and probably the second too).
- [Optional/Additional Textbook] Andrew S. Tanenbaum: Computer Networks, Prentice Hall, 4th Edition, August 2002.
- Terse but thorough. Some of the explanations can be quite confusing, but still quite useful as a secondary reference.
- Shiv Kalyanaraman's Online Computer Networking Lessons
- A colleaque has put together some useful lessons. Try it, you might
- There is tons of additional information on the web about topics we will be covering.
Required Prerequisites: PSTAT120A or ECE139.
Recommended Prerequisites: PSTAT120B and CS170.
Kevin Almeroth (email@example.com)
Office Location: 2113, Harold Frank Hall (Engineering I)
Office Hours: 10:00am-11:00am on M/W/F; by appointment, or if my door is open.
Mariya Zheleva (firstname.lastname@example.org)
Office Location: 2158, Harold Frank Hall (Engineering I)
Office Hours: Monday: 1-2pm and Thursday: 4-5pm
- 40%: Homeworks
- 08%: Homework #1
- 04%: Homework #2A
- 04%: Homework #2B
- 24%: Homework #3
- 25%: Midterm Exam
- 35%: Final Exam
- Due dates will be posted on the Moodle web site.
- There is no late homework/exam make-up. All missed homeworks/exams earn a 0.
- All exams are closed notes/books/calculator/etc.
- Topic #01: Internet History and Organization
- Topic #02: OSI Stack
- Kurose/Ross: Chapter 1 (Tanenbaum: 1.2, 1.3, 1.4, 1.6)
- Topic #03: Physical Layer
- Kurose/Ross: Chapter 1 (Tanenbaum: 2.1-2.4)
- Topic #04: Sockets
- Kurose/Ross: 2.1, 2.7-2.8 (Tanenbaum: 6.1)
- Topic #05: Data Link Layer Overview
- Kurose/Ross: 5.1, 5.2 (Tanenbaum: 3.1, 3.2, 3.3, 3.4)
- Topic #06: Point-to-Point Protocols
- Topic #07: Shared Medium Protocols
- Kurose/Ross: 5.3, 5.4 (Tanenbaum: 4.1, 4.2)
- Topic #08: Ethernet and Other Shared Medium Protocols
- Kurose/Ross: 5.5, 5.6, 6.1-6.3 (Tanenbaum: 4.3, 4.4, 4.7.5)
- Topic #09: Network Layer Overview
- Kurose/Ross: 4.1, 4.2 (Tanenbaum: 5.1)
- Topics #10 and #11: IP
- Kurose/Ross: 4.4 (Tanenbaum: 5.6.1-5.6.3,5.6.7-5.6.8)
- Topic #12: Routing
- Kurose/Ross: 4.3, 4.5, 4.6 (Tanenbaum: 5.2, 5.5.6, 5.6.4, 5.6.5)
- Topic #13: Finish IP
- Topic #14: Transport Layer Overview and TCP
- Kurose/Ross: 3.1-3.2, 3.4-3.7 (Tanenbaum: 6.1, 6.2, 6.5)
- Topic #15: TCP (cont'd) and UDP
- Kurose/Ross 3.3 (Tanenbaum: 6.4)
- Topic #16: DNS, HTTP, and the WWW
- Kurose/Ross: 2.1, 2.2, 2.5 (Tanenbaum: 7.1-7.3)
- Topic #17: NATs, Tunnelling, P2P, and CDNs