Wie werden UDP-Quellports ausgewählt?

8

Ich habe gerade eine Paketerfassung von meinem Computer durchgeführt und alle UDP-Verbindungen herausgefiltert. Ich habe bestimmte Verbindungen über einen scheinbar zufällig generierten UDP-Quellport und bestimmte Verbindungen über denselben Quellport wie den UDP-Zielport gesehen.

Ich verstehe, dass TCP-Verbindungen den Quellport zufällig sortieren, sodass die Antwort einen "dedizierten" Port hat, auf den sie antworten kann. Aber wie funktioniert es mit UDP?

Ich suche die maßgebliche Antwort. Links zu RFCs (oder so weiter) wären sehr dankbar.

Was bestimmt den UDP-Quellport?

  • Wird es zufällig generiert, wenn eine Antwort erwartet wird?
  • Entspricht es dem Zielport, wenn keine Antwort erwartet wird? (anstatt 0 als Quellport zu verwenden)?

Vielen Dank.

Eddie
quelle

Antworten:

6

Das hängt von der Anwendung ab. Beispielsweise hat der Linux-Kernel die UDP-Quellport-Randomisierung implementiert, wenn in Kernel 2.6.24 kein Quellport angegeben ist .

Das Verhalten, das Sie in einigen Verbindungen sehen, muss also die bestimmte Anwendung sein, die angibt, dass der Quellport mit dem Zielport identisch ist, während andere ihn dem Kernel überlassen.

Jeff Strunk
quelle
Was Sie also sagen (um sicherzustellen, dass ich es verstehe), ist, dass UDP standardmäßig Quellports (genau wie TCP) randomisiert, es sei denn, der Dienst / die Anwendung selbst fordert etwas Besonderes an, einschließlich der Verwendung passender Quell- / Zielports. Ist das richtig?
Eddie
Das ist je nach Plattform richtig.
Jeff Strunk
+1 Das ist richtig; Im Gegensatz zu TCP, bei dem Sie keine Kontrolle über den Quellport haben (da das Betriebssystem sicherstellen muss, dass er für jeden Socket eindeutig ist), kann die Anwendung ihn in UDP nach Belieben konfigurieren. Wenn es eine bidirektionale Kommunikation gibt, wäre es "vernünftig", dass der Quellport der Port ist, auf den die andere Partei antworten sollte (in Wikipedia unter "Quellportnummer" angegeben). Wer auch immer die Anwendung geschrieben hat, hat sich möglicherweise leicht dafür entschieden, stattdessen eine Zufallszahl zu verwenden.
Groo
0

Vergängliche Ports werden für UDP-Pakete wie für TCP generiert.

http://www.hsc.fr/ressources/articles/win_net_srv/ephem_port_alloc.html

RobtheDob
quelle
Aber nicht immer, wie meine Paketerfassung gezeigt hat. Was bewirkt, dass einige Verbindungen einen zufälligen UDP-Quellport verwenden und andere mit dem Zielport übereinstimmen? Und wenn sie übereinstimmen, wie wirkt sich das auf den Rückverkehr aus?
Eddie
Diese Antwort beschreibt speziell das Windows-Verhalten. Die andere Antwort betrifft das Verhalten von Linux. Vorausgesetzt, diese sind noch auf dem neuesten Stand, sieht es so aus, als würde Windows standardmäßig nicht wie Linux zufällig wählen.
Thomasrutter