Lecture Monday & Wednesday, 3:30–4:50 PM
Room B205
Instructor Jihoon Ryoo — Jihoon.ryoo@sunykorea.ac.kr
Office 3031 Multiplex Bldg.
Office Hours Mon/Wed 10:00–11:00 AM, or by appointment
Teaching Assistant Jeongmin Sohn <jeongmin.sohn@stonybrook.edu>
Lab Testbed netlab.cse310 on the CSE310-LAB access point
Student Hardware One Odroid N2+ per student, on loan for the semester
Final Exam None — no written final exam
Final Demo Session 7th December 2026
Zoom Link https://bit.ly/4gWyoJH
About this course. CSE 310 covers the architecture and protocols of the modern Internet — the application, transport, network, and link layers, plus network security. Every layer is paired with a measurement-and-learning component: students capture real traffic, turn it into datasets, and apply machine learning and LLM-based tooling to problems networking engineers actually face. No prior machine learning course is required; the techniques you need are taught in class.
Every student gets a board. You are issued an Odroid N2+ on loan at the first onboarding session. Almost every interesting networking experiment needs two endpoints you control, and a laptop is only one — so you get a second host you have root on and are free to break. No written homework.
Instead: four short hands-on labs run from your board against our own network testbed (iperf3/tshark → Scapy/MQTT → scikit-learn → Mininet), then two build-and-measure projects
An individual project running Aug 31 – Sep 23, and a team project running Sep 30 – Dec 9.
The labs are scaffolding: Labs 1–3 assemble the exact pipeline the solo project needs and are due before it; Lab 4 sets up the Mininet testbed most team projects use.
Conceptual mastery is assessed by two midterms (Oct 21, Nov 25). There is no final exam — December 7 is used for final project demos.
Tools: Python 3 · NumPy / pandas / scikit-learn / PyTorch · Scapy · Wireshark & tshark · Mininet · Git
Measuring a network you don't control is frustrating: campus NAT hides addresses, the firewall drops the traffic you want to study, and you can't tell whether an anomaly came from your code or from someone else's video call. So this course runs its own network.
A dedicated server, netlab.cse310, sits in the lab space adjacent to C514 (around the 5th-floor C section rest area) and is reachable over a dedicated access point broadcasting CSE310-LAB. Associate with that AP and you're on the same isolated subnet as the server — one hop, no NAT, no filtering. Every lab and most project measurements run here.
Service For
iperf3 (5201–5210) TCP/UDP throughput, jitter, loss — one port per reservation slot
MQTT (1883, 8883 TLS) Pub/sub IoT traffic — small periodic messages, nothing like bulk transfer
nginx (80, 443, QUIC) Fixed-size files over HTTP/1.1, HTTP/2, HTTP/3 for protocol comparison
DNS resolver (53) Query latency, resolver behavior, DGA project traffic
Video segment server DASH manifests and segments for the ABR project
coturn (3478) WebRTC relay for the video-conferencing QoE project
chrony NTP (123) Clock sync, and a target for time-sync measurement
rsyslog collector (514) Central log sink — the corpus for the LLM log-triage project
A shared AP has one radio. If twelve students run iperf3 at full rate simultaneously, none of them measures the link — they measure each other. This is the most common way lab results become unreproducible, so we handle it explicitly:
Reserved slots. Throughput measurements need a 15-minute iperf3 reservation via the schedule. Outside your slot, your numbers aren't defensible. Book early — slots before a deadline fill up.
Unreserved services. MQTT, HTTP, DNS, and logging are low-rate. Use them anytime.
Wired fallback. Two Ethernet drops bypass wireless contention — use them for a clean baseline to compare against.
Contention as a subject. Nov 4 is a scheduled all-class session where everyone transmits at once on purpose, so you can watch 802.11 fairness and throughput collapse happen to your own measurements.
CSE310-LAB is a designated measurement environment. Expect that traffic on that segment may be captured by others in the class.
Therefore: do not sign in to personal accounts, email, or banking while on CSE310-LAB. Use a browser profile with no saved logins. Not optional.
Capture on the testbed segment is permitted. Capture anywhere else on campus is not.
Only registered devices may associate. Your laptop and Odroid are registered at onboarding; adding an unregistered device is a policy violation, not a shortcut.
Don't attempt root on netlab, don't touch other accounts, don't run traffic that takes the server or AP down. DoS experiments go inside Mininet only.
Report breakage to the TA rather than fixing it yourself — silent repairs make the next person's measurements unexplainable.
Early September in class: TA-led 50-minute onboarding — joining the SSID, SSH keys, a first iperf3 run, a first tshark capture. Bring a laptop. Miss it and you must attend an open lab hour that week; Lab 1 assumes you're set up.
Service addresses, port list, reservation link, and troubleshooting notes are maintained by the instructor/TA on this site.
Component Weight
Hands-on Labs (4) 20%
Midterm Exam 1 10%
Midterm Exam 2 10%
Solo Project 20%
Final Team Project 40%
Attendance subtract 1% from the 2nd missing