1 Katz, Stoica F04 EECS 122: Introduction to Computer Networks Network Architecture Computer Science Division Department of Electrical Engineering and.

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
OSI Model OSI MODEL.
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based.
Chapter 2 Network Models.
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based.
PROTOCOLS AND ARCHITECTURE Lesson 2 NETS2150/2850.
CS 268: Lecture 2 (Layering & End-to-End Arguments)
EE 122: Layering and the Internet Architecture Kevin Lai September 4, 2002.
Chapter 1 Read (again) chapter 1.
1 EE 122: Internet Design Principles Ion Stoica TAs: Junda Liu, DK Moon, David Zats (Materials with thanks to Vern.
Data Communications Architecture Models. What is a Protocol? For two entities to communicate successfully, they must “speak the same language”. What is.
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.
EECS122 - UCB 1 CS 194: Distributed Systems Communication Protocols, RPC Computer Science Division Department of Electrical Engineering and Computer Sciences.
Protocol Architecture The “Common Language”. Copyright by Jorg Liebeherr 98, 99 Need for Protocols Protocols are a set of rules and conventions. By enforcing.
OIS Model TCP/IP Model.
1 Review of Important Networking Concepts Introductory material. This slide uses the example from the previous module to review important networking concepts:
1 Protocol Interaction (ISO’s Open Systems Interconnection (OSI model)) the 7 layers.
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)
OSI Model Honolulu Community College Cisco Academy Training Center
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.
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.
© 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
© McLean HIGHER COMPUTER NETWORKING Lesson 1 – Protocols and OSI What is a network protocol Description of the OSI model.
Data and Computer Communications Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based Applications 1.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Lecture 5: Internet architecture Slides used with.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Introduction Slide 1 A Communications Model Source: generates.
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.
OSI Model Andres, Wen-Yuan Liao Department of Computer Science and Engineering De Lin Institute of Technology
William Stallings Data and Computer Communications
TCP/IP Protocol Architecture CSE 3213 – Fall
CS 4700 / CS 5700 Network Fundamentals
Network Protocols and Standards (Part 2). The OSI Model In 1984, the International Organization for Standardization (ISO) defined a standard, or set of.
Computer Networking Michaelmas/Lent Term M/W/F 11:00-12:00
1 Protocol Layering Myungchul Kim Tel:
CS 3700 Networks and Distributed Systems
OSI Model. Open Systems Interconnection (OSI) is a set of internationally recognized, non proprietary standards for networking and for operating system.
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:
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.
E2E Arguments & Project Suggestions (Lecture 4, cs262a)
Computer Networks.
March 14, 2011 Ion Stoica CS162 Operating Systems and Systems Programming Lecture 14 Protocols, Layering and e2e.
Chap. 2 Network Models.
Part I. Overview of Data Communications and Networking
Lecturer, Department of Computer Application
CS 268: Lecture 3.
DEPARTMENT OF COMPUTER SCIENCE
Taj Mahal, Agra, India T. S. Eugene Ng eugeneng at cs.rice.edu Rice University.
Administrative stuff TA: Almudena Konrad Paper reviews:
Data and Computer Communications by William Stallings Eighth Edition
E2E Arguments & Project Suggestions (Lecture 4, cs262a)
OSI Model OSI MODEL.
Chapter 2 Network Models
Network Architecture Models
EE122: Potpourri November 24, 2003.
Presentation transcript:

1 Katz, Stoica F04 EECS 122: Introduction to Computer Networks Network Architecture Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley, CA

2 Katz, Stoica F04 A Quick Review  Many different network styles and technologies -Circuit-switched vs packet-switched, etc. -Wireless vs wired vs optical, etc.  Many different applications -ftp, , web, P2P, etc.  How do we organize this mess?

3 Katz, Stoica F04 The Problem  Re-implement every application for every technology?  No! But how does the Internet architecture avoid this? Telnet FTPNFS Packet radio Coaxial cable Fiber optic Application Transmission Media HTTP

4 Katz, Stoica F04 Today’s Lecture: Architecture  Architecture is not the implementation itself  Architecture is how to “organize” implementations -What interfaces are supported -Where functionality is implemented  Architecture is the modular design of the network

5 Katz, Stoica F04 Software Modularity Break system into modules:  Well-defined interfaces gives flexibility -Change implementation of modules -Extend functionality of system by adding new modules  Interfaces hide information -Allows for flexibility -But can hurt performance

6 Katz, Stoica F04 Network Modularity Like software modularity, but with a twist:  Implementation distributed across routers and hosts  Must decide: -How to break system into modules -Where modules are implemented  We will address these questions in turn

7 Katz, Stoica F04 Outline  Layering -How to break network functionality into modules  End-to-End Argument -Where to implement functionality

8 Katz, Stoica F04 Layering  Layering is a particular form of modularization  System is broken into a vertical hierarchy of logically distinct entities (layers)  Service provided by one layer is based solely on the service provided by layer below  Rigid structure: easy reuse, performance suffers

9 Katz, Stoica F04 ISO OSI Reference Model for Layers  Application  Presentation  Session  Transport  Network  Datalink  Physical

10 Katz, Stoica F04 Layering Solves Problem  Application layer doesn’t know about anything below the presentation layer, etc.  Information about network is hidden from higher layers  Ensures that we only need to implement an application once!  Caveat: not quite....

11 Katz, Stoica F04 OSI Model Concepts  Service: what a layer does  Service interface: how to access the service -Interface for layer above  Peer interface (protocol): how peers communicate -Set of rules and formats that govern the communication between two network boxes -Protocol does not govern the implementation on a single machine, but how the layer is implemented between machines

12 Katz, Stoica F04 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; transmitters, receivers

13 Katz, Stoica F04 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., CSMA/CD)…

14 Katz, Stoica F04 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

15 Katz, Stoica F04 Transport Layer (4)  Service: -Demultiplexing -Optional: error-free and flow-controlled delivery  Interface: send message to specific destination  Protocol: implements reliability and flow control  Examples: TCP and UDP

16 Katz, Stoica F04 Session Layer (5)  Service: -Full-duplex -Access management (e.g., token control) -Synchronization (e.g., provide check points for long transfers)  Interface: depends on service  Protocol: token management; insert checkpoints, implement roll-back functions

17 Katz, Stoica F04 Presentation Layer (6)  Service: convert data between various representations  Interface: depends on service  Protocol: define data formats, and rules to convert from one format to another

18 Katz, Stoica F04 Application Layer (7)  Service: any service provided to the end user  Interface: depends on the application  Protocol: depends on the application  Examples: FTP, Telnet, WWW browser

19 Katz, Stoica F04 Who Does What?  Seven layers -Lower three layers are implemented everywhere -Next four layers are implemented only at hosts Application Presentation Session Transport Network Datalink Physical Application Presentation Session Transport Network Datalink Physical Network Datalink Physical Physical medium Host AHost B Router

20 Katz, Stoica F04 Logical Communication  Layers interacts with corresponding layer on peer Application Presentation Session Transport Network Datalink Physical Application Presentation Session Transport Network Datalink Physical Network Datalink Physical Physical medium Host AHost B Router

21 Katz, Stoica F04 Physical Communication  Communication goes down to physical network, then to peer, then up to relevant layer Application Presentation Session Transport Network Datalink Physical Application Presentation Session Transport Network Datalink Physical Network Datalink Physical Physical medium Host AHost B Router

22 Katz, Stoica F04 Encapsulation  A layer can use only the service provided by the layer immediate below it  Each layer may change and add a header to data packet data

23 Katz, Stoica F04 Example: Postal System Standard process (historical):  Write letter  Drop an addressed letter off in your local mailbox  Postal service delivers to address  Addressee reads letter (and perhaps responds)

24 Katz, Stoica F04 Postal Service as Layered System Layers:  Letter writing/reading  Delivery Information Hiding:  Network need not know letter contents  Customer need not know how the postal network works Encapsulation:  Envelope Customer Post Office Customer Post Office

25 Katz, Stoica F04 Questions?

26 Katz, Stoica F04 Standards Bodies  ISO: International Standards Organization -Professional bureaucrats writing standards -Produced OSI layering model  IETF: Internet Engineering Task Force -Started with early Internet hackers -More technical than bureaucratic “We reject kings, presidents, and voting. We believe in rough consensus and running code” (David Clark) running code.

27 Katz, Stoica F04 OSI vs. Internet  OSI: conceptually define services, interfaces, protocols  Internet: provide a successful implementation Application Presentation Session Transport Network Datalink Physical Internet Net access/ Physical Transport Application IP LAN Packet radio TCPUDP TelnetFTPDNS OSI (formal) Internet (informal)

28 Katz, Stoica F04 Multiple Instantiations  Several instantiations for each layer -Many applications -Many network technologies -Transport can be reliable (TCP) or not (UDP)  Applications dictate transport -In general, higher layers can dictate lower layer  But this is a disaster! -Applications that can only run certain networks

29 Katz, Stoica F04 Multiple Instantiations of Layers

30 Katz, Stoica F04 Solution Universal Internet layer:  Internet has only IP at the Internet layer  Many options for modules above IP  Many options for modules below IP Internet Net access/ Physical Transport Application IP LAN Packet radio TCPUDP TelnetFTPDNS

31 Katz, Stoica F04 Hourglass

32 Katz, Stoica F04 Implications of Hourglass Single Internet layer module:  Allows networks to interoperate -Any network technology that supports IP can exchange packets  Allows applications to function on all networks -Applications that can run on IP can use any network  Simultaneous developments above and below IP

33 Katz, Stoica F04 Network Modularity Two crucial decisions  Layers, not just modules -Alternatives?  Single internetworking layer, not multiple -Alternatives?

34 Katz, Stoica F04 Back to Reality  Layering is a convenient way to think about networks  But layering is often violated -Firewalls -Transparent caches -NAT boxes  More on this later....on to part two of this lecture  Questions?

35 Katz, Stoica F04 Placing Functionality  Most influential paper about placing functionality is “End-to-End Arguments in System Design” by Saltzer, Reed, and Clark  “Sacred Text” of the Internet -Endless disputes about what it means -Everyone cites it as supporting their position

36 Katz, Stoica F04 Basic Observation  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  Hosts: -Can satisfy the requirement without the network -Can’t depend on the network

37 Katz, Stoica F04 Example: Reliable File Transfer  Solution 1: make each step reliable, and then concatenate them  Solution 2: end-to-end check and retry OS Appl. OS Appl. Host AHost B OK

38 Katz, Stoica F04 Example (cont’d)  Solution 1 not complete -What happens if any network element misbehaves? -Receiver has to do the check anyway!  Solution 2 is complete -Full functionality can be entirely implemented at application layer with no need for reliability from lower layers  Is there any need to implement reliability at lower layers?

39 Katz, Stoica F04 Conclusion Implementing this functionality in the network:  Doesn’t reduce host implementation complexity  Does increase network complexity  Probably imposes delay and overhead on all applications, even if they don’t need functionality  However, implementing in network can enhance performance in some cases -very lossy link

40 Katz, Stoica F04 Conservative Interpretation  “Don’t implement a function at the lower levels of the system unless it can be completely implemented at this level” (Peterson and Davie)  Unless you can relieve the burden from hosts, then don’t bother

41 Katz, Stoica F04 Radical Interpretation  Don’t implement anything in the network that can be implemented correctly by the hosts -E.g., multicast  Make network layer absolutely minimal -Ignore performance issues

42 Katz, Stoica F04 Moderate Interpretation  Think twice before implementing functionality in the network  If hosts can implement functionality correctly, implement it a lower layer only as a performance enhancement  But do so only if it does not impose burden on applications that do not require that functionality

43 Katz, Stoica F04 Extended Version of E2E Argument  Don’t put application semantics in network -Leads to loss of flexibility -Cannot change old applications easily -Cannot introduce new applications easily  Normal E2E argument: performance issue -Introducing more functionality imposes more overhead -Subtle issue, many tough calls (e.g., multicast)  Extended version: -Short-term performance vs long-term flexibility

44 Katz, Stoica F04 Back to Reality (again)  Layering and E2E Principle regularly violated: -Firewalls -Transparent caches -Other middleboxes  Battle between architectural purity and commercial pressures -Extremely important -Imagine a world where new apps couldn’t emerge

45 Katz, Stoica F04 Summary  Layering is a good way to organize networks  Unified Internet layer decouples apps from networks  E2E argument encourages us to keep IP simple  Commercial realities may undo all of this...