On Fri, Oct 17, 2003 at 11:13:49PM +0200, Thorsten Haude wrote: > Ist klar. Jetzt mal Klartext: Wir hatten eine kontroverse Diskussion > über dieses Thema, mein Gegenüber meinte, daß SMTP beinahe immer mit > UDP benutzt wird, ich bin nach wie vor der Meinung, daß UDP allenfalls > in skurillen Ausnahmesituationen eingesetzt wird. Die fehlende > Übermittlungssicherheit bei UDP würde von SMTP ausgeglichen werden. > Sein Argument: Mails brauchen mal eine Minute, mal zwei Stunden, eben > weil UDP unzuverlässig ist. Ornö. SMTP erklärt, wie sich Client und Server unterhalten müssen. Also so Dinge wie: C S connect() 220 ESMTP EHLO pc12 250 Hello pc12 [192.168.1.1] MAIL FROM: <x@y.de> 250 <x@y.de> is syntactically correct ... Um diese Informationen zu übertragen, ist ein Transport-Protokoll notwendig. Und das ist normalerweise TCP (könnte rein technisch gesehen aber auch UDP sein). Unsicherheiten von UDP sind nicht größer als die TCP. Ein totes Paket ist ein totes Paket, egal ob's UDP oder TCP war. Diese Verluste werden in normalerweise Größenordnungen von wenigen Sekunden ausgeglichen. > auch eine Quelle, mit der sich die Antwort belegen läßt. Gibt es eine > technische oder standardmäßige Bindung von SMTP an TCP oder UDP? Gibt > es ein Ausschlußkriterium, warum SMTP nur sinnvoll mit dem einen oder > anderen zusammenarbeiten kann? Nein. Belegen? Wenigstens finde ich mit google keine Implementation von SMTP über UDP. > Bonusfrage: Warum braucht eine Mail mal eine Minute, mal eine Stunde? Die Mails brauchen (mal abgesehen von Megamails, die einfach für den Transport von einem Server zum nächsten so lange brauchen, weil die Leitung zu dünn ist) nicht für den Transport so lange, sie liegen halt mitunter auf den Servern rum. Mail ist "Store and Forward". Also - jeder bringt sie zum nächsten Mailserver, von dem er denkt, er ist besser geeignet. (Wenn Du Dir die Received-Header der Mail ansiehst, dann erkennst Du das.) Und aus verschiedenen Gründen kann es sein, daß dann nicht sofort weitergeleitet wird. (Last, Zielhost down, Viren/Spam-Scanner, ...) > >Eher wichtig scheint mir, daß wahrscheinlich kein bekannter SMTP-Server > >SMTP über UDP unterstützen wird. Es wäre zu anstrengend für den, der's > >implementieren muß. > Ok, aber warum? Was "warum"? Warum's zu anstrengend ist, oder warum's keiner macht? Bei UDP schickst Du Pakete durch die Welt. Der Gegenüber bekommt diese. UDP garantiert Dir lediglich, daß die Pakete unverstümmelt ankommen. Aber nichts über die Reihenfolge. Schlimmer - es garaniert ja nicht mal, *daß* sie ankommen. Damit Daten auszutauschen, die größer als ein Paket sind, ist sehr mühsam, denn die Anwendung müßte die Reihenfolge und Vollständigkeit dieser Pakete selbst managen. Wer will das? (DNS hat's da einfacher: Die Frage paßt in ein Paket und die Antwort normalerweise auch. Ich muß dann nur noch rausfinden, ob ich früher oder später für alle Fragen auch Antworten bekommen habe (bzw. die Antworten, die ich erhalte auch zuordnen.) Für diesen Zweck ist UDP sehr gut geeignet, weil's auch keinen "Verbindungsaufbau" gibt (der bei TCP ein 3maliges Hin&Her ist, was bei langen Laufzeiten störend sein kann und Overkill ist, wenn ich mal eben nur eine Frage habe)). Will ich UDP nutzen für den Mailtransport, würde es also so enden, daß ich alles das, was TCP bietet, nochmal nachbaue. TCP stellt mir eine "virtuelle" Verbindung dar. Ich connect()e mich und schicken dann meine Daten dort einfach rein und das war's. Und gehe davon aus, daß der TCP-Stack auf beiden Seiten die Vollständigkeit (Reihenfolge und Vollzähligkeit) selbst klärt, mich das also nicht mehr angeht..) Best regards from Dresden Viele Gruesse aus Dresden Heiko Schlittermann -- SCHLITTERMANN.de ------------------ internet & unix support - <a href="http://debian.schlittermann.de/"> Debian DVD/CD </a> Heiko Schlittermann HS12-RIPE ------------------------------- pgp: A1 7D F6 7B 69 73 48 35 E1 DE 21 A7 A8 9A 77 92 ------- gpg: 3061 CFBF 2D88 F034 E8D2 7E92 EE4E AC98 48D0 359B -----
Attachment:
pgpkIESM0CIb7.pgp
Description: PGP signature