CS208 Introduction to Computer Systems Friday, 14 November 2025 + Exam, closed-book, Monday Nov 17 - Questions? - LEA (see slides) - Loops + Network starter vocabulary - IP address: a number that gives you the "address" of a computer within a network - server - a piece of software that listens for requests and responds to those requests - a computer that gives files to clients (one kind of server) - a computer that runs server software - server examples web server (nginx, IIS, Apache,...) ssh server (OpenSSH = sshd, ...) email server date server (provides current date and time) ... - port ... - client - a piece of software that makes requests of one or more servers - client examples - Chrome, Firefox, Safari, Edge,... - ssh - ... - protocol - ... + Setup - macOS - nc installed by default (check with "which nc") - get your IP address on the Carleton network ifconfig | grep inet [look for one that starts with 10.13X...] - Windows - get nc (do you trust me?) https://cs.carleton.edu/faculty/jondich/local/nc.exe - get your IP address ipconfig + Questions for the experiments - What's the server? - What's the client? - What's the protocol? + Network experiment 1 - two laptops - IP addresses - laptop 1 cd to a directory containing non-private files python3 -m http.server 5555 - laptop 2 curl -v http://LAPTOP1_IP_ADDR:5555/ + Network experiment 2 - laptop 1 cd to a directory containing non-private files python3 -m http.server 5555 - laptop 2 (macOS today, since nc is installed by default) nc LAPTOP1_IP_ADDR:5555 GET / HTTP/1.1 [blank line] + Network experiment 3 - laptop1 nc -l 5555 [macOS] nc -l -p 5555 [other] - laptop2 nc LAPTOP1_IP_ADDR 5555 [type stuff] + Under the hood - TCP connections - sockets