CS 3700 Networks and Distributed Systems

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
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Communicating over the Network Network Fundamentals – Chapter 2.
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)
ISOC-Chicago 2001John Kristoff - DePaul University1 Journey to the Center of the Internet John Kristoff DePaul University.
BA 471 – Telecommunications and Networking Dr. V.T. Raja Oregon State University
EE 122: Layering and the Internet Architecture Kevin Lai September 4, 2002.
Computer Network Architecture and Programming
Introduction To Networking
OSI Reference Model An overview. Standards and the internet International Organization for Standardization ISO 70’s.
 The Open Systems Interconnection model (OSI model) is a product of the Open Systems Interconnection effort at the International Organization for Standardization.
TDTS21 Advanced Networking Lecture 2: Hosts, the Internet architecture, and the E2E arguments … Based on slides from D. Choffnes, P. Gill, and J. Rexford.
Lecturer: Tamanna Haque Nipa
The OSI and TCP/IP Models Last Update Copyright 2009 Kenneth M. Chipps Ph.D.
Plan of attack ‣ What is a network made of? ‣ How is it shared? ‣ How do we evaluate a network? ‣ How is communication organized? 1.
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 Communications and Networks
CS 268: Lecture 3 (Layering & End-to-End Arguments)
Chapter 1 Overview Review Overview of demonstration network
OSI Model Honolulu Community College Cisco Academy Training Center
Chapter 2 Network Models
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.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Network Services Networking for Home and Small Businesses – Chapter.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 Taj Mahal, Agra, India.
Internet Addresses. Universal Identifiers Universal Communication Service - Communication system which allows any host to communicate with any other host.
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
Network Services Networking for Home & Small Business.
© 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.
Component 9 – Networking and Health Information Exchange Unit 1-1 ISO Open Systems Interconnection (OSI) This material was developed by Duke University,
CS 6401 Internetworking Outline Internet Architecture Best Effort Service Model.
The OSI Model.
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.
Information Flow Across the Internet. What is the Internet? A large group of computers that link together to form the Worldwide Area Network (WAN)
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.
4061 Session 25 (4/17). Today Briefly: Select and Poll Layered Protocols and the Internets Intro to Network Programming.
First, by sending smaller individual pieces from source to destination, many different conversations can be interleaved on the network. The process.
William Stallings Data and Computer Communications
BA 471 – Telecommunications and Networking Dr. V.T. Raja Oregon State University As presented in Dr. Marshall’s BA471 class, Winter.
CS 4700 / CS 5700 Network Fundamentals
1 Chapter 4. Protocols and the TCP/IP Suite Wen-Shyang Hwang KUAS EE.
1 Protocol Layering Myungchul Kim Tel:
IT 210: Web-based IT Fall 2012 Lecture: Network Basics, OSI, & Internet Architecture.
The OSI Model A Framework for Communications David A. Abarca July 19, 2005.
CS 4700 / CS 5700 Network Fundamentals Lecture 3: Internet Architecture (Layer cake and an hourglass) Revised 1/11/16.
Network Models. The OSI Model Open Systems Interconnection (OSI). Developed by the International Organization for Standardization (ISO). Model for understanding.
Introduction and Overview of Network and Telecommunications.
Network Architecture IS250 Spring 2010 John Chuang
Computer Networking A Top-Down Approach Featuring the Internet Introduction Jaypee Institute of Information Technology.
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.
Introduction and Overview of Network and Telecommunications
Computer Networks.
OSI Protocol Stack Given the post man exemple.
Networking for Home and Small Businesses – Chapter 6
Network Architecture Introductory material
Networking for Home and Small Businesses – Chapter 6
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)
Network Architecture Models
Computer Networking A Top-Down Approach Featuring the Internet
Networking for Home and Small Businesses – Chapter 6
Presentation transcript:

CS 3700 Networks and Distributed Systems Christo Wilson 8/22/2012 CS 3700 Networks and Distributed Systems Internet Architecture (Layer cake and an hourglass) Revised 8/20/2015 Defense

Organizing Network Functionality Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable Modem, DSL Network styles Circuit switch, packet switch Wired, Wireless, Optical, Satellite Applications Email, Web, FTP, Bittorrent, Diablo III How do we make all this stuff work together?!

Problem Scenario This is a nightmare scenario Web Email Bittorrent VoIP This is a nightmare scenario Huge amounts of work to add new apps or media Limits growth and adoption Ethernet 802.11 Bluetooth Cellular

Application endpoints may not be on the same media More Problems Bittorrent Bittorrent Application endpoints may not be on the same media 802.11 Ethernet

Solution: Use Indirection Web Email Bittorrent VoIP API O(1) work to add new apps, media Few limits on new technology Magical Network Abstraction Layer API API API Ethernet 802.11 Bluetooth Cellular

Layered Network Stack … Layer N Layer 2 Layer 1 Applications Physical Modularity Does not specify an implementation Instead, tells us how to organize functionality Encapsulation Interfaces define cross-layer interaction Layers only rely on those below them Flexibility Reuse of code across the network Module implementations may change Unfortunately, there are tradeoffs Interfaces hide information As we will see, may hurt performance… Layer N … Layer 2 Layer 1 Physical Media

Key Questions How do we divide functionality into layers? Routing Congestion control Error checking How do we distribute functionality across devices? Example: who is responsible for security? Security Fairness And many more… Switch Switch Router

Outline Layering The OSI Model Distribution The End-to-End Argument

The ISO OSI Model Application Application Session Session Transport Christo Wilson 8/22/2012 The ISO OSI Model OSI: Open Systems Interconnect Model Host 1 Switch Host 2 Application Application Layers communicate peer-to-peer Presentation Presentation All devices implement the first three layers Layers communicate peer-to-peer Session Session Transport Transport Network Network Network Data Link Data Link Data Link Physical Physical Physical Defense

Layer Features Application Session Transport Network Data Link Service What does this layer do? Interface How do you access this layer? Protocol How is this layer implemented? Application Presentation Session Transport Network Data Link Physical

Physical Layer Application Session Transport Network Data Link Service Move information between two systems connected by a physical link Interface Specifies how to send one bit Protocol Encoding scheme for one bit Voltage levels Timing of signals Examples: coaxial cable, fiber optics, radio frequency transmitters Application Presentation Session Transport Network Data Link Physical

Data Link Layer Application Session Transport Network Data Link Service Data framing: boundaries between packets Media access control (MAC) Per-hop reliability and flow-control Interface Send one packet between two hosts connected to the same media Protocol Physical addressing (e.g. MAC address) Examples: Ethernet, Wifi, DOCSIS Application Presentation Session Transport Network Data Link Physical

Network Layer Application Session Transport Network Data Link Physical Service Deliver packets across the network Handle fragmentation/reassembly Packet scheduling Buffer management Interface Send one packet to a specific destination Protocol Define globally unique addresses Maintain routing tables Example: Internet Protocol (IP), IPv6 Application Presentation Session Transport Network Data Link Physical

Transport Layer Application Session Transport Network Data Link Service Multiplexing/demultiplexing Congestion control Reliable, in-order delivery Interface Send message to a destination Protocol Port numbers Reliability/error correction Flow-control information Examples: UDP, TCP Application Presentation Session Transport Network Data Link Physical

Session Layer Application Session Transport Network Data Link Physical Service Access management Synchronization Interface It depends… Protocol Token management Insert checkpoints Examples: none Application Presentation Session Transport Network Data Link Physical

Presentation Layer Application Session Transport Network Data Link Service Convert data between different representations E.g. big endian to little endian E.g. Ascii to Unicode Interface It depends… Protocol Define data formats Apply transformation rules Examples: none Application Presentation Session Transport Network Data Link Physical

Application Layer Application Session Transport Network Data Link Service Whatever you want :) Interface Whatever you want :D Protocol Whatever you want ;) Examples: turn on your smartphone and look at the list of apps Application Presentation Session Transport Network Data Link Physical

How does data move through the layers? Encapsulation How does data move through the layers? Data Application Presentation Session Transport Network Data Link Physical Data

Real Life Analogy Doesn’t know how the Postal network works Label contains routing info Un-packing Doesn’t know contents of letter Postal Service

Network Stack in Practice Host 1 Switch Host 2 Application Application Presentation Presentation Session FTP Client Video Client Session FTP Server Video Server Transport TCP UDP Transport TCP UDP Network IP Network IP Network IP Data Link Ethernet 802.11n Data Link 802.11n Ethernet Data Link 802.11n Ethernet Physical Physical Physical

Encapsulation, Revisited HTTP Header Web Page Web Server TCP Header HTTP Header Web Page TCP TCP Segment IP Header TCP Header HTTP Header Web Page IP IP Datagram Ethernet Header IP Header TCP Header HTTP Header Web Page Ethernet Trailer Ethernet Ethernet Frame

The Hourglass One Internet layer means all networks interoperate HTTP, FTP, RTP, IMAP, Jabber, … One Internet layer means all networks interoperate All applications function on all networks Room for development above and below IP But, changing IP is insanely hard TCP, UDP, ICMP Think about the difficulty of deploying IPv6… IPv4 Ethernet, 802.11x, DOCSIS, … Fiber, Coax, Twisted Pair, Radio, …

Orthogonal Planes Application Session Transport IP Data Link Physical Data Plane Application Presentation Well cover this later… Session Transport IP BGP RIP OSPF Control Plane Data Link Physical

Reality Check No. The layered abstraction is very nice Does it hold in reality? No. Firewalls Analyze application layer headers Transparent Proxies Simulate application endpoints within the network NATs Break end-to-end network reachability

Outline Layering The OSI Model Distribution The End-to-End Argument

Where to Place Functionality How do we distribute functionality across devices? Example: who is responsible for security? ? ? ? ? ? Switch Switch Router “The End-to-End Arguments in System Design” Saltzer, Reed, and Clark The Sacred Text of the Internet Endlessly debated by researchers and engineers

Basic Observation Some applications have end-to-end requirements Security, reliability, etc. Implementing this stuff inside the network is hard Every step along the way must be fail-proof End hosts… Can’t depend on the network Can satisfy these requirements without network level support

Example: Reliable File Transfer Integrity Check Integrity Check Integrity Check App has to do a check anyway! Solution 1: Make the network reliable Solution 2: App level, end-to-end check, retry on failure

Example: Reliable File Transfer Please Retry In-network implementation… Doesn’t reduce host complexity Does increase network complexity Increased overhead for apps that don’t need functionality But, in-network performance may be better Full functionality can be built at App level Solution 1: Make the network reliable Solution 2: App level, end-to-end check, retry on failure

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) Basically, unless you can completely remove the burden from end hosts, don’t bother

Radical Interpretation Don’t implement anything in the network that can be implemented correctly by the hosts Make network layer absolutely minimal Ignore performance issues

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

Reality Check, Again Layering and E2E principals regularly violated Firewalls Transparent Proxies NATs Conflicting interests Architectural purity Commercial necessity

Takeaways Layering is a nice way to organize network functions Unified Internet layer decouples apps, enables innovation E2E argument (attempts) to keep IP layer simple Think carefully when adding functionality into the network