Networks! Computers all talk to each other They're more useful that way Example: mine all talk Example: What apps did you use this morning? - Assuming that you have a phone and use apps - Never assume everyone is some particular way - Driver's license name length... The lowest level: Some kind of physical signal "physical" here as in "follows the laws of physics" Common Options: Electricity Radiation traveling through the air Light, usually contained in a fiber Communication Protocols A system of rules for communication Longer definitions are available Each side must follow the protocol Any means of meeting the rules is ok To talk, they need to have addresses Intial address: MAC (Media Access Control) - More than one per computer? Sure! Later: IP address (Internet Protocol) - IP is sort of variable - Campus has a street address, but I can receive mail here - NAT - There aren't enough addresses with IPv4 - IPv6 would fix it if we decided to use it - Some countries did change which side of the street they drive on - If you have two, you can build a bridge "Server" and "Client" These are roles "Server" is also used to refer to hardware expected to fulfill a role Starting a server on isoptera - And connecting to it! - How about a server NOT on isoptera, just on a "regular" computer? It helps to put a server in a convenient place Not always possible In this room: Not a convenient place unless you're also here and not on wifi As long as you can find it, it's ok - Dynamic DNS - SSH tunnels Networking layers: Physical Hardware, wires, etc. Link A bunch of computers linked together Protocol examples: 802.11 (WiFi), 802.3 (Ethernet) Information is packaged into frames Internet Routing, going between groups linked by the previous layer Example: IP Information is in packets, which fit into a frame usually Layer 3 switch uses this layer, hides actual layout of the link layer Transport Establish a connection across the network Lots of error correction Example: TCP Most of the functions here are sometimes optional Example: UDP Application This is the software that uses the network Example: Web browser or server, SSH client or server, WoW client or server This is what we write in CS435 Security becomes important Cryptography is a leading candidate for Topics of Interest week Couple features to mention: DNS DHCP Programming with Networks: Brief Python example Browser