CS 150 – Computing: From Ada to the Web

Download Report

Transcript CS 150 – Computing: From Ada to the Web

CS 150 – Computing: From Ada
to the Web
Communication and Networking
What is communication?
• Communication is a process that allows
people/things/etc to exchange information
• True communication requires feedback
• Communication without feedback is
broadcasting
Communication has…
• Content (what type of things are
communicated)
• Source/Sender (by whom)
• Form/Format
• Channel (through which medium)
• Destination/Receiver/Target (to whom)
• Purpose
How have we studied communication?
• Language – describing languages through
grammars
• Fine Arts – communicating feeling / thought /
impression
• Instruction – lecture, office hours, TAs
Spaceship Earth
• Content – what sort of things do we
communicate?
– What did prehistoric people want to
communicate?
• Who was the source? Who were the
recipients?
• What was the format?
Spaceship Earth
• How did content evolve?
– Ancient Egypt
– Phoenicians
– Greeks
• How did the format evolve?
• How did the senders / receivers change?
Spaceship Earth
• The First Major
Network
• The Roman road
system
• “All roads lead to
Rome.”
A slightly more modern example
• April 1860 – October 1861
• Missouri to California
– 10 days
– 10-15 miles per horse, ~100 miles per rider
• 400 horses total
What is a network?
• An interconnected group of objects or other
networks
• What does it mean for CBS, NBC, and ABC to
be networks?
• What is “social networking?” How does this
relate to Facebook, etc?
How do we measure networks?
• Latency
Time from sending a bit until it arrives
seconds (or seconds per geographic distance)
• Bandwidth
How much information can you transmit per
time unit
bits per second
What’s latency?
• How long does it take for something to get
from here to there
• What’s the average latency of a postcard from
Virginia to North Carolina?
• What about the latency from Norway to
Virginia?
• Why does latency matter?
What’s bandwidth?
• How much stuff can you send “through the
tubes”
• Think about it in terms of moving:
– Your car can carry less stuff than…
– A U-Haul truck, which carries less stuff than…
– A tractor-trailer (maximum bandwidth?)
How do we improve?
• Latency
– Fewer “stops”
– Shorter path
– Faster mode of transportation
• Bandwidth
– Bigger “tubes”
– Fit more stuff in a smaller space
“It’s the network…”
• The Internet
How do you think of the Internet?
How Internet people think
What exactly is the Internet?
• “worldwide, publicly accessible series of
interconnected computer networks that transmit
data by packet switching using the standard
Internet Protocol (IP)”
• a "network of networks" that consists of millions
of smaller domestic, academic, business, and
government networks, which together carry
various information and services, such as
electronic mail, online chat, file transfer, and the
interlinked web pages and other resources of the
World Wide Web (WWW) - Wikipedia
The Internet vs. USPS
• Addressing – how do you know the sender
and receiver?
– IP addresses
– 192.168.0.1
– 127.0.0.1
The Internet vs. USPS
• Addressing
– I don’t suppose you know the IP address for
Google, do you?
– ICANN – Internet Corporation for Assigned Names
and Numbers
– Domain Name System (DNS) servers do the
lookups for us!
• How do you do an “address change” or “forwarding
address?”
The Internet vs. USPS
So.. What’s the World Wide Web?
• The World Wide Web (commonly shortened
to the Web) is a system of interlinked
hypertext documents accessed via the
Internet.
• With a Web browser, a user views Web pages
that may contain text, images, videos, and
other multimedia and navigates between
them using hyperlinks.
• The World Wide Web was created in 1989 by
Sir Tim Berners-Lee.
The Internet ≠ WWW!
• The Internet is the network
– It defines how information travels
– It is defined by specific protocols that decide how
information goes from one point to another
• The WWW is a service
– WWW traffic is only a portion of the traffic that
flows on the Internet!
Name other Internet services
• What else do you use the Internet for?
How the Internet works
How the Internet works
• Let’s compare with a traditional phone system
– Circuit Switching
– Ever see those old shows that have phone
operators where they physically move the cable?
• The Internet works differently
– Packet Switching
– Step-by-step movement through the system
Circuit Switching
• Reserve a whole path through the network for
the whole message transmission
• Once you start a transmission, know you will
have use of the network until it is finished.
Packet Switching
• Use one link at a time
• Interleave messages – send whenever the
next link is free.
Making Packets
• What are packets?
• What information can be found in a packet?
Sending packets on their way
• After the program makes a packet, it sends it
out over the current open connection
• Where does it go from there?
• Routers and packet routing
• ACK and SYN
– “Hello! Are you there?”
• “Yes! I’m here!”
– “Here comes some data!”
One more time…
Not everyone gets an IP
• What happens when we run out of IP
addresses?
– NAT routing
– IPv4 vs IPv6
• Port forwarding
The World Wide Web
• Tim Berners-Lee, CERN (Switzerland)
• First web server and client, 1990
• Established a common language for sharing
information on computers
• Lots of previous attempts (Gopher, WAIS,
Archie, Xanadu, etc.)
World Wide Web Success
• World Wide Web succeeded because it was
simple!
– Didn’t attempt to maintain links, just a common
way to name things
– Uniform Resource Locators (URL)
http://www.cs.virginia.edu/~sherriff/index.php
Service
Hostname
HyperText Transfer Protocol
File Path
HyperText Transfer Protocol
Server
GET /cs150/index.html HTTP/1.0
<html>
<head>
…
Client (Browser)
Contents
of file
HTML
HyperText Markup Language
HTML: HyperText Markup Language
• Language for controlling presentation of web
pages
• Uses formatting tags
– Enclosed between < and >
• Not a universal programming language
Proof: no way to make an infinite loop
HTML Grammar Excerpt
Document ::= <html> Header Body </html>
Header ::= <head> HeadElements </head>
HeadElements ::= HeadElement HeadElements
HeadElements ::=
HeadElement ::= <title> Element </title>
Body ::= <body> Elements </body>
Elements ::= Element Elements
Elements ::=
Element ::= <p> Element </p>
Make Element a paragraph.
Element ::= <center> Element </center>
Center Element horizontally on the page.
Element ::= <b> Element </b>
Display Element in bold.
Element ::= Text
What is a HTML interpreter?