Light at the end of the tunnel Final Lecture: Course Overview

Similar documents
CSE 486/586 Distributed Systems

Page 1. TCP Flow Control" TCP Flow Control" TCP Flow Control" CS162 Operating Systems and Systems Programming Lecture 16. Flow Control, DNS"

CSEN 404 Introduction to Networks. Mervat AbuElkheir Mohamed Abdelrazik. ** Slides are attributed to J. F. Kurose

IP ADDRESSES, NAMING, AND DNS

CSEN 503 Introduction to Communication Networks

CSE561 Naming and DNS. David Wetherall

Chapter 2 Application Layer. Lecture 5 DNS. Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012

CSc 450/550 Computer Networks Domain Name System

Lecture 05: Application Layer (Part 02) Domain Name System. Dr. Anis Koubaa

COS 318: Internetworking

Domain Name Service. DNS Overview. October 2009 Computer Networking 1

CE 443: Computer Networks

CS 43: Computer Networks. 10: Naming and DNS September 24, 2018

Translating Addresses

Applications & Application-Layer Protocols: (SMTP) and DNS

Networking Overview. CS Computer Security Profs. Vern Paxson & David Wagner

Computer Networks. Domain Name System. Jianping Pan Spring /25/17 CSC361 1

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

Chapter 2 part B: outline

Application-layer Protocols

DNS Hierarchical Name Space. BIND Terminology and DNS Name Servers. Distributed Hierarchical Database (1st Approx) Domain Name System (DNS)

Chapter 2 Application Layer

EE 122: Domain Name System

Reminders. EE 122: Domain Name System. Goals of Today!s Lecture. Host Names vs. IP addresses. Separating Naming and Addressing

u 1960s: ARPAnet - Defense Advanced Research Project l Research project into packet switching networks u 1970s: ARPA needed:

Chapter 2: Application layer

Domain Name System (DNS) 김현철 ( 화 ) 정보통신융합서울대학교컴퓨터공학부

Announcements. Transport Protocols & DNS. Goals for Today s Lecture, Part 1. Goals of Today s Lecture, Part 2. Transport Protocols

Lecture 7: Application Layer Domain Name System

CS 457 Lecture 11 More IP Networking. Fall 2011

Computer Networking Introduction

Page 1. CS162 Operating Systems and Systems Programming Lecture 22. Networking III. Automatic Repeat Request

Application Layer. Pure P2P architecture. Client-server architecture. Processes communicating. Hybrid of client-server and P2P. Creating a network app

Application Layer. Pure P2P architecture. Client-server architecture. Processes communicating. Hybrid of client-server and P2P. Creating a network app

Transla'ng Addresses. Goals of Today s Lecture

Application Layer: , DNS

Announcements! Midterm Review! General Guidelines! My General Philosophy on Tests! Outline of Review! Things You Don t Need to Know!

Goals of Today s Lecture. Transla'ng Addresses. Separa'ng Names and IP Addresses. Separa'ng IP and MAC Addresses

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

Agenda. Forwarding (after a little more addressing) Follow-up from last time. Dealing with Address Scarcity. Sharing a Block of Addresses

CS 3516: Advanced Computer Networks

Potential Name Syntax. Properties of Naming. Naming and system components. Naming and layering. Replicated storage, consistency

Application Layer. Goals: Service models. Conceptual aspects of network application protocols Client server paradigm

Application layer. Some network apps. Client-server architecture. Hybrid of client-server and P2P. Pure P2P architecture. Creating a network app

DNS and CDNs : Fundamentals of Computer Networks Bill Nace

CSE 124: IP ADDRESSES, NAMING, AND DNS. George Porter Oct 4, 2017

Networking Basics. EC512 Spring /15/2015 EC512 - Prof. Thomas Skinner 1

416 Distributed Systems. Networks review; Day 1 of 2 Jan 5 + 8, 2018

ECE 158A: Lecture 7. Fall 2015

Lecture 3: Packet Forwarding

The Domain Name System

Section 2: Application layer

More Internet Support Protocols

IP Packet Switching. Goals of Todayʼs Lecture. Simple Network: Nodes and a Link. Connectivity Links and nodes Circuit switching Packet switching

Domain Name System (DNS)

CSCD 330 Network Programming Winter 2015

Computer Networks. Fall 2012 (M 6:15-9:00 in Jbarry 201B) Mirela Damian.

ECE 4450:427/527 - Computer Networks Spring 2017

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 5

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

CS 640: Introduction to Computer Networks. Today s Lecture. Page 1

Announcements. IP Forwarding & Transport Protocols. Goals of Today s Lecture. Are 32-bit Addresses Enough? Summary of IP Addressing.

Internet Design Principles

Internet Technology. 06. Exam 1 Review Paul Krzyzanowski. Rutgers University. Spring 2016

Internet Technology 3/2/2016

Review for Internet Introduction

Networking and Internetworking 1

IP - The Internet Protocol. Based on the slides of Dr. Jorg Liebeherr, University of Virginia

CSCI-1680 DNS Rodrigo Fonseca

EEC-484/584 Computer Networks

University of Southern California EE450: Introduction to Computer Networks

TDTS06: Computer Networks

Midterm Logistics. Midterm Review. The test is long.(~20 pages) Today. My General Philosophy on Tests. Midterm Review

Midterm Review. EE122 Fall 2012 Scott Shenker

Internetworking/Internetteknik, Examination 2G1305 Date: August 18 th 2004 at 9:00 13:00 SOLUTIONS

Guide to Networking Essentials, 6 th Edition. Chapter 5: Network Protocols

Missing pieces + Putting the pieces together

EEC-684/584 Computer Networks

Question Score 1 / 19 2 / 19 3 / 16 4 / 29 5 / 17 Total / 100

Network Layer. IP Protocol Stack: Key AbstracHons. Best- Effort Global Packet Delivery. Circuit Switching (e.g., Phone Network)

CSCI-1680 Wrap-up Lecture Rodrigo Fonseca

CIS 551 / TCOM 401 Computer and Network Security

Lecture 4 - Network Layer. Transport Layer. Outline. Introduction. Notes. Notes. Notes. Notes. Networks and Security. Jacob Aae Mikkelsen

Information Network Systems The network layer. Stephan Sigg

9/8/2016. Network Architecture and Protocols. Outline. Layering: A Modular Approach. Layer Encapsulation. IP Layer. IP Layer

CS457 Transport Protocols. CS 457 Fall 2014

Internet applications. 2: Application Layer 1

Internet Routing Protocols, DHCP, and NAT

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 6

Internetworking Part 2

Midterm Review. Topics. Review: Network. Review: Network. Layers & Protocols. Review: Network WAN. Midterm Review EECS 122 EECS 122

Midterm Review EECS 122. University of California Berkeley

CSCD 433/533 Advanced Networks

Switching & ARP Week 3

FINAL EXAM REVIEW PLEASE NOTE THE MATERIAL FROM LECTURE #16 at the end. Exam 1 Review Material

CS155b: E-Commerce. Lecture 3: Jan 16, How Does the Internet Work? Acknowledgements: S. Bradner and R. Wang

Chapter II: Application Layer

Networking Overview. CS 161: Computer Security Prof. Vern Paxson. TAs: Jethro Beekman, Mobin Javed, Antonio Lupher, Paul Pearce & Matthias Vallentin

cs/ee 143 Communication Networks

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

Transcription:

Light at the end of the tunnel Final Lecture: Course Overview Acknowledgments: Lecture slides are from Computer networks course thought by Jennifer Rexford at Princeton University. When slides are obtained from other sources, a reference will be noted on the bottom of that slide and full reference details on the last slide. 1

Goals of Todayʼs Class What are the key concepts in networking? Hierarchy, indirection, caching, randomization Soft state, layering, (de)multiplexing, e2e argument Why was there no math in this course? Is theory even useful in data networking? Control theory, graph theory, game theory, optimization theory, queuing theory, scheduling theory, What s going to happen to the Internet? 2

Key Concepts in Networking 3

Networking Has Some Key Concepts Course was organized around protocols But a small set of concepts recur in many protocols Many of these are general CS concepts Hierarchy Indirection Caching Randomization Others are somewhat networking-specific Soft state Layering (De)multiplexing End-to-end argument 4

Hierarchy Scalability of large systems Cannot store all information everywhere Cannot centrally coordinate each component Hierarchy as a way to manage scale Divide large system into smaller pieces And manage the pieces separately Hierarchy as a way to divide control Decentralized management of common infrastructure Examples of hierarchy in the Internet Example #1: IP address blocks Example #2: routing protocols Example #3: Domain Name System (DNS) Example #4: super-peers in P2P systems 5

Hierarchy: IP Address Blocks Number related hosts from a common subnet 1.2.3.0/24 on the left LAN 5.6.7.0/24 on the right LAN 1.2.3.4 1.2.3.7 1.2.3.156 5.6.7.8 5.6.7.9 5.6.7.212 host host... host host host... host LAN 1 router router router WAN WAN LAN 2 1.2.3.0/24 5.6.7.0/24 forwarding table 6

Hierarchy: IP Address Blocks Separation of control Prefix: assigned to an institution Addresses: assigned by the institution to their nodes Who assigns prefixes? Internet Corporation for Assigned Names and Numbers Allocates large address blocks to Regional Internet Registries Regional Internet Registries (RIRs) E.g., ARIN (American Registry for Internet Numbers) Allocates address blocks within their regions Allocated to Internet Service Providers and large institutions Internet Service Providers (ISPs) Allocate address blocks to their customers Who may, in turn, allocate to their customers 7

Hierarchy: Routing Protocols AS-level topology Nodes are Autonomous Systems (ASes) Edges are links and business relationships Hides the detail within each AS s network 3 4 5 2 7 6 1 Client Web server 8

Hierarchy: Routing Protocols Interdomain routing ignores details within an AS Routers flood information to learn the topology Routers determine next hop to reach other routers By computing shortest paths based on the link weights 3 2 1 1 2 5 3 1 4 3 9

Hierarchy: Routing Protocols Scaling challenges within an AS Flooding link-state packets throughout the network Running Dijkstra s shortest-path algorithm Introduce hierarchy through areas Area 1 Area 2 area border router Area 0 Area 3 Area 4 10

Hierarchy: Domain Name System 13 root servers (see http://www.root-servers.org/) Labeled A through M E NASA Mt View, CA F Internet Software C. Palo Alto, CA (and 17 other locations) A Verisign, Dulles, VA C Cogent, Herndon, VA (also Los Angeles) D U Maryland College Park, MD G US DoD Vienna, VA H ARL Aberdeen, MD J Verisign, ( 11 locations) K RIPE London (also Amsterdam, Frankfurt) I Autonomica, Stockholm (plus 3 other locations) m WIDE Tokyo B USC-ISI Marina del Rey, CA L ICANN Los Angeles, CA 11

Hierarchy: Domain Name System unnamed root com edu org ac uk zw foo generic domains country domains ac west east cam foo my my.east.foo.edu usr usr.cam.ac.uk

Hierarchy: Domain Name System Host at cis.poly.edu wants IP address for gaia.cs.umass.edu local DNS server dns.poly.edu 2 root DNS server 3 TLD DNS server 4 5 1 8 7 6 requesting host cis.poly.edu authoritative DNS server dns.cs.umass.edu gaia.cs.umass.edu 13

Hierarchy: Super Peers in KaZaA Each peer is either a group leader or assigned to a group leader TCP connection between peer and its group leader TCP connections between some pairs of group leaders Group leader tracks the content in all its children 14

Indirection Referencing by name Rather than the value itself E.g., manipulating a variable through a pointer Benefits of indirection Human convenience Reducing overhead when things change Examples of indirection in the Internet Example #1: host names instead of IP addresses Example #2: mobile IP 15

Indirection: Host Names vs. Addresses Host names Mnemonic name appreciated by humans Variable length, alpha-numeric characters Provide little (if any) information about location Examples: www.cnn.com and ftp.eurocom.fr IP addresses Numerical address appreciated by routers Fixed length, binary number Hierarchical, related to host location Examples: 64.236.16.20 and 193.30.227.161 16

Indirection: Host Names vs. Addresses Names are easier to remember www.cnn.com vs. 64.236.16.20 Addresses can change underneath Move www.cnn.com to 173.15.201.39 E.g., renumbering when changing providers Name could map to multiple IP addresses www.cnn.com 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 17

Indirection: Mobile IP Seamless transmission to a mobile host A B 18

Indirection: Mobile IP home network correspondent addresses packets using home address of mobile home agent intercepts packets, forwards to foreign agent 1 wide area network 2 foreign agent receives packets, forwards to mobile 4 3 visited network mobile replies directly to correspondent 19

Caching Duplicating data stored elsewhere To reduce latency for accessing the data To reduce resources consumed Caching is often quite effective Speed difference between cache and primary copy Locality of reference, and small set of popular data Examples from the Internet Example #1: DNS caching Example #2: Web caching 20

Caching: DNS Caching Root server 3 4 Application 1 10 DNS resolver 2 DNS query DNS response 9 DNS cache Local DNS server 8 5 6 7 Top-level domain server Second-level domain server 21

Caching: DNS Caching What is cached? Mapping of names to IP addresses IP addresses for DNS servers (e.g., for.com) DNS queries that failed (e.g., www.cnn.comm) Why it reduces latency? DNS queries can take a long time (e.g., 1 second) Local DNS server is typically very close to the users Why is the cache hit rate is very high? Cached information remains valid for awhile Popular sites (e.g., www.cnn.com) are visited often The cache is shared among a group of users 22

Caching: Web Caching What is cached? Web object, like an HTML file or embedded image Where is it cached? Browser cache, proxy cache, main-memory on server Why it reduces latency? Avoids fetching across the network (or the disk) Reduces load on the network and the server What helps increase the hit rate? Cacheable content (not dynamically generated) Sharing of the cache among multiple users Small amount of very popular content 23

Randomization Distributed adaptive algorithms Multiple distributed parties Adapting to network conditions independently Risk of synchronization Many parties reacting at the same time Leading to bad aggregate behavior Randomization can desynchronize Example #1: Ethernet back-off mechanism Example #2: Random Early Detection Rather than imposing centralized control 24

Randomization: Ways to Share Media Channel partitioning MAC protocols: Share channel efficiently and fairly at high load Inefficient at low load: delay in channel access, 1/N bandwidth allocated even if only 1 active node! Taking turns protocols Eliminates empty slots without causing collisions Vulnerable to failures (e.g., failed node or lost token) Random access MAC protocols Efficient at low load: single node can fully utilize channel High load: collision overhead 25

Randomization: Ethernet Back-off Random access: exponential back-off After collision, wait random time before retrying After m th, choose K randomly from {0,, 2 m -1} Wait for K*512 bit times before trying again 26

Randomization: Dropping Packets Early Congestion on a link Eventually the queue becomes full And new packets must be dropped Drop-tail queuing leads to bursty loss Many packets encounter a full queue Many TCP senders reduce their sending rates 27

Randomization: Dropping Packets Early Better to give early feedback Get a few connections to slow down before it is too late Random Early Detection (RED) Randomly drop packets when queue (near) full Drop rate increases as function of queue length Probability Average Queue Length 28

Networking Has Some Key Concepts Course was organized around protocols But a small set of concepts recur in many protocols Many of these are general CS concepts Hierarchy Indirection Caching Randomization Others are somewhat networking-specific Soft state Layering (De)multiplexing End-to-end argument 29

Soft State State: stored in nodes by network protocols Installed by receiver of a set-up message Updated when network conditions change Hard state: valid unless told otherwise Removed by receiver of a tear-down message Requires error handling to deal with sender failure Soft state: invalid if not told to refresh Removed by receiver via a timeout Periodically refreshed as needed Soft state reduces complexity Example #1: DNS caching Example #2: DHCP leases 30

Soft State: DNS Caching Root server 3 4 Application 1 10 DNS resolver 2 DNS query DNS response 9 DNS cache Local DNS server 8 5 6 7 Top-level domain server Second-level domain server 31

Soft State: DNS Caching Cache consistency is a hard problem Ensuring the cached copy is not out of date Strawman: explicit revocation or updates Keep track of everyone who has cached information If name-to-host mapping changes, update the caches If you fail to reach a cache, keep trying till success Soft state solution DNS responses include a time to live (TTL) field Cached entry is deleted after TTL expires revoke 32

Soft State: DHCP Bootstrapping DHCP discover (broadcast) arriving client DHCP offer DHCP server 233.1.2.5 DHCP request (broadcast) DHCP ACK Dynamic Host Configuration Protocol 33

Soft State: DHCP Leases DHCP offer message from the server Configuration parameters (proposed IP address, mask, gateway router, DNS server,...) Lease time (the time information remains valid) Why is a lease time necessary? Client can release address (DHCP RELEASE) E.g., ipconfig /release at the DOS prompt E.g., clean shutdown of the computer But, the host might not release the address E.g., the host crashes (blue screen of death!) E.g., buggy client software You don t want address to be allocated forever 34

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 Application Application-to-application channels Host-to-host connectivity Link hardware 35

Layering: Standing on Shoulders host HTTP HTTP message host HTTP TCP TCP segment TCP router router IP IP packet IP IP packet IP IP packet IP Ethernet interface Ethernet interface SONET interface SONET interface Ethernet interface Ethernet interface Ethernet frame SONET frame Ethernet frame 36

Layering: Internet Protocol Suite FTP HTTP NV TFTP Applications TCP IP UDP Waist UDP TCP NET 1 NET 2 NET n Data Link Physical The waist facilitates interoperability The Hourglass Model 37

Layering: Encapsulation of Data Different devices switch different things Physical layer: electrical signals (repeaters and hubs) Link layer: frames (bridges and switches) Network layer: packets (routers) Application gateway Transport gateway Router Frame header Packet header TCP header User data Bridge, switch Repeater, hub 38

Demultiplexing Separating multiple streams out of one Recognizing the separate streams Treating the separate streams accordingly Examples in the Internet type port # Frame header Packet header TCP header User data protocol 39

(De)multiplexing: With a NAT 138.76.29.7 10.0.0.1 NAT outside 10.0.0.2 inside 40

Power at the End Host 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. 41

Telephone Network Smart Network Dumb Terminals 42

Internet Dumb Network Smart Terminals 43

Why No Math in This Course? Hypothesis #1: theory not relevant to the Internet Body of mathematics created for telephone networks Teletraffic modeling, computing call blocking statistics Many of these models don t work in data networks Hypothesis #2: too many kinds of math to cover Queuing theory: statistical multiplexing works Control theory: TCP congestion control works Optimization theory: TCP maximizes aggregate utility Game theory: reasoning about competing ASes We still need to build a much stronger foundation 44

What Will Happen to the Internet 45

No Strict Notions of Identity Leads to Spam Spoofing Denial-of-service Route hijacking 46

Protocols Designed Based on Trust That you don t spoof your addresses MAC spoofing, IP address spoofing, spam, That port numbers correspond to applications Rather than being arbitrary, meaningless numbers That you adhere to the protocol Ethernet exponential back-off after a collision TCP additive increase, multiplicative decrease That protocol specifications are public So others can build interoperable implementations 47

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 48

Challenging New Requirements Disseminating data Rather than communicating between two machines Mobile hosts Rather than machines at a fixed location Sometimes-connected hosts Developing regions with intermittent connectivity Large number of hosts Billions of small networked devices (e.g., sensors) Real-time applications Voice over IP, gaming, and IPTV 49

The Internet of the Future Can we fix what ails the Internet Security Performance Upgradability Managability <your favorite gripe here> Without eliminating the good things Ease of adding new hosts Ease of adding new services Ease of adding new link technologies An open technical and policy question 50

Thank You! 51