Resources
Lecture Slides
Topic | Download |
---|---|
Introduction | PDF [10MB] |
Networking Essentials for Lab | PDF [3MB] |
Application Layer: HTTP | PDF [7MB] |
Application Layer: Email DNS DHCP | PDF [6MB] |
Sockets | PDF [5MB] |
Transport Layer (TCP/UDP) | PDF [12MB] |
C Programming Essentials + in-lab handout |
PDF [3MB] |
Application Layer: P2P | PDF [5MB] |
Sockets API | PDF [6MB] |
Exam Review | PDF [7MB] |
IP | PDF [4MB] |
Project 2: swget | PDF [0.5MB] |
ARP | PDF [2MB] |
ICMP | PDF [2MB] |
Routing Protocols 1 | PDF [5MB] |
Routing Protocols 2 | PDF [5MB] |
Ethernet | PDF [7MB] |
Recap | PDF [6MB] |
Security | PDF [13MB] |
Future of the Internet | PDF [5MB] |
Exam Review | PDF [8MB] |
C Programming References
- C Language Tutorial from Drexel University
- Beej's Guide to C Programming
- Essential C Guide from Stanford University
- C Programming Tips for C++ Programmers
- C Programming on Wikibooks
- Tutorial on threads, locks, and synchronization
- Programming in C: UNIX System Calls and Subroutines
- Basic Valgrind Tutorial - Using Valgrind to detect memory errors, including leaks, reading/writing beyond end of array, etc...
- Find other good references? Email me!
Linux Programming References
- Linux Tutorial for Programmers by our own Dr. Bill Ford in CS
- Useful sections for this course include Linux files and directories (Ch 1), commonly-used commands (Ch 2), and redirection and pipes (Ch 3)
- Find other good references? Email me!
Socket Programming References
- Beej's Guide to Network Programming: Using Internet Sockets - Very good!
- Programming IP Sockets on Linux (ignore the parts in Python)
- Programming UNIX Sockets in C - Frequently Asked Questions
Networking
- Network Sorcery
- Wireshark Documentation
- RFCs
- List of assigned Class A IP Address Blocks
- Printable Quick Reference Guide (IP, ARP, ICMP header formats)
- Future of the Internet (IPv6, etc...)