CS 640: Introduction to Computer Networks. Today s Lecture. Page 1

Similar documents
Announcements Computer Networking. What is the Objective of the Internet? Today s Lecture

Distributed Systems /640

416 Distributed Systems. Networks review; Day 1 of 2 Jan 5 + 8, 2018

Page # Last Time. Lecture 2 Protocol Stacks and Layering. Today s Lecture. Why protocols and layering? What is a Protocol.

Lecture 2 Protocol Stacks. Last Tuesday

Last Time. Lecture 2 Protocol Stacks and Layering. Today s Lecture. Why protocols and layering? Protocol and Service Levels. How to Design a Network?

Module 2 Overview of Computer Networks

Module 2 Overview of. Computer Networks

Last Time. Internet in a Day Day 2 of 1. Today: TCP and Apps

Lecture 2 Communication services The Trasport Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

CS3600 SYSTEMS AND NETWORKS

CSC 4900 Computer Networks: End-to-End Design

CE 443: Computer Networks

Outline : Computer Networking. Objectives. Who s Who? Administrivia. Layering. L-1 Intro to Computer Networks

CSEN 503 Introduction to Communication Networks. Mervat AbuElkheir Hana Medhat Ayman Dayf. ** Slides are attributed to J. F.

CS 4390 Computer Networks. Transport Services and Protocols

CMSC 322 Computer Networks Applications and End-To- End

Goal and A sample Network App

Network and Security: Introduction

CN1047 INTRODUCTION TO COMPUTER NETWORKING CHAPTER 6 OSI MODEL TRANSPORT LAYER

15-744: Computer Networking. L-1 Intro to Computer Networks

CS 3516: Advanced Computer Networks

CSCD 330 Network Programming

Page 1. Goals for Today" What Is A Protocol?" CS162 Operating Systems and Systems Programming Lecture 10. Protocols, Layering and e2e Argument"

The OSI Model. Open Systems Interconnection (OSI). Developed by the International Organization for Standardization (ISO).

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

TCP/IP THE TCP/IP ARCHITECTURE

cs144 Midterm Review Fall 2010

Networking Models OSI Model Created by International Organization Standardization

416 Distributed Systems. Networks review; Day 2 of 2 Fate sharing, e2e principle And start of RPC Jan 10, 2018

Need For Protocol Architecture

Introduction to the Application Layer. Computer Networks Term B14

Data and Computer Communications. Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based Applications

OSI Transport Layer. objectives

Network Reference Models

Introduction to Networks

Outline. Inter-Process Communication. IPC across machines: Problems. CSCI 4061 Introduction to Operating Systems

Need For Protocol Architecture

Introduction to TCP/IP networking

NT1210 Introduction to Networking. Unit 10

Data and Computer Communications

Transport layer Internet layer

Layering and Addressing CS551. Bill Cheng. Layer Encapsulation. OSI Model: 7 Protocol Layers.

System Programming. Introduction to computer networks

Data & Computer Communication

Computer Communication & Networks / Data Communication & Computer Networks Week # 03

CS4700/CS5700 Fundaments of Computer Networks

Review of Previous Lecture

CompSci 356: Computer Network Architectures. Lecture 8: Spanning Tree Algorithm and Basic Internetworking Ch & 3.2. Xiaowei Yang

The Internet. Overview. Network building blocks

Lecture 2: Layering & End-to-End

Network Architecture Models

COMS Introduction to Computers. Networking

Different Layers Lecture 20

CCNA 1 Chapter 7 v5.0 Exam Answers 2013

TSIN02 - Internetworking

b) Diverse forms of physical connection - all sorts of wired connections, wireless connections, fiber optics, etc.

CS155b: E-Commerce. Lecture 3: Jan 16, How Does the Internet Work? Acknowledgements: S. Bradner and R. Wang

precise rules that govern communication between two parties TCP/IP: the basic Internet protocols IP: Internet protocol (bottom level)

Lecture 3 Protocol Stacks and Layering

ECE 4400:427/527 - Computer Networks Spring 2017

Chapter 2 Application Layer. Lecture 4: principles of network applications. Computer Networking: A Top Down Approach

TSIN02 - Internetworking

Transport Layer. Chapter 3: Transport Layer

Chapter 2 Network Models 2.1

Lecture 2: Links and Signaling

CPS221 Lecture: Layered Network Architecture

CSE/EE 461 The Network Layer. Application Presentation Session Transport Network Data Link Physical

Data Networks. Lecture 1: Introduction. September 4, 2008

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

Last time. Wireless link-layer. Introduction. Characteristics of wireless links wireless LANs networking. Cellular Internet access

Data Communication & Networks G Session 7 - Main Theme Networks: Part I Circuit Switching, Packet Switching, The Network Layer

OSI Layer OSI Name Units Implementation Description 7 Application Data PCs Network services such as file, print,

CSCI-GA Operating Systems. Networking. Hubertus Franke

CMPE 80N: Introduction to Networking and the Internet

The Transmission Control Protocol (TCP)

CCNA Exploration Network Fundamentals. Chapter 04 OSI Transport Layer

Lecture 2: Internet Architecture

TSIN02 - Internetworking

The Client Server Model and Software Design

Copyleft 2005, Binnur Kurt. Objectives

ECE 650 Systems Programming & Engineering. Spring 2018

Networking Basics. EC512 Spring /15/2015 EC512 - Prof. Thomas Skinner 1

Internetworking I: Basics. November 11, 1999

TSIN02 - Internetworking

Lecture 11. Transport Layer (cont d) Transport Layer 1

Chapter 3 Transport Layer

Protocol Layers, Security Sec: Application Layer: Sec 2.1 Prof Lina Battestilli Fall 2017

Computer Networks. Fall 2012 (M 6:15-9:00 in Jbarry 201B) Mirela Damian.

CS 3516: Advanced Computer Networks

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 4

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

ECE 650 Systems Programming & Engineering. Spring 2018

4. The transport layer

Review of Important Networking Concepts TCP/IP

Chapter 3 Transport Layer

Lecture 3: Modulation & Layering"

Interconnecting Networks with TCP/IP. 2000, Cisco Systems, Inc. 8-1

Different Layers Lecture 21

Lecture Overview : Computer Networking. Applications and Application-Layer Protocols. Client-Server Paradigm

Transcription:

CS 640: Introduction to Computer Networks Aditya Akella Lecture 2 Layering, Protocol Stacks, and Standards 1 Today s Lecture Layers and Protocols A bit about s 2 Network Communication: Lots of Functions Needed Links Multiplexing Routing Addressing/naming (locating peers) Reliability Flow control Fragmentation How do you implement these functions? Key: Layering and protocols 3 Page 1

What is Layering? A way to deal with complexity Add multiple levels of abstraction Each level encapsulates some key functionality And exports an interface to other components Example? Layering: Modular approach to implementing functionality by introducing abstractions Challenge: how to come up with the right abstractions? 4 Example of Layering Software and hardware for communication between two hosts semantics -to- channels Host-to-host connectivity Link hardware Advantages: Simplifies design and implementation Easy to modify/evolve 5 What is a Protocol? Could be multiple abstractions at a given level Build on the same lower level But provide diferent service to higher layers Protocol: Abstract object or module in layered structure Request-Reply Message stream Host-to-host connectivity Link hardware 6 Page 2

1. Protocols Offer Interfaces Each protocol offers interfaces One to higher-level protocols on the same end hosts Expects one from the layers on which it builds Interface characteristics, e.g. service model A peer interface to a counterpart on destinations Syntax and semantics of communications (Assumptions about) data formats Protocols build upon each other Adds value, improves functionality overall E.g., a reliable protocol running on top of Reuse, avoid re-writing E.g., OS provides TCP, so apps don t have to rewrite 7 2. Protocols Necessary for Interoperability Protocols are the key to interoperability. Networks are very heterogenous: Ethernet: 3com, etc. Routers: cisco, juniper etc. App: Email, AIM, IE etc. Hardware/link Network The hardware/software of communicating parties are often not built by the same vendor Yet they can communicate because they use the same protocol Actually implementations could be different But must adhere to same specification Protocols exist at many levels. level protocols Protocols at the hardware level 8 OSI Model One of the first standards for layering: OSI Breaks up functionality into seven layers This is a reference model For ease of thinking and implementation A different model, TCP/, used in practice 9 Page 3

The OSI Standard: 7 Layers 1. : transmit bits (link) 2. Data link: collect bits into frames and transmit frames (adaptor/device driver) 3. Network: route packets in a packet switched 4. Transport: send messages across processes end2end 5. Session: tie related flows together 6. Presentation: format of app data (byte ordering, video format) 7. : protocols (e.g. FTP) OSI very successful at shaping thought TCP/ standard has been amazingly successful, and it s not based on a rigid OSI model 10 Presentation Session Transport Network Data Link OSI Layers and Locations Host Repeater/ Hub Bridge/ Switch Router/ Gateway Host Simply copy packets out Full fledged packet switch: use dst addr to route Forward using layer addresses 11 The Reality: TCP/ Model FTP HTTP NV TFTP App protocols TCP UDP Two protocols: provide logical channels to apps NET 1 NET 2 NET n Interconnection of n/w technologies into a single logical n/w Network protocols implemented by a comb of hw and sw. Note: No strict layering. App writers can define apps that run on any lower level protocols. 12 Page 4

The Thin Waist FTP HTTP NV TFTP TCP UDP NET 1 NET 2 NET n Waist s UDP TCP Data Link The Hourglass Model The waist: minimal, carefully chosen functions. Facilitates interoperability and rapid evolution 13 TCP/ vs OSI Presentation Session Transport Network Data link (plus libraries) TCP/UDP Data link 14 TCP/ Layering Transport Network Link Host Bridge/Switch Router/Gateway Host 15 Page 5

Layers & Encapsulation User A User B Get index.html Connection ID Source/Destination Link Address Header 16 Protocol Demultiplexing Multiple choices at each layer How to know which one to pick? FTP HTTP NV TFTP TCP UDP Many Networks TCP/UDP NET 1 NET 2 NET n 17 Multiplexing & Demultiplexing Multiple implementations of each layer How does the receiver know what version/module of a layer to use? Packet header includes a demultiplexing field Used to identify the right module for next layer Filled in by the sender Used by the receiver Multiplexing occurs at multiple layers. E.g.,, TCP, V/HL TOS Length ID Flags/Offset TTL Prot. H. Checksum Source address Destination address Options.. TCP TCP 18 Page 6

Layering vs Not Layer N may duplicate layer N-1 functionality E.g., error recovery Layers may need same info (timestamp, MTU) Strict adherence to layering may hurt performance Some layers are not always cleanly separated Inter-layer dependencies in implementations for performance reasons Many cross-layer assumptions, e.g. buffer management Layer interfaces are not really standardized. It would be hard to mix and match layers from independent implementations, e.g., windows apps on unix (w/o compatibility library) 19 s; -Layer Protocols : communicating, distributed processes Running in hosts in user space N/w functionality in kernel space Exchange messages to implement app e.g., email, file transfer, the Web -layer protocols One piece of an app Define messages exchanged by apps and actions taken Use services provided by lower layer protocols 20 Writing s: Some Design Choices Communication model: Client-server or peer-to-peer Depends on economic and usage models Transport service to use? TCP vs UDP Depends on requirements 21 Page 7

Client-Server Paradigm vs. P2P Typical app has two pieces: client and server Client: Initiates contact with server ( speaks first ) Typically requests service from server, For Web, client is implemented in browser; for e-mail, in mail reader Server: Provides requested service to client e.g., Web server sends requested Web page, mail server delivers e- mail P2P is a very different model No notion of client or server request reply 22 Choosing the Transport Service Data loss Some s (e.g., audio) can tolerate some loss Other s (e.g., file transfer, telnet) require 100% reliable data transfer Timing Some s (e.g., Internet telephony, interactive games) require low delay to be effective Bandwidth Some s (e.g., multimedia) require a minimum amount of bandwidth to be effective Other s ( elastic apps ) will make use of whatever bandwidth they get 23 Transmission Control Protocol (TCP) TCP Reliable guarantee delivery Byte stream in-order delivery Connection-oriented single socket per connection Setup connection followed by data transfer Telephone Call Guaranteed delivery In-order delivery Connection-oriented Setup connection followed by conversation Example TCP s Web, Email, Telnet 24 Page 8

User Datagram Protocol (UDP) UDP No guarantee of delivery Not necessarily in-order delivery Datagram independent packets; connectionless Must address each packet Postal Mail Unreliable Not necessarily in-order delivery Letters sent independently Must address each reply Example UDP s Multimedia, voice over 25 Transport Service Requirements of Common s Data loss Bandwidth Time Sensitive file transfer e-mail web documents real-time audio/ video stored audio/video interactive games financial apps no loss no loss no loss loss-tolerant loss-tolerant loss-tolerant no loss elastic elastic elastic audio: 5Kb-1Mb video:10kb-5mb same as above few Kbps elastic no no no yes, 100 s msec yes, few secs yes, 100 s msec yes and no 26 Page 9