The Internet and the World Wide Web ICS 61– Winter, 2015
Why computers? • Arithmetic • Replicate human thinking • Store and retrieve information • Control other hardware • Communicate • Entertain • Educate
J. C. R. Licklider • Man-Computer Symbiosis, 1960: The hope is that, in not too many years, human brains and computing machines will be coupled together very tightly, and that the resulting partnership will think as no human brain has ever thought and process data in a way not approached by the information-handling machines we know today.
The “Galactic Network” • Licklider’s 1962 concept of a global computer network. • Also in 1962, Licklider became the first head of computer research at DARPA.
2 Types of networks • Circuit switching • Path decided on before data transmission starts • Dedicated circuit (e.g. actual copper wire in early telephony) • Packet switching • Break message into small chunks (“packets”) • Each chunk has a destination address inside • Each chunk may take a different path from source to destination
Leonard Kleinrock • Proposed packet switching in 1960. • His computer at UCLA became the first node on the Internet in September, 1969. • SRI • UCSB • Utah • Then called “Arpanet.”
What do the packets look like? • Current system, called TCP/IP, was adopted by the Internet in 1983. • IP: Internet Protocol • TCP: Transmission Control Protocol
The IP Address • 32 bits, written as four eight-bit (0-255) numbers • 126.96.36.199 http://whatismyipaddress.com/ • Originally, the first 8 bits specified the network, and the remaining 24 bits designated the computer on that network • New version of IP (v6) has 64 bit addresses • http://www.nytimes.com/2011/02/15/technology/15internet.html?scp=1&sq=internet%20addresses&st=cse
Why Protocols are necessary • Big-endian v. little-endian • Little-endian: later digits more significant • Intel x86 architecture • Irvine CA USA • Big-endian: earlier digits more significant • Motorola processors • thirty two
Why Protocols are necessary • Big-endian v. little-endian • Little-endian: later digits more significant • Intel x86 architecture • Irvine CA USA • Big-endian: earlier digits more significant • Motorola processors • thirty two • Blefuscu v. Lilliput in Gulliver’s Travels, 1726
The IP Packet • IP Version number • Total length of packet • Source IP Address • Destination IP Addr. • Time To Live (TTL) • Checksum • Data being transmitted (000110100100101…) • No guarantee packets arrive, or arrive in order.
TCP • Provides a “virtual circuit” between two computers. Defines a port HTTP: 80, IRC 194) • Guarantees reliable and in-order delivery of packets. • TCP packets have sequence numbers. • TCP programs at each end acknowledge packets and resend if necessary. • TCP practices congestion avoidance and provides error checking.
UDP • User Datagram Protocol • “Lightweight” when compared to TCP, doesn’t provide reliability or ordering. • Same port facilities, provides error checking. • Better for many time-sensitive purposes. • Used for games, VoIP, IPTV.
The Layers of the Network • Application Layer (FTP, HTTP, IMAP) • Transport Layer (TCP, UDP) • Network Layer (IP) • Data Link Layer (802.11, Ethernet, WiMax) • Physical Layer (Modems, Coax, Ethernet)
The World Wide Web • Tim Berners-Lee, 1989 - 1991 • “Any network-accessible information could be referred to by a single ‘Universal Document Identifier.’” • More conventions, languages, and protocols: URL, HTML, HTTP • Mosaic (from NCSA), 1993-1995 • Client-server architecture
More URL • scheme://[user:password@]domain:port/path?query_string#fragment_id • scheme: how to connect, e.g. https • domain: where to connect • port: optional (if omitted, determined by scheme) • path, etc: what to ask for • query string: info for program, e.g. q=The+Stanley+Parable • fragment: position in document • encodings: %2D = - %24 = $ %20, + = space
Peer to Peer Architecture Each computer is connected every other computer.
Client-Server Architecture • Client: • Rendering • Sound • Some rules • Some physics • Server: • Game State • All rules • All physics • All AI