introduction lecture 1 cs193i – internet technologies summer 2004 stanford university

33
Introduction Introduction Lecture 1 Lecture 1 cs193i – Internet cs193i – Internet Technologies Technologies Summer 2004 Summer 2004 Stanford University Stanford University

Upload: gregory-martin

Post on 03-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

IntroductionIntroductionLecture 1Lecture 1

cs193i – Internet cs193i – Internet TechnologiesTechnologies

Summer 2004Summer 2004

Stanford UniversityStanford University

Page 2: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

OutlineOutline

What is the Internet?What is the Internet? Where did it come from?Where did it come from? What are we going to discuss in What are we going to discuss in

cs193i?cs193i? BreakBreak Networking basicsNetworking basics Physical InfrastructurePhysical Infrastructure

Page 3: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

The Ever-changing The Ever-changing InternetInternet

Different colors based on IP addressDifferent colors based on IP addresshttp://research.lumeta.com/ches/maphttp://research.lumeta.com/ches/map

Page 4: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

What is the Internet?What is the Internet?

WWWWWW Video conferencingVideo conferencing ftpftp telnettelnet EmailEmail Instant messagingInstant messaging ……

Page 5: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

What is the Internet?What is the Internet?

WWWWWW Video conferencingVideo conferencing ftpftp telnettelnet EmailEmail Instant messagingInstant messaging ……

A communication infrastructureA communication infrastructure

Usefulness is in exchanging informationUsefulness is in exchanging information

Page 6: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

“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

Page 7: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

Where Did It Come Where Did It Come From?From?

It was invented by Al Gore. It was invented by Al Gore. JUST KIDDING!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

Page 8: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

ARPANET, 1980ARPANET, 1980

http://mappa.mundi.net/maps/maps_001/

Page 9: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

History of the InternetHistory 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

Evolved into TCP/IP, and UDP 1980s – Hardware Explosion (LANs, PCs, and 1980s – Hardware Explosion (LANs, PCs, and

workstations)workstations) 1983 – Ethernet by Metcalfe1983 – Ethernet by Metcalfe

DNS – Distributed and scalable mechanism for DNS – Distributed and scalable mechanism for resolving host names into IP addressesresolving host names into IP addresses

UC Berkeley implements TCP/IP into Unix BSDUC Berkeley implements TCP/IP into Unix BSD 1985 – Internet used by researchers and 1985 – Internet used by researchers and

developersdevelopers

Page 10: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

History of the InternetHistory of the Internet

Tim Berners-Lee at CERN in 1989Tim Berners-Lee at CERN in 1989 Proposal for WWW in 1990Proposal for WWW in 1990 First web page on November 13, 1990First 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)

W3CGet more info at:http://www.isoc.org/internet/history/

Page 11: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

What will cs193i cover?What will cs193i cover?

Basic Networking IssuesBasic Networking Issues Network Interoperability and StandardsNetwork Interoperability and Standards

TCP/IPTCP/IP Sockets and Client/Server StructuresSockets and Client/Server Structures ServicesServices ApplicationsApplications

HTML, HTTP, CGI, ServletsHTML, HTTP, CGI, Servlets Security and PrivacySecurity and Privacy Advanced TopicsAdvanced Topics

Page 12: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

Course StaffCourse Staff

Kelly A. ShawKelly A. Shaw InstructorInstructor Professor at Univ. of Professor at Univ. of

Richmond in FallRichmond in Fall PhD Candidate w/ PhD Candidate w/

Distinction in Distinction in TeachingTeaching

BS from Duke BS from Duke UniversityUniversity

Gates 255Gates 255 Office hours: MW 2-Office hours: MW 2-

4pm4pm

Silas Boyd-Silas Boyd-WickizerWickizer Teaching AssistantTeaching Assistant Office hours: TTh 4-Office hours: TTh 4-

6pm6pm

Sweet hallSweet hall

Page 13: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

Meeting TimesMeeting Times

LectureLecture MW 4:15-6:05 McCullough 115MW 4:15-6:05 McCullough 115 Broadcast Live on E3Broadcast Live on E3 Stanford OnlineStanford Online

Two review sessions - TBATwo review sessions - TBA PerlPerl JavaJava

Page 14: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

Reading MaterialsReading Materials

No required textbookNo required textbook Recommended:Recommended:

Core Web ProgrammingCore Web Programming by Marty Hall by Marty Hall and Larry Brown. and Larry Brown.

HandoutsHandouts On-line onlyOn-line only

Page 15: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

Course DetailsCourse Details

GradingGrading 50% Homework (4 assignments)50% Homework (4 assignments) 5% Labs (4 labs)5% Labs (4 labs) 10% Midterm10% Midterm 30% Final30% Final 5% Class participation (if not SCPD)5% Class participation (if not SCPD)

May work in groups of 1 or 2 studentsMay work in groups of 1 or 2 students C/NC studentsC/NC students

Page 16: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

Homework AssignmentsHomework Assignments HW #1HW #1

POP email clientPOP email client Server/Client pair with authenticationServer/Client pair with authentication

HW #2HW #2 Simple Web ClientSimple Web Client Simple Web ServerSimple Web Server

HW #3HW #3 CGI ProgrammingCGI Programming (e.g. for maintaining Netflix Movie Queue)(e.g. for maintaining Netflix Movie Queue)

HW #4HW #4 Java / JSP / Servlets and JavascriptJava / JSP / Servlets and Javascript Amazon.edu BookstoreAmazon.edu Bookstore

Page 17: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

Administrative DetailsAdministrative Details

Contacting staffContacting staff [email protected]@lists.stanford.ed

uu NewsgroupNewsgroup

su.class.cs193isu.class.cs193i Grading/testing on Leland systemsGrading/testing on Leland systems Honor CodeHonor Code

Page 18: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

Five Minute Break Five Minute Break

Page 19: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

Communicating Via the Communicating Via the InternetInternet

Network

MSN Messenger

[email protected]

[email protected]

How’s theweather inSeattle, Mar?

Page 20: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

Bits and BytesBits and Bytes Computer Data is stored in Binary

Binary Digits (bits) Base 2 representation1011100001101010

Every 8 bits == 1 Byte10111000 01101010 (2 bytes (once known as octet))

Hexadecimal == Base 16 representation1011 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

Page 21: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

Bits and BytesBits 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)

Page 22: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

Latency Latency How long minimum communication takes in How long minimum communication takes in

seconds (s)seconds (s) Round trip vs. single tripRound trip vs. single trip More difficult to overcome than bandwidthMore difficult to overcome than bandwidth

Bandwidth Bandwidth Number of bits per time unit usually seconds (bps)Number of bits per time unit usually seconds (bps)

Performance: Latency Performance: Latency and Bandwidthand Bandwidth

bandwidth

latency

link

Page 23: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

Any-to-Any Any-to-Any CommunicationCommunication

nn2 2 Network Effect (Metcalfe’s Law)Network Effect (Metcalfe’s Law) Total utility of system proportional to nTotal utility of system proportional to n22

Think about Orkut, MSN MessengerThink about Orkut, MSN Messenger

Page 24: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

BabelBabel Internet consists Internet consists

of many different of many different types of networkstypes of networks EthernetEthernet Token ringToken ring

Different types of Different types of operating systems operating systems and other and other softwaresoftware

How do they work How do they work together?together? StandardsStandards

Token-ring

[email protected]

[email protected]

How’s theweather inSeattle, Mar?

MSN Messenger

Network

Ethernet

Page 25: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

Divide Work into LayersDivide Work into Layers

0 1 0 1 0 0101001010

ba

01010 01010

physically encode bits on “wire” physically encode bits on “wire”

connect segments, address connect segments, address (locating points on graph) and (locating points on graph) and route (navigating graph)route (navigating graph)

make network simple and reliablemake network simple and reliable

Link Level

Ethernet, token ring

Network

IP

End-to-End

TCP, UDP

Application

HTTP, SMTP, FTP,TELNET, DNS

Page 26: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

Sending Data Along Sending Data Along WiresWires

Connection-orientedConnection-oriented Circuit switchedCircuit switched

Persistent connection set up between sender Persistent connection set up between sender and receiverand receiver

Example: telephone systemExample: telephone system ConnectionlessConnectionless

Packet switchedPacket switched Data partitioned into packets and Data partitioned into packets and

sent individually from sender to receiversent individually from sender to receiver Reassembled at receiverReassembled at receiver

Message

H Data H Data H Data H Data

Page 27: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

Comparison of Switching Comparison of Switching TechnologiesTechnologies

Circuit switchedCircuit switched AdvantagesAdvantages

Only route onceOnly route once Latency and Latency and

bandwidth constantbandwidth constant DisadvantagesDisadvantages

Idle resources Idle resources unavailable for other unavailable for other connectionsconnections

Large setup timeLarge setup time Single point of failureSingle point of failure

Distributed stateDistributed state

Packet switchedPacket switched AdvantagesAdvantages

Efficient use of Efficient use of wireswires

Small startup Small startup overheadoverhead

DisadvantagesDisadvantages Route each packetRoute each packet Per packet Per packet

overheadoverhead BurstyBursty

Page 28: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

EthernetEthernet Bob Metcalfe at Xerox PARC Used for local area networks (LANs)Used for local area networks (LANs)

Physically near one anotherPhysically near one another 200 computers within 100 meters200 computers within 100 meters

Broadcast mediumBroadcast medium Single wire connects all computersSingle wire connects all computers

Each computer has unique 48-bit MAC addressEach computer has unique 48-bit MAC address All computers constantly listenAll computers constantly listen

““Carrier Sense, Multiple Access with Carrier Sense, Multiple Access with Collision Detect”Collision Detect” Sender waits until wire unused before sendingSender waits until wire unused before sending If hears collision, stops, waits random time, If hears collision, stops, waits random time,

retransmitsretransmits

Page 29: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

EthernetEthernet

Page 30: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

Ethernet VariationsEthernet Variations

Page 31: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

Ethernet PropertiesEthernet Properties

Shared Distributed (not Centralized) Insecure Unpredictable Latency & Bandwidth But it works!

Under light load (<30%), appears to be Under light load (<30%), appears to be point-to-pointpoint-to-point

Page 32: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

Alternative to Ethernet:Alternative to Ethernet:Token RingToken Ring

Alternative introduced by Alternative introduced by IBM (1980s)IBM (1980s)

““Passing the Conch Shell”Passing the Conch Shell”

Page 33: Introduction Lecture 1 cs193i – Internet Technologies Summer 2004 Stanford University

Next TimeNext Time

Network LayerNetwork Layer IPIP

End-to-End or Transport LayerEnd-to-End or Transport Layer TCPTCP