Network Applications 9/14/2009. 2 Outline  Recap r ISO/OSI Layering and Internet Layering r Application layer overview.

Slides:



Advertisements
Similar presentations
Introduction 2 1: Introduction.
Advertisements

1 CS 640: Introduction to Computer Networks Aditya Akella Lecture 2 Layering, Protocol Stacks, and Standards.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Application Layer – Lecture.
Application Layer-11 CSE401N: Computer Networks Lecture-4 Application Layer Overview HTTP.
Introduction1-1 Introduction to Computer Networks Our goal:  get “feel” and terminology  more depth, detail later in course  approach:  use Internet.
1 Application Layer. 2 Writing Networked Applications TCP UDP IP LL PL TCP UDP IP LL PL TCP UDP IP LL PL Web Browser Web Server Ftp Server Ftp Client.
CS 268: Lecture 2 (Layering & End-to-End Arguments)
EE 122: Layering and the Internet Architecture Kevin Lai September 4, 2002.
Introduction to the Application Layer Computer Networks Computer Networks Spring 2012 Spring 2012.
2: Application Layer1 Chapter 2: Application Layer Our goals: r conceptual, implementation aspects of network application protocols m transport-layer service.
Some slides are in courtesy of J. Kurose and K. Ross Review of Previous Lecture Electronic Mail: SMTP, POP3, IMAP DNS Socket programming with TCP.
1 Computer Networks Transport Layer Protocols. 2 Application-layer Protocols Application-layer protocols –one “piece” of an app –define messages exchanged.
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.
1: Introduction1 Part I: Introduction Goal: r get context, overview, “feel” of networking r more depth, detail later in course r approach: m descriptive.
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.
Process-to-Process Delivery:
Data Communications and Networks
Chapter 2, slide: 1 CS 372 – introduction to computer networks* Monday June 28 Announcements: r Lab 1 is due today r Lab 2 is posted today and is due next.
2: Application Layer1 Chapter 2 Application Layer These slides derived from Computer Networking: A Top Down Approach, 6 th edition. Jim Kurose, Keith Ross.
Communications Recap Duncan Smeed. Introduction 1-2 Chapter 1: Introduction Our goal: get “feel” and terminology more depth, detail later in course.
Review: –What is AS? –What is the routing algorithm in BGP? –How does it work? –Where is “policy” reflected in BGP (policy based routing)? –Give examples.
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
CS 3830 Day 7 Introduction : Application Layer 2 Processes communicating Process: program running within a host. r within same host, two processes.
CS 268: Lecture 3 (Layering & End-to-End Arguments)
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.
1 CS 455/555 Intro to Networks and Communications Client/Server Computing and Socket Programming (2.1, ) Michele Weigle Department of Computer Science.
1: Introduction1 Internet History r 1961: Kleinrock - queueing theory shows effectiveness of packet- switching r 1964: Baran - packet- switching in military.
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
What makes a network good? Ch 2.1: Principles of Network Apps 2: Application Layer1.
Introduction to Networks CS587x Lecture 1 Department of Computer Science Iowa State University.
Internet Engineering Course Application Layer Protocols.
Transport Layer and UDP Tahir Azim Ref:
Network Applications: Overview, Y. Richard Yang 9/10/2013.
TCP/IP Transport and Application (Topic 6)
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.
Ch 1. Computer Networks and the Internet Myungchul Kim
The Transport Layer application transport network data link physical application transport network data link physical application transport network data.
Taxonomy of Networks; Layered Network Architecture
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.
Network Applications 9/14/ Outline  Recap r ISO/OSI Layering and Internet Layering r Application layer overview r Examples.
Network Applications 9/14/ Outline  Recap r ISO/OSI Layering and Internet Layering r Application layer overview r Examples.
Net 221D:Computer Networks Fundamentals
1 Protocol Layering Myungchul Kim Tel:
Network Applications: Overview, Y. Richard Yang 1/27/2016.
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
@Yuan Xue CS 283Computer Networks Spring 2011 Instructor: Yuan Xue.
Network Applications 1/19/ Outline  Recap r ISO/OSI Layering and Internet Layering r Application layer overview.
2: Transport Layer 11 Transport Layer 1. 2: Transport Layer 12 Part 2: Transport Layer Chapter goals: r understand principles behind transport layer services:
A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their original slides that accompany the.
A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their original slides that accompany the.
Introduction to Networks
Slides taken from: Computer Networking by Kurose and Ross
OSI Protocol Stack Given the post man exemple.
Introduction to Networks
Chapter 2 Introduction Application Requirements VS. Transport Services
Administrative stuff TA: Almudena Konrad Paper reviews:
Process-to-Process Delivery:
Network Applications: Overview,
Process-to-Process Delivery: UDP, TCP
Network Basics and Architectures Neil Tang 09/05/2008
Presentation transcript:

Network Applications 9/14/2009

2 Outline  Recap r ISO/OSI Layering and Internet Layering r Application layer overview

3 Recap: Summary of the Taxonomy of Communication Networks circuit-switched network communication network switched network broadcast communication packet-switched network datagram network virtual circuit network

4 Recap: Statistical Multiplexing r no reservation: all arrivals into the single link with rate R, the queueing delay + transmission delay: r reservation: each flow uses its own reserved (sub)link with rate R/n, the queueing delay + transmission delay: A simple model to compare bandwidth efficiency of - reservation/dedication (aka circuit-switching) and - no reservation (aka packet switching) setup - a single bottleneck link with rate R - n flows; each flow has an arrival rate of a/n

Recap: Layering r Layered reference model for discussion r Modularization eases maintenance, updating of system r Physical vs logical communication r Key design decision: what functionalities to put in each layer? 5

6 Recap: End-to-End Arguments r If a higher layer can do it, don’t do it at a lower layer -- the higher the layer, the more it knows about the best what it needs r Add functionality in lower layers iff it (1) is used by and improves performance of a large number of (current and potential future) applications, (2) does not hurt (too much) other applications, and (3) does not increase (too much) complexity/overhead r Practical tradeoff, e.g., m allow multiple interfaces at a lower layer (one provides the function; one does not)

7 Examples r We used reliability as an example r Assume two layers (L1: network; L2: end-to-end). Where may you implement the following functions? r security (privacy of traffic) r quality of service (e.g., delay/bandwidth guarantee) r congestion control (e.g., not to overwhelm network links or receiver) L1 L2 L1 S R L2 A

8 Challenges r Challenges to build a good (networking) system: find the right balance between: reuse, interoperability, implementation effort (apply layering concepts) end-to-end arguments performance No universal answer: the answer depends on the goals and assumptions!

9 Outline r Recap  ISO/OSI Layering and Internet Layering r Application layer overview

10 ISO/OSI Reference Model r Seven layers m lower three layers are hop-by-hop m next four layers are end-to-end (host-to-host) Application Presentation Session Transport Network Datalink Physical Application Presentation Session Transport Network Datalink Physical Network Datalink Physical Physical medium

11 Internet Layering r Lower three layers are hop-by-hop r Next two layers are end-to-end Application Transport Network Datalink Physical Application Transport Network Datalink Physical Network Datalink Physical Physical medium

12 Internet Protocol Layers r A rough division r Five layers m Application: supporting network applications ftp, smtp, http, p2p, IP telephony m Transport: host-host data transfer tcp, udp m Network: routing of datagram from source to destination ip m Link: data transfer between neighboring network elements ethernet, , cable, DSL, … m Physical: bits “on the wire” cable, wireless, optical fiber application transport network link physical

13 The Hourglass Architecture of the Internet network infrastructure end users IP EthernetCable/DSLWireless TCP UDP Telnet FTPWWW

14 Link Layer: Services Provided by Ethernet r Multiple access control m send frame to peer sharing the common channel r Multiplexing/demultiplexing m from/to the network layer r Error detection IP Ethernet Cable/DSL Wireless TCP UDP Telnet FTPWWW

15 Network Layer: Services Provided by IP r Routing m best-effort to send packets from source to destination r Multiplexing/demultiplexing m from/to the transport r Fragmentation and reassembling m partition a fragment into smaller packets m removed in IPv6 r Error detection r Certain QoS/CoS r Does not provide m reliability or reservation IP EthernetCable/DSLWireless TCP UDP SSL Telnet FTPWWW

16 Network Layer: IPv4 Header

17 Services Provided by UDP r A connectionless service r Does not provide: connection setup, reliability, flow control, congestion control, timing, or bandwidth guarantee m why is there a UDP? IP EthernetCable/DSLWireless TCP UDP Telnet FTP WWW

18 Transport Layer: Services Provided by TCP r Multiplexing/demultiplexing r Reliable transport m between sending and receiving processes m setup required between sender and receiver: a connection-oriented service r Flow control m sender won’t overwhelm receiver r Congestion control m throttle sender when network overloaded r Error detection r Does not provide m timing, minimum bandwidth guarantees IP EthernetFDDIWireless TCP UDP Telnet FTPWWW

19 Transport Layer: TCP Header

Secure Socket Layer Architecture HTTP POP3

SSL Record-Layer Packet Format 20: change_cipher 21: alert 22: handshake 23: application

22 Summary: The Big Picture of the Internet r Hosts and routers: m >600 mil. Hosts (2009) m organized roughly hierarchical m backbone links 10  40Gbps r Software: m datagram switching with virtual circuit support at backbone m layered network architecture use end-to-end arguments to determine the services provided by each layer m the hourglass architecture of the Internet IP EthernetCable/DSLWireless TCP UDP Telnet FTPWWW SSL

23 Outline r Recap r ISO/OSI Layering and Internet Layering  Application layer overview

24 Application Layer: Goals r Conceptual + implementation aspects of network application protocols m client server paradigm m peer to peer paradigm m network app. programming r Learn about protocols by examining common application-layer protocols m smtp/pop m dns m http m ftp m p2p

25 Network Applications vs. Application-layer Protocols Network application: communicating, distributed processes m a process is a program that is running within a host a user agent is a process serving as an interface to the user –web: browser –streaming audio/video: media player m processes communicate by an application-layer protocol e.g., , Web Application-layer protocols m one “piece” of an app m define messages exchanged by apps and actions taken m implementing services by using the service provided by the lower layer, i.e., the transport layer application transport network data link physical application transport network data link physical

26 How does an Application Access the Transport Service? API: application programming interface r Defines interface between application and transport layer r Example: Socket API m sometimes called "Berkeley sockets" acknowledging their heritage from Berkeley Unix m a socket consists of a host IP address and a port number e.g., (SMTP) port number 25, web port number 80 m an application process binds to a socket %netstat –anp --tcp m two processes communicate by sending data into socket, reading data out of socket r There are other API’s such as XTI (X/Open Transport Interface), a slight modification of the Transport Layer Interface (TLI) developed by AT&T. More later!

27 App. and Trans.: App. Protocols and their Transport Protocols Application remote terminal access Web file transfer Internet telephony remote file server streaming multimedia Application layer protocol smtp [RFC 821] telnet [RFC 854] http [RFC 2068] ftp [RFC 959] proprietary (e.g., Vocaltec) NFS proprietary Underlying transport protocol TCP/SSL TCP TCP/SSL TCP typically UDP TCP or UDP typically UDP r An application needs to choose the transport protocol

28 Client-Server Paradigm Typical network app has two pieces: client and server application transport network data link physical application transport network data link physical Client (C): r initiates contact with server (“speaks first”) r typically requests service from server r for Web, client is implemented in browser; for , in mail reader Server (S): r provides requested service to client r e.g., Web server sends requested Web page; mail server delivers request reply Two questions to ask about a C-S application - How does a client locate a server process? - Is the application extensible, scalable, robust, secure?

Optional Slides 29

30 Services Provided by Transport r Transmission control protocol (TCP) m multiplexing/demultiplexing m reliable data transfer m rate control: flow control and congestion control r User data protocol (UDP) m multiplexing/demultiplexing Host A Hello Host B I am ready DATA ACK

Secure Socket Layer: Services r server authentication m authentication through trusted certificate authority (CA): server obtains a certificate from one of the trusted CAs r data encryption and integrity r client authentication (optional)

Details of the Seven ISO/OSI Layers

33 Physical Layer (1) r Service: moves information between two systems connected by a physical link r Interface: specifies how to send a bit r Protocol: coding scheme used to represent a bit, voltage levels, duration of a bit r Examples: coaxial cable, optical fiber links; transmitters, receivers

34 Datalink Layer (2) r Service: m framing, i.e., attach frames separator m send data frames between peers m others: arbitrates the access to common physical media ensures reliable transmission provides flow control r Interface: sends a data unit (packet) to a machine connected to the same physical media r Protocol: layer addresses, implement Medium Access Control (MAC) (e.g., CSMA/CD)…

35 Network Layer (3) r Service: m delivers a packet to a specified destination m performs fragmentation/reassembly of packets m others: packet scheduling buffer management r Interface: sends a packet to a specified destination r Protocol: defines global unique addresses; constructs routing tables; implement packet forwarding; fragments/reassembles packets

36 Data and Control Planes r Data plane: concerned with m packet forwarding m buffer management m packet scheduling r Control Plane: concerned with installing and maintaining the states for the data plane

37 Transport Layer (4) r Service: m provides an in-order, error-free, and flow and congestion controlled end-to-end connection m multiplex/demuliplex packets r Interface: sends a packet to a destination r Protocol: implements reliability, as well as flow and congestion control r Examples: TCP and UDP m TCP: in-order, error free, flow and congestion control

38 Session Layer (5) r Service: m full-duplex m access management, e.g., token control m synchronization, e.g., provide check points for long transfers r Interface: depends on service r Protocols: token management; insert checkpoints, implement roll-back functions

39 Presentation Layer (6) r Service: converts data between various representations r Interface: depends on service r Protocol: defines data formats and rules to convert from one format to another

40 Application Layer (7) r Service: any service provided to end users r Interface: depends on the application r Protocol: depends on the application r Examples: FTP, Telnet, WWW

41 What Transport Service Does an App Need? Data loss r some apps can tolerate some packet losses r other apps require 100% reliable data transfer Timing r some apps require low delay to be “effective” Bandwidth r some apps require minimum amount of bandwidth to be “effective” r other apps make use of whatever bandwidth they get

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