FTP vs SMTP

E-Mail ist praktisch und Jeder benutzt es, leider auch für die (binär) Datenübertragung. Sehr zum Leidwesen vieler Administratoren, die sich mit riesigen Mailserver Datenbanken und Postfächern herumschlagen müssen. Das verwendete Übertragungsprotokoll bei E-Mail Transfer ist SMTP (Simple Message Transport Protokoll). Damit auch ein weltweiter und plattformübergreifender (BSP: Mac; Windows; Linux) E-Mail Austausch möglich ist, wurden bestimmte Standards eingeführt. Eigentlich ist E-Mail als textbasiertes Übertragungsmedium gedacht, was zur Folge hat, dass zu übertragene Binärdaten in ein einheitliches Format konvertiert werden müssen. In den meisten Fällen sind die zu übertragenen Binärdaten hauptsächlich Bilder (JPG; TIFF etc) oder auch PDFs aber auch Filme und MP3s. Die standardisierte Kodierung ist hierbei Base64, welche 3 Byte Binärdaten in 4 Byte ASCII (Text) Daten kodiert. Dadurch ergibt sich ein Zuwachs bei der Dateigröße solcher Binärdaten um 33%. 33% mehr an Daten die übertragen werden müssen, sind keine Kleinigkeit.

Ich möchte das mal an einem Beispiel demonstrieren:

Wir versenden jetzt das oben eingeblendete Logo dieser Homepage als E-Mail. Das Logo hat exakt eine Dateigröße von 2.538 Byte. Wenden wir jetzt die Base64 Kodierung auf dieses Logo an, wird daraus folgendes:

Base64 coded Logo

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

So werden Grafiken, PDFs oder andere Binärdaten mit dem ganzen anderen Summsebrums, den Sie noch dazu schreiben per E-Mail übertragen. Zu den theoretisch zu erwartenden 3.375 Byte addieren sich noch ein paar Bytes Overhead, so dass wir auf eine Bruttosumme von 3.437 Bytes kommen. Das ist doch mal beachtlich oder nicht?

Dieses Beispiel lässt sich natürlich auch wieder decodieren. Kopieren Sie dazu den Text in eine Textdatei und benennen diese in z.B. logo.b64, wichtig hierbei ist das Suffix b64, welches dem System eine Base64 codierte Datei signalisiert. Programme wie z.B. WinZip sind in der Lage diese Dateien zu decodieren, wenn auch etwas unkomfortabel aber für unser Beispiel wird es reichen.

Beim Öffnen dieser b64 Datei wird Ihnen WinZip eine Datei Unknown.001 anzeigen. Das liegt daran, dass diesem Beispiel jegliche Informationen fehlen, was für ein Dateityp etc. hier kodiert wurde. Diese Informationen werden ebenfalls mit der E-Mail übertragen, so dass der Zielrechner der E-Mail dieses richtig interpretiert. Wir aber wissen, was für einen Dateityp wir vorher kodiert haben und benennen nun einfach die extrahierte Datei Unknown.001 in Unknwon.png um. Öffnen Sie nun diese PNG-Datei und ihnen wird das Logo wie oben abgebildet angezeigt.

So verfährt das bei der E-Mail Übertragung verwendete SMTP Protokoll mit jeder Binärdatei, sei es nun das Firmenlogo in der (HTML) Signatur oder ein als Attachment übertragenes JPG oder PDF. Da wir nun nicht nur eine oder wenige E-Mails dieser Art täglich erhalten würden, sondern sehr viele, wäre diese Übertragungsart als Standard Datenaustausch eine signifikante Verschwendung von Bandbreite und Übertragungszeit.

Fazit: Nun sollte deutlich geworden sein, dass SMTP kein Protokoll für den Datenaustausch ist. Verwenden Sie für den Datenaustausch geeignete Protokolle wie zB FTP. Die meisten ITler die ich kenne, verzichten bei E-Mails auch auf die HTML Kodierung, welche ebenfalls noch mal durch einen nicht zu unterschätzenden Overhead die Mail Größe unnötig aufbläst und auf Signaturen mit Bildern oder Logos sogar prinzipiell.


Verwandte Atikel:
-> VSFTP Installation und Konfiguration
-> FTP Session automatisieren
-> Aktives und passives FTP

pronto 2008/07/25 20:05

it/ftp_smtp.txt (10205 views) · Zuletzt geändert: 2011/03/31 15:57 (Externe Bearbeitung)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0