T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 Taj Mahal, Agra, India.

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
COS 461 Fall 1997 Networks and Protocols u networks and protocols –definitions –motivation –history u protocol hierarchy –reasons for layering –quick tour.
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)
Semester Copyright USM EEE442 Computer Networks Introduction: Protocols En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK)
EE 122: Layering and the Internet Architecture Kevin Lai September 4, 2002.
1 EE 122: Internet Design Principles Ion Stoica TAs: Junda Liu, DK Moon, David Zats (Materials with thanks to Vern.
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.
Review on Networking Technologies Linda Wu (CMPT )
EECS122 - UCB 1 CS 194: Distributed Systems Communication Protocols, RPC Computer Science Division Department of Electrical Engineering and Computer Sciences.
 The Open Systems Interconnection model (OSI model) is a product of the Open Systems Interconnection effort at the International Organization for Standardization.
Gursharan Singh Tatla Transport Layer 16-May
1 Review of Important Networking Concepts Introductory material. This slide uses the example from the previous module to review important networking concepts:
CS 356 Systems Security Spring Dr. Indrajit Ray
What’s going on here? Leo Koppel Jan The OSI Model LayersData unitFunctionExamples Host layers 7. ApplicationApplication Data High-level APIs,
Plan of attack ‣ What is a network made of? ‣ How is it shared? ‣ How do we evaluate a network? ‣ How is communication organized? 1.
CS 268: Lecture 4 (Internet Architecture & E2E Arguments)
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.
Protocols and the TCP/IP Suite
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.
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.
Computer Communication & Networks Lecture # 02 Nadeem Majeed Choudhary
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.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Lecture 4: Fundamental network design issues Slides.
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.
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
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
Lecture 4 Overview. Ethernet Data Link Layer protocol Ethernet (IEEE 802.3) is widely used Supported by a variety of physical layer implementations Multi-access.
Computer Networking Michaelmas/Lent Term M/W/F 11:00-12:00
CHAPTER 4 PROTOCOLS AND THE TCP/IP SUITE Acknowledgement: The Slides Were Provided By Cory Beard, William Stallings For Their Textbook “Wireless Communication.
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
Voice Over Internet Protocol (VoIP) Copyright © 2006 Heathkit Company, Inc. All Rights Reserved Presentation 5 – VoIP and the OSI Model.
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:
Network Architecture IS250 Spring 2010 John Chuang
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.
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.
Network Architecture Introductory material
Taj Mahal, Agra, India T. S. Eugene Ng eugeneng at cs.rice.edu Rice University.
Administrative stuff TA: Almudena Konrad Paper reviews:
Review of Important Networking Concepts
E2E Arguments & Project Suggestions (Lecture 4, cs262a)
Review of Important Networking Concepts
1 TRANSMISSION CONTROL PROTOCOL / INTERNET PROTOCOL (TCP/IP) K. PALANIVEL Systems Analyst, Computer Centre Pondicherry University, Puducherry –
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:

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 Taj Mahal, Agra, India

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University2 Opera House, Sydney, Australia

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University3 Parthenon, Athens, Greece

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University4 Burj al Arab Hotel, Dubai, UAE

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University5 Fallingwater, Mill Run, USA

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University6 Notre Dame Cathedral, Paris, France

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University7 Stata Hall, MIT, Cambridge, USA

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University8 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 Ngeugeneng at cs.rice.edu Rice University9 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?

On which node(s) should each f u n c t i o n a l i t y b e p l a c e d ? T. S. Eugene Ngeugeneng at cs.rice.edu Rice University10

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

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

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

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University14 Example: Reliable File Transfer Idea 1: make network reliable Idea 2: implement correctness check at application and retry if failed OS App OS App Host AHost B

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University15 Example (cont’d) Idea 1 not complete –Bugs can exist in OS code! –Data on disk can be corrupted during write –What happens if any network element misbehaves? –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 Is there any remaining reason to implement reliability features at other components?

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University16 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 Ngeugeneng at cs.rice.edu Rice University17 Basic Observations Some applications have end-to-end performance requirements –reliability, security, etc. Implementing these in the network is very hard –every step along the way must be fail-proof The applications: –can satisfy the requirement –can’t depend on the network

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University18 Basic Observations Implementing such requirements in the network: Doesn’t reduce application implementation complexity Does increase network complexity Probably imposes delay and overhead on all applications, even if they don’t have such requirements However, implementing in network can enhance performance in some cases –e.g. in-network retransmission over very lossy link

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University19 Conservative Interpretation of the End-to-End Argument There are many levels in a distributed system: application, OS, network, etc. 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 Ngeugeneng at cs.rice.edu Rice University20 Radical Interpretation Don’t implement anything in the network that can be implemented correctly by the hosts Make the network absolutely minimal –ignore performance issues

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University21 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

How to Organize Functionalities on Each Node? T. S. Eugene Ngeugeneng at cs.rice.edu Rice University22

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University23 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 Ngeugeneng at cs.rice.edu Rice University24 Network Modularity Like software modularity, but with a twist: Implementation distributed across routers and hosts Must decide both: –how to break system into modules –where modules are implemented

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University25 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 Ngeugeneng at cs.rice.edu Rice University26 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 Ngeugeneng at cs.rice.edu Rice University27 A Naïve Architecture 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 Application end points may not be on the same media! SMTP SSHFTP Packet radio Coaxial cable Fiber optic Application Transmission Media HTTP

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

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University29 Take home point: The Internet Hourglass

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University30 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 Ngeugeneng at cs.rice.edu Rice University31 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. Physical Layer Dropbox, Skype, Web

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University32 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 Ngeugeneng at cs.rice.edu Rice University33 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 Ngeugeneng at cs.rice.edu Rice University34 Network Layer (3) Service: –deliver a packet to specified network destination –perform segmentation/reassemble –others: packet scheduling buffer management Interface: send a packet to a specified destination Protocol: define global unique addresses; construct routing tables (e.g IPv4, IPv6)

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University35 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 Ngeugeneng at cs.rice.edu Rice University36 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 Ngeugeneng at cs.rice.edu Rice University37 Internet Protocol Architecture IP protocol Ethernet protocol ATM protocol

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

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University39 Reality Layering and E2E Principle regularly violated: –Firewalls –Transparent caches –Other middleboxes Battle between architectural purity and commercial pressures