• Keine Ergebnisse gefunden

Mail‐Nachrichtenformate und MIME

N/A
N/A
Protected

Academic year: 2022

Aktie "Mail‐Nachrichtenformate und MIME"

Copied!
28
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Mail‐Nachrichtenformate und MIME

Mail‐Content (Achtung: nicht SMTP) beinhaltet neben dem  eigentlichen Text – d.h. dem Body – zusätzliche Informationen:

• Zusätzliche Header‐Lines (separiert durch CRLF)

• Format wie aus HTTP bekannt (lesbarer Text mit Key‐Value‐

Paar durch „:“ getrennt)

• Definiert in RFC 822

• Immer erforderliche Keywords sind To: und From:

• Optionale Keywords z.B. Subject:

• Body folgt nach einer Blank‐Line

• Beispiel:

From: alice@crepes.fr To: bob@hamburger.edu

Subject: Searching for the meaning of life.

(2)

Mail‐Nachrichtenformate und MIME

Grundlagen der Rechnernetze ‐Applikationsschicht 23

Multipurpose Internet Mail Extensions (MIME) zum Versenden von Multimedia  und non‐ASCII‐Text

Verwendung weitere Header definiert in RFC 2045 und 2046 als MIME‐

Extensions zu RFC 822

Zwei wesentliche MIME‐Header

Content‐Type: erforderlich zur Darstellung auf dem User‐Agent

Content‐Transfer‐Encoding: erforderlich für den Transport von Binary‐

Data über 7‐Bit ASCII (Beispiel base64)

Beispiel

From: alice@crepes.fr To: bob@hamburger.edu

Subject: Picture of yummy crepe.

MIME-Version: 1.0

Content-Transfer-Encoding: base64 Content-Type: image/jpeg

(base64 encoded data ...

... base64 encoded data )

(3)

Mail‐Nachrichtenformate und MIME

Empfangender SMTP‐Server fügt noch Recived: Header‐Line(s) hinzu Beispiel:

Received: from crepes.fr by hamburger.edu; 12 Oct 98 15:27:39 GMT

From: alice@crepes.fr To: bob@hamburger.edu

Subject: Picture of yummy crepe.

MIME-Version: 1.0

Content-Transfer-Encoding: base64 Content-Type: image/jpeg

(base64 encoded data ...

... base64 encoded data )

Durch Mail‐Forwarding kann auch ein ganzer Pfad von Received angehangen sein.

Beislpielsweise: Mail‐Frowarding von hamburger.edu nach sushi.jp

Received: from hamburger.edu by sushi.jp; 3 Jul 01 15:30:01 GMT

Received: from crepes.fr by hamburger.edu; 3 Jul 01 15:17:39

(4)

Mail‐Access‐Protokolle

Grundlagen der Rechnernetze ‐Applikationsschicht 25

Warum eigentlich die Trennung zwischen User‐Agent und Mail‐Server

User‐Agent des Empfängers muss sonst immer an sein

User‐Agent des Senders braucht im Falle nicht‐Erreichbarkeit die 

Übertragungsversuche (z.B. alle 30 Minuten) nicht selbst zu unternehmen Damit werden aber Mail‐Access‐Protokolle notwendig

POP3 (Post Office Protocol – Version 3)

IMAP (Internet Mail Access‐Protocol)

Web‐Basiert (HTTP)

Aber auch SMTP wird auf User‐Agent verwendet: zum versenden von Mail auf  den eigenen Mail‐Server

Abbildung aus Kurose/Ross „Computer  Networking: A Top‐Down Approach“, 2008

SMTP, HTTP

POP3, IMAP, HTTP

(5)

Mail‐Access‐Protokolle: POP3

Einfaches Protokoll definiert in RFC 1939

TCP‐Verbindungsherstellung mit Mail‐Server auf Port 110

Anschließend drei Phasen: authorization, transaction, update

Authorization: Authentifizierung des User mittels Username und Passwort

user <username>

pass <password>

Transaction: Nachrichten empfangen, Nachrichten zur Löschung markieren,  Löschungsmarkierungen aufheben, Mail‐Statistiken erfragen

Update: nachdem Client quit gesendet hat; Mail‐Server löscht die mit delete markierten Nachrichten

Im Prinzip zwei Varianten möglich:

Variante: download‐and‐delete

Variante: downlad‐and‐keep

(6)

Mail‐Access‐Protokolle: POP3

Grundlagen der Rechnernetze ‐Applikationsschicht 27

Beispiel einer Download‐and‐Delete‐Transaction (c: client, s: server) C: list

S: 1 498 S: 2 912 S: .

C: retr 1

S: (blah blah blah ...

S: ...

S: ... blah blah blah) S: .

C: dele 1 C: retr 2

S: (blah blah blah ...

S: ...

S: ... blah blah blah) S: .

C: dele 2 C: quit

S: +OK POP3 server signing off

(7)

Mail‐Access‐Protokolle: IMAP, Web‐basiert

POP3 und mehrere Client‐Rechner (z.B. Desktop‐PC, Notebook)?

• Nur downlad‐and‐keep sinnvoll

• Mailbox aufräumen und in Foldern verwalten ist kompliziert, wenn alle Rechner  konsistent gehalten werden sollen

Bessere Lösung: IMAP (RFC 3501)

• Nachrichten verbleiben auf dem Server und werden dort verwaltet (herunter geladene Nachrichten liegen aber auch lokal vor)

• Jede Mail‐Nachricht ist einem Folder zugeordnet (z.B. Inbox)

• User kann Nachrichten auf dem Server löschen und in Folder verschieben

• Nachrichten können auf dem Server durchsucht werden

• Nachrichten können nur Teilweise herunter geladen werden (z.B. nur Header oder nur  ein Teil einer Multipart‐MIME‐Message)

Alternative Lösung: Web‐basiert (HTTP)

• Email‐Zugang über Browser (z.B. Google‐Mail oder SoGo an unserer Uni)

• Kommunikation mit der Mailbox über Browser (HTTP‐basiert)

• HTTP‐Kommunikation aber nur zwischen User‐Agent und Mail‐Server

• Kommunikation der Mail‐Server weiterhin über SMTP

(8)

Übersicht

• Web und HTTP

• File Transfer: FTP

• Electronic Mail

Domain Name System (DNS)

29 Grundlagen der Rechnernetze ‐Applikationsschicht

(9)

DNS Übersicht

Problem:

IP braucht IP‐Adressen (z.B. 121.7.106.83)

Menschen brauchen Host‐Namen (www.uni‐koblenz.de)

Aufgabe von DNS: Directory‐Service zur Übersetzung von Host‐Name in IP‐

Adresse

DNS ist eine verteilte Datenbank auf Basis einer Hierarchie von DNS‐Servern  (häufig UNIX‐Maschinen auf denen Berkeley Internet Name Domain (BIND)  läuft)

DNS ist ein Protokoll zur Abfrage von Übersetzungen auf den DNS‐Servern DNS ist auf der Anwendungsschicht

Läuft nur auf den End‐Systemen (Client, Server) nicht auf Routern

Verwendet UDP (Port 53)

Spezifikation: RFC 1034, RFC 1035 und Aktualisierungen in weiteren RFCs

(10)

DNS Übersicht

Grundlagen der Rechnernetze ‐Einführung 31

H N S

• Client‐Server‐Prinzip

• Beispiel: HTTP‐Anfrage an Web‐Server www.someschool.edu erfordert DNS  Abfrage der IP

1. Client‐Seitig: DNS‐Anwendung

2. Browser extrahiert Host‐Name www.someschool.edu aus der URL und ruft  damit DNS‐Anwendung auf (z.B. UNIX‐System: gethostbyname())

3. DNS‐Client sendet Anfrage mit dem Hostnamen an DNS‐Server

4. DNS‐Client empfängt irgendwann (typischerweise im Bereich Millisekunden  bis Sekunden) eine DNS‐Antwort mit der IP‐Adresse zu www.someschool.edu  5. Browser kann TCP‐Verbindung auf Basis von IP‐Adresse und Port (z.B. Port 80 

für HTTP‐Server) herstellen

Client:

DNS‐Client und z.B. Web‐Browser

Server:

DNS‐Server

(11)

DNS Übersicht

DNS macht/kann aber noch mehr

Host Aliasing

Beispiel eines Canonical Host‐Namens: relay1.west‐coast.enterprise.com

Beispiel eines Alias‐Host‐Namens: enterprise.com, www.enterprise.com

DNS zur Abfrage des Canonical‐Host‐Names zu einem Alias‐Host‐Name

Mail Server Aliasing

Beispiel eines Canonical‐Host‐Name eines Mail‐Servers: relay1.west‐

coast.hotmail.com

Beipiel einer Email‐Adresse: bob@hotmail.com

DNS übersetzt Alias‐Host‐Name hotmail.com ist den Canonical‐Host‐

Name

(Bemerkung: Mail‐Server und Web‐Server können identische (aliased)  Host‐Namen haben)

Load Distribution

Replizierte Server (z.B. für stark frequentierte Seiten wie cnn.com)

DNS liefert liste von IP‐Adressen; Client nimmt in der Regel die erste IP

Rotiere IP‐Reihenfolge

(12)

DNS Übersicht

Grundlagen der Rechnernetze ‐Applikationsschicht 33

Philosophisches

Normalerwiese interagiert der User direkt mit den Application‐Layer‐

Protokollen (Web, Mail, FTP etc.)

DNS ist für viele andere Dienste ein Core‐Internet‐Service auf der  Anwendungsebene

Typisches Beispiel der Internet‐Philosophie: vieles der Komplexität des 

Internets ist am Rand des Internets

(13)

DNS: verteilte, hierarchische Datenbank

Warum nicht ein zentraler DNS‐Server?

Single‐Point‐of‐Failure (SPOF) – ein Serverausfall legt das  gesamte Internet lahm

Verkehrsaufkommen – fast jeder Internet‐Host braucht DNS

Kommunikationsdistanz – Problem den einen DNS‐Server  sinnvoll auf dem Globus zu plazieren

Verwaltung – fast jeder Server‐Host muss über DNS auffindbar  sein

Also: wie immer, ein Skalierbarkeitsproblem. Es kommt nur eine  verteilte Lösung in Frage.

Außerdem nicht ein einziger Provider: hierarchische Organisation

(14)

DNS: verteilte, hierarchische Datenbank

Grundlagen der Rechnernetze ‐Applikationsschicht 35

Root DNS‐Server

com DNS‐Server

org DNS‐Server

edu DNS‐Server

yahoo.com DNS‐Server

amazon.com DNS‐Server

pbs.org DNS‐Server

poly.edu DNS‐Server

umass.edu DNS‐Server

Root DNS Server

Top‐Level‐Domain (TLD) DNS Server

Authoritative DNS Server

(*) Beispiel und Abbildung aus Kurose/Ross „Computer Networking: A Top‐Down Approach“, 2008

Kleiner Ausschnitt aus der DNS Server‐Hierarchie(*) Root‐DNS‐Server

• Root‐Server werden von verschiedenen  Institutionen betrieben. Die Internet  Corporation for Assigned Names and

Numbers (ICANN) koordiniert den Betrieb

• 13 Root‐DNS‐Server (A bis M)

• Allerdings steht jeder Buchstabe für einen  Cluster von replizierten Servern

• (Bemerkung: Anycast, Alternative Roots)

(15)

DNS: verteilte, hierarchische Datenbank

Root DNS‐Server

com DNS‐Server

org DNS‐Server

edu DNS‐Server

yahoo.com DNS‐Server

amazon.com DNS‐Server

pbs.org DNS‐Server

poly.edu DNS‐Server

umass.edu DNS‐Server

Root DNS Server

Top‐Level‐Domain (TLD) DNS Server

Authoritative DNS Server

Kleiner Ausschnitt aus der DNS Server‐Hierarchie(*) Top‐Level‐Domain‐Server

• Beispiel: com, org, net, edu, gov

• Beispiel für Länder‐Top‐Level‐Domains: 

de, uk, fr, ca, jp

• Verwaltet durch Unternehmen

Authoritative DNS Server

• Öffentlich erreichbare Server eines  Unternehmens / einer Einrichtung  müssen über solche DNS‐Server  erreichbar sein

• Kann über eigene DNS‐Server oder  über einen Dienstleister realisiert sein

(16)

DNS: verteilte, hierarchische Datenbank

Grundlagen der Rechnernetze ‐Applikationsschicht 37

Root DNS‐Server

com DNS‐Server

org DNS‐Server

edu DNS‐Server

yahoo.com DNS‐Server

amazon.com DNS‐Server

pbs.org DNS‐Server

poly.edu DNS‐Server

umass.edu DNS‐Server

Root DNS Server

Top‐Level‐Domain (TLD) DNS Server

Authoritative DNS Server

(*) Beispiel und Abbildung aus Kurose/Ross „Computer Networking: A Top‐Down Approach“, 2008

Kleiner Ausschnitt aus der DNS Server‐Hierarchie(*)

Ein weiterer wichtiger DNS‐Server: Local DNS‐Server

• Durch ISP (z.B. Uni/Campus, Unternehmen, lokaler ISP) realisiert

• Bekannt gemacht in der Regel über DHCP (siehe z.B. Netzstatus des Betriebssystems)

• In der Regel nahe am Host

• Agiert als Proxy zwischen Host und DNS‐Infrastruktur

H N S

(17)

Beispiel DNS‐Anfrage

Abbildung aus Kurose/Ross „Computer Networking: 

1. Anfrage „gaia.cs.umass.edu“ am local DNS‐Server dns.poly.edu

2. Anfrage „gaia.cs.umass.edu“ am  Root‐DNS

3. Ergebnis: Liste von TLD‐Server, die für  edu zuständig sind

4. Anfrage „gaia.cs.umass.edu“  an  einen der TLD‐Server

5. Ergebnis: IP des zuständigen auth. 

DNS‐Server dns.cs.umass.edu

6. Anfrage „gaia.cs.umass.edu“ an DNS‐

Server dns.cs.umass.edu

7. Ergebnis: IP von gaia.cs.umass.edu 8. Zurücksenden des Ergbnisses von 

dns.poly.edu an cis.poly.edu Damit: 4 Anfragenachrichten und 4 

Antwortnachrichten für eine einzige DNS‐

(18)

Beispiel DNS‐Anfrage

Grundlagen der Rechnernetze ‐Applikationsschicht 39

Abbildung nach Kurose/Ross „Computer  Networking: A Top‐Down Approach“, 2008

• TLD‐Server muss den auth. Server nicht  unbedingt schon kennen; TLD‐Server kennt  nur einen intermediate DNS‐Server

• Beispiel: intermediate‐Server 

dns.umass.edu und jedes Department hat  einen eigenen DNS‐Server, z.B. 

dns.cs.umass.edu

Damit: 5 Anfragenachrichten und 5 

Antwortnachrichten für eine einzige DNS‐

Abfrage!?!

Lösung? Caching!

• DNS‐Server‐Antworten werden in Cache  gespeichert

• Signifikante Reduktion von Nachrichten  und Latenz

• Zuordnung von Domain‐Name auf IP ist  nicht permanent; Einträge verweilen in  Cache bis zu einem Timeout (z.B. zwei  Tage)

dns.umass.edu

dns.cs.umass.edu

(19)

DNS‐Anfrage: rekursiv versus iterativ

Iterative Query

Rekursive Query

In der Regel:

Anfrage an Local DNS‐Server rekursiv

Der Rest Iterativ

(20)

DNS‐Records

Grundlagen der Rechnernetze ‐Applikationsschicht 41

DNS‐Server speichern Ressource‐Records (RRs)

DNS‐Reply‐Nachrichten beinhalten ein oder mehrere auf die Anfrage passende RRs.

RRs bestehen aus 4‐Tupel (Name, Value, Type, TTL)

TTL ist die Lebensdauer des RR (wird danach aus Cache entfernt) (Name, Value) hängt von Type ab

• Type = A: Name ist Host‐Name und Value ist IP‐Adresse Beispiel: (relay1.bar.foo.com, 145.37.93.126, A)

• Type = NS: Name ist Domain und Name ist der Name eines auth. DNS‐Server, der die  IP‐Adressen der Hosts bestimmen kann

Beispiel: (foo.com, dns.foo.com, NS)

• Type = CNAME: Name ist der canonical Host‐Name für den Alias‐Host‐Name Beispiel: (foo.com, relay1.bar.foo.com, CNAME)

• Type = MX: Name ist der canonical Name eines Mail‐Servers zu einem Alias‐Host‐Name Beispiel: (foo.com, mail.bar.foo.com, MX)

• Erlaubt ein und denselben Alias für Mail‐Server und z.B. Web‐Server Beispiel: foo.com für joe@foo.com und ww.foo.com

• Unterscheidung durch Anfrage entweder MX oder CNAME

(21)

DNS‐Nachrichten

DNS‐Query und ‐Reply‐Nachrichten haben dasselbe Format 12 Byte Header

Identification: Client kann damit Reply seinem Request zuordnen (z.B. mehrere gleichzeitige  ausstehende Requests)

Flags:

1‐Bit Query/Reply‐Flag: Unterscheidung von Query‐ und Reply‐Nachricht

1‐Bit Authoritative‐Flag: 1, wenn Server authoritative für den angefragten Namen

1‐Bit Recursion: in Query: Recursion‐Desired in Reply: Recursion‐Available

Abbildung aus Kurose/Ross „Computer  Networking: A Top‐Down Approach“, 2008

(22)

DNS‐Nachrichten

Grundlagen der Rechnernetze ‐Applikationsschicht 43

Questions: Einträge der Form (Name, Type) (z.B. Type A oder Type MX) Answers: Antwort in Form von RRs (Name, Value, Type, TTL)

Reply kann mehrere RRs enthalten

z.B. Host mit mehreren IP‐Adressen für Load‐Balancing Authority: Reply‐Einträge über zuständige Authoritative‐Server

Additional Information: Beispiel „Reply auf MX‐Query: Ergebnis = canonical Name des Mail‐Servers  und zusätzlich Type A Record für dessen IP‐Adresse“

Abbildung aus Kurose/Ross „Computer  Networking: A Top‐Down Approach“, 2008

(23)

Eintragen von RR in die DNS Datenbank

Beispiel: Neue Firma Network Utopia mit Domain‐Namen networkutopia.com Networkutopia.com muss über einen Registrar angemeldet werden

• Registrar bietet solche kostenpflichtige Dienstleistung an

• Registrare können auf www.internic.net gefunden werden

Ggf. wird auch IP eines primären und sekundären Authoritativen DNS‐Server angegeben

• Zum Beispiel: dns1.networkutopia.com und dns2.networkutopia.com mit  212.212.212.1 und 212.212.212.2

• Registrar veranlasst Eintragung von Type NS und Type A Eintrag in TLD com, d.h. für  primary authoritative Server networkutopia.com:

(networkutopia.com, dns1.networkutopia.com, NS) (dns1.networkutopia.com, 212.212.212.1, A)

Dann noch ein Web‐Server und Mail‐Server‐Eintrag in den eigenen authoritativen DNS‐

Server

• Type A Eintrag für Web‐Server www.networkutopia.com und

• Type MX Eintrag für Mail‐Server mail.networkutopia.com

In der Regel alles noch einfacher: Provider stellt für Kunden die Server zur Verfügung. 

Kunde registriert über Provider (der ist dann auch der Registrar) einfach eine Domain.

(24)

Robustheit von DNS

Grundlagen der Rechnernetze ‐Applikationsschicht 45

DNS ist eine kritische Komponente der Internet‐Infrastruktur Diskussion möglicher Angriffe

• DDoS‐Attacke gegen DNS‐Root‐Server

• Auf Basis von ICMP‐Ping oder

• Fluten mit DNS‐Anfragen bzgl. Top‐Level‐Domains (z.B. alle  Server für die Top‐Level‐Domain com)

• Man‐in‐the‐Middle‐Attack

• Abfangen von Client‐Queries oder

• Eintragen von falschen Cache‐Einträgen

• Nutzen der DNS‐Infrastruktur, für DDoS‐Attacke auf authoritative DNS‐Server mit gefälschten Source‐Adressen

DNS ist aber sehr robust

• DNS‐Server Konfiguration

• Caching

(25)

Zusammenfassung und Literatur

(26)

Zusammenfassung

• Anwendung versus Anwendungsprotokoll (z.B. Email‐Client  und Server versus SMTP, POP3, IMAP, HTTP)

• Anwendungen und deren Anwendungsprotokolle haben 

unterschiedliche Anforderungen an das Transport‐Protokoll:

Grundlagen der Rechnernetze ‐Applikationsschicht Abbildung aus Kurose/Ross „Computer  47

Networking: A Top‐Down Approach“, 2008

Besonderheit DNS: Dienst auf Anwendungsebene, welcher von fast allen anderen  Anwendungen genutzt wird

(27)

Zusammenfassung

• Damit ergibt sich in der Regel Auswahl zwischen TCP oder UDP

• Was ist mit Sicherheit? Erweiterung von TCP für Sicherheit auf 

Anwendungsebene mittels SSL (Secure Sockets Layer) bzw. TLS (Transport  Layer Security)

• Was ist mit Bandbreiten‐ und Latenz‐Garantien? Anwendungen mit  solchen Anforderungen „laufen in der Regel“; können mit 

nichtvorhandenen Garantien im gewissen Rahmen umgehen.

(28)

Literatur

• James F. Kurose, Keith W. Ross, „Computer 

Networking: A Top‐Down Approach“, 4th Edition,  2008

– 2.1.4 Transport Services Provided by the Internet – 2.2 The Web and HTTP

– 2.3 File Transfer: FTP

– 2.4 Electronic Mail in the Internet

– 2.5 DNS‐The Internet‘s Directory Service – 2.9 Summary

Grundlagen der Rechnernetze ‐Applikationsschicht 49

Referenzen

ÄHNLICHE DOKUMENTE

If humid, atmos- pheric air is compressed at constant temperature, the partial pressure of the water vapour also increases corresponding to the increase in overall pressure.. If

Si votre produit n’a pas fait l’objet du traitement de verre CareTec ® Pro de DUSCHOLUX, après chaque prise de douche, nous vous recommandons d’essuyer l’eau avec une raclette

In our monthly newsletter we inform you about ICES news, dates and events and about the latest calls for research funding which are particularly relevant for the field of

In unserem monatlichen Newsletter informieren wir Sie über Neuigkeiten am ICES, Termine und Veranstaltungen und über aktuelle Ausschreibungen, die insbesondere für den Bereich

Im Rahmen der Fokus-Förderung können auf das Thema der Ausschreibung begrenzte Einzelvorhaben für eine Dauer von maximal zwölf Monaten gefördert werden.. Für die Beantragung

 Die Kapazitätsaufbauprojekte in der Hochschulbildung sowie die Europäischen Hochschulen werden mit diesem Aufruf nicht ausgeschrieben, sondern voraussichtlich erst im Herbst

Weitere Informationen zum Programm und zur Anmeldung finden Sie hier; Quelle/ Source: EUF Ankündigung, 14.07.2021.. EUF Open Call – Förderung für Anbahnung von Projekten

Weitere Informationen finden Sie hier Quelle: FIT Newsletter, 17.05.2021.. Preis für gesellschaftliches Engagement &#34;Hochschulen mittendrin&#34;/. Frist: