360 likes | 450 Views
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….
E N D
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
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?”
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 • 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!”
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 File Path Hostname Service HyperText Transfer Protocol
HyperText Transfer Protocol Server GET /cs150/index.html HTTP/1.0 <html> <head> … Contents of file Client (Browser) 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>HeaderBody</html>Header ::= <head>HeadElements</head>HeadElements ::= HeadElementHeadElementsHeadElements ::=HeadElement ::= <title>Element</title> Body ::= <body>Elements</body>Elements ::= ElementElementsElements ::=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?