CS176A: Introduction to Computer Communication Networks
Fall
2011
Course Description
Basic concepts in
networking, the OSI model, error detection codes, flow
control, routing, medium access control, and high-speed networks.
Course
Objectives
- 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.
Course Information
- Lecture Time/Place
- Mon/Wed from 9:30am to 10:45am (Phelps 1260)
- Discussion Time/Place
- Tue or Thur from 9:00am to 9:50am (Phelps 3523)
- First discussion is October 4
- Last discussion is December 1
-
Course WWW Site: there is a Moodle
Web Site on Gaucho Space. The link is: https://gauchospace.ucsb.edu/courses/course/view.php?id=1560.
- 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 in 2009, 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.
- http://www.google.com/
- 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.
Instructor Information
Kevin Almeroth (almeroth@cs.ucsb.edu)
Office Location: 2113, Harold Frank Hall (Engineering I)
Office Hours: 8:00am-9:30am and 10:45am-12:00pm on Mon/Wed; by appointment, or if my door is
open.
Teaching Assistants
Mariya Zheleva (mariya@cs.ucsb.edu)
Office Location: 2158, Harold Frank Hall (Engineering I)
Office Hours: Monday/Wednesday: 1:00pm-2:30pm
Yibo Zhu (bobzhuyb@gmail.com)
Office Location: 1413, Phelps
Office Hours: Friday: 9:00am-12:00pm
Student Evaluation
- 40%: Homeworks
- 08%: Homework #1 [October 14--11:59pm]
- 06%: Homework #2A [October 24--11:59pm]
- 06%: Homework #2B [November 18--11:59pm]
- 20%: Homework #3 [December 2--11:59pm]
- 25%: Midterm Exam [October 26--in class]
- 35%: Final Exam [Not sure yet]
- Notes
- 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.
Course Outline
- 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