Datakommunikasjon Høsten 2001 Forelesning nr 11, 5. november 2001 Chapter 19 Distributed Applications
Øvingsoppgaver zIngen
Kommunikasjonslagene (referert til OSI) ApplicationPresentationSession Ethernet IP ARP ICMP TCPUDP NetworkTransportData LinkPhysicalApplicationTransportNetworkData Link PPP FTPHTTP DNS OSI Internet-TCP/IP SMTP
IP Header VersionIHLType of ServiceTotal length Source Address Destination Address Options Identification 0 DFDF MFMF Fragment Offset Time to LiveProtocolHeader Checksum RFC791 Eksempel
TCP - Transmission Control Protocol Source Port TCP Header Destination Port Sequence Number Acknowledge Number Header Length Reserved URGURG ACKACK PSHPSH RSTRST SYNSYN FINFIN Window Size TCP ChecksumUrgent Pointer Options
TCP - Sekvens opp- /nedkobling SYN SYN, ACK ACK FIN ACK - Data - FIN THREE WAY HANDSHAKE HALF CLOSE
UDP - User Datagram Protocol UDP Header Source PortDestination Port UDP length UDP length = lengden av hele datagrammet UDP checksum UDP checksum = sjekksum av hele datagrammet
8 SNMP – Simple Network Management Protocol Request Response Unsolicited trap ManagerAgent Network Management Station Network Management ProtocolManaged Node (Management Information)
9 SNMP protokollen ManagerAgent GetRequest, GetNextRequest, SetRequest GetResponse Trap Port 161 Port 162
10 SNMP innkapsling LLC/MAC header IP header UDP header SNMP melding LLC/MAC trailer Data Link nivåNettverks- nivå Transport- nivå Applikasjons- nivå SNMP innkapsling:
11 SNMPv1 melding En SNMPv1 melding består av 3 deler: Versjons nummer Community string En av de 5 SNMP PDUene
Internet Mail zUser agent, dvs Outlook, Eudora, Pegasus osv zMail transfer Agent, dvs Microsoft Exchange, Sendmail zSMTP - Simple Mail Transfer Protocol yTCP/IP yKun sending av tekst zMIME - Multi-purpose Internet Mail Extension ySending av bilder, video osv zPOP 3 - Post Office Protocol ver 3 zIMAP - Internet Message Access Protocol zMX-records (Mail Exchange records) Del an DNS (Domain Name System)
SMTP Mail Flyt
User Agent (mail program) zLese og sende mail zOpsjoner: yVideresending til andre ySvarsfunksjon yFiltrering av innkommende mail til ulike mail bokser ySignatur fil yAdresslister, aliases
Mail Transfer Agent (MTA) zAnsvarlig for å sende mailen gjennom nettet zBaseres på SMTP (Simple Mail Transfer Protocol) zSMTP er en enkel ASCII protokoll zBenytter TCP og port 25 for å opprette en forbindelse mellom to MTA-er
Sammensetning av en mail zEnvelopes yBrukes av Message Transfer Agent zHeaders yBrukes av User Agent zBody yInnholdet i mailen (tekst og vedlegg)
Envelopes - eksempel Received: from sara.halden.scandpower.no ([ ]) by Received: from sara.halden.scandpower.no ([ ]) by janis.halden.scandpower.no with SMTP (Microsoft Exchange Internet Mail Service Version ) id RCM02KCM; Mon, 20 Aug :41: Received: from fw.scandpower.no (mail.hrp.no [ ]) by sara.halden.scandpower.no (8.9.3/8.9.3) with SMTP id MAA12382 for ; Mon, 20 Aug :43: Received: from mail.hrp.no ([ ]) by fw.scandpower.no via smtpd (for sara.halden.scandpower.com [ ]) with SMTP; 20 Aug :44:06 UT Received: from pcthorbjornb (pc-thorbjornb.hrp.no [ ]) by mail.hrp.no (8.10.1/8.9.0) with SMTP id f7KAlXK14155; Mon, 20 Aug :47: (METDST)
Header - eksempel zMessage-ID: zFrom: Per Hansen zTo: zSubject: security
SMTP-kommandoer (RFC 821) zHELO zMAIL FROM: zRCPT TO: zDATA z. zQUIT
MX-records zBrukes for å fortelle omverdenen om hvem som er mail server zDel av DNS (Domain Name System) zMX-recorden for en domene forteller i prioritert rekkefølge hvor mailen skal sendes
MX-record eksempel zMX-record for scandpower.no 1. prioritet: bill.halden.scandpower.no 2. prioritet: mail.globalone.no Mail leveres til mail.globalone.no hvis mailserver bill er nede eller forbindelsen til Internett er nede
POP 3 zPost Office Protocol number 3 zProtokoll for å hente mail fra mail server til en mail klient (f.eks Outlook eller Eudora) zBruker TCP og port 110 zBaserer seg på enkle ASCII kommandoer
POP3 kommandoer zUSER username zPASS password zSTAT [gir antall uleste meldinger] zLIST (n) 8gir størrelse på melding n] zRETR n [hent melding nr n] zDELE n [slett melding nr n] zQUIT
Internet Message Access Protocol - IMAP zMail klient zTilsvarende som POP3, men all behandling av mail foregår på mailserveren zPOP3 henter mailen ned til User Agent
MIME – Multipurpose Internet Mail Extension zUtvidelse av SMTP for å kunne overføre filer som ikke er 7-bit ASCII zMIME informasjon i mail: yMIME-Version yContent-Type yContent-Transfer-Encoding y(Content-Description) y(Content-ID)
MIME – Content Type zText zImage zAudio zApplication (Word, Postscript, ) zMultipart (Mixed, alternative)
MIME – Content-transfer encoding zForteller hvordan innholdet av mailen er kodet z Fem forskjellige kode formater er definert y7 bits ASCII yQuoted Printable ybase64 y8 bits som inneholder linjer ybinær koding, 8 bit data uten linjer
Quoted Printable z7 bit ASCII med alle karakterer 127 kodes som likhetstegn + verdien av tegnet som to hexadecimale tegn zeks. bokstaven ”å” kodes som =E5 zKarakteresettet ISO-8859 gir å=229 desimalt 229= z1110=E z1110=5 z”å” kodes som =E5
Base 64 Encoding
Base 64 encoding zTre bytes med data kodes som fire 6 bits karakterer zOrginale data: Hi! H i ! (24 bit) S G k h zDatamengden øker med 25%
MIME - eksempel zMIME-Version: 1.0 zX-Mailer: Internet Mail Service ( ) zContent-Type: text/plain; zcharset="iso " zContent-Transfer-Encoding: quoted-printable
MIME eks. Word fil som vedlegg MIME-Version: 1.0 Content-Type: multipart/mixed; Content-Type: text/plain; charset="iso " Content-Type: application/msword; Content-Transfer-Encoding: base64
Hypertext Transfer Protocol HTTP zBenyttes av WWW zProtokoll for overføring av HTML zKan overføre tekst, lyd, bilder osv. zTransaksjonsorienter klient/tjener protokoll zVanligvis mellom en Web browser (klient) og Web server (tjener) zBenytter TCP zTilstandsløs yHver transaksjon behandles separat yEn ny TCP forbindelse for hver transaksjon yTerminerer forbindelsen når transaksjonen er komplett
HTTP Meldings struktur
General Header Felter zCache control zConnection zData zForwarded zKeep alive zMIME version zPragma zUpgrade
Request Metoder zRequest-Line = Method Request_URL HTTP-Version zMetoder: yOptions yGet yHead yPost yPut yPatch yCopy yMove yDelete yLink yUnlink yTrace yWrapped yExtension-method
Request Header Felter zAccept zAccept charset zAccept encoding zAccept language zAuthorization zFrom zHost zIf modified since zProxy authentication zRange zReferrer zUnless zUser agent
Respons meldinger zStatus line fulgt av en eller flere generelle, responser og entity headers, fulgt av opsjonell entity body zStatus-Linje = HTTP-Version Status-Code Reason-Phrase
Status koder zInformational (responsen inneholder ingen body) zSuccessful (Response på GET, HEAD, POST og TRACE) zRedirection zClient error (Syntax feil eller forespørslen kan ikke fullføres) zServer error
Respons Header Felter zGir tilleggsinformasjon relatert til responsen som ikke kan gis på statuslinjen zLocation (gir nøyaktig referanse til hvor den forespurte URL befinner seg) zProxy authentication zPublic (Ikke standard metoder som er supportert) zRetry after (Tjenesten er ikke tilgjengelig, prøv senere) zServer (Type program som kjører som WEB-server) zWWW-Authenticate
Entity Header Felter zAllow zContent encoding zContent language zContent length zContent MD5 zContent range zContent type zContent version zDerived from z Expires z Last modified z Link z Title z Transfer encoding z URL header z Extension header GIR INFORMASJON OM MELDINGEN SOM OVERFØRES
Entity Body zVilkårlig sekvens av oktetter zHTTP overfører alle typer data inkludert: ytekst ybinære data yaudio ybilder yvideo zType data bestemmes av header fields yContent encoding, content type, transfer encoding
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, deflate Line 5: If-Modified-Since: Wed, 26 Sep :30:23 GMT Line 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
HTTP eksempel (Get response) Line 1: HTTP/ Not Modified Line 2: Server: Microsoft-IIS/4.0 Line 3: Date: Sun, 04 Nov :20:09 GMT Line 4: Content-Location: Line 5: ETag: "502728de6d46c11:1c8e" Line 6: Content-Length: 0
HTTP eksempel (response) Line 1: HTTP/ OK Line 2: Server: Microsoft-IIS/4.0 Line 3: Date: Sun, 04 Nov :20:09 GMT Line 4: Content-Type: application/x-javascript Line 5: Accept-Ranges: bytes Line 6: Last-Modified: Fri, 02 Nov :58:51 GMT Line 7: ETag: "80f66b80a663c11:1c8e" Line 8: Content-Length: 14481
Telnet og Rlogin zInnlogging fra en maskin til en annen over nettet zBenytter seg av klient-tjener begrepet zTelnet er en standard applikasjon som er implementert i alle TCP/IP applikasjoner zRlogin kommer fra Berkley Unix og ble utviklet for pålogging mellom to Unix systemer zTelnet er mer kompleks enn Rlogin
FTP (File Transfer Protocol) zInternett standard for filoverføring zFTP protokoll yKontroll forbindelse yServer gjør en ”passive open” på port 21 yKlient gjør en ”active open” til port 21 yData overføres fra port 20 på FTP serveren
Sikkerhet zAutentisering (identifikasjon) zAksesskontroll (aksess til ressurser) zKonfidensialitets (informasjon holdes hemmelig) zIntegritetstjeneste (data skal være korrekte) zTilgjengelighet (informasjonen skal være tilgjengelig for de som er autorisert) zCIA – Confidentiality Integrity Availability
Symmetrisk kryptering Cleartext Cleartext Encryption Algorithm Ciphertext Ciphertext EncipherDecipher Secret Key
Asymmetrisk kryptering One Key to Encipher Another Key to Encipher Cleartext Cleartext Encryption Algorithm Ciphertext Ciphertext EncipherDecipher
En veis hash (1) Tekst Digest Hash Algoritme Melding sendt til Alice Bob
En veis hash (2) Mottatt tekst Digest Hvis = Mottatt tekst OK! Digest Hash Algoritme Alice
Autentisering - MAC zMAC – Message Authentication Code zKan bruke symmetrisk eller asymmetrisk kryptering zSymmetrisk yMAC = hash + symmetrisk nøkkel zAsymmetrisk yMAC = hash + privat nøkkel
Autentisering Message Authentication Code zHvordan vet Alice at meldingen kommer fra Bob ? zBob kombinerer hash funksjonen med symmetrisk eller asymmetrisk kryptering z(Hash + cryptography) zResultat = MAC, Message Authentication Code Hash Algorithm Secret key +
Autentiseringsmetoder zTo kryptografiske teknikker To MAC utregninger zSymmetrisk kryptografi yMAC = hash + secret key zAsymmetrisk kryptografi yMAC = hash + privat key yKalles Digital Signature Hash Algorithm Secret key + Hash Algorithm + Private key
Secret key Autentisering MAC Hash Algorithm Secret key Melding + MAC Melding som sendes Bob Bob
Secret key Autentisering MAC Melding MAC Hvis = OK ! MAC Hash Algorithm Melding + Secret key Alice
Public key Autentisering (signature) Digest Hash Algorithm Tekst * ^1 ’ Melding sent til Alice * ^1 ’ Encryption Bob’s Private key Bob
Public key Autentisering (signature) Digest Tekst * ^1 ’ Hvis = OK ! Digest Hash Algorithm Decryption Bob’s Public key Alice