Distributed Systems. 2. Application Layer



Similar documents
Network Applications

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

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

Introduction to Computer Networks

Lecture 28: Internet Protocols

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

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

EXPLORER. TFT Filter CONFIGURATION

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

1 Data information is sent onto the network cable using which of the following? A Communication protocol B Data packet

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

Chapter 6 Configuring the SSL VPN Tunnel Client and Port Forwarding

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

Module 2 Overview of Computer Networks

Chapter 3. Internet Applications and Network Programming

File Transfer Protocol (FTP) & SSH

Transport and Network Layer

Computer Networks CS321

Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

Network Edge and Network Core

Architecture and Performance of the Internet

List of Common TCP/IP port numbers

VIDEOCONFERENCING. Video class

Cape Girardeau Career Center CISCO Networking Academy Bill Link, Instructor. 2.,,,, and are key services that ISPs can provide to all customers.

Network Configuration Settings

The TCP/IP Reference Model

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

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

User Datagram Protocol - Wikipedia, the free encyclopedia

Internet Protocol: IP packet headers. vendredi 18 octobre 13

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

Internet Concepts. What is a Network?

Chapter 4: Networking and the Internet

Computer System Management: Hosting Servers, Miscellaneous

Computer Networks. A Top-Down Approach. Behrouz A. Forouzan. and. Firouz Mosharraf. \Connect Mc \ Learn. Hill

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

Interwise Connect. Working with Reverse Proxy Version 7.x

Linux MDS Firewall Supplement

Chakchai So-In, Ph.D.

Protocols. Packets. What's in an IP packet

Address Resolution Protocol (ARP)

Rev Technology Document

TCP/UDP # General Name Short Description

Bridgit Conferencing Software: Security, Firewalls, Bandwidth and Scalability

A host-based firewall can be used in addition to a network-based firewall to provide multiple layers of protection.

Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network.

Network Programming TDC 561

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?

FRAFOS GmbH Windscheidstr. 18 Ahoi Berlin Germany

CALIFORNIA STATE UNIVERSITY CHANNEL ISLANDS COURSE MODIFICATION PROPOSAL

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

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

FRAFOS GmbH Windscheidstr. 18 Ahoi Berlin Germany

Next Generation IPv6 Network Security a Practical Approach Is Your Firewall Ready for Voice over IPv6?

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

TCP/IP Protocol Suite. Marshal Miller Chris Chase

Kick starting science...

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

Computer Networks and the Internet

Chapter 11. User Datagram Protocol (UDP)

Managed VPSv3 Firewall Supplement

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

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

Interactive telecommunication between people Analog voice

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

IxLoad: Testing Microsoft IPTV

Controlling SSL Decryption. Overview. SSL Variability. Tech Note

Lesson: TANDBERG and IP

Marratech Technology Whitepaper

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

Socket = an interface connection between two (dissimilar) pipes. OS provides this API to connect applications to networks. home.comcast.

IxLoad TM Adobe HDS Player Emulation

internet technologies and standards

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

Virtual private network. Network security protocols VPN VPN. Instead of a dedicated data link Packets securely sent over a shared network Internet VPN

First Workshop on Open Source and Internet Technology for Scientific Environment: with case studies from Environmental Monitoring

Communications and Networking

SIP, Session Initiation Protocol used in VoIP

Prefix COMP Course# 429 Title Computer Networks Units (3) 3 hours lecture per week 3 hours lecture per week

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?

The Internet. Chapter 10. Learning Objectives. Chapter Outline. After reading this chapter, you should be able to:

Review: Lecture 1 - Internet History

Connecting to and Setting Up a Network

loss-tolerant and time sensitive loss-intolerant and time sensitive loss-intolerant and time insensitive

Network Simulation Traffic, Paths and Impairment

MINIMUM NETWORK REQUIREMENTS 1. REQUIREMENTS SUMMARY... 1

Chapter 1 Personal Computer Hardware hours

Chapter 2 Application Layer

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.

SIP : Session Initiation Protocol

Chapter 1: Introduction

CSE 473s Introduction to Computer Networks

Key Term Quiz Answers

Top-Down Network Design

Transcription:

Distributed Systems 2. Application Layer Werner Nutt 1 Network Applications: Examples E-mail Web Instant messaging Remote login P2P file sharing Multi-user network games Streaming stored video clips Social networks Voice over IP Real-time video conferencing Grid computing 2

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 application development, propagation application transport network data link physical application transport network data link physical application transport network data link physical 3 Application Architectures Client-server Peer-to-peer (P2P) Hybrid of client-server and P2P 4 2: Application Layer 4

Client-server Architecture Client/Server 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 5 Pure P2P Architecture No always-on server Arbitrary end systems directly communicate Peers are intermittently connected and change IP addresses Peer-Peer Highly scalable but difficult to manage 6

Hybrid of Client-server and P2P Skype voice-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 centralized service: client presence detection/location user registers its IP address with central server when it comes online user contacts central server to find IP addresses of buddies 7 Communication Between Processes 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 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 which brings message to socket at receiving process host or server process socket TCP with buffers, variables controlled by application developer controlled by OS Internet host or server process socket TCP with buffers, variables API allows: (1) choice of transport protocol (2) ability to fix a few parameters (more on this later) 9 Addressing Processes To receive messages, a process must have an identifier A host device has a unique 32-bit IP address Exercise: Find out the IP address of your laptop/desktop Does the IP address of the host on which a process runs suffice for identifying the process?... Identifier includes both IP address and port numbers associated with processes on the host Example port numbers: HTTP server: 80 Mail server: 25 10

Assigned Port Numbers FTP Data 20 FTP Control 21 SSH 22 Telnet 23 SMTP 25 Domain Name Server 42 Whois 43 HTTP 80 POP3 110 IMAP4 143 BGP 179 HTTPS 443 IMAP4 over SSL 993 Assigned by IANA (= Internet Assigned Numbers Authority) Numbers between 0 and 1023 are well-known ports opening a port for such numbers requires privileges can be found - on the Web - in /etc/services under Linux and MAC/OS 11 Application Layer Protocols Define Types of messages exchanged, e.g., request, response Message syntax: fields in messages and how fields are delineated Message semantics 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, BitTorrent Proprietary protocols: e.g., Skype 12 2: Application Layer 12

What Transport Service Does an Application Need? Data loss Some loss can be tolerated: audio, video 100% reliability needed: file transfer, telnet Timing Delays can be tolerated: file transfer Low delays needed: internet telephony, interactive games Data Throughput Ineffective with throughput below minimum: multimedia Run with whatever is offered: elastic applications Security Encryption, data integrity, 13 Transport Service Requirements of Common Applications Application Data loss Throughput Time Sensitive File transfer E-mail Web documents Real-time audio/video Stored audio/video Interactive games Instant 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 14

Internet Transport Protocol Services TCP service: Connection-oriented: setup required between client and server processes 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 guarantees, security UDP service: Unreliable data transfer between sending and receiving process Does not provide: connection setup, reliability, flow control, congestion control, timing, throughput guarantee, or security Why bother? Why is there a UDP? 15 Applications and Transport Protocols Application Application-layer Underlying Transport protocol Protocol Electronic mail SMTP TCP Remote terminal access Telnet TCP Web HTTP TCP File transfer FTP TCP Streaming multimedia HTTP, RTP TCP or UDP Internet telephony SIP, proprietary typically UDP Network management SNMP typically UDP Routing protocol RIP, OSPF typically UDP Name translation DNS typically UDP 16