[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: SMTP: TCP oder UDP



On Fri, Oct 17, 2003 at 04:30:53AM +0200, Marius Oskandi wrote:
> On Fre, 2003-10-17 at 01:00, Heiko Schlittermann wrote:
> > On Fri, Oct 17, 2003 at 12:03:02AM +0200, Thorsten Haude wrote:
> > > 
> > > Wird SMTP vor allem mit TCP oder mit UDP benutzt? In welchem
> > > Verhältnis stehen die beiden Protokolle etwa?
> 
> geh ma mal an die grundlagen...
> 
> > TCP vs. UDP kann man in einem guten Netzwerkbuch nachlesen.
> > Verbindungsorientiert (Stream) vs. Paketorientiert (Datagramm)
> 
> ...nicht genügend, setzen!

Danke, Herr Lehrer, aber was ist nun der Unterschied zu
connection-oriented und connectionless?

> TCP connection-oriented (Ziel muss angekommene Pakete ACKnowledgen)
> UDP connectionless (es wird nur das Ziel angegeben, ohne Bestätigung
> desselben)


> The SMTP design can be pictured as: 
> 
>                +----------+                +----------+
>    +------+    |          |                |          |
>    | User |<-->|          |      SMTP      |          |
>    +------+    |  Client- |Commands/Replies| Server-  |
>    +------+    |   SMTP   |<-------------->|    SMTP  |    +------+
>    | File |<-->|          |    and Mail    |          |<-->| File |
>    |System|    |          |                |          |    |System|
>    +------+    +----------+                +----------+    +------+
>                 SMTP client                SMTP server
> 
> 
> allein dieses Schaubild gibt die antwort:
> Es kann nur verbindungsorientiert arbeiten.

Wo siehst Du das?  Ich jedenfalls kann es nicht erkennen.  Sehrwohl
können Client & Server alles selbst implementieren.  Sich also nicht auf
TCP mit seiner Verbindung verlassen, sondern einfach UDP nutzen.

> > In der /etc/services ist smtp nur für 25/tcp eingetragen.  Was aber noch
> > nichts zu sagen hat.
> 
> das sagt schon alles!!!

Wo ich mir auch nicht so sicher bin.  Denn:

ssh             22/tcp                          # SSH Remote Login Protocol
ssh             22/udp                          # SSH Remote Login Protocol
..
www		80/tcp		http		# WorldWideWeb HTTP
www		80/udp				    # HyperText Transfer Protocol

Hast *DU* schon ssh oder HTTP über UDP gesehen?  Und sie *stehen* in der
/etc/services.  Also kann ja umgekehrt auch nicht gelten, daß sein
Nichtvorhandensein dort eben bedeutet, daß es das nicht gibt.  Lange
Zeit stand der Port 3306/tcp (mySQL) dort auch nicht drin.  Wurde aber
trotzdem genutzt.

Und - in Deinem Schaubild oben kannst Du auch s/SMTP/HTTP/g machen und
es wird immer noch stimmen und es wird trotzdem in der /etc/services
stehen, daß HTTP auch über UDP möglich ist. Mir fällt gerade auch kein
guter Grund ein, warum SMTP nicht über UDP gehen sollte.  (Außer daß
sich der Programmierer mehr Gedanken machen muß über verlorenen Pakete,
über Bestätigungen usw.)

> > 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ß.
> ändert sich ja nichts, außer das die pakete nicht bestätigt werden und
> somit verstümmelte nachrichten ankommen können...

?? Wenn ich selbst kontrolliere (als Anwendung), was dann?  Wie ist das
mit TFTP?  Warum kann ich dort keine verstümmelten Files bekommen?  --
Genau, weil der Client selbst (oder der Server, wenn's ein Upload ist)
prüft, ob er alles hat.

... also nicht so schnell schießen, mein lieber Freund ;-)


    Heiko
-- 
 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 -----




Reply to: