Network Applications



Similar documents
Distributed Systems. 2. Application Layer

Principles of Network Applications. Dr. Philip Cannata

Computer Networks. Examples of network applica3ons. Applica3on Layer

CSIS CSIS 3230 Spring Networking, its all about the apps! Apps on the Edge. Application Architectures. Pure P2P Architecture

Computer Networks & Security 2014/2015

Introdução aos Sistemas Distribuídos

1 Introduction: Network Applications

Network Edge and Network Core

Introduction to Computer Networks

Limi Kalita / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (3), 2014, Socket Programming

Review of Networking Basics. Yao Wang Polytechnic University, Brooklyn, NY11201

Module 2 Overview of Computer Networks

1. The Web: HTTP; file transfer: FTP; remote login: Telnet; Network News: NNTP; SMTP.

CSCI Topics: Internet Programming Fall 2008

Architecture and Performance of the Internet

Chapter 1 Computer Networks and the Internet

Computer Networks and the Internet

The Role and uses of Peer-to-Peer in file-sharing. Computer Communication & Distributed Systems EDA 390

Today s Lecture : Introduction to Telecommunication Networks Lectures 2: Protocol Stack. Applications and Application Protocols

File Transfer Protocol (FTP) & SSH

Three short case studies

Application Layer. CMPT Application Layer 1. Required Reading: Chapter 2 of the text book. Outline of Chapter 2

Domain Name System (DNS)

The TCP/IP Reference Model

Voice-Over-IP. Daniel Zappala. CS 460 Computer Networking Brigham Young University

Chapter 2 Application Layer

Module 1 Introduction CS755! 1-1!

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?

Computer Networks. Instructor: Niklas Carlsson

Common P2P Examples. Peer to Peer Networks. Client-Server Architecture. Uses of P2P. Napster Morpheus Gnutella Freenet BitTorrent Skype

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

EXPLORER. TFT Filter CONFIGURATION

The exam has 110 possible points, 10 of which are extra credit. There is a Word Bank on Page 8. Pages 7-8 can be removed from the exam.

VIDEOCONFERENCING. Video class

02 Internet!= Web. Internet Technology. MSc in Communication Sciences Program in Technologies for Human Communication.

Streaming Stored Audio & Video

Chapter 3. Internet Applications and Network Programming

Voice over IP (VoIP) Overview. Introduction. David Feiner ACN Introduction VoIP & QoS H.323 SIP Comparison of H.323 and SIP Examples

Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

Introduction: Why do we need computer networks?

Interwise Connect. Working with Reverse Proxy Version 7.x

Network Programming TDC 561

Lecture 33. Streaming Media. Streaming Media. Real-Time. Streaming Stored Multimedia. Streaming Stored Multimedia

Bridgit Conferencing Software: Security, Firewalls, Bandwidth and Scalability

SHORT DESCRIPTION OF THE PROJECT...3 INTRODUCTION...4 MOTIVATION...4 Session Initiation Protocol (SIP)...5 Java Media Framework (JMF)...

OCS Training Workshop LAB14. Setup

Internet Concepts. What is a Network?

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

VoIP over P2P networks

Classes of multimedia Applications

Internet Working 15th lecture (last but one) Chair of Communication Systems Department of Applied Sciences University of Freiburg 2005

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

Protocols. Packets. What's in an IP packet

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

Client/server and peer-to-peer models: basic concepts

TSIN02 - Internetworking

Multicast vs. P2P for content distribution

Applications & Application-Layer Protocols: The Domain Name System and Peerto-Peer

Advanced Peer to Peer Discovery and Interaction Framework

Lecture 28: Internet Protocols

Classic Grid Architecture

Chapter 2 Application Layer. Lecture 5 FTP, Mail. Computer Networking: A Top Down Approach

P2P: centralized directory (Napster s Approach)

Digital Audio and Video Data

PEER-TO-PEER NETWORK

Address Resolution Protocol (ARP)

TECHNICAL CHALLENGES OF VoIP BYPASS

ICOM : Computer Networks Chapter 6: The Transport Layer. By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 UPRM

IP-Telephony Real-Time & Multimedia Protocols

Course book: Computer Networking. Computer Networks 3 rd edition. By Andrew ST S.Tanenbaum. Top Down approach 3 rd edition.

Virtual Server and DDNS. Virtual Server and DDNS. For BIPAC 741/743GE

Rev Technology Document

Computer System Management: Hosting Servers, Miscellaneous

internet technologies and standards

Objectives of Lecture. Network Architecture. Protocols. Contents

Network Security. Vorlesung Kommunikation und Netze SS 10 E. Nett

Transport Layer Services Mul9plexing/Demul9plexing. Transport Layer Services

Evolution of Peer-to-Peer Systems

Communicating Applications

Network Overview. The network edge: The network edge: Internet Services Models. The network edge: A closer look at network structure:

Computer Networks - CS132/EECS148 - Spring

What really is a Service?

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

Chakchai So-In, Ph.D.

Chapter 2: Application layer

Internet Services & Protocols Multimedia Applications, Voice over IP

Internet Services & Protocols Multimedia Applications, Voice over IP

Frequently Asked Questions

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

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

Lesson 1 - Computer Networks and Internet - Overview

CSCI-1680 CDN & P2P Chen Avin

Lecture 2. Internet: who talks with whom?

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

Top-Down Network Design

Goal We want to know. Introduction. What is VoIP? Carrier Grade VoIP. What is Meant by Carrier-Grade? What is Meant by VoIP? Why VoIP?

QoS Parameters. Quality of Service in the Internet. Traffic Shaping: Congestion Control. Keeping the QoS

Introduction. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross

Building Applications With Sockets

Transcription:

Computer Networks Network Applications Based on Computer Networking, 3 rd Edition by Kurose and Ross Network applications Sample applications E-mail Web Instant messaging Remote login P2P file sharing Multi-user user network games Streaming stored video clips Internet telephone Real-time video conference Massive parallel computing Typical architectures Client-server Peer-to to-peer (P2P) Hybrid of client-server and P2P 1

Creating a network application Write programs that run on different end systems and communicate over a network. e.g., Web: Web server software communicates with browser software application transport network data link physical Little software written for devices in network core network core devices do not run user application code application on end systems allows for rapid app development, propagation application transport network data link physical application transport network data link physical Client-server architecture server: always-on host permanent IP address server farms for scaling clients: communicate with server may be intermittently connected may have dynamic IP addresses do not communicate directly with each other client/server 2

Pure P2P architecture no always-on server arbitrary end systems directly communicate peers are intermittently connected and change IP addresses example: Gnutella Highly scalable But difficult to manage peer-peer Hybrid of client-server and P2P Napster File transfer P2P File search centralized: Peers register content at central server Peers query same central server to locate content Skype voice-over over-ip P2P application centralized server: finding address of remote party client-client connection: direct (not through server) Instant messaging Chatting between two users is P2P Presence detection/location centralized: User registers its IP address with central server when it comes online User contacts central server to find IP addresses of buddies 3

Processes communicating Process: program running within a host. within same host, two processes communicate using inter-process communication (defined by OS). processes in different hosts communicate by exchanging messages Client process: process that initiates communication Server process: process that waits to be contacted Note: applications with P2P architectures have client processes & server processes Peers in P2P architectures have both client and server functionalities Peers are sometimes called servents (server and client) Sockets process sends/receives messages to/from its socket socket analogous to door sending process shoves message out the door sending process relies on transport infrastructure on other side of door which brings message to socket at receiving process host or server process socket with buffers, variables controlled by app developer Internet host or server process socket with buffers, variables controlled by OS Application programming interface (API): (1) choice of transport protocol (2) ability to fix a few parameters 4

Addressing processes For a process to receive messages, it must have an identifier A host has a unique 32-bit IP address Q: does the IP address of the host on which the process runs suffice for identifying the process? Answer: No, many processes can be running on same host Identifier includes both the IP address and port numbers associated with the process on the host. Example port numbers: HTTP server: 80 Mail server: 25 to send HTTP message to gaia.cs.umass.edu web server: IP address: 128.119.245.12 Port number: 80 Application-layer layer protocol Application-layer layer protocols define Types of messages exchanged, e.g., request & response messages Syntax of message types: what fields in messages & how fields are e delineated Semantics of the fields, i.e., meaning of information in fields Rules for when and how processes send & respond to messages Public-domain protocols: defined in RFCs allows for interoperability e.g., HTTP, SMTP Proprietary protocols: e.g., KaZaA,, Skype 5

What transport service does an application need? Data loss some apps (e.g., audio) can tolerate some loss other apps (e.g., file transfer, telnet) require 100% reliable data d transfer Timing some apps (e.g., Internet telephony, interactive games) require low delay to be effective Bandwidth some apps (e.g., multimedia) require minimum amount of bandwidth to be effective other apps ( ( apps ) ) make use of whatever bandwidth they get Transport service requirements of common applications Application Data loss Bandwidth Time Sensitive file transfer e-mail Web documents real-time audio/video stored audio/video interactive games instant messaging loss-tolerant loss-tolerant loss-tolerant audio: 5kbps-1Mbps video:10kbps-5mbps same as above few kbps up no no no yes, 100 s msec yes, few secs yes, 100 s msec yes and no 6

Internet transport protocols services service: connection-oriented: oriented: setup required between client and server processes reliable transport between sending and receiving process flow control: sender won t t overwhelm receiver congestion control: throttle sender when network overloaded does not provide: timing, minimum bandwidth guarantees UDP service: unreliable data transfer between sending and receiving process does not provide: connection setup, reliability, flow control, congestion c control, timing, or bandwidth guarantee Q: why bother? Why is there a UDP? Internet applications: application, transport protocols Application e-mail remote terminal access Web file transfer streaming multimedia Internet telephony Application layer protocol SMTP [RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 959] proprietary (e.g. RealNetworks) proprietary (e.g., Vonage, Dialpad) Underlying transport protocol or UDP typically UDP 7