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 [Link]
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 1960s - DARPA (ARPA in 1960s) project headed by Licklider Late 1960s - 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: [Link] [Link]
ARPANET, 1980
[Link]
History of the Internet
1969 - RFCs begun by S. Crocker ([Link] 1972 - Email by Ray Tomlinson & Larry Roberts 1970s - TCP by Vint Cerf & Bob Kahn
Evolved into TCP/IP, and UDP
1980s Hardware Explosion (LANs, PCs, and workstations)
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 Ted Nelsons Xanadu Vannevar Bushs Memex
Hypertext - Text that contains links to other text.
([Link]
W3C
Get more info at: [Link]
What will cs193i cover?
Basic Networking Issues Network Interoperability and Standards
TCP/IP
Sockets and Client/Server Structures Services Applications
HTML, HTTP, CGI, Servlets
Security and Privacy Advanced Topics
Course Staff
Kelly A. Shaw
Silas Boyd-Wickizer
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
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. On-line only
Handouts
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
POP email client Server/Client pair with authentication
Simple Web Client Simple Web Server CGI Programming (e.g. for maintaining Netflix Movie Queue) Java / JSP / Servlets and Javascript [Link] Bookstore
HW #2
HW #3
HW #4
Administrative Details
Contacting staff
cs193i-sum0304-staff@[Link]
[Link].cs193i
Newsgroup
Grading/testing on Leland systems Honor Code
Five Minute Break
Communicating Via the Internet
Hows the weather in Seattle, Mar?
kashaw@[Link]
Network
mar@[Link]
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)
link
latency
bandwidth
Any-to-Any Communication
n2 Network Effect (Metcalfes Law)
Total utility of system proportional to n2 Think about Orkut, MSN Messenger
Babel
Internet consists of many different types of networks
Hows the weather in Seattle, Mar?
Ethernet Token ring
kashaw@[Link] Ethernet
Different types of operating systems and other software How do they work together?
Network
Tokenring
mar@[Link]
Standards
MSN Messenger
Divide Work into Layers
Application
HTTP, SMTP, FTP, TELNET, DNS
End-to-End
TCP, UDP
01010
0 1 0 1 0
01010
make network simple and reliable
b
Network
IP
a
connect segments, address (locating points on graph) and route (navigating graph)
Link Level
Ethernet, token ring
01010
01010
physically encode bits on wire
Sending Data Along Wires
Connection-oriented
Circuit switched
Persistent connection set up between sender and receiver
Example: telephone system Packet switched
Data partitioned into packets and H Data sent individually from sender to receiver Reassembled at receiver
Message
Connectionless
H Data H Data H Data
Comparison of Switching Technologies
Circuit switched Advantages
Packet switched Advantages
Only route once Latency and bandwidth constant Idle resources unavailable for other connections Large setup time Single point of failure
Efficient use of wires Small startup overhead Route each packet Per packet overhead Bursty
Disadvantages
Disadvantages
Distributed state
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
TCP
End-to-End or Transport Layer