1 CS 640: Introduction to Computer Networks Aditya Akella Lecture 2 Layering, Protocol Stacks, and Standards.

Slides:



Advertisements
Similar presentations
Chapter 17 Networking Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Advertisements

1 CS 640: Introduction to Computer Networks Aditya Akella Lecture 2 Layering, Protocol Stacks, and Standards.
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based.
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Application Layer – Lecture.
EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
PROTOCOLS AND ARCHITECTURE Lesson 2 NETS2150/2850.
EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao
1 Lecture 2 Protocol Stacks and Layering David Andersen School of Computer Science Carnegie Mellon University Networking, Spring 2008
Networking Theory (Part 1). Introduction Overview of the basic concepts of networking Also discusses essential topics of networking theory.
Protocols and the TCP/IP Suite
Introduction to the Application Layer Computer Networks Computer Networks Spring 2012 Spring 2012.
EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
ECS152BXin Liu 1 ECS 152B Computer Networks Fall 2003 Prof. Xin Liu
1 Computer Networks Transport Layer Protocols. 2 Application-layer Protocols Application-layer protocols –one “piece” of an app –define messages exchanged.
COE 342: Data & Computer Communications (T042) Dr. Marwan Abu-Amara Chapter 2: Protocols and Architecture.
Dr. Philip Cannata 1 Principles of Network Applications.
Introduction 1 Lecture 5 Application Layer slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science & Engineering Department.
 The Open Systems Interconnection model (OSI model) is a product of the Open Systems Interconnection effort at the International Organization for Standardization.
IP-UDP-RTP Computer Networking (In Chap 3, 4, 7) 건국대학교 인터넷미디어공학부 임 창 훈.
OIS Model TCP/IP Model.
©Brooks/Cole, 2003 Chapter 6 Computer Networks. ©Brooks/Cole, 2003 Understand the rationale for the existence of networks. Distinguish between the three.
1 Lecture 2 Protocol Stacks David Andersen School of Computer Science Carnegie Mellon University Networking, Spring 2005
Chapter 2 Application Layer Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April A note on the use.
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.
Process-to-Process Delivery:
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based.
Throughput: Internet scenario
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
Chapter Two Application Layer Prepared by: Dr. Bahjat Qazzaz CS Dept. Sept
Review: – computer networks – topology: pair-wise connection, point-to-point networks and broadcast networks – switching techniques packet switching and.
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.
Protocol Layering Chapter 10. Looked at: Architectural foundations of internetworking Architectural foundations of internetworking Forwarding of datagrams.
© 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.
1: Introduction1 Internet History r 1961: Kleinrock - queueing theory shows effectiveness of packet- switching r 1964: Baran - packet- switching in military.
Protocol Architectures. Simple Protocol Architecture Not an actual architecture, but a model for how they work Similar to “pseudocode,” used for teaching.
Protocols and the TCP/IP Suite
What makes a network good? Ch 2.1: Principles of Network Apps 2: Application Layer1.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Network Services Networking for Home and Small Businesses – Chapter 6.
Introduction to Networks CS587x Lecture 1 Department of Computer Science Iowa State University.
CS 6401 Internetworking Outline Internet Architecture Best Effort Service Model.
Data and Computer Communications Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based Applications.
Data Communications and Computer Networks Chapter 3 CS 3830 Lecture 12 Omar Meqdadi Department of Computer Science and Software Engineering University.
Computer Networking. 2 Outline 3 Objectives Understand the state-of-the-art in network protocols, architectures and applications Understand how networking.
Sockets process sends/receives messages to/from its socket
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.
The Transport Layer application transport network data link physical application transport network data link physical application transport network data.
1 End-user Protocols, Services and QoS. 2 Layering: logical communication application transport network link physical application transport network link.
Computer Security Workshops Networking 101. Reasons To Know Networking In Regard to Computer Security To understand the flow of information on the Internet.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
Transport Layer 3-1 Chapter 3 Outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP.
Chapter 3: Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable data transfer.
CHAPTER 4 PROTOCOLS AND THE TCP/IP SUITE Acknowledgement: The Slides Were Provided By Cory Beard, William Stallings For Their Textbook “Wireless Communication.
1 Chapters 2 & 3 Computer Networking Review – The TCP/IP Protocol Architecture.
1 Protocol Layering Myungchul Kim Tel:
Peter A. Steenkiste, SCS, CMU 1 Lecture 2 Protocol Stacks Peter Steenkiste David Eckhardt School of Computer Science Carnegie Mellon University
1 Network Communications A Brief Introduction. 2 Network Communications.
Introduction 1-1 source application transport network link physical HtHt HnHn M segment HtHt datagram destination application transport network link physical.
Communication Networks NETW 501 Tutorial 2
2: Transport Layer 11 Transport Layer 1. 2: Transport Layer 12 Part 2: Transport Layer Chapter goals: r understand principles behind transport layer services:
Data and Computer Communications Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based Applications.
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 to Networks
Lecturer, Department of Computer Application
Understanding the OSI Reference Model
Introduction to Networks
Process-to-Process Delivery:
Lecture 2 Protocol Stacks and Layering
Process-to-Process Delivery: UDP, TCP
Presentation transcript:

1 CS 640: Introduction to Computer Networks Aditya Akella Lecture 2 Layering, Protocol Stacks, and Standards

2 Today’s Lecture Layers and Protocols Standards and standardization process Applications

3 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

4 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 network functionality by introducing abstractions Challenge: how to come up with the “right” abstractions?

5 Example of Layering Software and hardware for communication between two hosts Advantages: –Simplifies design and implementation –Easy to modify/evolve Link hardware Host-to-host connectivity Application-to-application channels Application semantics

6 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 Link hardware Host-to-host connectivity Request-Reply Application Message stream

7 Protocol Friendly greeting Muttered reply Destination? Madison Thank you Implements an agreement between parties on how communication should take place

8 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. IP 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 IP –Reuse, avoid re-writing E.g., OS provides TCP, so apps don’t have to rewrite

9 2. Protocols Necessary for Interoperability Protocols are the key to interoperability. –Networks are very heterogenous: –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. –Application level protocols –Protocols at the hardware level Ethernet: 3com, etc. Routers: cisco, juniper etc. App: , AIM, IE etc. Hardware/link Network Application

10 How do protocols/layers work? One or more protocols implement the functionality in a layer –Only horizontal (among peers) and vertical (in a host) communication Protocols/layers can be implemented and modified in isolation Each layer offers a service to the higher layer, using the services of the lower layer. “Peer” layers on different systems communicate via a protocol. –higher level protocols (e.g. TCP/IP, Appletalk) can run on multiple lower layers –multiple higher level protocols can share a single physical network

11 OSI Model One of the first standards for layering: OSI Breaks up network functionality into seven layers This is a “reference model” –For ease of thinking and implementation A different model, TCP/IP, used in practice

12 The OSI Standard: 7 Layers 1.Physical: transmit bits (link) 2.Data link: collect bits into frames and transmit frames (adaptor/device driver) 3.Network: route packets in a packet switched network 4.Transport: send messages across processes end2end 5.Session: tie related flows together 6.Presentation: format of app data (byte ordering, video format) 7.Application: application protocols (e.g. FTP) OSI very successful at shaping thought TCP/IP standard has been amazingly successful, and it’s not based on a rigid OSI model

13 OSI Layers and Locations Bridge/ Switch Full fledged packet switch: use dst addr to route Router/ Gateway Forward using network layer addresses Host Application Transport Network Data Link Presentation Session Physical Repeater/ Hub Simply copy packets out

Internetworking Options Repeater or Hub bridge (e.g. 802 MAC) router physical data link network gateway

15 The Reality: TCP/IP Model FTPHTTPTFTPNV TCPUDP IP NET 1 NET 2 NET n … Network protocols implemented by a comb of hw and sw. Interconnection of n/w technologies into a single logical n/w Two transport protocols: provide logical channels to apps App protocols Note: No strict layering. App writers can define apps that run on any lower level protocols.

16 The Thin Waist UDPTCP Data Link Physical Applications The Hourglass Model Waist The waist: minimal, carefully chosen functions. Facilitates interoperability and rapid evolution FTPHTTPTFTPNV TCPUDP IP NET 1 NET 2 NET n …

17 TCP/IP vs OSI Application (plus libraries) TCP/UDP IP Data link Physical Application Presentation Session Transport Network Data link Physical

18 TCP/IP Layering Bridge/Switch Router/Gateway Host Application Transport Network Link Physical

19 Layers & Encapsulation Get index.html Connection ID Source/Destination Link Address User AUser B Header

20 Protocol Demultiplexing Multiple choices at each layer How to know which one to pick? FTPHTTPTFTPNV TCPUDP IP NET 1 NET 2 NET n … TCP/UDPIP Many Networks

21 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., IP, TCP, … IP TCP IP TCP V/HLTOSLength IDFlags/Offset TTLProt.H. Checksum Source IP address Destination IP address Options..

22 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 network apps on unix (w/o compatibility library)

23 History of IP: The Early Days Early packet switching networks (61-72) –Definition of packet switching –Early ARPA net: up to tens of nodes (4 at the end of 1969; 15 at the end of 1972) single network Simple applications (first program: 1972) Internetworking (72-80) –Several independent network implementations –Multiple networks with inter-networking: networks are independent, but need some rules for interoperability –Key concepts: best effort service, “stateless” routers, decentralized control (very different from telephones!) –Basis for Internet: TCP, IP, congestion control, DNS, … –Rapid growth: 10 to hosts in 10 years NSFnet built a “backbone” to connect networks

24 Modern Times: Commercialization Industry interest in networking encourages first commercial network deployment. –In part also encouraged by NSFNET policies/backbone Introduction of the “Web” makes networks more accessible –Killer application –Good user interface that is accessible to anybody –Network access on every desktop and in every home –Shockingly recent , caught on in ‘92 or so –Spurred a lot of application Commercial success  multiple vendors –How to ensure inter-operability?

25 Standardization Crucial to network interoperability –An example we saw earlier: OSI model De facto standards –Standards are based on an existing system –Gives the company that developed the base system a big advantage –Often results in competing “standards” before the official standard is established –Popular in the early days A priori standards –Standards are defined first by a standards committee –Risk of defining standards that are untested or unnecessary –Standard may be available before there is serious use of the technology –There could still be competing standards –Most current standards

26 The Internet Engineering Task Force Internet Engineering Task Force. –decides what technology will be used in the Internet –based on working groups that focus on specific issues –encourages wide participation Request for Comments. –document that provides information or outlines standard –requests feedback from the community –can be “promoted” to standard under certain conditions consensus in the committee interoperating implementations “Rough consensus and working code”

27 Higher Level Standards Many session/application level operations are relevant to networks –encoding: MPEG, encryption,... –services: electronic mail, newsgroups, HTTP,... –electronic commerce,.... Standards are as important as for “lower- level” networks: interoperability. –defined by some of the same bodies as the low- level standards, e.g. IETF

28 Applications and Application-Layer Protocols Application: communicating, distributed processes –Running in network hosts in “user space” –N/w functionality in kernel space –Exchange messages to implement app –e.g., , file transfer, the Web Application-layer protocols –One “piece” of an app –Define messages exchanged by apps and actions taken –Use services provided by lower layer protocols application transport network data link physical application transport network data link physical application transport network data link physical

29 Client-Server Paradigm vs. P2P Typical network app has two pieces: client and server application transport network data link physical application transport network data link physical Client: Initiates contact with server (“speaks first”) Typically requests service from server, For Web, client is implemented in browser; for , 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

30 Choosing the Transport Service Data loss Some applications (e.g., audio) can tolerate some loss Other applications (e.g., file transfer, telnet) require 100% reliable data transfer Timing Some applications (e.g., Internet telephony, interactive games) require low delay to be “effective” Bandwidth Some applications (e.g., multimedia) require a minimum amount of bandwidth to be “effective” Other applications (“elastic apps”) will make use of whatever bandwidth they get

31 Transmission Control Protocol (TCP) TCP Reliable – guarantee delivery Byte stream – in-order delivery Checksum for validity Setup connection followed by data transfer Telephone Call Guaranteed delivery In-order delivery Setup connection followed by conversation Example TCP applications Web, , Telnet

32 User Datagram Protocol (UDP) Example UDP applications Multimedia, voice over IP UDP No guarantee of delivery Not necessarily in-order delivery No validity guaranteed Must address each independent packet Postal Mail Unreliable Not necessarily in-order delivery Must address each reply

33 Transport Service Requirements of Common Applications no loss loss-tolerant no loss elastic audio: 5Kb-1Mb video:10Kb-5Mb same as above few Kbps elastic no yes, 100’s msec yes, few secs yes, 100’s msec yes and no file transfer web documents real-time audio/ video stored audio/video interactive games financial apps Application Data loss Bandwidth Time Sensitive

34 Server and Client TCP/UDP IP Ethernet Adapter Server TCP/UDP IP Ethernet Adapter Clients Server and Client exchange messages over the network through a common Socket API Socket API hardware kernel space user space socket

35 Next Two Lectures Socket programming API (Ashutosh) Internet’s design philosophy, more on applications and application performance