Application layer

Post on 06-May-2015

342 views 2 download

description

Computer Networks - Application Layer and Protocols Services

Transcript of Application layer

APPLICATION LAYER &

PROTOCOLS SERVICES

1

Presented By : K.Dharshana R.Dhivya M.Sneha M.Divya Bharathi K.S. Lavanya

OUTLINE Application Layer

There is a need for support protocols, to allow the applications to function

Some network applications DNS: handles naming within the Internet POP – IMAP – SMTP: handle electronic mail FTP: File Transfer over the Internet WWW – HTTP: Web world Multimedia

2

Conceptual, implementation aspects of network application protocolsTransport-layer

service modelsClient-server

paradigmPeer-to-peer paradigm

Learn about protocols by examining popular application-level protocolsHTTPFTPSMTP / POP3 / IMAPDNS

Programming network applicationsSocket API

OUR GOALS

3

4

CREATING A NETWORK APPWrite programs that

Run on (different) end systemsCommunicate over networkE.G., Web server software

communicates with browser software

No need to write software for network-core devicesNetwork-core devices do not run

user applications Applications on end systems

allows for rapid app development, propagation

ApplicationTransportNetworkData linkPhysical

ApplicationTransportNetworkData linkPhysical

ApplicationTransportNetworkData linkPhysical

5

ADDRESSING PROCESSES

To receive messages, process must have identifier

Host device has unique 32-bit IP address

Question: Does IP address of host suffice for identifying the process ?

6

Answer: 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 Port number: 80

ADDRESSING PROCESSES

7

APP-LAYER PROTOCOL DEFINESTypes of messages

exchanged

Message syntax

Message semantics

Rules for when and how processes send & respond to messages

Public-domain protocols:defined in RFCsallows for interoperabilitye.g., HTTP, SMTP

Proprietary protocols:e.g., Skype

APP-LAYER PROTOCOL DEFINES

8

TRANSPORT SERVICEData loss Audio (some apps)

File transfer & Telnet (other apps)

Timing Internet telephony & Interactive games

Throughput Multimedia (some apps)

Any Throughput (elastic or other apps)

Security Encryption & Data integrity

9

10

TRANSPORT SERVICE REQUIREMENTS OF COMMON APPS

Application

File transferE-mail

Web documentsReal-time audio/video

Stored audio/videoInteractive gamesInstant messaging

Data loss

No lossNo lossNo lossLoss-tolerant

Loss-tolerantLoss-tolerantNo loss

Throughput

ElasticElasticElasticAudio: 5kbps-1mbpsVideo:10kbps-5mbpsSame as above Few kbps upElastic

Time sensitive

NoNoNoYes, 100’s msec

Yes, few secsYes, 100’s msecYes and no

11

INTERNET TRANSPORT PROTOCOLS 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

Question: Why bother? Why is there a UDP?

INTERNET TRANSPORT PROTOCOLS SERVICES

12

13

WEB & HTTPFirst some jargonWeb page consists of objectsObject can be HTML file, JPEG image, java applet, audio

file,…Web page consists of base html-file which includes several

referenced objectsEach object is addressable by a URLExample URL:

www.someschool.edu/someDept/pic.gif

host name path name

14

HTTP OVERVIEWHypertext Transfer Protocol

Web’s application layer protocol

Client/server modelClient: Browser that requests,

receives, “displays” web objects

Server: web server sends objects in response to requests

PC runningExplorer

Server Running

Apache webServer

Mac runningNavigator

HTTP request

HTTP request

HTTP response

HTTP response

15

Uses TCP:Client initiates TCP connection

(creates socket) to server, port 80Server accepts TCP connection

from clientHTTP messages (application-

layer protocol messages) exchanged between browser (HTTP client) and web server (HTTP server)

TCP connection closed

HTTP is “stateless”Server maintains no

information about past client requests

HTTP OVERVIEW (Continued)

16

HTTP REQUEST MESSAGETwo types of HTTP messages: Request & ResponseHTTP request message:

ASCII (Human-readable Format)

Request Line(GET, POST,

HEAD commands)

Header Lines

Carriage return, Line feed

Indicates end Of message

GET /somedir/page.html HTTP/1.1Host: www.someschool.edu User-agent: Mozilla/4.0Connection: close Accept-language:fr

(extra carriage return, line feed)

17

HTTP/1.1 200 OK Connection closeDate: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998 …... Content-Length: 6821 Content-Type: text/html data data data data data ...

Status line(Protocol

Status codeStatus phrase)

Header Lines

Data, e.G., RequestedHTML file

HTTP RESPONSE MESSAGE

18

FTP - FILE TRANSFER PROTOCOL

Transfer file to/from remote hostClient/server model

Client: side that initiates transfer (either to/from remote)Server: remote host

FTP: RFC 959FTP server: port 21

File transfer FTPServer

FTPUser

Interface

FTPClient

Local fileSystem

Remote fileSystem

User At host

19

FTPclient

FTPserver

TCP control connectionport 21

TCP data connectionport 20

Server opens another TCP data connection to transfer another file.

Control connection: “out of band”

FTP server maintains “State”: current directory, earlier authentication

FTP - FILE TRANSFER PROTOCOL

20

FTP - COMMANDS & RESPONSES

Sample commands:Sent as ASCII text over control

channelUSER usernamePASS password

LIST return list of file in current directory

RETR filename retrieves file

STOR filename stores file onto remote host

Sample return codes status code and phrase (as in

HTTP)331 Username OK, password

required125 data connection already

open; transfer starting425 Can’t open data

connection452 Error writing file

21

SMTP - ELECTRONIC MAIL

Three major components: User Agents Mail Servers Simple Mail Transfer Protocol

user mailbox

outgoing message queue

mailserver

useragent

useragent

useragent

mailserver

useragent

useragent

mailserver

useragent

SMTP

SMTP

SMTPMail Servers MailboxMessageSMTP Protocol between mail

servers to send email messagesClientServer

22

Electronic Mail: SMTP [RFC 2821]

Uses TCP to reliably transfer email message from client to server, port 25

Direct transfer: sending server to receiving serverThree phases of transfer

Handshaking (greeting)Transfer of messagesClosure

Command/response interactionCommands: ASCII textResponse: status code and phrase

Messages must be in 7-bit ASCII

23

SCENARIO1) Compose message

2) Send message to mail server., message placed in message queue

3) Client side of SMTP opens TCP connection

4) SMTP client sends message over the TCP connection

5) Mail server places the message in receiver’s mailbox

6) User invokes user agent to read message

useragent

mailserver

mailserver user

agent

1

2 3 4 56

24

MAIL ACCESS PROTOCOLS

SMTP: Delivery/storage to receiver’s serverMail Access Protocol: Retrieval from server

POP: Post Office Protocol IMAP: Internet Mail Access Protocol

more features (more complex) manipulation of stored messages on server

HTTP: Gmail, Hotmail, Yahoo! Mail, etc.

useragent

sender’s mail server

useragent

SMTP accessprotocol

receiver’s mail server

SMTP

25

SUMMARY

Application architectures

Client-server

P2P

Hybrid

Application service requirements:

Reliability, bandwidth, delay

Internet transport service model

Connection-oriented, reliable:

TCP

Unreliable, Datagrams: UDP

Specific protocols:

HTTP

FTP

SMTP, POP, IMAP

THANK YOU !

26

27

ANY QUERIES ?