CSE 123A Computer Networks

Similar documents
Class Overview. CSE 123b Communications Software. Some hints. Some hints (2) Administrativa. Course material. Winter 2002

Communications Software. CSE 123b. CSE 123b. Spring Lecture 1: Introduction & Review. Stefan Savage.

CSE 123b Communications Software

CS3600 SYSTEMS AND NETWORKS

CS4700/CS5700 Fundaments of Computer Networks

Who is your professor? Course overview, expectations, etc. Simple network basics

Welcome (day 2) CSE 123b Communications Software. Application layer (HTTP) Application layer? Name resolution (DNS) Transport layer (TCP)

Lecture 2: Links and Signaling

Lecture 3: Modulation & Layering"

CS 268: Internet Architecture & E2E Arguments. Today s Agenda. Scott Shenker and Ion Stoica (Fall, 2010) Design goals.

Lecture 2: Layering & End-to-End

Lecture 2: Internet Architecture

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

Chapter 2 Communicating Over the Network

Introduction to computer networking

Lecture 3 Protocol Stacks and Layering

Networking and Internetworking 1

Switching Networks (Fall 2010) EE 586 Communication and. August 27, Lecture 2. (modified by Cheung for EE586; based on K&R original) 1-1

CS4700/5700: Network fundamentals

ES623 Networked Embedded Systems

CPS221 Lecture: Layered Network Architecture

Internet Design Principles

E&CE 358: Tutorial 1. Instructor: Sherman (Xuemin) Shen TA: Miao Wang

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

COMS Introduction to Computers. Networking

Introduction to Networks

Peer entities. Protocol Layering. Protocols. Example

Data Communication and Network. Introducing Networks

ITEC 3800 Data Communication and Network. Introducing Networks

Page 1. Review: The Problem" Software System Modularity" Solution: Intermediate Layers"

Operating Systems. 16. Networking. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski

Communications Software. CSE 123b. CSE 123b. Spring Lecture 2: Internet architecture and. Internetworking. Stefan Savage

Network Reference Models

Discussion 1: Project 1, Networking Basics. CSE 123: Computer Networks Marti Motoyama & Chris Kanich

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

Internet II. CS10 : Beauty and Joy of Computing. cs10.berkeley.edu. !!Senior Lecturer SOE Dan Garcia!!! Garcia UCB!

Layered Architecture

Lecture (02) Network Protocols and Standards

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

Network Model: Each layer has a specific function.

CS61C : Machine Structures

Need For Protocol Architecture

Need For Protocol Architecture

Networking and Internetworking 1

Computer Network : Lecture Notes Nepal Engineering College Compiled by: Junior Professor: Daya Ram Budhathoki Nepal Engineering college, Changunarayan

CSE 461: Protocols and Layering. This Lecture. 1. A top-down look at the Internet 2. Mechanics of protocols and layering 3. The OSI/Internet models

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

Layering in Networked computing. OSI Model TCP/IP Model Protocols at each layer

ECE 650 Systems Programming & Engineering. Spring 2018

Lecture Outline. Lecture 2. OSI model and networking. The OSI model and networking. The OSI model and networking. The OSI model and networking

Course on Computer Communication and Networks. Lecture 1 Chapter 1: Introduction Part A: Internet, Protocol Layering and Data

CSCI Computer Networks

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?

Part VI. Appendixes. Appendix A OSI Model and Internet Protocols Appendix B About the CD

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

ECE 4400:427/527 - Computer Networks Spring 2017

CS61C : Machine Structures

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

Architectures of Communication Subsystems

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

CSCD 433/533 Advanced Networks

Computer Communication Networks

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

Introduction to TCP/IP networking

TCP/IP protocol suite

CS-435 spring semester Network Technology & Programming Laboratory. Stefanos Papadakis & Manolis Spanakis

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

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

CS 204: Advanced Computer Networks

Network Architecture

CSC2209 Computer Networks

Cross Layer Protocol Design. Radio Communication III

Number: Passing Score: 750 Time Limit: 120 min File Version: 1.0. Microsoft Exam Name: Identity with Windows Server 2016 (beta)

Network Architecture. TOC Architecture

Communicating over the Network

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

Objectives. Network Structure. Network Structure

Communication Networks

a. the physical layer, b. and the data-link layer. a. three physical layers, b. three data-link layers, c. and only one network layer.

Networking Models OSI Model Created by International Organization Standardization

Chapter 3 Protocols and the TCP/IP Suite

OSI Model. Teran Subasinghe MBCS, Bsc.(Hons) in Computer Science - University of Greenwich, UK

CS 428/528 Computer Networks Lecture 01. Yan Wang

Lecture-4. TCP/IP-Overview:

THE OSI MODEL. Application Presentation Session Transport Network Data-Link Physical. OSI Model. Chapter 1 Review.

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

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

This tutorial will help you in understanding IPv4 and its associated terminologies along with appropriate references and examples.

Chapter 1. Computer Networks and the Internet

Chapter -4 OSI Reference Model

CS 268: Lecture 4 (Internet Architecture & E2E Arguments)

CS 43: Computer Networks. Layering & HTTP September 7, 2018

Operating Systems CS 571

Introduction to Information Science and Technology 2017 Networking I. Sören Schwertfeger 师泽仁

Data Communication & Computer Networks MCQ S

Communicating over the Network. Network Fundamentals. ITE PC v4.0 Chapter Cisco Systems, Inc. All rights reserved.

Chapter 8 OSI Physical Layer

The Internet. Overview. Network building blocks

IT 4504 Section 4.0. Network Architectures. 2008, University of Colombo School of Computing 1

Network Architecture Models

Transcription:

CSE 123A Computer Networks Winter 2005 Lecture 3: Protocols & Layering Alex Snoeren (standing in for Stefan Savage)

Yesterday How to send data from point A to point B? January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 2

Today: What if you want to do more? What s a protocol? Organizing protocols via layering Encoding layers in packets The OSI & Internet layering models The end-to-end argument January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 3

There s s more to networking than sending bits? Like What? Sending bits to a particular destination Sending a long message to a particular destination Detecting if there was an error Fixing the error Deciding how fast to send Making sure the message is kept private January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 4

Definitions Service: A particular networking function (e.g. message delivery) Protocol: An implementation of a service (e.g. UDP) Interface: How a protocol is manipulated (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 January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 5

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! Courtesy Ion Stoica January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 6

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 Courtesy Ion Stoica January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 7

Benefits of layering Encapsulation Functionality inside a layer is self-contained; one layer doesn t need to reason about other layers 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 Encryption layer and compression layer independent? January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 8

Who decides what goes in the layers? ISO OSI Reference Model ISO International Standard Organization OSI Open System Interconnection Designed by committee in 1978 Goal: open standard to support a market for vendors to compete on protocol implementation and design Internet layering model 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) January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 9

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 January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 10

Physical Layer (1) 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 (what we talked about last class) Examples: coaxial cable, optical fiber links, transmitters, receivers Courtesy Ion Stoica January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 11

Datalink Layer (2) 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 (e.g. Ethernet) Courtesy Ion Stoica January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 12

Network Layer (3) 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 Courtesy Ion Stoica January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 13

Transport Layer (4) Service: Provide an error-free and flow-controlled end-toend connection Multiplex multiple transport connections to one network connection Interface: send a packet to specify destination Protocol: implement reliability and flow control (e.g. TCP and UDP) Courtesy Ion Stoica January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 14

Session Layer (5) Service Session management Synchronization, e.g., between audio/video streams Interface: depends on service Protocols: full duplex connection seutp/teardown, restart and checkpointing, inter-session synchronization (e.g. SMIL) Courtesy Ion Stoica January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 15

Presentation Layer (6) Service: data format conversion Interface: depends on service Protocol: define data formats, and rules to convert from one format to another (e.g. NFS s XDR) Courtesy Ion Stoica January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 16

Application Layer (7) Service: any service provided to the end user Interface: depends on the application Protocol: depends on the application Examples: FTP, Kazaa, SSHt, HTTP Courtesy Ion Stoica January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 17

The Internet layering model Application (Web,FTP,SMTP) Transport (TCP,UDP) Network (IP) Datalink (Ethernet,802.11) So-called hourglass model One network layer protocol Significant diversity at other layers No presentation or session layers Implementations more important than interfaces Physical (100BaseTX,1000BaseSX) January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 18

Layer Encapsulation via Packet Headers Typical Web packet Ethernet Hdr IP Hdr TCP Hdr HTTP Hdr Payload (Web object) Start of packet datalink network transport application End of packet Notice that layers add overhead Space (headers), effective bandwidth Time (processing headers, peeling the onion), latency January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 19

Layer encapsulation via packet headers Layer N+1 packet becomes End host End host Layer N data Data Application Application Data P Data Presentation Presentation P Data 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 January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 20

Layering by example ROUGHLY, what happens when I click on a Web page from UCSD? My computer www.yahoo.com? Internet January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 21

Application layer (HTTP) Turn click into HTTP request GET http://www.yahoo.com/r/mp HTTP/1.1 Host: www.yahoo.com Connection:keep-alive January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 22

Application layer? Name resolution (DNS) Where is www.yahoo.com? My computer (132.239.9.64) What s the address for www.yahoo.com Local DNS server (132.239.51.18) Oh, you can find it at 64.58.76.177 January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 23

Transport layer (TCP) Break message into packets (TCP segments) Should be delivered reliably & in-order GET http://www.yahoo.com/r/mp HTTP/1.1 Host: www.yahoo.com Connection:keep-alive 3 yahoo.c 2 p://www. 1 GET htt and let me know when they got there January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 24

Network layer: IP Addressing Address each packet so it can traverse network and arrive at host My computer (132.239.9.64) www.yahoo.com (64.58.76.177) Destination Source Data 64.58.76.177 132.239.9.64 1 GET htt January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 25

Network layer: IP Routing Each router forwards packet towards destination UCSD Sprint UUNet www.yahoo.com (64.58.76.177) Qwest AT&T January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 26

Datalink layer (Ethernet) Break message into frames Media Access Control (MAC) Can I send now? Can I send now? Receiver Send frame January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 27

Physical layer 2.4Ghz Radio DS/FH Radio (1-11Mbps) 802.11b Wireless Access Point Cat5 Cable (4 wires) 100Base TX Ethernet 100Mbps Ethernet switch/router To campus backbone 62.5/125um 850nm MMF 1000BaseSX Ethernet 1000Mbps January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 28

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 January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 29

Example: Reliable File Transfer Host A Host B 2 App 3 App 5 6 Disk 1 OS 4 OS 7 Disk Where can data be corrected? How to tell if data has been corrupted? Is there any value in lower-layer reliability? January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 30

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 Back of the envelope N hops (average hops on Internet route = 15 hops) Prob (corrupted packet per link) = p Prob(packet lost end to end)» p = 0.0001% -> Prob(e2e loss) = 0.0015%» p = 1% -> Prob(e2e loss) = 14%» Reasonable to implement additional reliability in the datalink layer for the 2 nd case January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 31

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 January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 32

Summary: layering Key technique to implement communication protocols; provides Modularity Abstraction Reuse Key design decision: what functionality to put in each layer? Next time: Framing and Error detection Read 2.3 and 2.4 January 13, 2005 CSE 123A -- Lecture 2 Signaling and Coding 33