Final Review!. So how’s it all work? I boot my machine I open my browser and type www.google.com The page loads What all just happened?

Slides:



Advertisements
Similar presentations
Everything.
Advertisements

5: DataLink Layer5-1 Chapter 5 Link Layer and LANs A note on the use of these ppt slides: Were making these slides freely available to all (faculty, students,
Layer 3 Switching. Routers vs Layer 3 Switches Both forward on the basis of IP addresses But Layer 3 switches are faster and cheaper However, Layer 3.
Chapter 5 Link Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
Media Access Control (MAC) addresses in the network access layer ▫ Associated w/ network interface card (NIC) ▫ 48 bits or 64 bits IP addresses for the.
IST 201 Chapter 9. TCP/IP Model Application Transport Internet Network Access.
Chapter 7 Intro to Routing & Switching.  Upon completion of this chapter, you should be able to:  Explain the need for the transport layer.  Identify.
Summer Workshop on Cyber Security Computer Networks Security (Part 1) Dr. Hamed Mohsenian-Rad University of California at Riverside and Texas Tech University.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Communicating over the Network Network Fundamentals – Chapter 2.
EEC-484/584 Computer Networks Discussion Session for HTTP and DNS Wenbing Zhao
Everything. MACIP End-host IP: MAC: 11:11:11:11:11 gateway IP: MAC: 22:22:22:22:22 Google server IP: MACIP MACInterfaceMACInterface.
Lecture 8 Modeling & Simulation of Communication Networks.
IST 228\Ch3\IP Addressing1 TCP/IP and DoD Model (TCP/IP Model)
Chapter 5 Link Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Link Layer data center.
Basic Network Training. Cable/DSL Modem The modem is the first link in the chain It is usually provided by the ISP and often has a coax cable connector.
Support Protocols and Technologies. Topics Filling in the gaps we need to make for IP forwarding work in practice – Getting IP addresses (DHCP) – Mapping.
Chapter 5 Link Layer and LANs
CP476 Internet ComputingCh.1 # 1 Lecture 2. A Brief Introduction to the Internet The objective is to understand The history of Internet What the Internet.
30-1 Computer Networking The Internet Hourglass Model The physical layer is how machines are physically connected to each other... FTP HTTPNVTFTP.
How the Internet Works. The Internet and the Web The Web is actually just one of many computer applications that run on the Internet Among others are.
DNS (Domain Name System) Protocol On the Internet, the DNS associates various sorts of information with domain names. A domain name is a meaningful and.
PA3: Router Junxian (Jim) Huang EECS 489 W11 /
Common Devices Used In Computer Networks
Operating Systems Lesson 10. Networking Communications protocol is the set of standard rules for ◦ Data representation ◦ Signaling ◦ Authentication ◦
A day in the life: scenario
The complete picture Linux Network Management. End to End Connection Being able to describe the end to end connection sequence is a useful thing Very.
Link Layer 5-1 Link layer, LAN s: outline 5.1 introduction, services 5.2 error detection, correction 5.3 multiple access protocols 5.4 LANs  addressing,
1 John Magee 11 July 2013 CS 101 Lecture 11: How do you “visit” a web page, revisted Slides adapted from Kurose and Ross, Computer Networking 5/e Source.
CMPT 471 Networking II Address Resolution IPv4 ARP RARP 1© Janice Regan, 2012.
NUS.SOC.CS2105 Ooi Wei Tsang Application Transport Network Link Physical you are here.
Internet Ethernet Token Ring Video High Speed Router Host A: Client browser: REQUEST:http//mango.ee.nogradesu.edu/c461.

Connecting The Network Layer to Data Link Layer. ARP in the IP Layer The Address Resolution Protocol (ARP) The Address Resolution Protocol (ARP) Part.
Routers and Routing Basics CCNA 2 Chapter 10.
Network Addresses, Switches and Routing Bob Bradley IS361 Fall 2005 Chapter 1 Part 2.
Information Flow Across the Internet. What is the Internet? A large group of computers that link together to form the Worldwide Area Network (WAN)
5: Link Layer Part Link Layer r 5.1 Introduction and services r 5.2 Error detection and correction r 5.3Multiple access protocols r 5.4 Link-Layer.
1 CS 4396 Computer Networks Lab TCP/IP Networking An Example.
Link Layer5-1 Synthesis: a day in the life of a web request  journey down protocol stack complete!  application, transport, network, link  putting-it-all-together:
CSCI 3335: C OMPUTER N ETWORKS A DAY IN THE LIFE OF A WEB REQUEST Vamsi Paruchuri University of Central Arkansas
Chapter 23: ARP, ICMP, DHCP CS332, IS333 Spring 2014.
Multimedia and Networks. Protocols (rules) Rules governing the exchange of data over networks Conceptually organized into stacked layers – Application-oriented.
Presented by Rebecca Meinhold But How Does the Internet Work?
Networking Basics CCNA 1 Chapter 11.
Link Layer5-1 Synthesis: a “day” in the life of a web request  journey down protocol stack!  application, transport, network, link  putting-it-all-together:
1. Layered Architecture of Communication Networks: TCP/IP Model
Chapter 5 Link Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
ARP ‘n RARP. The Address Resolution Protocol (ARP) is a request sent out by a computer to find another computer’s MAC address. It already knows the IP.
5: DataLink Layer5-1 Virtualization of networks Virtualization of resources: powerful abstraction in systems engineering: r computing examples: virtual.
Internet Flow By: Terry Hernandez. Getting from the customers computer onto the internet Internet Browser
End-host IP: MAC: 11:11:11:11:11 gateway IP: MAC: 22:22:22:22:22 Google server IP: interne t interface DNS server IP:
Ch. 23, 25 Q and A (NAT and UDP) Victor Norman IS333 Spring 2015.
Communication Networks NETW 501 Tutorial 2
CSEN 404 Introduction to Networks Amr El Mougy Lamia AlBadrawy.
Introduction to Networks
Virtualization of networks
A Typical Connection Scenario
Scaling the Network: The Internet Protocol
CS 280: Summary: A day in the life of a web request
Course Review 2015 Computer networks 赵振刚
OSI Protocol Stack Given the post man exemple.
Layered Architectures
How Data Flows through the Internet
Introduction to Networks
Chapter 6 The Data Link layer
TCP/IP Networking An Example
Communication Networks NETW 501
Chapters 1~5 Overview Computer Networking: A Top Down Approach 6th edition Jim Kurose, Keith Ross Addison-Wesley Prof. Hong Liu for ECE369 Adapted from.
Scaling the Network: The Internet Protocol
Synthesis A day in the life of a web request
Presentation transcript:

Final Review!

So how’s it all work? I boot my machine I open my browser and type The page loads What all just happened?

My Computer Booted My wifi wants to connect me to a network It has to find a wifi network in range It has to connect to that Access Point and successfully share a wifi channel/environment MAC and Collision Resolution (RTS, CTS)

My Computer Found the Router Now I need an IP Address DHCP Lease for an IP from the router I ask for an IP Router gives an IP I tell it I will use that IP It says Okay

I type google.com I want to make a TCP socket to send data there: can I? No, I need an IP:Port to connect a socket, not a name Make a DNS query to some nameserver to give me the IP that goes with google.com ( ) How do I know that IP? Ideas?

I make my request Formulate a valid HTTP GET request to get Make a TCP socket that connects out to that IP on port 80. My router is NATing, what happens? It maps my IP and port on the LAN side to some port on the WAN side Alters my outgoing packet’s source IP and port accordingly

I’m still making my request I’m using wifi to get the router The router is connected to a cable-modem via Ethernet The cable-modem is connected to my ISP network via coaxial cable My ISP connects to via fiber-optic links Does any of this matter? Yes and No

Encapsulation I’m making a browser application connection It’s built on a TCP stream The TCP stream using IP routing to go from me to The IP packet needs a wifi/ethernet/cable/fiber-optic header on it for each hop

My connection gets there! Have to make a TCP connection before sending any data 3-Way TCP handshake of: Syn (x) -> <- SynAck(y, x+1) Ack (y+1) -> Now I can finally send my data packet!

My data arrives finally gets my HTTP request What does it have to do? Process request, possibly do server-side computation, then send me the webpage It makes the same crazy trip back, including getting retransformed by the NAT router to reach me May or may not need to then send more GET requests in response to get other portions of the page

Whew. Glad that all works all the time… What if my signal got distorted in the air, or on one of the wires? Error-Correcting Codes What if one packet takes a slow route and the next takes a fast route? TCP automatically reorders correctly: UDP not so much What if my packet gets dropped somewhere? ACKs ensure delivery Link-Layer ACKs sometimes used for high-loss mediums (wifi) to speed up recovery

What Else Might’ve Happened? My browser already has google.com cached, I just show that Some caching proxy is between me and and responds to my request mid-route, rather than forwarding it to the real I (or my router!) use Tor so I go hopping through three other nodes before exiting to go get ’s page

How did my router get me the data? It needs to know who to route to on the wifi-layer to put the correct address on its packet Uses ARP to look up my MAC address from my IP address and routes my packets to me by addressing it to my MAC address

Where did the projects fit in? Project 0 Understanding how to get the basic names for networked items: IP and port Project 1 Essentially a simple DNS service, letting you specify some destination by a more convenient name and add some useful abstraction Project 2 Get to know HTTP requests, and how a program can ‘invisibly’ stand in the middle of a network connection Project 3 Understand routing and the complexities associated with creating routes as well as running multiple streams over independent connections

Other Thoughts? What makes network/distributed programming different from standard local programming? What are some traps to watch out for? Why do we need so many threads all the time? Who should be doing computation in a web app? How about a peer-to-peer system?