Main Goals

  • To explain the OSI model, its structure and each layer’s functions.
  • To explain the basic concepts and architecture of networking communications.
  • To use UDP and TCP sockets to develop software that interchange messages between remote components and use diagnostic tools to analyze communication problems.
  • To explain the protocols used for data communication at the application layer.

Schedule

Session Topics Previous Reading Activity
S - 1 Intro to Computer Networks Book 1 - Chap 1.7 - Handout Internet history
S - 2 Networks, protocols, and the OSI model Book 1 - Chap 1.1 and 1.5 - Handout Study Guide
S - 3 1. Physical Layer: Transmission channels Book 1 - Chap 1.2; Book 3 - Chap 8 - Handout Study Guide
S - 4 1. Physical Layer: Wireless Nets and Topologies Book 3 - Chap 4 & 5 - Handout Study Guide
S - 5 2. Data Link Layer: MAC address, Switches Book 1 - Chap 6.1; Book 3 - Chap 2 pp 50-53 & Chap 6 Study Guide
S - 6 Introduction to Wireshark Book 1 - Wireshark Intro - Handout Lab 1 Guide
S - 7 3. Network Layer: Intro and Functions Book 1 - Chap 4.1 Study Guide
S - 8 3. Network Layer: IPv4 addresses, Subnetting, NAT Book 2 - pp 112-124 Study Guide
S - 9 3. DL and Network Layer: ARP, Ethernet, ICMP (ping, traceroute) Book 1 - pp 480- 490 & Chap 5.6 & Wireshark ICMP - Handout Lab 2 Guide
S - 10 3. Data Link Layer: Ethernet/ARP lab Book 1 - Wireshark Ethernet_ARP - Handout Lab 3 Guide
S - 11 3. Network Layer: IP, MTU and Datagram Fragmentation Book 1 - Chap 4.3.1; Book 3 - pp 279 Study Guide
S - 12 3. Network Layer: IP lab Book 1 - Wireshark IP - Handout Lab 4 Guide
S - 13 3. Network Layer: IP v6 Book 3 - Chap 12 Study Guide
S - 14 Mid-term    
S - 15 4. Transport Layer: UDP Book 1 - Chap 3.1 - 3.3 Study Guide
S - 16 4. Transport Layer: UDP Lab Book 1 - Wireshark UDP - Handout Lab 5 Guide
S - 17 4. Transport Layer: TCP Book 1 - Chap 3.5 Study Guide
S - 18 4. Transport Layer: TCP Lab Book 1 - Wireshark TCP - Handout Lab 6 Guide
S - 19 4. Transport Layer: UDP sockets Programming in Python Lab 7 Guide
S - 20 4. Transport Layer: TCP sockets Programming in Python Lab 8 Guide
S - 21 7. Application Layer : Introduction Book 1 - Chap 2.1 Study Guide
S - 22 7. Application Layer : Provisioning DHCP Book 1 - pp 341-344 - Wireshark DHCP - Handout Lab 9 Guide
S - 23 7. Application Layer : Provisioning DNS Book 1 - Chap 2.4 - Wireshark DNS - Handout Lab 10 Guide
S - 24 7. Application Layer : HTTP, HTTPS Book 1 - Chap 2.2 Study Guide
S - 25 7. Application Layer : HTTP Lab Book 1 - Wireshark HTTP - Handout Lab 11 Guide
S - 26 7. Application Layer : SSH “The SSH Protocol” Lab 12 Guide
S - 27 7. Application Layer : SMTP Book 1 - Chap 2.3.1 Lab 13 Guide
S - 28 Exam Preparation   Prep Guide
S - 29 Final Exam    

To access all related exercises (with proposed solutions), code and materials for this course please contact me.

Textbooks

Book 1. Computer Networking: A Top-Down Approach - 8th Edition

Book 2. Networking all-in-one for Dummies

Book 3. Networking Fundamentals