Lecture 2: Protocols and Layering. CSE 123: Computer Networks Stefan Savage



Similar documents
The OSI & Internet layering models

CSE 123b Communications Software

Internet Architecture

Layered Architectures and Applications

The OSI and TCP/IP Models. Lesson 2

Strategies. Addressing and Routing

CPS221 Lecture: Layered Network Architecture

How To Understand The Layered Architecture Of A Network

Computer Networks CS321

Protocols. Packets. What's in an IP packet

Protocols and Architecture. Protocol Architecture.

Indian Institute of Technology Kharagpur. TCP/IP Part I. Prof Indranil Sengupta Computer Science and Engineering Indian Institute of Technology

Overview of Computer Networks

Ethernet. Ethernet. Network Devices

EITF25 Internet Techniques and Applications L5: Wide Area Networks (WAN) Stefan Höst

Basic Networking Concepts. 1. Introduction 2. Protocols 3. Protocol Layers 4. Network Interconnection/Internet

Overview. Securing TCP/IP. Introduction to TCP/IP (cont d) Introduction to TCP/IP

Lecture 28: Internet Protocols

CSE 3461 / 5461: Computer Networking & Internet Technologies

What s a protocol? What s a protocol? A closer look at network structure: What s the Internet? What s the Internet? What s the Internet?

The OSI model has seven layers. The principles that were applied to arrive at the seven layers can be briefly summarized as follows:

What is CSG150 about? Fundamentals of Computer Networking. Course Outline. Lecture 1 Outline. Guevara Noubir noubir@ccs.neu.

Chapter 2 - The TCP/IP and OSI Networking Models

Computer Network. Interconnected collection of autonomous computers that are able to exchange information

Data Communication and Computer Network

Topics. Computer Networks. Let s Get Started! Computer Networks: Our Definition. How are Networks Used by Computers? Computer Network Components

Data Communication Networks and Converged Networks

Mobile IP Network Layer Lesson 01 OSI (open systems interconnection) Seven Layer Model and Internet Protocol Layers

Transport Layer Protocols

SFWR 4C03: Computer Networks & Computer Security Jan 3-7, Lecturer: Kartik Krishnan Lecture 1-3

The Internet. Charging for Internet. What does 1000M and 200M mean? Dr. Hayden Kwok-Hay So

Communication Networks. MAP-TELE 2011/12 José Ruela

Computer Networks III

Lecture 1: Course Introduction" CSE 222A: Computer Communication Networks Alex C. Snoeren

Mathatma Gandhi University

Chapter 9. IP Secure

Communication Networks. MAP-TELE 2011/12 José Ruela

OSI Reference Model: An Overview

Communications and Computer Networks

Understanding TCP/IP. Introduction. What is an Architectural Model? APPENDIX

Final for ECE374 05/06/13 Solution!!

Zarządzanie sieciami telekomunikacyjnymi

Data Communication Networks Introduction

THE OSI REFERENCE MODEL LES M C LELLAN DEAN WHITTAKER SANDY WORKMAN

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT COMPUTER NETWORKS

Protocol Data Units and Encapsulation

Module 1. Introduction. Version 2 CSE IIT, Kharagpur

Data Communication Networks

Computer Networks Network architecture

The OSI Model and the TCP/IP Protocol Suite PROTOCOL LAYERS. Hierarchy. Services THE OSI MODEL

Internet Concepts. What is a Network?

PART OF THE PICTURE: The TCP/IP Communications Architecture

Question: 3 When using Application Intelligence, Server Time may be defined as.

The OSI Model and the TCP/IP Protocol Suite

ICS 153 Introduction to Computer Networks. Inst: Chris Davison

Introduction to Computer Networks

2. What is the maximum value of each octet in an IP address? A. 128 B. 255 C. 256 D. None of the above

How To Design A Layered Network In A Computer Network

Network Models and Protocols

THE TCP/IP PROTOCOL SUITE

Network-Oriented Software Development. Course: CSc4360/CSc6360 Instructor: Dr. Beyah Sessions: M-W, 3:00 4:40pm Lecture 2

Transport and Network Layer

IP Networking. Overview. Networks Impact Daily Life. IP Networking - Part 1. How Networks Impact Daily Life. How Networks Impact Daily Life

Link Layer. 5.6 Hubs and switches 5.7 PPP 5.8 Link Virtualization: ATM and MPLS

How do I get to

Digital Audio Networking Demystified The OSI model helps bring order to the chaos of various digital audio network options.

Introduction to computer networks and Cloud Computing

TCIPG Reading Group. Introduction to Computer Networks. Introduction 1-1

CSCI-1680 :: Computer Networks

Architecture and Performance of the Internet

EXPLORER. TFT Filter CONFIGURATION

Midterm Exam CMPSCI 453: Computer Networks Fall 2011 Prof. Jim Kurose

IT4405 Computer Networks (Compulsory)

Objectives of Lecture. Network Architecture. Protocols. Contents

How To Understand The Internet Of S (Netware)

Security (II) ISO : Security Architecture of OSI Reference Model. Outline. Course Outline: Fundamental Topics. EE5723/EE4723 Spring 2012

Computer Networks Vs. Distributed Systems

Protocol Architecture

Asynchronous Transfer Mode: ATM. ATM architecture. ATM: network or link layer? ATM Adaptation Layer (AAL)

IT Data Communication and Networks (Optional)

an interconnected collection of autonomous computers interconnected = able to exchange information

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages

Clearing the Way for VoIP

Computer System Design: Laws, Principles, Trends - II

Chapter 14: Distributed Operating Systems

524 Computer Networks

TCP/IP Protocol Suite. Marshal Miller Chris Chase

Computer Networks and the Internet

RARP: Reverse Address Resolution Protocol

Network Security 網 路 安 全. Lecture 1 February 20, 2012 洪 國 寶

Distributed Systems 3. Network Quality of Service (QoS)

Networking part 3: the transport layer

OSI Model. Application Presentation Session Transport Network Data Link Physical. EE156 Computer Network Architecture

Page 1 of 7. Computer Networking

FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. Chapter 2 An Introduction to Networking

Computer Networks - Xarxes de Computadors

OSI Seven Layers Model Explained with Examples

Encapsulating Voice in IP Packets

CS5008: Internet Computing

architecture: what the pieces are and how they fit together names and addresses: what's your name and number?

Transcription:

Lecture 2: Protocols and Layering CSE 123: Computer Networks Stefan Savage

Last time Bandwidth, latency, overhead, message size, error rate Bandwidth-delay product Delay Bandwidth High-level run through of how Web browsing works

Today Circuit Switching vs Packet Switching Protocols and Layering

Circuit Switching Original phone system: continuous DC circuit from sender to receiver Physically switch circuit Circuit Switching: same model in digital domain Model: data sent continuously Created a session (e.g., phone call) reserves dedicated bandwidth in series of switches between caller and recipient Guaranteed capacity (in both directions) so long as session up 4

Circuit Switching Before sending, must reserve capacity for session Success = bandwidth is guaranteed for life of session 5

Circuit Switching What if request fails? Session refused (e.g., busy signal on phone) Mothers Day Link full 6

Packet Switching Packet Switching Model: data sent opportunistically in small chunks (packets) No session setup; send immediately Each switch must know how to forward along any packet Use queues to buffer bursts of traffic that exceed capacity History (mid-60s and 70s): Paul Baran (US), Donald Davies (UK) Kleinrock: queuing theory Bob Taylor, JCR Licklider, Lawrence Roberts et al. ARPAnet 7

Packet Switching Break data into packets ; send when they are ready Try to use bandwidth only when it is needed

Packet Switching What if link full? Black Friday Link full 9

Packet Switching What if link full? Queue packet 10

Packet Switching What if the queue is full? Drop packet 11

Pros/cons? Circuit switching Pro: If you get a circuit you have guaranteed bandwidth Con: latency to set up circuit (one round-trip time) Con: you may not get a circuit Con: if you get a circuit and don t use it, bandwidth is wasted Packet switching Pro: can send immediately (not required latency) Pro: can share bandwidth dynamically among users (statistical multiplexing) Con: available bandwidth per user can fluctuate, packets can be dropped 12

Why do you think the Internet is based on packet switching? Internet applications are bursty E-mail only consumes bandwidth when mail send/recvs Web browsing only consumes bandwidth when you visit site Packet switching is a much more efficient way to support bursty applications We will primarily focus on packet switching in this class since this is most of modern data networking

Protocols and Layering What s a protocol? Organizing protocols via layering Encoding layers in packets The OSI & Internet layering models The end-to-end argument

Definitions Service: A particular networking function (e.g. reliable message delivery) Protocol: An implementation of a service (e.g. TCP) Interface: How a protocol is manipulated by applications (e.g. packet format) Layering Technique for organizing protocols into an ordered series of distinct abstractions The services provided by a layer depend only on the services provided by the previous, less abstract, layer

Layered network system Start with services offered by hardware Add sequence of layers that provide higher (more abstract) level of service Example layered network system: Application programs Process-to-process channels Host-to-host connectivity Hardware

Why layering? Application SSH FTP NFS HTTP Transmission Media Coaxial cable Fiber optic Packet radio Example: without layering each new application has to be re-implemented for every network technology

Why layering? Solution: introduce an intermediate layer that provides a unique abstraction for various network technologies Application SSH FTP NFS HTTP Intermediate layer Transmission Media Coaxial cable Fiber optic Packet radio

Benefits of layering Encapsulation Functionality inside a layer is self-contained; one layer doesn t need to reason about other layers Decomposes problem of building network into more manageable components Modularity Can replace a layer without impacting other layers Lower layers can be reused by higher layers» e.g. TCP and UDP both are layered upon IP One obvious drawback Information hiding can produce inefficient implementations

Who decides what goes in the layers? ISO OSI network architecture/reference model ISO International Standard Organization OSI Open Systems Interconnection Designed by committee in 1978 Goal: open standard to support a market for vendors to compete on protocol implementation and design Internet architecture Backporting of experience from ARPAnet (1969) and TCP/IP protocols (1974) Shares much of OSI design Roughly managed by the Internet Engineering Task Force (IETF)

The OSI layering model End host Application Presentation Session Top 4 layers are end-to-end Lower 3 layers are hop-by-hop End host Application Presentation Session Transport Network node Network node Transport Network Network Network Network Datalink Datalink Datalink Datalink Physical Physical Physical Physical SSI, 2006 CSE 123A -- Lecture 2 Protocols and Layering 21

Physical Layer (1) Application Presentation Session Transport Network Service: move the 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 Datalink Physical Examples: coaxial cable, optical fiber links, transmitters, receivers

Datalink Layer (2) Application Presentation Session Transport Network Datalink Physical Service: Framing: where piece of data begins and ends Local addressing and delivery: send data frames between peers attached to the same physical media Others (sometimes):» Shared media access» Reliable transmission (resend missing packets) Interface: send a data unit (packet) to a machine connected to the same physical media Protocol: MAC addresses, media access control (MAC) implementation Examples: Ethernet, 802.11

Network Layer (3) Application Presentation Session Transport Network Datalink Physical Service: Deliver a packet to specified destination Perform segmentation/reassemble (fragmentation/defragmentation) Sometimes:» Packet scheduling: order packets are sent» Buffer management: what if there are too many packets? Interface: send a packet to a given destination Protocol: global unique addresses, construct routing tables, forward packets towards destination Examples: Internet Protocol (IP)

Transport Layer (4) Application Presentation Session Transport Network Datalink Physical Service: Provide an error-free and flow-controlled end-to-end connection Multiplex multiple transport connections to one network connection Interface: send a packet to specific destination Protocol: implement reliability and flow control Examples: TCP and UDP

Session Layer (5) Application Presentation Session Transport Network Datalink Physical Service Session management Synchronization, e.g., between audio/video streams Interface: depends on service Protocols: full duplex connection setup/teardown, restart and checkpointing, inter-session synchronization Examples: SMIL

Presentation Layer (6) Application Presentation Session Transport Network Datalink Physical Service: data format conversion Interface: depends on service Protocol: define data formats, and rules to convert from one format to another Examples: NFS s XDR, various platform independent remote procedure call interfaces

Application Layer (7) Application Presentation Session Transport Network Datalink Service: any service provided to the end user Interface: depends on the application Protocol: depends on the application Examples: SMTP, BitTorrent, SSH, HTTP (Web) Physical

The Internet layering model Application (Web,FTP,SMTP) Transport (TCP,UDP) Network (IP) Datalink (Ethernet,802.11) Physical (100BaseTX,1000BaseSX) So-called hourglass model One network layer protocol More diversity at other layers No presentation or session layers Standards driven by implementations

Layer encapsulation via packet headers Typical Web packet Ethernet Hdr IP Hdr TCP Hdr HTTP Hdr Payload (Web object) datalink network transport application Start of packet End of packet Notice that layers add overhead Space (headers), effective bandwidth Time (processing headers, peeling the onion ), latency

Layer encapsulation via packet headers Layer N+1 packet becomes End host End host Layer N data Data Application Application Data PData Presentation Presentation PData S Data Session Session S Data T Data Transport Transport T Data N Data Network Network N Data D Data Datalink Datalink D Data Ph Data Physical Physical Ph Data

Key Design Decision How do you divide functionality across the layers? End-to-end argument [Saltzer84] Functionality should be implemented at a lower layer iff it can be correctly and completely implemented there Incomplete versions of a function can be used as a performance enhancement, but not for correctness Early, and still relevant, example ARPAnet provided reliable link transfers between switches Packets could still get corrupted on host-switch link, or inside of the switches Hence, still need reliability at higher layers

Example: Reliable File Transfer Host A 2 Ap p 3 Ap p Host B 5 6 Disk 1 OS 4 OS 7 Disk Where can data be corrupted/lost? Where to check if data has been corrupted/lost? Is there any value in lower-layer reliability?

Violating the E2E argument for performance optimization Functionality at lower layer can enhance performance Not required for correct operation Can be required for reasonably efficient operation Example: transport layer is responsisble for reliability, but should we add reliability to the datalink layer too? N hops (average hops on Internet route = 15 hops) Prob (corrupted/lost packet per link) = p Prob (packet corrupted/lost end to end)» If p = 0.0001% -> Prob(e2e loss) = 0.0015%» If p = 1% -> Prob(e2e loss) = 15% Reasonable to implement additional reliability in the datalink layer for the 2 nd case

Optimization trade-offs Higher layers have more semantic information about service needs (e.g. video: bits comprising MPEG I frames are much more important that bits in MPEG B frames) Lower layers have more information about true capabilities (e.g. packet size, bandwidth, error rate) This tension is the subject of countless papers Layer interactions: Where to put compression vs encryption?

Summary: layering Key technique to implement communication protocols; provides Modularity Abstraction Reuse Key design decision: what functionality to put in each layer? For next time: read Chap 2-2.2 We re going to cover signaling, coding and clock recovery