How the Internet Works Jennifer Rexford Computer Science Department

Slides:



Advertisements
Similar presentations
Transport Layer3-1 Transport Overview and UDP. Transport Layer3-2 Goals r Understand transport services m Multiplexing and Demultiplexing m Reliable data.
Advertisements

1 CS 640: Introduction to Computer Networks Aditya Akella Lecture 2 Layering, Protocol Stacks, and Standards.
Copyright 1999, S.D. Personick. All Rights Reserved. Telecommunications Networking II Lecture 32 Transmission Control Protocol (TCP) Ref: Tanenbaum pp:
CPSC 441: Intro, UDP1 Transport Layer Instructor: Carey Williamson Office: ICT Class Location:
Computer Communication Digital Communication in the Modern World Transport Layer Multiplexing, UDP
Chapter 3: Transport Layer
How the Internet Works Jennifer Rexford Computer Science Department
Transport Layer3-1 Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable data transfer.
CPSC 441: Intro, UDP1 Instructor: Anirban Mahanti Office: ICT Class Location: ICT 121 Lectures: MWF 12:00 – 12:50 Notes.
Internet Routing COS 598A Jennifer Rexford Tuesdays/Thursdays 11:00am-12:20pm.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
Some slides are in courtesy of J. Kurose and K. Ross Review of Previous Lecture Electronic Mail: SMTP, POP3, IMAP DNS Socket programming with TCP.
TCP: Software for Reliable Communication. Spring 2002Computer Networks Applications Internet: a Collection of Disparate Networks Different goals: Speed,
1 Computer Networks Transport Layer Protocols. 2 Application-layer Protocols Application-layer protocols –one “piece” of an app –define messages exchanged.
8-1 Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable data transfer m flow.
Gursharan Singh Tatla Transport Layer 16-May
What Can IP Do? Deliver datagrams to hosts – The IP address in a datagram header identify a host IP treats a computer as an endpoint of communication Best.
Process-to-Process Delivery:
1 Transport Layer Computer Networks. 2 Where are we?
Review: –What is AS? –What is the routing algorithm in BGP? –How does it work? –Where is “policy” reflected in BGP (policy based routing)? –Give examples.
Presentation on Osi & TCP/IP MODEL
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
1.1 What is the Internet What is the Internet? The Internet is a shared media (coaxial cable, copper wire, fiber optics, and radio spectrum) communication.
Mukesh N. Tekwani Elphinstone College Mumbai
Introduction to Networks CS587x Lecture 1 Department of Computer Science Iowa State University.
1 Introduction. 2 Goals for Today’s Class Course overview –Goals of the course –Structure of the course –Learning the material –Course grading –Academic.
Data Communications and Computer Networks Chapter 3 CS 3830 Lecture 12 Omar Meqdadi Department of Computer Science and Software Engineering University.
CS 1652 The slides are adapted from the publisher’s material All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Jack Lange.
Network LayerII-1 RSC Part III: Transport Layer 1. Basic Concepts Redes y Servicios de Comunicaciones Universidad Carlos III de Madrid These slides are,
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
Transport Layer and UDP Tahir Azim Ref:
Fundamentals of Computer Networks ECE 478/578 Lecture #19: Transport Layer Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University.
Computer Networking. 2 Outline 3 Objectives Understand the state-of-the-art in network protocols, architectures and applications Understand how networking.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Part.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Chapter 3 Transport Layer
The Transmission Control Protocol (TCP) Application Services (Telnet, FTP, , WWW) Reliable Stream Transport (TCP) Connectionless Packet Delivery.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 03_b Protocol Layering Instructor: Dr. Li-Chuan Chen Date: 09/15/2003 Based in part upon slides of Prof.
Transport Layer1 Ram Dantu (compiled from various text books)
The Transport Layer application transport network data link physical application transport network data link physical application transport network data.
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 4 th edition. Jim Kurose, Keith Ross Addison-Wesley, July A.
Networking Fundamentals. Basics Network – collection of nodes and links that cooperate for communication Nodes – computer systems –Internal (routers,
Computer Networks: COS 461 Spring 2010, MW 3:00-4:20pm Taught by Michael Freedman Guest Lecture in COS 318 Jennifer Rexford
Transport Layer 3-1 Chapter 3 Outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP.
Chapter 3: Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable data transfer.
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross Addison-Wesley,
Lowering the Barriers to Innovation Jennifer Rexford Computer Science Department Princeton University
Advert: Computer Networks: COS 461 Spring 2015 Lecture MW, Precept F Or, how the Internet works…
Internet Overview 1Internet Technology. What is the Internet? An internet is a set of computer networks that are connected to each other (e.g. intranet).
MULTIPLEXING/DEMULTIPLEXING, CONNECTIONLESS TRANSPORT.
Transport Protocols.
Page 12/9/2016 Chapter 10 Intermediate TCP : TCP and UDP segments, Transport Layer Ports CCNA2 Chapter 10.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
Transport Layer3-1 Chapter 3: Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable.
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Introduction 1-1 source application transport network link physical HtHt HnHn M segment HtHt datagram destination application transport network link physical.
2: Transport Layer 11 Transport Layer 1. 2: Transport Layer 12 Part 2: Transport Layer Chapter goals: r understand principles behind transport layer services:
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Computer Networks: COS 461 Spring 2008, MW 1:30-2:50pm
Introduction to Networks
The Transport Layer Implementation Services Functions Protocols
Functions of Presentation Layer
Introduction to Networks
Transport Layer Our goals:
Computer Science 457 Networking and the Internet
Process-to-Process Delivery:
Process-to-Process Delivery: UDP, TCP
Presentation transcript:

How the Internet Works Jennifer Rexford Computer Science Department

How Is It Possible? Shawn Fanning, Northeastern freshman Napster Tim Berners-Lee CERN Researcher World Wide Web Meg Whitman E-Bay

Perhaps (Former) Senator Ted Stevens Knows… The Internet is not something you just dump something on. It's not a truck. It's a series of tubes. And if you don't understand, those tubes can be filled. And if they are filled, when you put your message in, it gets in line and it's going to be delayed by anyone that puts into that tube enormous amounts of material, enormous amounts of material.

No Truck, Yes Tubes What the heck is going on in the Senate?

So, I Went to Wikipedia… The Internet is the worldwide, publicly accessible network of interconnected computer networks that transmit data by packet switching using the standard Internet Protocol (IP). It is 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 documents of the World Wide Web.

Key Ideas Underlying the Internet

Idea #1: The rise of the stupid network

Telephone Network Smart Network Dumb Terminals

Telephone Network Dumb phones –Dial a number –Speak and listen Smart switches –Set up and tear down a circuit –Forward audio along the path Limited services –Audio –Later, fax, caller-id, … A monopoly for a long time

Internet Dumb Network Smart Terminals

Power at the Edge End-to-End Principle Whenever possible, communications protocol operations should be defined to occur at the end-points of a communications system. Programmability With programmable end hosts, new network services can be added at any time, by anyone. And then end hosts became powerful and ubiquitous….

Idea #2: Going Postal

Internet Protocol (IP) Packet Switching Much like the postal system –Divide information into letters –Stick them in envelopes –Deliver them independently –And sometimes they get there What’s in an IP packet? –The data you want to send –A header with the “from” and “to” addresses

Why Packets? Data traffic is bursty –Logging in to remote machines –Exchanging messages Don’t waste bandwidth –No traffic exchanged during idle periods Better to allow multiplexing –Different transfers share access to same links tube

Why Packets? Packets can be delivered by most anything –Serial link, fiber optic link, coaxial cable, wireless Even birds –RFC 1149: IP Datagrams over Avian Carriers IP over Avian Carriers was actually implemented, sending 9 packets over a distance of approximately 5km (3 miles), each carried by an individual pigeon, and they received 4 responses, with a packet loss ratio of 55%, and a response time ranging from 3000 seconds to over 6000 seconds.

Idea #3: Never having to say you’re sorry

Best-Effort Packet-Delivery Service Best-effort delivery –Packets may be lost –Packets may be corrupted –Packets may be delivered out of order source destination IP network

IP Service Model: Why Best-Effort? I never promised you a rose garden –No error detection and correction –Don’t remember from one packet to next –Don’t reserve bandwidth and memory Easier to survive failures –Transient disruptions are okay during failover … but, applications do want efficient, accurate transfer of data in order, in a timely fashion Let the end host take care of that!

What if Packets are Lost or Delayed? Internet GET index.html Problem: Lost or Delayed Data Internet GET index.html Solution: Timeout and Retransmit GET index.html Waiting for an acknowledgment…

What if Packets are Corrupted? Sender computes a checksum –Sender sums up all of the bytes –And sends the sum to the receive Receiver checks the checksum –Received sums up all of the bytes –And compares against the checksum Internet GET index.html GET indey.html = = 350

Solution: Add Sequence Numbers Problem: Out of Order What if the Data is Out of Order? GETx.htindeml GET x.htindeml GET index.html ml4inde2x.ht3GET1

What if the Receiver is Out of Space? Receiver maintains a window size –Amount of data it can buffer Advertises window to the sender –Amount sender can send without acknowledgment Ensures that sender doesn’t send too much –While sending as much as possible ?

Transmission Control Protocol (TCP) Communication service (socket) –Ordered, reliable byte stream –Simultaneous transmission in both directions Key mechanisms at end hosts –Retransmit lost and corrupted packets –Discard duplicate packets and put packets in order –Flow control to avoid overloading the receiver buffer sourcenetworkdestination TCP connection But, what if too many hosts send at once?

What if Too Many Hosts Send at Once? Some folks need to slow down…

Idea #4: Think globally, act locally

Congestion Too many hosts sending packets at once –Some packets have to wait in line –Eventually the queue runs out of space –And some packets gets dropped on the floor

Sharing the Limited Resource Reserve resources –Room for ten phone calls –Block the 11 th call Sub-divide resources –Tell the 11 transfers to each use 1/11 of the bandwidth –How???? Local adaptation –Each transfer slows down –Voluntarily, for greater good

Congestion Control What if too many folks are sending data? –Senders agree to slow down their sending rates –… in response to their packets getting dropped –For the greater good

Congestion Control Detecting congestion –My packet was lost Reacting to congestion –I voluntarily reduce my sending rate (by 2X) Testing the waters –I gradually increase my sending rate (linearly) sending rate

Transmission Control Protocol (TCP) Runs on the end host –Puts data into packets and sends them Congestion control –Speeds up and slows down Ordered reliable byte stream –Sender retransmits lost packets –Receiver discards corrupted packets –Receiver reorders out-of-order packets Reliable service on an unreliable network

Key idea #5: Standing on the shoulders of giants

Layering: A Modular Approach Sub-divide the problem –Each layer relies on services from layer below –Each layer exports services to layer above Interface between layers defines interaction –Hides implementation details –Layers can change without disturbing other layers Link hardware Host-to-host connectivity Application-to-application channels Application

Application-Layer Protocols Messages exchanged between applications –Syntax and semantics of the messages between hosts –Tailored to the specific application (e.g., Web, ) –Messages transferred over transport connection (e.g., TCP) Popular application-layer protocols –Telnet, FTP, SMTP, NNTP, HTTP, … ClientServer GET /index.html HTTP/1.1 HTTP/ OK

Layering in the Internet HTTP TCP IP Ethernet interface HTTP TCP IP Ethernet interface IP Ethernet interface Ethernet interface SONET interface SONET interface host router HTTP message TCP segment IP packet

Packet Encapsulation Get index.html Connection ID Source/Destination Link Address User AUser B

Packet Demultiplexing Multiple choices at each layer FTPHTTPTFTPNV TCPUDP IP NET 1 NET 2 NET n … TCP/UDPIP Port Number Network Protocol Field Type Field

UDPTCP Data Link Physical Applications The Hourglass Model Waist The waist facilitates interoperability FTPHTTPTFTPNV TCPUDP IP NET 1 NET 2 NET n … The Narrow Waist of IP

Idea #6: A rose by any other name

Separating Naming and Addressing Host names –Mnemonic name appreciated by humans –Variable length, alpha-numeric characters –Provide little (if any) information about location –Examples: and ftp.eurocom.fr IP addresses –Numerical address appreciated by routers –Fixed length, binary number –Hierarchical, related to host location –Examples: and

Separating Naming and Addressing Names are easier to remember – vs Addresses can change underneath –Move to Name could map to multiple IP addresses – to multiple replicas of the Web site Map to different addresses in different places –Address of a nearby copy of the Web site –E.g., to reduce latency, or return different content Multiple names for the same address –E.g., aliases like ee.mit.edu and cs.mit.edu

Domain Name System (DNS) Hierarchy Distributed “phone book” –Multiple queries to translate name to address Small number of “root servers” –Tell you where to look up “.com” names Larger number of “top-level domains” –Tell you where to look up “cnn.com” names root.com.edu cnn.com fox.com

DNS Resolver and Local DNS Server Application DNS resolver Local DNS server 1 10 DNS cache DNS query 2 DNS response 9 Root server 3 4 Top-level domain server 5 6 Second-level domain server 7 8 Caching to reduce latency in DNS translation.

Idea #7: You scratch my back…

Network of Networks Autonomous Systems

Level 3: 1 MIT: 3 Harvard: 11 Yale: 29 Princeton: 88 AT&T: 7018, 6341, 5074, … UUNET: 701, 702, 284, 12199, … Sprint: 1239, 1240, 6211, 6242, … … Currently around 40,000 ASes.

Inside an AS: Abilene Internet2 Backbone

Cooperation and Competition Client Web server Traffic flows through many ASes

Business Relationships Neighboring ASes have business contracts –How much traffic to carry –Which destinations to reach –How much money to pay Common business relationships –Customer-provider E.g., Princeton is a customer of USLEC and Comcast E.g., MIT is a customer of Level3 –Peer-peer E.g., AT&T is a peer of Sprint E.g., Harvard is a peer of Harvard Business School

Problems With the Internet: Cheaters do win

No Strict Notions of Identity Leads to –Spam –Spoofing –Denial-of-service

Nobody in Charge Traffic traverses many Autonomous Systems –Who’s fault is it when things go wrong? –How do you upgrade functionality? Implicit trust in the end host –What if some hosts violate congestion control? Anyone can add any application –Whether or not it is legal, moral, good, etc. Nobody knows how big the Internet is –No global registry of the topology Spans many countries –So no government can be in charge

The Internet of the Future Can we fix what ails the Internet –Security –Performance –Upgradability –Managability – Without throwing out the baby with bathwater –Ease of adding new hosts –Ease of adding new services –Ease of adding new link technologies An open technical and policy question…

Thanks!