Principles of Network Applications. Dr. Philip Cannata



Similar documents
Distributed Systems. 2. Application Layer

Network Applications

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

File Transfer Protocol (FTP) & SSH

1 Introduction: Network Applications

Chapter 2 Application Layer

Chapter 6 Wireless and Mobile Networks

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

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

Network Edge and Network Core

Module 2 Overview of Computer Networks

Bridgit Conferencing Software: Security, Firewalls, Bandwidth and Scalability

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

CSCI Topics: Internet Programming Fall 2008

Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

VIDEOCONFERENCING. Video class

internet technologies and standards

Interwise Connect. Working with Reverse Proxy Version 7.x

Introduction to Computer Networks

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

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

Architecture and Performance of the Internet

Lecture 28: Internet Protocols

Domain Name System (DNS)

Chapter 2 Application Layer

Chapter 4 Network Layer

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?

SIP, Session Initiation Protocol used in VoIP

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

Computer System Management: Hosting Servers, Miscellaneous

TSIN02 - Internetworking

Chapter 9 Network Management

Chakchai So-In, Ph.D.

TECHNICAL CHALLENGES OF VoIP BYPASS

Network Programming TDC 561

CS 5480 Computer Networks

District of Columbia Courts Attachment 1 Video Conference Bridge Infrastructure Equipment Performance Specification

Chapter 9 Network Management

Marratech Technology Whitepaper

Internet Concepts. What is a Network?

Chapter 8 Network Management. Chapter 8 outline. What is network management? Chapter 8: Network Management

Chapter 1 Computer Networks and the Internet

Chapter 3. Internet Applications and Network Programming

Chapter 1: Introduction

Chapter 6 Configuring the SSL VPN Tunnel Client and Port Forwarding

Session Initiation Protocol (SIP) The Emerging System in IP Telephony

What really is a Service?

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

Rev Technology Document

EE4607 Session Initiation Protocol

By Kundan Singh Oct Communication

Master Kurs Rechnernetze Computer Networks IN2097

E-Commerce Security. The Client-Side Vulnerabilities. Securing the Data Transaction LECTURE 7 (SECURITY)

SIP A Technology Deep Dive

CPSC 4550 Computer Networks Fall 2012, Section 0

Network Management: - SNMP - Software Defined networking

DATA COMMUNICATOIN NETWORKING

Application Note. Onsight Connect Network Requirements v6.3

OmniJoin Security (July 2015)

;. ' ;. - ' Computer Networking. ^4 Top-Down Approach. James F. Kurose. Keith W. Ross. Polytechnic University, Brooklyn PEARSON.

Computer Networks and the Internet

Mondopad v1.6. Quick Start

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

Computer Networks CS321

Introduction: Why do we need computer networks?


Why SSL is better than IPsec for Fully Transparent Mobile Network Access

Protocols. Packets. What's in an IP packet

IP-Telephony Real-Time & Multimedia Protocols

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

An Introduction to VoIP Protocols

FRAFOS GmbH Windscheidstr. 18 Ahoi Berlin Germany

Objectives of Lecture. Network Architecture. Protocols. Contents

SSL VPN. Virtual Private Networks based on Secure Socket Layer. Mario Baldi. Politecnico di Torino. Dipartimento di Automatica e Informatica

EXPLORER. TFT Filter CONFIGURATION

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

Secure VoIP Transmission through VPN Utilization

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

Scan Report Executive Summary. Part 2. Component Compliance Summary IP Address :

VIA COLLAGE Deployment Guide

A Comparative Study of Signalling Protocols Used In VoIP

CPS221 Lecture: Layered Network Architecture

FRAFOS GmbH Windscheidstr. 18 Ahoi Berlin Germany

Unit 23. RTP, VoIP. Shyam Parekh

Layered protocol (service) architecture

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

A Scalable Multi-Server Cluster VoIP System

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

Combining Voice over IP with Policy-Based Quality of Service

Ethernet. Ethernet. Network Devices

Research on P2P-SIP based VoIP system enhanced by UPnP technology

Internet Services & Protocols Multimedia Applications, Voice over IP

Transcription:

Principles of Network Applications Dr. Philip Cannata 1

Chapter 2 Application Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations; and can add, modify, and delete slides (including this one) and slide content to suit your needs. They obviously represent a lot of work on our part. In return for use, we only ask the following: v If you use these slides (e.g., in a class) that you mention their source (after all, we d like people to use our book!) v If you post any slides on a www site, that you note that they are adapted from (or perhaps identical to) our slides, and note our copyright of this material. Thanks and enjoy! JFK/KWR All material copyright 1996-2012 J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Application Layer 2-2 Dr. Philip Cannata 2

Some network apps e-mail web text messaging remote login P2P file sharing multi-user network games streaming stored video (YouTube, Hulu, Netflix) voice over IP (e.g., Skype) real-time video conferencing social networking search Application Layer 2-3 Dr. Philip Cannata 3

Creating a network app write programs that: run on (different) end systems communicate over network e.g., web server software communicates with browser software no need to write software for network-core devices network-core devices do not run user applications applications on end systems allows for rapid app development, propagation application transport network data link physical application transport network data link physical application transport network data link physical Application Layer 2-4 Dr. Philip Cannata 4

Application architectures possible structure of applications: client-server peer-to-peer (P2P) Application Layer 2-5 Dr. Philip Cannata 5

Client-server architecture server: always-on host permanent IP address data centers for scaling client/server clients: communicate with server may be intermittently connected may have dynamic IP addresses do not communicate directly with each other Application Layer 2-6 Dr. Philip Cannata 6

P2P architecture no always-on server arbitrary end systems directly communicate peers request service from other peers, provide service in return to other peers self scalability new peers bring new service capacity, as well as new service demands peers are intermittently connected and change IP addresses complex management peer-peer Application Layer 2-7 Dr. Philip Cannata 7

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 clients, servers client process: process that initiates communication server process: process that waits to be contacted v aside: applications with P2P architectures have client processes & server processes Application Layer 2-8 Dr. Philip Cannata 8

Sockets process sends/receives messages to/from its socket socket analogous to door sending process shoves message out door sending process relies on transport infrastructure on other side of door to deliver message to socket at receiving process application process socket application process controlled by app developer transport network link physical Internet transport network link physical controlled by OS Application Layer 2-9 Dr. Philip Cannata 9

Addressing processes to receive messages, process must have identifier host device has unique 32-bit IP address Q: does IP address of host on which process runs suffice for identifying the process? A: no, many processes can be running on same host identifier includes both IP address and port numbers associated with process on 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 more shortly port number: 80 Application Layer 2-10 Dr. Philip Cannata 10

App-layer protocol defines types of messages exchanged, e.g., request, response message syntax: what fields in messages & how fields are delineated message semantics meaning of information in fields rules for when and how processes send & respond to messages open protocols: defined in RFCs allows for interoperability e.g., HTTP, SMTP proprietary protocols: e.g., Skype Application Layer 2-11 Dr. Philip Cannata 11

What transport service does an app need? data integrity some apps (e.g., file transfer, web transactions) require 100% reliable data transfer other apps (e.g., audio) can tolerate some loss timing some apps (e.g., Internet telephony, interactive games) require low delay to be effective throughput v some apps (e.g., multimedia) require minimum amount of throughput to be effective v other apps ( elastic apps ) make use of whatever throughput they get security v encryption, data integrity, Application Layer 2-12 Dr. Philip Cannata 12

Transport service requirements: common apps application data loss throughput time sensitive file transfer e-mail Web documents real-time audio/video stored audio/video interactive games text messaging no loss no loss no loss loss-tolerant loss-tolerant loss-tolerant no loss elastic elastic elastic audio: 5kbps-1Mbps video:10kbps-5mbps same as above few kbps up elastic no no no yes, 100 s msec yes, few secs yes, 100 s msec yes and no Application Layer 2-13 Dr. Philip Cannata 13

Internet transport protocols services TCP service: reliable transport between sending and receiving process flow control: sender won t overwhelm receiver congestion control: throttle sender when network overloaded does not provide: timing, minimum throughput guarantee, security connection-oriented: setup required between client and server processes UDP service: unreliable data transfer between sending and receiving process does not provide: reliability, flow control, congestion control, timing, throughput guarantee, security, orconnection setup, Q: why bother? Why is there a UDP? Application Layer 2-14 Dr. Philip Cannata 14

Internet apps: 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] HTTP (e.g., YouTube), RTP [RFC 1889] SIP, RTP, proprietary (e.g., Skype) underlying transport protocol TCP TCP TCP TCP TCP or UDP TCP or UDP Application Layer 2-15 Dr. Philip Cannata 15

Securing TCP TCP & UDP! v no encryption! v cleartext passwds sent into socket traverse Internet in cleartext! SSL! v provides encrypted TCP connection! v data integrity! v end-point authentication! SSL is at app layer Apps use SSL libraries, which talk to TCP SSL socket API v cleartext passwds sent into socket traverse Internet encrypted v See Chapter 7 2-16 Application Layer Dr. Philip Cannata 16