Design Principles : Fundamentals of Computer Networks Bill Nace

Similar documents
Architectural Principles

CS 678 Spring 2013 Network Architecture and Principles

Week 2 / Paper 1. The Design Philosophy of the DARPA Internet Protocols

CS 268: Internet Architecture & E2E Arguments. Today s Agenda. Scott Shenker and Ion Stoica (Fall, 2010) Design goals.

Design Considerations : Computer Networking. Outline

Internet Design: Big Picture

Network Architecture COS 461: Computer Networks

Internet Design Principles and Architecture

Internet Architecture. CPS 214 (Nick Feamster) January 14, 2008

Architectural Principles

CS4700/5700: Network fundamentals

Network Reading Group

Lecture 2: Internet Architecture

CS 598: Advanced Internet

Page 1. Goals for Today" What Is A Protocol?" CS162 Operating Systems and Systems Programming Lecture 10. Protocols, Layering and e2e Argument"

CS 268: Computer Networking

416 Distributed Systems. Networks review; Day 2 of 2 Fate sharing, e2e principle And start of RPC Jan 10, 2018

Review on The Design Philosophy of the DARPA Internet Protocols by David D. Clark. Presented by : Daminda Perera 16/02/2008

Announcements Computer Networking. What is the Objective of the Internet? Today s Lecture

CE693: Adv. Computer Networking

CS 268: Lecture 4 (Internet Architecture & E2E Arguments)

Internet Architecture and Experimentation

CE693: Adv. Computer Networking

Architectural Principles of the Internet

Goal 0: Connecting Networks. Challenge 1: Address Formats. Challenge 2: Different Packet Sizes. Goals [Clark88]

416 Distributed Systems. Networks review; Day 2 of 2 And start of RPC Jan 13, 2016

TDTS21 Advanced Networking

Lecture 16: Network Layer Overview, Internet Protocol

precise rules that govern communication between two parties TCP/IP: the basic Internet protocols IP: Internet protocol (bottom level)

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

Design Considerations : Computer Networking. Outline. Challenge 1: Address Formats. Challenge. How to determine split of functionality

Chapter 11: Wide-Area Networks and the Internet

CSC2209 Computer Networks

Networking and Internetworking 1

Internet Architecture and Assumptions. David Andersen CMU Computer Science

15-744: Computer Networking. L-1 Intro to Computer Networks

Part 1: Introduction. Goal: Review of how the Internet works Overview

Advanced Computer Networks

CS 43: Computer Networks The Network Layer. Kevin Webb Swarthmore College November 2, 2017

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

Introduction to computer networking

Network Architecture. EE 122, Fall 2013 Sylvia Ratnasamy

Network Layer (1) Networked Systems 3 Lecture 8

Need For Protocol Architecture

Need For Protocol Architecture

Course on Computer Communication and Networks. Lecture 1 Chapter 1: Introduction Part A: Internet, Protocol Layering and Data

CS 3640: Introduction to Networks and Their Applications

Networking for Data Acquisition Systems. Fabrice Le Goff - 14/02/ ISOTDAQ

Network and Mobile Compu4ng in the 20 th Century and Beyond. COMP 1400 Memorial University Winter 2015

Lecture 2: Links and Signaling

ETSF10 Internet Protocols Transport Layer Protocols

Named Data Networking (NDN) CLASS WEB SITE: NDN. Introduction to NDN. Updated with Lecture Notes. Data-centric addressing

Introduction to Networks

CS4700/CS5700 Fundaments of Computer Networks

Internet Design Principles

Virtual Link Layer : Fundamentals of Computer Networks Bill Nace

CPS221 Lecture: Layered Network Architecture

Lecture 2: Layering & End-to-End

Virtual Link Layer : Fundamentals of Computer Networks Bill Nace

Distributed Systems /640

CSCI-1680 Network Layer:

Announcements. CS 5565 Network Architecture and Protocols. Outline for today. The Internet: nuts and bolts view. The Internet: nuts and bolts view

Strategies, approaches and ethical considerations

Networking Applications

Data Communications and Networks Spring Syllabus and Reading Assignments

Data & Computer Communication

b) Diverse forms of physical connection - all sorts of wired connections, wireless connections, fiber optics, etc.

Data and Computer Communications

Chapter 2. Communicating Over The Network. CCNA1-1 Chapter 2

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

Introduction to the Internet

RMIT University. Data Communication and Net-Centric Computing COSC 1111/2061. Lecture 2. Internetworking IPv4, IPv6

Lecture 2: Internet Structure

Lecture 3 Protocol Stacks and Layering

CS 204: Advanced Computer Networks

EC441 Fall 2018 Introduction to Computer Networking Chapter4: Network Layer Data Plane

CSE 486/586: Distributed Systems

CMSC 332 Computer Networks Network Layer

CE 443: Computer Networks

Data Networks. Lecture 1: Introduction. September 4, 2008

Chapter 4. Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, sl April 2009.

Internet A Brief Tutorial. Jean Walrand EECS U.C. Berkeley

ISPs, Backbones and Peering

AERONAUTICAL COMMUNICATIONS PANEL (ACP) ATN and IP

On Distributed Communications, Rand Report RM-3420-PR, Paul Baran, August 1964

EITF25 Internet Techniques and Applications L7: Internet. Stefan Höst

A quick guide to the Internet. David Clark 6.978J/ESD.68J Lecture 1 V1.0 Spring 2006

Layered Architecture

CSCI Computer Networks

CAS CS 556. What to expect? Background? Abraham Matta. Advanced Computer Networks. Increase understanding of fundamentals and design tradeoffs

Lecture 7. Network Layer. Network Layer 1-1

Prof. Shervin Shirmohammadi SITE, University of Ottawa. Internet Protocol (IP) Lecture 2: Prof. Shervin Shirmohammadi CEG

ICS 351: Networking Protocols

Lecture 05 Application Layer - I

Goals and topics. Verkkomedian perusteet Fundamentals of Network Media T Circuit switching networks. Topics. Packet-switching networks

COS 140: Foundations of Computer Science

Scott Jordan University of California, Irvine. Intersections between Information Technology Research and Public Policy

HW3 and Quiz. P14, P24, P26, P27, P28, P31, P37, P43, P46, P55, due at 3:00pm with both soft and hard copies, 11/11/2013 (Monday) TCP), 20 mins

Chapter 2 Communicating Over the Network

Computer Networks. Dr. Abdel Ilah ALshbatat Dept. of Communication and Computer Engineering Faculty of Engineering Tafila Technical University

Transcription:

Design Principles 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross

Administrivia No Paper Review for today Next lesson: Review Norton2010 NOTE: Not Norton2003! Do not review RFC 2901, but skim it Paper review feedback (Clark88) Make it short & sweet No need to quote the paper 2

Last Lecture Layered Architecture Why layers? What goes into each layer? Service, interface, protocol ISO OSI model (7-layer cake) Application messages Application Transport segments Transport Network packets Network packets Network packets Network Data Link frames Data Link frames Data Link frames Data Link Physical bits Physical bits Physical bits Physical 3

Roadmap TCP/IP Architecture Goals of TCP/IP Design End-to-End argument 4

TCP/IP Architecture Distributed applications HTTP SMTP DNS (queries) VOIP Reliable stream service User datagram service TCP UDP Best-effort connectionless packet transfer IP Ethernet Wi-Fi Fiber Telephony Diverse network technologies

Architecture Features: #1 Is strict layering implied? No. Applications are free to bypass the defined transport layer and to directly use IP or the data-link technology for that matter or to build on top of regular applications (like HTTP, SSL) Application TCP UDP IP Network Interface (Ethernet, PPP, etc)

Architecture Features: #2 Hourglass figure! Reflects the central philosophy of the Internet Architecture IP over everything! IP is the glue IP is a common method of exchanging packets over a wide collection of networks Above IP: lots of stuff Arbitrary many transport and application protocols Below IP: lots of stuff Arbitrarily many network technologies

Hourglass importance The narrow waist represents a minimal and carefully chosen set of global capabilities Allows higher-level applications and lowerlevel communication technologies to co-exist, share capabilities and evolve rapidly Critical to the Internet s ability to adapt rapidly to new user demands and changing technologies Drawback: Changing IP is difficult (see IPv6) 8

Architecture Features: #3 Internet Engineering Task Force (IETF) Standardization community for Internet protocols For a new protocol to become standard: A detailed protocol specification, beaten up by a working group of experts in the area At least two independent implementations Emphasis on rough consensus and running code 9

Sidebar: Request for Comments Every IETF standard is published as an RFC Proposed / Draft standards Must have at least 2 (why??) independent implementations of each part of the standard Internet standards Experimental protocols check out RFC 1149 Available at ietf.org/rfc/rfc1149.txt Information documents Historical standards Not all RFCs are standards What is special about RFC 2773? 10

Roadmap TCP/IP Architecture Goals of TCP/IP Design End-to-End argument 11

Clark88 Paper Design Philosophy of the DARPA Internet Protocols, David Clark, ACM Sigcomm, 1988 Attempts to give motivation and reasoning behind the TCP/IP architecture design A list of goals, in order of priority The goals were defined from the viewpoint of the U.S. government 12

Assumptions Each player in the Internet shares a common vision and sense of purpose Build network infrastructure to hook computers together Build applications to run on top Not much thought on trustworthiness of entities Not much thought on commercial players 13

Fundamental Goal Interconnect existing networks The military must be able to communicate using radio and satellite, as well as wired networks Needed to maintain separate administrative control for each network (think Army, Navy, etc) Use well-understood technology: Store-and-forward packet-switching was known from ARPANET, add gateways to glue it together H Net1 G Net2 G G G H Net3 G Net4 G Net5 H 14

2nd level goals: In order of importance Continue despite loss of networks or gateways Robustness against failure Support multiple types of communication services Connection-oriented vs connectionless Accommodate a variety of networks Ethernet, ATM Permit distributed management of its resources Network of networks Be cost-effective (?) Permit host attachment with a low level of effort Rapid deployment of applications, services, networks Account for resources used (?)

Robustness Against Failures Architecture needs to store state of a conversation Answers Where were we? after an disruption Which data was received, which was lost Use this state to recover from loss of synchronization Where should this state be stored? Approach #1: In the intermediate nodes Approach #2: At the end-hosts What are the pros and cons of the two approaches? 16

Where should I leave my breadcrumbs? Approach #1: In the intermediate nodes Requires replication of state everywhere Difficult to build algorithms Synchronization issues Approach #2: At the end-hosts Fate sharing If the end-host is lost, the state associated with its conversation is also lost Much easier to engineer than replication 17

Stateless Network Core IP uses approach #2 Intermediate nodes (routers, gateways, switches, etc) do not have any state information about on-going connections Stateless nodes Also called a datagram network Datagram is another word for packet End-hosts ensure reliable delivery of data (if they care) 18

Intelligence of Internet Devices Dumb routers (or networks) Really only supposed to do one thing and one thing fast forwarding packets Do not need to know much else! Smart hosts (or machines) Responsible for a lot more Reliability, flow control, congestion control, buffering... Why is this changing today? Next lecture on the provider and customer relationships between ISPs and companies 19

Types of Service Originally, TCP was thought to be enough Audio conferencing (i.e. digitized speech) does not need strict reliability guarantee Found out reliability is the main source of delay! Must wait for a lost packet to be retransmitted before sending rest of the received packets in sequence 20

Types of Service (2) Originally, TCP and IP were at the same layer Decided to separate them IP as the basic datagram building block UDP was viewed as a building block for construction of multiple services A very wise decision indeed 21

Distributed Management Mostly achieved Networks can be administered separately Network can run different internal routing protocols Original work included manual setting of routing tables! 22

Today s Management Improved with the introduction of BGP But managing routing policies is still a big issue in today s Internet Route hijacking: a network announces someone else s routes to attract traffic, a form of denial-of-service attack Misconfigurations are difficult to detect and recover from 23

Accounting of Resources Last on the list of goals Little (or no attention) in the original design Virtually no tools at that time the U.S. military did not need accounting! 24

Today s Accounting Coarse-grained tools are widely in use Bits-per-second, packet-per-second granularity Recent tools measure and monitor traffic based on flows, e.g. Netflow Source/Destination pairs (or prefixes) Research in inferring traffic matrices 25

Roadmap TCP/IP Architecture Goals of TCP/IP Design End-to-End argument 26

Saltzer84 Paper J.H. Saltzer, D.P. Reed, and D.D. Clark, End-to- End Arguments in System Design, ACM Transactions on Computer Systems (4):277-88, Nov 1984 States the End-to-End Argument A function that can be implemented at the application layer (i.e. end-points) should not be in the lower layers (i.e. network core) 27

End-to-End Arguments Eliminate duplication of function across layers Allows for more innovation Core should not be tailored to any specific application Shouldn t inhibit deployment of new things Reliability The simpler the core, the more reliable it is 28

Exception: Performance Optimization A lower layer could implement a higher layer function if it is for improving performance Example: Wireless networks have very high loss rate Inefficient to wait for application to realize a packet is lost and signal retransmit The request for retransmit message may also be lost Add reliability to the link layer Most link layer technologies implement some sort of error correction mechanism WARNING: This is a complex design tradeoff 29

How about inventing a New Internet Architecture? How would you change the list of goals or priorities? Why? Do the design principles we covered still apply? See what David Clark says 15 years later 30

2002 Paper Tussle in Cyberspace: Defining Tomorrow s Internet, David Clark et al, 2002 Revisiting old principles Suggesting new design principles Tussles: Different stakeholders have adverse interests, each vie to favor their particular positions 31

Moving Away? Operation in an untrustworthy world Firewalls, content filters, DMZ, etc More demanding applications (YouTube) Implement using caches placed close to end users Dramatic growth of end-hosts Refrigerators need an IP address? IPv4 has few Network Address Translation (NAT) boxes Map N public IP addresses to M end-hosts (connections) behind NAT, where M >> N 32

Moving Away from End-to-End ISP service differentiation Keep enhanced services within the ISP s network, as competitive differentiator Less sophisticated users Prefer simpler end hosts without constant need of software configuration, upgrade and maintenance Proliferation of non- computer end hosts 33

Routers are getting Smarter Quality of Service (QoS) Routers forwards certain packets before others Software Defined Networking (SDN) Router is programmed not just protocols Virtual Private Networks (VPNs) Accounting Not designed into the architecture Management (ditto) 34

Lesson Objectives Now, you should be able to: describe the internet's layered architecture according to the TCP/IP model and argue the importance of architectural features of that model explain the role of the IETF in the internet's operation describe the goals of the TCP/IP design according to Clark88 and identify the fundamental goal 35

Now, you should be able to: explain the ramifications of the robustness, multiple services and multiple networks goals on the design of the TCP/IP protocols explain Saltzer84's End-to-End argument. Be able to describe exceptional situations where it may not apply as well as ways in which the modern internet may be moving away from this design philosophy 36

Summary TCP/IP Architecture Not strict layering Hourglass IETF Goals of TCP/IP Design End-to-End argument Is it still applicable? 37