Data Networks, ICS 451
This page is
http://www2.hawaii.edu/~esb/2015spring.ics451/index.html
This page is subject to change without notice -- please reload it
in your browser if an item that might affect you may have changed.
The organization of the course is described here. Please review it at the beginning of the
course and occasionally during the course. It includes information
about course goals, class time and location, contacting the
instructor, office hours, the textbook, grading,
and the no cheating policy.
If you have any questions, please contact the instructor.
Schedule
This schedule is subject to change.
Presentation notes are in HTML. I usually post
notes no later than the day before the lecture. Some of
the material is based on what was presented in the fall of
2010, but as we are using a new textbook and due to the time since
the course was last taught, significant parts of the material may change.
- Tue, Jan 13, class introductions, course summary.
Textbook sections 2 (Introduction) and 2.1 (Services and Protocols).
Outline
- course overview
- what is networking?
- clients and servers
- internet service and sockets
- connection-oriented and connectionless transport
Read Section 3.3 (Writing simple networked applications) in the textbook
and do Assignment 1 by January 20th.
- Thu, Jan 15, sockets API, network application programming.
Outline
- connection-oriented and connectionless transport
- sockets API in Python, C, Windows
- C programming reminders
- Tue, Jan 20
Outline
- sockets API in C, Windows
- C programming reminders
Do Assignment 2 by January 27th.
- Thu, Jan 22
Outline
- layered reference models
- specific layers: physical, data link, network, transport, application
- Internet and OSI reference models
Read Section 2.2 of the textbook, "The Reference Models".
- Tue, Jan 27
Outline
- Application Layer
- Domain Name System:
Domain Name Hierarchy,
DNS Server Hierarchy,
DNS Protocol
Read Sections 3.1 and 3.2.1 of the textbook, "Principles" and "The
Domain Name System".
Do Assignment 3 by February 3rd.
- Thu, Jan 29
Outline
- Domain Name System: DNS Protocol
- dig
- DNSSEC overview
- Tue, Feb 3
Outline
- email
- email protocols: SMTP, POP, IMAP
Read Section 3.2.2 of the textbook, "Electronic Mail".
Do Assignment 4 by February 10th.
- Thu, Feb 5
Outline
- World-Wide Web: URI/URL, HTML, HTTP
- HTTP: protocol review, versions, methods, cookies
- Tue, Feb 10
Outline
- Transport Layer
- Reliable Transfer
- Headers and Control Packets
- Alternating Bit Protocol
- Sliding Window Reliable Transmission
Read Section 4 (The Transport Layer), 4.1 (Principles of a reliable transport
protocol), 4.1.1 (Reliable data transfer on top of a perfect network service),
and 4.1.2 (Reliable data transfer on top of an imperfect network service,
up to "Connection establishment and release" on p. 82).
Do Assignment 5 by February 24th.
- Thu, Feb 12
Outline
- Sliding Window Reliable Transmission
- Acknowledgements
- Windows and Bandwidth-Delay Product
- Retransmission
- Timers
- Connections
Read Section 4.1.2 (Reliable data transfer on top of an imperfect
network service), beginning with "Connection establishment and release"
on p. 82.
- Tue, Feb 17, exam review.
Outline
- protocols
- client-server networking
- sockets API in C (and Python), socket types
- protocol layers: physical, data link, network, transport, application
- application layer: HTTP, DNS, email
- transport layer: TCP sequence numbers, acks
- reliable transmission: ABP, windows, speed
- assignments: HTTP, DNS
Read all the textbook up to, but not including, Section 4.2 ("The User
Datagram Protocol").
- Thu, Feb 19, exam 1
- Tue, Feb 24
Outline
- exam returned
- closing TCP connections
- TCP Header
- UDP
Read textbook Sections 4.2 ("The User Datagram Protocol") and
Section 4.3 ("The Transmission Control Protocol") up to, but not
including, Section 4.3.3 ("TCP reliable data transfer").
Do Assignment 6 by March 3rd.
- Thu, Feb 26
Outline
- UDP
- Transmission Control Block (TCB)
- Nagle Algorithm
- TCP Retransmissions and Binary Exponential Backoff
- TCP Congestion Control
Read the remainder of Chapter 4.
- Tue, Mar 3
Outline
- TCP Congestion Control
- Network Layer Protocols
- Packet Forwarding
Read textbook through the "Datagram organisation" section of Section 5.1.1
("Organisation of the Network Layer").
Do Assignment 7 by March 10th.
- Thu, Mar 5
Outline
- Network Layer Protocols: virtual circuits
- Static Routing
- Distance-Vector Routing
Read textbook through the "Distance Vector Routing" section of Section 5.1.2
(up to p. 137)
- Tue, Mar 10
Outline
- Distance-Vector Routing (continued)
- Link-State Routing
Read textbook to the end of section 5.2.1 ("IP version 4") on p. 150.
Do Assignment 8 by March 17th.
- Thu, Mar 12
Outline
- IP
- addresses
- netmasks
- headers
- fragmentation
- Tue, Mar 17
Outline
- IP headers
- fragmentation
- IPv6 socket programming
- ICMP, including ping and traceroute
Read textbook to the end of page 153 (page 154 begins with:
"Interactions between IPv4 and the datalink layer").
Do Assignment 9 by March 31st.
- Thu, Mar 19
Outline
- ICMP, including ping and traceroute
- ARP
- DHCP
- summary of IP processing
Read textbook up to, but not including, Section 5.2.3, IP version 6 (p. 157).
- Tue, Mar 31
Outline
- summary of IP processing
- DHCP
- IPv6: differences from IPv4
Read textbook up to, but not including, Section 5.2.5, Middleboxes (p. 166).
Do Assignment 10 by April 14th.
- Thu, Apr 2
Outline
- Firewall
- NAT
- Home "routers"
- IP routing: RIP, OSPF
Read textbook up to and including all of Section 5.3.1, Intradomain
Routing (p. 175).
- Tue, Apr 7
Outline
Exam Review:
- TCP: connections, TCB, Nagle Algorithm, retransmissions,
congestion control
- Network-layer forwarding: routing tables
(static routes, distance-vector, link-state)
- IPv4, IPv6: addresses, netmasks, default routes
- ICMP, ICMPv6: ping, traceroute
- ARP, DHCP, IPv6 autoconfig, NAT/firewall, security
- RIP, OSPF
Exam 2 may include material from exam 1.
- Thu, Apr 9, exam 2
- Tue, Apr 14
Outline
- Exam review
- IP routing: domains, policy, BGP
Read textbook up to and including all of Chapter 5.
Do Assignment 11 by April 21st.
- Thu, Apr 16
Outline
- BGP summary
- data link layer
- framing
- error detection and correction
Read textbook up to and including all of Section 6.1.2, Error Detection.
- Tue, Apr 21
Outline
- Medium Access Control
- ALOHA Net
- Carrier Sense Multiple Access (CSMA)
- with Collision Detection (CSMA/CD)
- with Collision Avoidance (CSMA/CA)
Read textbook up to and including all of Section 6.2.4, Carrier Sense Multiple
Access with Collision Detection.
- Thu, Apr 23
Outline
- Carrier Sense Multiple Access (CSMA) with Collision Avoidance (CSMA/CA)
- real-time characteristics of probabilistic MAC
- PPP
- Ethernet
Read textbook, (skipping section 6.2.6, Deterministic Medium Access
Control Algorithms) up to and including page 234.
- Tue, Apr 28
Outline
- Ethernet hubs and switches (and comparison to routers)
- Spanning Tree Protocol
Read textbook up to but not including Section 6.3.3, 802.11 wireless networks
Do Assignment 12 by May 5th.
- Thu, Apr 30
Outline
- Spanning Tree Protocol (continued)
- Virtual LANs
- 802.11 and ad-hoc networks
- 802.11 security
Read textbook up to the end.
- Tue, May 5
Outline
- Network Programming
- Application Layer: HTTP, DNS, email,
client/server organization, data encodings
- Transport Layer: TCP, UDP
- connections, reliable transmission,
adaptive timers, flow and congestion control
- Network Layer: IP and routing
- Data Link Layer: Ethernet and 802.11, framing
- Principles of networking
The final exam for this class is
scheduled for Tuesday May 12th, from 2:15pm to 4:15pm in POST 127
(the usual classroom).
If you are interested in taking the final exam before the scheduled
time, please contact the instructor as soon as possible.