dec 7
C bugs : questions ?
Final shell project : questsions ?
Today : network basics
cpu => cache => memory => disk files => network files
internet / networking is a big topic;
can only run overview of some of main ideas today
internet is "inter"-"network" ;
network is wifi | ethernet | ...
unit of information is "packet" :
packet: [frame header | internet header | payload ]
TCP / IP
transmission control protocol / internet protocl
TCP : packets put together to give illusion of 2-way stream
IP : computer addresses (e.g. 206.192.68.20)
process address : port (e.g. port 80 for HTTP)
client - server model :
server runs continuously, waits for connection
client (e.g. web browser) asks for something
An internet connection on a computer (see "lsof -i") is
identified by 4 numbers: (IP_in, port_in, IP_out, port_out)
server "listens" on local port (i.e. waits for connections)
client connects to remote IP:port, is given high
(effectively random) local port
low ports are system services
convention maps common services (protocols) to ports
see http://www.iana.org/assignments/port-numbers
http (web) port 80
ssh port 22
email ports: SMTP 25, POP2 110, ...
dns port 53
many, many others
details :
MAC address vs IP address
network vs internet routing : net mask
CIDR - classless inter-domain routing
campus local vs global IP addresses
Things to try :
web services :
port 80
HTTP headers (e.g. GET / POST) request resource; get response
inside that is file, e.g. *.html or *.jpeg
so a packet might be
[ frame header | IP header | HTTP header | HTML file ]