Hello World! An Invitation to Computer Science
Lecture Slides
Computer Networks
Monday April 28, 2008
- operating system as resource manager
- virtual memory
- concurrency and deadlock
What is a network?
- entities connected by transmission media
- abstractly: nodes and links between them
- Examples:
cities & interstate highways
airports & air-traffic routes
electricity grid
social networks
Why networks?
- sharing scarce resources
printers, secondary storage, or other peripherals
- early computer networks: dumb terminals share processor
- "sneakernet"
- goals: save money, save time, or both
Why computer networks?
- sharing information
- client-server architecture
- remote collaboration
- save time, reduce redundancy
Communication networks
- voice and sign
- telegraph: action at a distance
- radio (and eventually television)
- telephone
- cable
- wireless
- streamline business cycle: UPS example
- videoconferencing: communication/transportation
Where does the Internet fit in all this?
Networking for QoL
- rise of personal computer
- 1980s: word-processing and games
- 2000s: e-mail, Web, games,...
- instant messaging
- goal: do everything from home
Ubiquity of networks
- everything "on demand"
- peer-to-peer
- mobile computing
- wireless everywhere
- continuing miniaturization
Very brief history of Internet
- still evolving: "Internet" today not same as 15, 30 years ago
is it tangible? who owns it?
software vs. hardware
no single inventor
- cold-war incentive: survivable communication systems
- economic incentive: allow disparate networks to communicate
- distributed network: decentralized with redundancy
(see Baran's
papers at RAND)
- message-switching over circuit-switching
- store and forward: works well for off-line communication
interactivity requires: smaller messages - packets
Packet-switched networks
- packets:
source, destination, size, number, checksum, data
- long messages broken into packets, each can take different route
- no dedicated link necessary
- time-sharing systems led to community atmosphere on networks
- protocols
- distributed, democratic development of software
- early applications were asymmetric (client-server):
telnet and ftp
- Network Control Program (NCP) - led to TCP/IP
symmetric: machines on network have equal status
- RFC mentality led to open source
Network protocols
Maybe the finest application of abstraction yet.
- physical layer
- data-link layer (Ethernet)
- network layer (IP)
- transport layer (TCP)
- application layer (ftp, email, Web, etc.)