Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University Outline What is the Internet? Where did it come from? What are we going to discuss in cs193i? Break Networking basics Physical Infrastructure The Ever-changing Internet Different colors based on IP address http://research.lumeta.com/ches/map What is the Internet? WWW Video conferencing ftp telnet Email Instant messaging … What is the Internet? WWW Video conferencing ftp telnet Email Instant messaging … A communication infrastructure Usefulness is in exchanging information “On-line interactive communities... will be communities not of common location, but of common interest.... the total number of users...will be large enough to support extensive general purpose [computers]. All of these will be interconnected by telecommunications channels... [to] constitute a labile network of networks--ever changing in both content and configuration.” J. C. R. Licklider Where Did It Come From? It was invented by Al Gore. JUST KIDDING! Early 1960’s - DARPA (ARPA in 1960’s) project headed by Licklider Late 1960’s - ARPANET & research on packet switching by Roberts First node installed by BBN at UCLA in September 1969 1969 - Four host computers (UCLA, SRI, UCSB, University of Utah) Get more info at: http://www.isoc.org/internet/history/ http://www.packet.cc/internet.html ARPANET, 1980 http://mappa.mundi.net/maps/maps_001/ History of the Internet 1969 - RFCs begun by S. Crocker (http://rfc.sunsite.dk/) 1972 - Email by Ray Tomlinson & Larry Roberts 1970’s - TCP by Vint Cerf & Bob Kahn 1980s – Hardware Explosion (LANs, PCs, and workstations) Evolved into TCP/IP, and UDP 1983 – Ethernet by Metcalfe DNS – Distributed and scalable mechanism for resolving host names into IP addresses UC Berkeley implements TCP/IP into Unix BSD 1985 – Internet used by researchers and developers History of the Internet Tim Berners-Lee at CERN in 1989 Proposal for WWW in 1990 First web page on November 13, 1990 Hypertext - Text that contains links to other text. Ted Nelson’s Xanadu Vannevar Bush’s Memex (http://www.theatlantic.com/unbound/flashbks/computer/bushf.htm) W3C Get more info at: http://www.isoc.org/internet/history/ What will cs193i cover? Basic Networking Issues Network Interoperability and Standards Sockets and Client/Server Structures Services Applications TCP/IP HTML, HTTP, CGI, Servlets Security and Privacy Advanced Topics Course Staff Kelly A. Shaw Instructor Professor at Univ. of Richmond in Fall PhD Candidate w/ Distinction in Teaching BS from Duke University Gates 255 Office hours: MW 2-4pm Silas Boyd-Wickizer Teaching Assistant Office hours: TTh 4-6pm Sweet hall Meeting Times Lecture MW 4:15-6:05 McCullough 115 Broadcast Live on E3 Stanford Online Two review sessions - TBA Perl Java Reading Materials No required textbook Recommended: Core Web Programming by Marty Hall and Larry Brown. Handouts On-line only Course Details Grading 50% Homework (4 assignments) 5% Labs (4 labs) 10% Midterm 30% Final 5% Class participation (if not SCPD) May work in groups of 1 or 2 students C/NC students Homework Assignments HW #1 HW #2 Simple Web Client Simple Web Server HW #3 POP email client Server/Client pair with authentication CGI Programming (e.g. for maintaining Netflix Movie Queue) HW #4 Java / JSP / Servlets and Javascript Amazon.edu Bookstore Administrative Details Contacting staff Newsgroup cs193i-sum0304-staff@lists.stanford.edu su.class.cs193i Grading/testing on Leland systems Honor Code Five Minute Break Communicating Via the Internet How’s the weather in Seattle, Mar? kashaw@cs.stanford.edu Network mar@cs.washington.edu MSN Messenger Bits and Bytes Computer Data is stored in Binary Binary Digits (bits) Base 2 representation 1011100001101010 Every 8 bits == 1 Byte 10111000 01101010 (2 bytes (once known as octet)) Hexadecimal == Base 16 representation 1011 1000 0110 1010 B 8 6 A Decimal == Base 10 (we have 10 fingers) 0...9, A = 10, B= 11, C = 12, D = 13, E = 14, F = 15 Bits and Bytes Kilobyte (2^10=1024 Bytes, 10^3=1000 Bytes in networking) Megabyte (2^20 Bytes, 10^6 in Networking) Gigabyte (2^30 Bytes, 10^9 in Networking) Terabyte (2^40, 10^12) Petabyte (2^50, 10^15) Performance: Latency and Bandwidth Latency How long minimum communication takes in seconds (s) Round trip vs. single trip More difficult to overcome than bandwidth Bandwidth Number of bits per time unit usually seconds (bps) bandwidth link latency Any-to-Any Communication n2 Network Effect (Metcalfe’s Law) Total utility of system proportional to n2 Think about Orkut, MSN Messenger Babel Internet consists of many different types of networks Ethernet Token ring Different types of operating systems and other software How do they work together? How’s the weather in Seattle, Mar? kashaw@cs.stanford.edu Ethernet Network Tokenring Standards MSN Messenger mar@cs.washington.edu Divide Work into Layers Application HTTP, SMTP, FTP, TELNET, DNS 01010 End-to-End TCP, UDP Network IP Link Level Ethernet, token ring 0 1 0 1 0 01010 make network simple and reliable a connect segments, address (locating points on graph) and route (navigating graph) 01010 01010 physically encode bits on “wire” b Sending Data Along Wires Connection-oriented Circuit switched Persistent connection set up between sender and receiver Example: telephone system Connectionless Packet switched Data partitioned into packets and H Data sent individually from sender to receiver Reassembled at receiver Message H Data H Data H Data Comparison of Switching Technologies Circuit switched Advantages Only route once Latency and bandwidth constant Disadvantages Idle resources unavailable for other connections Large setup time Single point of failure Distributed state Packet switched Advantages Efficient use of wires Small startup overhead Disadvantages Route each packet Per packet overhead Bursty Ethernet Bob Metcalfe at Xerox PARC Used for local area networks (LANs) Physically near one another 200 computers within 100 meters Broadcast medium Single wire connects all computers Each computer has unique 48-bit MAC address All computers constantly listen “Carrier Sense, Multiple Access with Collision Detect” Sender waits until wire unused before sending If hears collision, stops, waits random time, retransmits Ethernet Ethernet Variations Ethernet Properties Shared Distributed (not Centralized) Insecure Unpredictable Latency & Bandwidth But it works! Under light load (<30%), appears to be point-topoint Alternative to Ethernet: Token Ring Alternative introduced by IBM (1980s) “Passing the Conch Shell” Next Time Network Layer IP End-to-End or Transport Layer TCP