Presentation is loading. Please wait.

Presentation is loading. Please wait.

COMS W6998-5: Network Systems Design and Implementation Prof. Erich Nahum Spring 2010.

Similar presentations


Presentation on theme: "COMS W6998-5: Network Systems Design and Implementation Prof. Erich Nahum Spring 2010."— Presentation transcript:

1 COMS W6998-5: Network Systems Design and Implementation Prof. Erich Nahum Spring 2010

2 Today’s Agenda Class Overview Target Audience Prerequisites Course Materials Grading Who I am Who you are 50,000 foot flyover of Linux Networking

3 Network Systems Design and Implementation What’s Design vs. Implementation? Design: How to think about systems Implementation: How it actually works A good system has done both well… The Linux Networking Stack + Mature (over 15 years old) + Open (we can look at it) + Relevant (large market share) + Feature-rich (millions of LOCs) Hundreds of protocols, devices, features - Evolving (changes every day)

4 Network Systems Design and Implementation What are we going to look at? Actual protocols: TCP, IP, UDP, ARP, etc… Programming interfaces: system calls, sockets, device APIs Routing subsystem, including netfilter/iptables Support mechanisms: buffer management, device management, timers, lists, hash tables, interrrupts… Kernel tools: profiling, tracing, debugging

5 Target Audience Who should take this class? Networking students who want to learn more about protocols and how they are implemented Operating systems students who want to learn a important large kernel subsystem in detail Security students who wish to learn more about firewalls and packet filtering MS students who want to improve systems building skills

6 Prerequisites You should have good knowledge of OS and networking in general COMS 4118 Operating Systems COMS 4119 Networking If you haven’t taken those, it’s still possible but… You should be proficient with C programming You should not be afraid to dive in to the kernel

7 Textbooks Unfortunately, everything is outdated. Some possible but not required texts: Herbert, Linux TCP/IP Networking for Embedded Systems, Charles River Media, 2007. Covers 2.6.16.20 (June 2006). Benvenuti, Understanding Linux Networking Internals, O’Reilly Media, Dec. 2005. Covers 2.4 and up to 2.6.12 (June 2005). Wehrle et al., Linux Networking Architecture, Prentice Hall, May 2004. Covers 2.4. Major networking cleanup in 2.6.23. Sometimes it is like pulling teeth to get a book to admit which kernel it uses…

8 Which Kernel ? Which Distro? Kernel: Most likely 2.6.31. Most recent kernel in latest distributions Ubuntu 9.10, openSUSE 11.2, Fedora 12 Open to discussion 2.6.33 release is imminent, but… Don’t want to get too far away from the distribution Changes are probably small enough Found some good docs on 2.6.31. Distribution: ??? Columbia an Ubuntu shop IBM a RedHat/SLES shop

9 Tentative Schedule ClassTopic 1Intro, Networking Overview 2Support mechanisms: buffer management, network devices, timers, lists, hash tables 3Device Layer: device drivers, packet reception and transmission, interrupts, softnet 4Data link layer: net core, Eth, ARP, bridging 5Network Layer: IP, routing, forwarding 6Network Layer: netfilter/IPtables 7Transport Layer: UDP, TCP 8Socket layer: system calls, sockets, ip_proto 9Student subsystem presentations 10Student project presentations

10 Grading This is a seminar, and the first time I’ve taught it. Thus, everything is subject to revision. What I’m thinking now is: 33% Class participation: discussion and interactivity in class 33% Class presentation: a presentation on a major subsystem in the network stack 33% Class project: a project involving modifying, extending, or improving an existing system Potential list on class Web page Still thinking about a paper reading list Papers would be on issues illustrated by the code

11 Who I Am Research Staff Member at IBM T.J. Watson for 13 years Ph.D. in C.S. in 1996 from UMass-Amherst Same as Professors Misra, Schulzrinne, and Rubenstein Working in Networking since 1988 OS/2, AIX, FreeBSD, Linux (2.2/2.4), x-Kernel Adjunct in CS Department Taught OS in Spring of 2008, even got a CULPA review Why am I teaching this class? To learn current 2.6 networking stack Best way to learn is to teach

12 Who You Are Who are you, anyway? What are you looking to get out of this class?


Download ppt "COMS W6998-5: Network Systems Design and Implementation Prof. Erich Nahum Spring 2010."

Similar presentations


Ads by Google