datakommunikasjon høsten 2002 forelesning nr 2, 19. august chapter 2, application layer

68
Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

Upload: keila-haughton

Post on 31-Mar-2015

232 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

Datakommunikasjon Høsten 2002

Forelesning nr 2, 19. augustChapter 2, Application Layer

Page 2: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

ØvingsoppgaverIngen

Page 3: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

ApplikasjonsprotokollerFTP – File Transfer protocolDNS – Domain Name SystemHTTP – HyperText Transfer protocolTelnet, RloginSNMP – Simple Network Management ProtocolSMTP - Simple Mail Transfer ProtocolPOP3 – Post Office Protocol IMAP – Internet Mail Access Protocol

Page 4: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

Kommunikasjonslagene (referert til OSI)

Application

Presentation

Session

Ethernet

IPARP

ICMP

TCP UDP

Network

Transport

Data Link

Physical

Application

Transport

Network

Data LinkPPP

FTP HTTP

DNS

OSIInternet-TCP/IP

SMTP

Page 5: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

Network applications: some jargon

Process: program running within a host.

within same host, two processes communicate using interprocess communication (defined by OS).

processes running in different hosts communicate with an application-layer protocol

user agent: software process, interfacing with user “above” and network “below”. implements

application-level protocol

Web: browser E-mail: mail reader streaming

audio/video: media player

Page 6: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

Client-server paradigmTypical network app has two

pieces: client and serverapplicatio

ntransportnetworkdata linkphysical

application

transportnetworkdata linkphysical

Client: initiates contact with server

(“speaks first”) typically requests service

from server, Web: client implemented in

browser; e-mail: in mail reader

request

reply

Server: provides requested service to client e.g., Web server sends requested Web

page, mail server delivers e-mail

Page 7: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

Application-layer protocols (cont).

API: application programming interface

defines interface between application and transport layers

socket: Internet API two processes

communicate by sending data into socket, reading data out of socket

Q: how does a process “identify” the other process with which it wants to communicate? IP address of host

running other process “port number” - allows

receiving host to determine to which local process the message should be delivered

Page 8: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

What transport service does an app need?Data loss some apps (e.g., audio)

can tolerate some loss other apps (e.g., file

transfer, telnet) require 100% reliable data 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 (“elastic apps”) make use of whatever bandwidth they get

Page 9: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

Transport service requirements of common apps

Application

file transfere-mail

Web documentsreal-time audio/video

stored audio/videointeractive games

financial apps

Data loss

no lossno lossloss-tolerantloss-tolerant

loss-tolerantloss-tolerantno loss

Bandwidth

elasticelasticelasticaudio: 5Kb-1Mbvideo:10Kb-5Mbsame as above few Kbps upelastic

Time Sensitive

nononoyes, 100’s msec

yes, few secsyes, 100’s msecyes and no

Page 10: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

Internet transport protocols services

TCP service: connection-oriented: setup

required between client, server

reliable transport between sending and receiving process

flow control: sender won’t overwhelm receiver

congestion control: throttle sender when network overloaded

does not providing: timing, minimum bandwidth guarantees

UDP service: unreliable data transfer

between sending and receiving process

does not provide: connection setup, reliability, flow control, congestion control, timing, or bandwidth guarantee

Page 11: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

Internet apps: application, transport protocols

Application

e-mailremote terminal access

Web file transfer

streaming multimedia

remote file serverInternet telephony

Applicationlayer protocol

smtp [RFC 821]telnet [RFC 854]http [RFC 2068]ftp [RFC 959]proprietary(e.g. RealNetworks)NSFproprietary(e.g., Vocaltec)

Underlyingtransport protocol

TCPTCPTCPTCPTCP or UDP

TCP or UDPtypically UDP

Page 12: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

ftp: the file transfer protocol

transfer file to/from remote host client/server model

client: side that initiates transfer (either to/from remote)

server: remote host ftp: RFC 959 ftp server: port 21

file transfer FTPserver

FTPuser

interface

FTPclient

local filesystem

remote filesystem

user at host

Page 13: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

ftp: separate control, data connections

ftp client contacts ftp server at port 21, specifying TCP as transport protocol

two parallel TCP connections opened: control: exchange

commands, responses between client, server.

“out of band control” data: file data to/from

server ftp server maintains “state”:

current directory, earlier authentication

FTPclient

FTPserver

TCP control connection

port 21

TCP data connectionport 20

Page 14: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

ftp commands, responses

Sample commands: sent as ASCII text over

control channel USER username PASS password LIST return list of file in

current directory RETR filename retrieves

(gets) file STOR filename stores

(puts) file onto remote host

Sample return codes status code and phrase (as

in http) 331 Username OK,

password required 125 data connection

already open; transfer starting

425 Can’t open data connection

452 Error writing file

Page 15: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

DNS: Domain Name System

People: many identifiers: SSN, name, passport #

Internet hosts, routers: IP address (32 bit) -

used for addressing datagrams

“name”, e.g., gaia.cs.umass.edu - used by humans

Q: map between IP addresses and name ?

Domain Name System: distributed database

implemented in hierarchy of many name servers

application-layer protocol host, routers, name servers to communicate to resolve names (address/name translation) note: core Internet

function, implemented as application-layer protocol

complexity at network’s “edge”

Page 16: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

DNS - Domain Name System

Mapper mellom hostnavn og IP-adresse(og omvendt)

Benyttes av TCP/IP applikasjoner Distribuert, hierarkiskBenytter både TCP og UDP som

transport, port nummer 53 Eksempler

DNS Query DNS Reply

RFC1034, RFC1035

Page 17: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

DNS name servers

no server has all name-to-IP address mappings

local name servers: each ISP, company has

local (default) name server host DNS query first goes

to local name server

authoritative name server: for a host: stores that

host’s IP address, name can perform name/address

translation for that host’s name

Why not centralize DNS? single point of failure traffic volume distant centralized

database maintenance

doesn’t scale!

Page 18: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

DNS: Root name servers contacted by local name server that can not resolve name root name server:

contacts authoritative name server if name mapping not known

gets mapping returns mapping to local name server

b USC-ISI Marina del Rey, CAl ICANN Marina del Rey, CA

e NASA Mt View, CAf Internet Software C. Palo Alto, CA

i NORDUnet Stockholm

k RIPE London

m WIDE Tokyo

a NSI Herndon, VAc PSInet Herndon, VAd U Maryland College Park, MDg DISA Vienna, VAh ARL Aberdeen, MDj NSI (TBD) Herndon, VA

13 root name servers worldwide

Page 19: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

Simple DNS example

host surf.eurecom.fr wants IP address of gaia.cs.umass.edu

1. contacts its local DNS server, dns.eurecom.fr

2. dns.eurecom.fr contacts root name server, if necessary

3. root name server contacts authoritative name server, dns.umass.edu, if necessary requesting host

surf.eurecom.frgaia.cs.umass.edu

root name server

authorititive name serverdns.umass.edu

local name serverdns.eurecom.fr

1

23

4

5

6

Page 20: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

DNS example

Root name server: may not know

authoritative name server

may know intermediate name server: who to contact to find authoritative name server

requesting hostsurf.eurecom.fr

gaia.cs.umass.edu

root name server

local name serverdns.eurecom.fr

1

23

4 5

6

authoritative name serverdns.cs.umass.edu

intermediate name serverdns.umass.edu

7

8

Page 21: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

DNS: iterated queries

recursive query: puts burden of

name resolution on contacted name server

heavy load?

iterated query: contacted server

replies with name of server to contact

“I don’t know this name, but ask this server”

requesting hostsurf.eurecom.fr

gaia.cs.umass.edu

root name server

local name serverdns.eurecom.fr

1

23

4

5 6

authoritative name serverdns.cs.umass.edu

intermediate name serverdns.umass.edu

7

8

iterated query

Page 22: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

DNS: caching and updating records

once (any) name server learns mapping, it caches mapping cache entries timeout (disappear) after

some time update/notify mechanisms under design by

IETF RFC 2136 http://www.ietf.org/html.charters/dnsind-charter.html

Page 23: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

DNS resource records

DNS: distributed db storing resource records (RR)

Type=NS name is domain (e.g.

foo.com) value is IP address of

authoritative name server for this domain

RR format: (name, value, type,ttl)

Type=A name is hostname value is IP address

Type=CNAME name is alias name for some

“cannonical” (the real) name

www.ibm.com is really servereast.backup2.ibm.com value is cannonical name

Type=MX value is name of mailserver

associated with name

Page 24: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

DNS protocol, messagesDNS protocol : query and reply messages, both with same message format

msg header identification: 16 bit #

for query, reply to query uses same #

flags: query or reply recursion desired recursion available reply is authoritative

Page 25: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

DNS - Domain Name System RFC1034, RFC1035

Distribuert Ingen navneserver har lagret all informasjon Et nett (firma, organisasjon o.l) har en eller flere

navneservere Inneholder hele eller deler av egne definisjoner Håndterer også forespørsler utenfra

Hierarkisk Hvis egen server ikke har nødvendig informasjon,

sendes forespørselen til nivået over Et overliggende nivå vil gjenkjenne nok til å kunne

velge underliggende nivå for forespørsel.

Page 26: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

DNS - Domain Name System RFC1034, RFC1035

Top Level Domains

Second Level Domains

Unnamed root

IN-ADDR

36

136

69

196

YAHOO

PEOPLE

NO

SCANDPOWER

WWW

Generic Domains Country Domains

ARPA - Special Domain for address-to-name mappings

COM EDU GOV MIL NET ORGARPA AE NO ZW

Page 27: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

DNS - Domain Name SystemRFC1034, RFC1035

Resultat fra en ekstern forespørsel kan lagres i lokal navneserver til senere bruk

En DNS respons vil inneholde informasjon om kilden er autoritativ eller ikke.

Page 28: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

The Web: the http protocol

http: hypertext transfer protocol

Web’s application layer protocol

client/server model client: browser that

requests, receives, “displays” Web objects

server: Web server sends objects in response to requests

http1.0: RFC 1945 http1.1: RFC 2068

PC runningExplorer

Server running

NCSA Webserver

Mac runningNavigator

http request

http re

quest

http response

http re

sponse

Page 29: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

The http protocol: morehttp: TCP transport

service: client initiates TCP

connection (creates socket) to server, port 80

server accepts TCP connection from client

http 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

Page 30: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

http example

Suppose user enters URL www.someSchool.edu/someDepartment/home.index

1a. http client initiates TCP connection to http server (process) at www.someSchool.edu. Port 80 is default for http server.

2. http client sends http request message (containing URL) into TCP connection socket

1b. http server at host www.someSchool.edu waiting for TCP connection at port 80. “accepts” connection, notifying client

3. http server receives request message, forms response message containing requested object (someDepartment/home.index), sends message into socket

time

(contains text, references to 10

jpeg images)

Page 31: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

http example (cont.)

5. http client receives response message containing html file, displays html. Parsing html file, finds 10 referenced jpeg objects

6. Steps 1-5 repeated for each of 10 jpeg objects

4. http server closes TCP connection.

time

Page 32: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

Non-persistent, persistent connections

Non-persistent http/1.0: server parses

request, responds, closes TCP connection

each transfer suffers from TCP’s initially slow sending rate

many browsers open multiple parallel connections

Persistent default for htp/1.1 on same TCP connection:

server, parses request, responds, parses new request,..

client sends requests for all referenced objects as soon as it receives base HTML.

fewer RTTs, less slow start.

Page 33: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

http message format: request two types of http messages: request, response http request message:

ASCII (human-readable format)

GET /somedir/page.html HTTP/1.0 User-agent: Mozilla/4.0 Accept: text/html, image/gif,image/jpeg Accept-language:fr

(extra carriage return, line feed)

request line(GET, POST,

HEAD commands)

header lines

Carriage return, line feed

indicates end of message

Page 34: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

http request message: general format

Page 35: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

http message format: response

HTTP/1.0 200 OK Date: 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

Page 36: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

http response status codes

200 OK request succeeded, requested object later in this

message

301 Moved Permanently requested object moved, new location specified later

in this message (Location:)

400 Bad Request request message not understood by server

404 Not Found requested document not found on this server

505 HTTP Version Not Supported

In first line in server->client response message.A few sample codes:

Page 37: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

Cookies: keeping “state”

server-generated # , server-remembered #, later used for: authentication remembering user

preferences, previous choices

server sends “cookie” to client in response msgSet-cookie: 1678453

client presents cookie in later requestscookie: 1678453

client server

usual http request msgusual http response

+Set-cookie: #

usual http request msg

cookie: #usual http response

msg

usual http request msg

cookie: #usual http response msg

cookie-specificaction

cookie-specificaction

Page 38: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

Web Caches (proxy server)

user sets browser: Web accesses via web cache

client sends all http requests to web cache object in web cache:

web cache returns object

else web cache requests object from origin server, then returns object to client

Goal: satisfy client request without involving origin server

client

Proxyserver

client

http request

http re

quest

http response

http re

sponse

http request

http response

origin server

origin server

Page 39: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

Why Web Caching?

Assume: cache is “close” to client (e.g., in same network)

smaller response time: cache “closer” to client

decrease traffic to distant servers link out of

institutional/local ISP network often bottleneck

originservers

public Internet

institutionalnetwork 10 Mbps LAN

1.5 Mbps access link

institutionalcache

Page 40: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

HTTP eksempel (GET)

(REQUEST METODE) Line 1: GET / HTTP/1.1

(REQUEST HEADER PARAMETER)Line 2: Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/vnd.ms-powerpoint, */* Line 3: Accept-Language: en Line 4: Accept-Encoding: gzip, deflateLine 5: If-Modified-Since: Wed, 26 Sep 2001 09:30:23 GMTLine 6: If-None-Match: "502728de6d46c11:1c8e”Line 7: User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0; TUCOWS)Line 8: Host: intranett.halden.scandpower.no

(GENERAL HEADER FIELD)Line 9: Connection: Keep-Alive

Page 41: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

HTTP eksempel (Get response)

Line 1: HTTP/1.1 304 Not Modified

Line 2: Server: Microsoft-IIS/4.0

Line 3: Date: Sun, 04 Nov 2001 16:20:09 GMT

Line 4: Content-Location: http://intranett.halden.scandpower.no/Default.htm

Line 5: ETag: "502728de6d46c11:1c8e"

Line 6: Content-Length: 0

Page 42: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

HTTP eksempel (response)

Line 1: HTTP/1.1 200 OK

Line 2: Server: Microsoft-IIS/4.0

Line 3: Date: Sun, 04 Nov 2001 16:20:09 GMT

Line 4: Content-Type: application/x-javascript

Line 5: Accept-Ranges: bytes

Line 6: Last-Modified: Fri, 02 Nov 2001 13:58:51 GMT

Line 7: ETag: "80f66b80a663c11:1c8e"

Line 8: Content-Length: 14481

Page 43: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

Telnet og RloginInnlogging fra en maskin til en annen over

nettetBenytter seg av klient-tjener begrepetTelnet er en standard applikasjon som er

implementert i alle TCP/IP applikasjonerRlogin kommer fra Berkley Unix og ble

utviklet for pålogging mellom to Unix systemer

Telnet er mer kompleks enn Rlogin

Page 44: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

44

SNMP – Simple Network Management Protocol

Request

Response

Unsolicited trap

Manager Agent

Network ManagementStation

Network Management Protocol Managed Node

(Management Information)

Page 45: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

45

SNMP protokollen

Manager Agent

GetRequest,GetNextRequest,SetRequest

GetResponse

Trap

Port 161

Port 162

Page 46: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

46

SNMP innkapsling

LLC/MACheader

IPheader

UDPheader

SNMPmelding

LLC/MACtrailer

Data Link nivå Nettverks-nivå

Transport-nivå

Applikasjons-nivå

SNMP innkapsling:

Page 47: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

47

SNMPv1 melding

En SNMPv1 melding består av 3 deler:

Versjonsnummer

Communitystring

En av de 5SNMP PDUene

Page 48: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

Internet Mail User agent, dvs Outlook, Eudora, Pegasus osv Mail transfer Agent, dvs Microsoft Exchange,

Sendmail SMTP - Simple Mail Transfer Protocol

TCP/IP Kun sending av tekst

MIME - Multi-purpose Internet Mail Extension Sending av bilder, video osv

POP 3 - Post Office Protocol ver 3 IMAP - Internet Message Access Protocol MX-records (Mail Exchange records)

Del an DNS (Domain Name System)

Page 49: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

SMTP Mail Flyt

Page 50: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

User Agent (mail program)Lese og sende mailOpsjoner:

Videresending til andre Svarsfunksjon Filtrering av innkommende mail til ulike mail

bokser Signatur fil Adresslister, aliases

Page 51: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

Mail Transfer Agent (MTA)Ansvarlig for å sende mailen gjennom

nettetBaseres på SMTP (Simple Mail Transfer

Protocol)SMTP er en enkel ASCII protokollBenytter TCP og port 25 for å opprette en

forbindelse mellom to MTA-er

Page 52: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

Sammensetning av en mailEnvelopes

Brukes av Message Transfer Agent

Headers Brukes av User Agent

Body Innholdet i mailen (tekst og vedlegg)

Page 53: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

Envelopes - eksempelReceived: from sara.halden.scandpower.no ([193.69.136.35]) by

Received: from sara.halden.scandpower.no ([193.69.136.35]) by janis.halden.scandpower.no with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2653.13)id RCM02KCM; Mon, 20 Aug 2001 12:41:19 +0200

Received: from fw.scandpower.no (mail.hrp.no [158.36.61.51])by sara.halden.scandpower.no (8.9.3/8.9.3) with SMTP id MAA12382for <[email protected]>; Mon, 20 Aug 2001 12:43:02 +0200

Received: from mail.hrp.no ([158.36.61.51]) by fw.scandpower.no via smtpd (for sara.halden.scandpower.com

[193.69.136.35]) with SMTP; 20 Aug 2001 10:44:06 UTReceived: from pcthorbjornb (pc-thorbjornb.hrp.no [158.36.44.62])

by mail.hrp.no (8.10.1/8.9.0) with SMTP id f7KAlXK14155;Mon, 20 Aug 2001 12:47:33 +0200 (METDST)

Page 54: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

Header - eksempelMessage-ID:

<806CBC6BC8F7D4118BB0009027A3176604EDC2@EXCHANGE>

From: Per Hansen <[email protected]>To: [email protected] <

[email protected]>Subject: E-mail security

Page 55: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

SMTP-kommandoer (RFC 821)HELO <sending-host>MAIL FROM: <from-address>RCPT TO: <to-address>DATA<tekst>.QUIT

Page 56: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

MX-recordsBrukes for å fortelle omverdenen om

hvem som er mail serverDel av DNS (Domain Name System)MX-recorden for en domene forteller i

prioritert rekkefølge hvor mailen skal sendes

Page 57: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

MX-record eksempelMX-record for scandpower.no

1. prioritet: bill.halden.scandpower.no2. prioritet: mail.globalone.no

Mail leveres til mail.globalone.no hvis mailserver bill er nede eller forbindelsen til Internett er nede

Page 58: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

POP 3Post Office Protocol number 3Protokoll for å hente mail fra mail server

til en mail klient (f.eks Outlook eller Eudora)

Bruker TCP og port 110Baserer seg på enkle ASCII kommandoer

Page 59: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

POP3 kommandoerUSER usernamePASS passwordSTAT [gir antall uleste meldinger]LIST (n) 8gir størrelse på melding n]RETR n [hent melding nr n]DELE n [slett melding nr n]QUIT

Page 60: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

Internet Message Access Protocol - IMAP Mail klientTilsvarende som POP3, men all behandling

av mail foregår på mailserverenPOP3 henter mailen ned til User Agent

Page 61: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

MIME – Multipurpose Internet Mail ExtensionUtvidelse av SMTP for å kunne overføre

filer som ikke er 7-bit ASCIIMIME informasjon i mail:

MIME-Version Content-Type Content-Transfer-Encoding (Content-Description) (Content-ID)

Page 62: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

MIME – Content TypeTextImageAudioApplication (Word, Postscript, )Multipart (Mixed, alternative)

Page 63: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

MIME – Content-transfer encodingForteller hvordan innholdet av mailen er

kodet Fem forskjellige kode formater er definert

7 bits ASCII Quoted Printable base64 8 bits som inneholder linjer binær koding, 8 bit data uten linjer

Page 64: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

Quoted Printable7 bit ASCII med alle karakterer <33 og

>127 kodes som likhetstegn + verdien av tegnet som to hexadecimale tegn

eks. bokstaven ”å” kodes som =E5Karakteresettet ISO-8859 gir å=229

desimalt229=11100101

1110=E1110=5”å” kodes som =E5

Page 65: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

Base 64 Encoding

Page 66: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

Base 64 encoding Tre bytes med data kodes som fire 6 bits

karakterer Orginale data: Hi!

H i !01001000 01101001 00100001 (24 bit)

010010 000110 100100 100001

00010010 00000110 00100100 00100001

S G k h

Datamengden øker med 25%

Page 67: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

MIME - eksempelMIME-Version: 1.0X-Mailer: Internet Mail Service

(5.5.2653.19)Content-Type: text/plain; charset="iso-8859-1"Content-Transfer-Encoding: quoted-

printable

Page 68: Datakommunikasjon Høsten 2002 Forelesning nr 2, 19. august Chapter 2, Application Layer

MIME eks. Word fil som vedlegg

MIME-Version: 1.0

Content-Type: multipart/mixed;

Content-Type: text/plain; charset="iso-8859-1"

Content-Type: application/msword;

Content-Transfer-Encoding: base64