Information-Centric Networks02a-1 Week 2 / Paper 1 The Design Philosophy of the DARPA Internet Protocols –David D. Clark –ACM CCR, Vol. 18, No. 4, August.

Slides:



Advertisements
Similar presentations
20.1 Chapter 20 Network Layer: Internet Protocol Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Advertisements

CCNA – Network Fundamentals
Chapter 7: Transport Layer
OSI Model OSI MODEL.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 7: Transport Layer Introduction to Networking.
COS 461 Fall 1997 Networks and Protocols u networks and protocols –definitions –motivation –history u protocol hierarchy –reasons for layering –quick tour.
The Design Philosophy of the DARPA Internet Protocols [Clark 1988] Nick McKeown CS244 Lecture 2 Architecture and Principles.
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based.
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based.
EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao
EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems The Internet in 2 Hours: The First Hour Steve Ko Computer Sciences and Engineering University.
CS 268: Lecture 2 (Layering & End-to-End Arguments)
The Design Philosophy of the DARPA Internet Protocols D. D. Clark.
Design Philosophy of the DARPA Internet Protocols CSCI 634, Fall 2010.
William Stallings Data and Computer Communications 7 th Edition (Selected slides used for lectures at Bina Nusantara University) Transport Layer.
Inside the Internet. INTERNET ARCHITECTURE The Internet system consists of a number of interconnected packet networks supporting communication among host.
The Design Philosophy of DARPA Internet Protocols David D. Clark.
Network Architectures Week 3 – OSI and The Internet.
Gursharan Singh Tatla Transport Layer 16-May
CS 268: Lecture 3 (TCP/IP Architecture) Ion Stoica January 28, 2003.
Fundamentals of Computer Networks ECE 478/578 Lecture #2 Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University of Arizona.
Data Communications and Networking
Chapter 4: Managing LAN Traffic
TELE202 Lecture 9 Internet Protocols (1) 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »Congestion control »Source: chapter 12 ¥This Lecture »Internet.
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based.
EPL606 Topic 1 Introduction Part B - Design Considerations 1 The majority of the slides in this course are adapted from the accompanying slides to the.
CS 268: Lecture 3 (Layering & End-to-End Arguments)
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.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 7: Transport Layer Introduction to Networking.
Network Architecture & Standards
Chapter 5 Transport layer With special emphasis on Transmission Control Protocol (TCP)
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Introduction Slide 1 A Communications Model Source: generates.
Introduction to Networks CS587x Lecture 1 Department of Computer Science Iowa State University.
Data and Computer Communications Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based Applications.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Lecture 1 Advance Topics in 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.
Network Architecture: Design Philosophies IS250 Spring 2010 John Chuang
1 Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Marwan Al-Namari Week 5. Responsible for delivering packets between endpoints over multiple links Physical Link Network Transport Application.
Packet switching network Data is divided into packets. Transfer of information as payload in data packets Packets undergo random delays & possible loss.
William Stallings Data and Computer Communications
Institute of Technology Sligo - Dept of Computing Chapter 12 The Transport Layer.
Information-Centric Networks Section # 2.1: Internet Evolution Instructor: George Xylomenos Department: Informatics.
1 Protocol Layering Myungchul Kim Tel:
Protocol Layering Chapter 11.
1 Transport Layer: Basics Outline Intro to transport UDP Congestion control basics.
J. Liebeher (modified by M. Veeraraghavan) 1 Introduction Complexity of networking: An example Layered communications The TCP/IP protocol suite.
Data Communications and Networks Chapter 6 – IP, UDP and TCP ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
Introduction Chapter 1. TCP/IP Reference Model Why Another Model? Although the OSI reference model is universally recognized, the historical and technical.
The Design Philosophy of the DARPA Internet Protocols [Clark 1988] Nick McKeown CS244 Lecture 2.
Computer Engineering and Networks, College of Engineering, Majmaah University Protocols OSI reference MODEL TCp /ip model Mohammed Saleem Bhat
OSI Model OSI MODEL. Communication Architecture Strategy for connecting host computers and other communicating equipment. Defines necessary elements for.
OSI Model OSI 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.
Distributed Systems.
Packet Switching Datagram Approach Virtual Circuit Approach
Chapter 1 Introduction Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2011.
The Design Philosophy of the DARPA Internet Protocols [Clark 1988]
Distributed Systems (Section B)
Lecturer, Department of Computer Application
Transport Layer Unit 5.
CS 268: Lecture 4 (TCP/IP Architecture)
Chapter 20 Network Layer: Internet Protocol
OSI Model OSI MODEL.
Computer Networks Topic :User datagram protocol Transmission Control Protocol -Hemashree S( )
The Design Philosophy of the DARPA Internet Protocols [Clark 1988]
Presentation transcript:

Information-Centric Networks02a-1 Week 2 / Paper 1 The Design Philosophy of the DARPA Internet Protocols –David D. Clark –ACM CCR, Vol. 18, No. 4, August 1988 Main point –Many papers describe how the Internet Protocols work –But why do they work as they do? –What was the motivation for the design choices made? –Essentially, what was their design philosophy

Information-Centric Networks02a-2 Introduction The DARPA Internet Protocols –DARPA (previously ARPA) funded development of the Internet –The paper captures 15 years of experience –Robert Kahn and Vinton Cerf designed TCP/IP in 1973 DARPA eventually made TCP/IP mandatory –David Clark assumed responsibility in 1981 –Van Jacobson redesigned TCP congestion control in 1987 Why are these protocols the way they are? –The design has evolved over time The datagram was not always as prominent as it became The Transport / Network split did not even exist –This paper outlines the original design principles It also acknowledges that some of them were not met!

Information-Centric Networks02a-3 Fundamental Goal Multiplexed utilization of existing interconnected networks –Originally, the ARPANET and the ARPA packet radio network –Local area networks did not even exist! –But it was always assumed that other networks would show up –The alternative would be a unified network It may have led to better performance But it was not deemed to be practical Separate networks better reflected administrative boundaries –The multiplexing technique chosen was packet switching It fit existing applications better than circuit switching Existing networks were also packet switched –Networks would be interconnected by gateways Essentially these were store and forward packet switches

Information-Centric Networks02a-4 Second level goals The interconnection technique should be effective Effective means, in order of importance 1.Communication continues despite failures 2.Multiple types of service must be supported 3.A variety of networks must be accommodated 4.Distributed resource management must be permitted 5.The architecture must be cost effective 6.Host attachment must require a low level of effort 7.The resources used must be accountable The order is very important! –A military network places survival on top –A commercial network could place accountability on top –Cost effectiveness is below the multiple types of service

Information-Centric Networks02a-5 Survivability Survivability in the face of failure –Two entities must continue communicating despite failures If there is a path between them, they should keep communicating Synchronization is lost only if there is total partition –This implies that the network should avoid maintaining state Conversation state must not be kept inside the network –E.g. packets transmitted or acknowledged, flow control data Otherwise failures would require the applications to be reset –Therefore, conversation state is kept at the endpoints Fate sharing: conversation state is lost only if an endpoint fails Much easier to engineer than in-network state replication –Consequences of fate sharing Packet switches are stateless (datagram model) Endpoints are responsible for the transport layer

Information-Centric Networks02a-6 Types of Service Support of multiple types of service –Different requirements in speed, latency, reliability The traditional network service was a virtual circuit –Bi-directional reliable data delivery –Remote login: low delay –File transfer: high throughput –TCP attempts to provide both But TCP cannot handle everything –XNET: cross-Internet debugger How can you expect reliable transmission in a buggy endpoint? –Real time delivery of speech (teleconferencing) No point in retransmissions and they also introduce delays –The network should work well with other services

Information-Centric Networks02a-7 Types of Service The split between TCP and IP –Originally a single protocol existed, but TCP did not fit everything –IP kept the best effort datagram delivery service –UDP exported this service to higher layers –TCP added the virtual circuit service What do the underlying networks provide? –No assumptions are made, datagrams are enough –But the architecture does not exploit better services –It proved hard to support multiple types of service –Each underlying network worked best with a specific service X.25 works better for reliable services Ethernet works better for unreliable services

Information-Centric Networks02a-8 Varieties of networks The Internet supports all kinds of networks –Slow and fast, reliable and unreliable, wired and wireless –Many more have been added since the paper was written Minimal requirements for Internet support –Ability to transport reasonably sized datagrams (>100 bytes) –Reasonable (not perfect) reliability –Some suitable for of addressing nodes is needed –No need for anything else Sequenced delivery Broadcast or multicast Packet priorities Error reporting –Everything else is engineered at the transport layer

Information-Centric Networks02a-9 Other Goals The three top goals were met quite well –The rest were not met or engineered that well! Distributed management partially works –Routing is distributed and differs at each domain –Policy routing is tough to do (see later lectures on BGP) Cost effectiveness depends on the circumstances –A 40 byte TCP/IP header is overkill for remote login –End-to-end retransmissions are wasteful Host attachment is complicated –The endpoint needs to implement complex transport protocols –Bad transport implementations hurt the network Accountability is basically non existent!

Information-Centric Networks02a-10 Architecture and Implementation The Internet architecture is very flexible by design –Network performance depends on lot on the realization What networks are connected, what protocols are implemented How can one engineer a specific performance goal? –What is the required bandwidth? –What are the reliability requirements? –The issue is not verifying correctness, but predicting performance –Simulations are usually not enough due to complexity –The operating system is very critical due to reliance on endpoints –Back of the envelope calculations are common! Performance goals have not been addressed well –Even though it was one of the main goals of the designers –Hard to specify network parameters for procurement contracts!

Information-Centric Networks02a-11 Datagrams Datagrams are the fundamental unit of transport –No need for connection state in the network –Can be used to build different services –Allow many different networks to be incorporated –The use of datagrams turned out to be very important Datagrams do not reflect the intended Internet usage –UDP does export datagram services to higher layers –But very few applications actually are content with it! Simple query/response service (e.g. DNS) –UDP is nearly always used as a basis Reliability or delay smoothing are commonly added –The datagram is a building block, not a service in itself

Information-Centric Networks02a-12 TCP How did TCP evolve to its present state? –Note that it has hardly changed since 1988! –TCP uses byte based flow control for many reasons Insertion of control data in the stream (dropped, ad hoc solutions) Fragmentation of packets (dropped, IP does that) Grouping of many small transmissions (used) More exact flow control (used) In retrospect, packet based flow control would also be useful –TCP uses the PSH flag as an indicator Originally an EOL flag was used to delimit records But it was insufficient for packets with many records A lot of different solutions were debated and tried In the end EOL was dropped as it was not generalized enough

Information-Centric Networks02a-13 Retrospective The Internet works well for its top priorities –But these priorities do not always match user needs This became even clearer in the 1990s The datagram is a good case –It made the network very flexible and popular –But it makes accounting and resource management complex Packet flows –Sequences of related datagrams –Ideally recognized by the network –But without requiring state that must be replicated The network should keep working if that state was lost This is called soft state –Lack of flow support shows how hard it is to change the Internet!