Taj Mahal, Agra, India T. S. Eugene Ng eugeneng at cs.rice.edu Rice University.

Slides:



Advertisements
Similar presentations
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Internet architecture Slides used with permissions.
Advertisements

Layering and the network layer CS168, Fall 2014 Sylvia Ratnasamy
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.
1 Katz, Stoica F04 EECS 122: Introduction to Computer Networks Network Architecture Computer Science Division Department of Electrical Engineering and.
CS 268: Lecture 2 (Layering & End-to-End Arguments)
EE 122: Layering and the Internet Architecture Kevin Lai September 4, 2002.
1 Review of Important Networking Concepts Introductory material. This module uses the example from the previous module to review important networking concepts:
1 Link Layer & Network Layer Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans Kaashoek, Hari Balakrishnan, and Sam Madden Prof. Dina Katabi.
 The Open Systems Interconnection model (OSI model) is a product of the Open Systems Interconnection effort at the International Organization for Standardization.
1 Review of Important Networking Concepts Introductory material. This slide uses the example from the previous module to review important networking concepts:
Lecture slides prepared for “Business Data Communications”, 7/e, by William Stallings and Tom Case, Chapter 8 “TCP/IP”.
What’s going on here? Leo Koppel Jan The OSI Model LayersData unitFunctionExamples Host layers 7. ApplicationApplication Data High-level APIs,
Protocols and the TCP/IP Suite Chapter 4. Multilayer communication. A series of layers, each built upon the one below it. The purpose of each layer is.
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based.
CS 268: Lecture 3 (Layering & End-to-End Arguments)
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.
Introduction1-1 COSC6377: Computer Networks Rong Zheng Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 Taj Mahal, Agra, India.
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
Computer Networks (CS 132/EECS148) General Networking Example Karim El Defrawy Donald Bren School of Information and Computer Science University of California.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Network Services Networking for Home and Small Businesses – Chapter 6.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Lecture 5: Internet architecture Slides used with.
Data and Computer Communications Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based Applications.
Computer Networks. Introduction Computer Network2 A History Lesson of Networking 1969 – ARPANET, first packet switched network consist of UCLA, Stanford,
CS 268: Internet Architecture & E2E Arguments Scott Shenker and Ion Stoica (Fall, 2010) 1.
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.
Computer Security Workshops Networking 101. Reasons To Know Networking In Regard to Computer Security To understand the flow of information on the Internet.
William Stallings Data and Computer Communications
TCP/IP Protocol Architecture CSE 3213 – Fall
CS 4700 / CS 5700 Network Fundamentals
1 Chapter 4. Protocols and the TCP/IP Suite Wen-Shyang Hwang KUAS EE.
Slide #1 CIT 380: Securing Computer Systems TCP/IP.
CS 3700 Networks and Distributed Systems
Enterprise Network Systems TCP Mark Clements. 3 March 2008ENS 2 Last Week – Client/ Server Cost effective way of providing more computing power High specs.
CS 4700 / CS 5700 Network Fundamentals Lecture 3: Internet Architecture (Layer cake and an hourglass) Revised 1/11/16.
- 1 - DPNM Review of Important Networking Concepts J. Won-Ki Hong Dept. of Computer Science and Engineering POSTECH Tel:
Roadmap  Introduction to Basics  Computer Network – Components | Classification  Internet  Clients and Servers  Network Models  Protocol Layers.
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.
Networking Using the OSI Model.
E2E Arguments & Project Suggestions (Lecture 4, cs262a)
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Computer Networks.
March 14, 2011 Ion Stoica CS162 Operating Systems and Systems Programming Lecture 14 Protocols, Layering and e2e.
Part I. Overview of Data Communications and Networking
OSI Protocol Stack Given the post man exemple.
Networking for Home and Small Businesses – Chapter 6
Lecture 6: TCP/IP Networking By: Adal Alashban
Network Architecture Introductory material
Networking for Home and Small Businesses – Chapter 6
Administrative stuff TA: Almudena Konrad Paper reviews:
CPE 401 / 601 Computer Network Systems
Protocols and the TCP/IP Suite
Data and Computer Communications by William Stallings Eighth Edition
Review of Important Networking Concepts
I. Basic Network Concepts
Process-to-Process Delivery:
E2E Arguments & Project Suggestions (Lecture 4, cs262a)
Review of Important Networking Concepts
Lecture 6: TCP/IP Networking 1nd semester By: Adal ALashban.
TCP/IP Protocol Suite: Review
Lecture 2: Overview of TCP/IP protocol
1 TRANSMISSION CONTROL PROTOCOL / INTERNET PROTOCOL (TCP/IP) K. PALANIVEL Systems Analyst, Computer Centre Pondicherry University, Puducherry –
Protocols and the TCP/IP Suite
Computer Networking A Top-Down Approach Featuring the Internet
Networking for Home and Small Businesses – Chapter 6
Review of Important Networking Concepts
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Presentation transcript:

Taj Mahal, Agra, India T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Temple of Heaven, Beijing, China T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Opera House, Sydney, Australia T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Parthenon, Athens, Greece T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Burj al Arab Hotel, Dubai, UAE T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Fallingwater, Mill Run, USA T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Notre Dame Cathedral, Paris, France T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Stata Hall, MIT, Cambridge, USA T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

COMP/ELEC 429/556 Introduction to Computer Networks Internet architecture Some slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Architecture: Organizing Network Functionality Goals: Functional, flexible, elegant/beautiful Many kinds of networking functionality e.g., encoding, framing, routing, addressing, reliability, etc. Many different network styles and technologies circuit-switched vs packet-switched, etc. wireless vs wired, electrical vs optical, etc. Many different applications dropbox, web, voice, video, etc. A network has many nodes (routers, switches, hosts) Network architecture On which node(s) should each functionality be placed? How should functionalities on a node be organized? T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Central question: On which node(s) should functionalities be placed? T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Example: Addressing Which node(s) should be able to interpret network addresses in packets? T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Example: Routing Which node(s) should make routing decisions? T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Example: Routing Which node(s) should make routing decisions? T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Example: Reliable File Transfer Host A Host B App App OS OS Idea 1: put reliability function in the network; i.e. make network reliable Idea 2: put reliability function in the hosts; i.e. implement correctness check at application and retry if failed T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Example (cont’d) Idea 1 not complete Idea 2 is complete Bugs can exist in OS code! Data on disk can be corrupted during write The receiver has to do the check anyway! Idea 2 is complete Full functionality can be entirely implemented at application with no need for guaranteed reliability from other components T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Placing Functionality The most influential paper about placing functionality is “End-to-End Arguments in System Design” by Saltzer, Reed, and Clark T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Basic Observations There are many levels in a distributed system: application, OS, network, etc. Some applications have end-to-end performance requirements reliability, security, etc. Implementing these in levels below the applications is very hard every step along the way must be fail-proof if not fail-proof, application’s implementation complexity is not reduced increases lower levels’ complexity imposes delay and overhead on all applications, even if they don’t have such requirements The applications: can satisfy the requirement can’t depend on the lower levels T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Conservative Interpretation of the End-to-End Argument Don’t implement a function in a low level unless it can be completely implemented in that level Unless you can relieve the burden from applications, then don’t bother T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Radical Interpretation Don’t implement anything in a low level that can be implemented correctly by the applications Make the low level absolutely minimal ignore performance issues T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Moderate Interpretation Think twice before implementing functionality in the network If hosts can implement functionality correctly, implement it at a lower level only as a performance enhancement But do so only if it does not impose burden on applications that do not require that functionality T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

How to Organize Functionalities on Each Node? T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Software Modularity Break system into modules: Well-defined interfaces gives flexibility can change implementation of modules can extend functionality of system by adding new modules Interfaces hide information allows for flexibility but can hurt performance T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Network Modularity Like software modularity, but with a twist: Implementation distributed (e.g. across routers and hosts) Must decide both: how to break system into modules where modules are implemented T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Layering Layering is a particular form of modularization The system is broken into a vertical hierarchy of logically distinct entities (layers) The service provided by one layer is based solely on the service provided by layer below Rigid structure: easy reuse, performance may suffer T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

A Naïve Architecture HTTP Application SMTP SSH FTP Coaxial cable Fiber optic Packet radio Transmission Media new application has to interface to all existing media adding new application requires O(m) work, m = number of media new media requires all existing applications be modified adding new media requires O(a) work, a = number of applications total work in system O(ma)  eventually too much work to add apps/media T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Solution: Indirection Solution: introduce an intermediate layer that provides a single abstraction for various network technologies O(1) work to add app/media vs Application SMTP SSH NFS HTTP Intermediate layer Coaxial cable Fiber optic 802.11 LAN Transmission Media T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Take home point: The Internet Hourglass T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Implications of Hourglass A single Internet layer module: Allows all networks to interoperate all networks technologies that support IP can exchange packets Allows all applications to function on all networks all applications that can run on IP can use any network Simultaneous developments above and below IP T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Internet Protocol Architecture The TCP/IP protocol suite is the basis for the networks that we call the Internet. The TCP/IP suite has four layers: Application, Transport, Network, and (Data) Link Layer. Dropbox, Skype, Web Physical Layer T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Terminology Service – says what a layer does Ethernet: unreliable subnet unicast/multicast/broadcast datagram service IP: unreliable end-to-end unicast datagram service TCP: reliable end-to-end bi-directional byte stream service Service Interface – says how to access the service E.g. UNIX socket interface Protocol – says how the service is implemented a set of rules and formats that govern the communication between two peers T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Physical Layer (1) Service: move information between two systems connected by a physical link Interface: specifies how to send a bit Protocol: coding scheme used to represent a bit, voltage levels, duration of a bit Examples: coaxial cable, optical fiber links T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Datalink Layer (2) Service: framing (attach frame separators) send data frames between peers others: arbitrate the access to common physical media per-hop reliable transmission per-hop flow control Interface: send a data unit (packet) to a machine connected to the same physical media Protocol: layer addresses, implement Medium Access Control (MAC) (e.g., IEEE802.3, IEEE802.11, CSMA/CD)… T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Network Layer (3) Service: deliver a packet to specified network destination perform segmentation/reassemble others will be discussed Interface: send a packet to a specified destination Protocol: define global unique addresses; construct routing tables (e.g IPv4, IPv6) T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Transport Layer (4) Service: Multiplexing/demultiplexing optional: error-free and flow-controlled delivery Interface: send message to specific destination Protocol: implements reliability and flow control Examples: TCP and UDP T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Application Layer (7) Service: any service provided to the end user Interface: depends on the application Protocol: depends on the application Examples: Dropbox, Skype, Web T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Internet Protocol Architecture Web browser TCP IP Ethernet Driver ATM server HTTP protocol TCP protocol IP protocol IP protocol Ethernet ATM protocol protocol T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Encapsulation As data is moving down the protocol stack, each protocol is adding layer-specific control information. T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

Reality Layering and E2E Principle regularly violated: Firewall Network address translation Transparent web cache Battle between architectural purity and commercial pressures T. S. Eugene Ng eugeneng at cs.rice.edu Rice University