Heimnetzwerke - WIFI, LAN, Router und Co 16.557 Themen, 81.662 Beiträge

Mehrere Sockest?

Maxx Stone / 6 Antworten / Baumansicht Nickles

Hi zusammen,

ich brauche mal ein paar Grundlagen:
Win32, TCP, IP, HTTP, Modem, Call by call, (direkte Verbindung zum Internet; Standard-Gateway im Remote-Netzwerk)

Wenn mein Browser (Firebird) startet und Windows (oder Firebird?) ein Socket "startet"/einrichtet dann greife ich anschliessend mit einem Port 1xxx auf meinen Provider (Port 80) zu.
Was passiert wenn ich jetzt ein weiteres Browserfenster starte? Das neue Browserfenster kommuniziert dann mit einem neuen, weiteren Socket und anderem Port wieder mit meinem Provider (Port 80)?

Gruß
Maxx Stone

bei Antwort benachrichtigen
Klaus_T Maxx Stone „Mehrere Sockest?“
Optionen


Eine TCP Verbindung besteht aus dem Quadrupel:Client-IP, Client-Port, Server-IP, Server-Port
Wenn der Browser eine TCP-Verbindung zu einem anderen Rechner aufmacht, bekommt er vom TCP-Stack einen localen Port. Bei Windows faengt der bei 1xxx an, bei Linux z.B. bei 30xxx. Ist aber auch nicht immer sicher, auf jeden Fall ein Port zwischen 1024 und 65535. Und ab dort an wird nun hochgezaehlt, immer um eins, also eine andere Verbindung haette dann die Client-IP, Server-IP und Server-Port gleich, nur der Client-Port (also bei dir) ist anders.
So ist der Ablauf grob gesagt. Dazu kaeme jetzt noch genaugenommen die Sequenznummern, aber das wuerde dann zu weit fuehren.

Bye, Klaus
bei Antwort benachrichtigen
Maxx Stone Klaus_T „ Eine TCP Verbindung besteht aus dem Quadrupel:Client-IP, Client-Port,...“
Optionen

Hi Klaus_T,

thx für die Antwort.

"Wenn der Browser eine TCP-Verbindung zu einem anderen Rechner aufmacht, bekommt er vom TCP-Stack einen localen Port."

Okay, soweit klar - die Funktionsweise habe ich schonmal gelesen. Dabei entsprang aber die Detail- oder vielleicht Verständnisfrage:

Was passiert wenn der Browser (also Anwendungsschicht bzw. HTTP-Client) ein neues/weiteres Fenster öffnet?
Ist das eine neue "Anwendung" welche ein neues/weiteres Socket "verlangt"? Also einen neuen (Client-Prozess-) Port benötigt? Ergo neues/weiteres Socket?

Thx
Maxx Stone

bei Antwort benachrichtigen
Klaus_T Maxx Stone „Hi Klaus_T, thx für die Antwort. Okay, soweit klar - die Funktionsweise habe...“
Optionen

Du musst erst einmal verstehen, was ein Socket ist. Ein Socket ist ein Kommunikationsendpunkt. Also ein Interface zwischen einem Netzwerkprotokoll und der Anwendungssoftware. Ein Socket wird in einem C-Programm durch die Funktion socket() erzeugt. Ach, das fuehrt jetzt alles zu weit, das so zu erklaeren, da muesste ich dann tiefer gehen.
Okay, wenn du so willst, kann man es so sagen, dass immer wieder eine neue Anwendung, eben durch die Unterschiedliche Quadrupel, erzeugt wird, da der Quellport ja ein anderer ist.
Lese doch mal hier etwas ueber Netzwerke nach. Ich bin einfach nicht besonders gut darin, eine komplizierte Sache einfach zu erklaeren.

Bye, Klaus

bei Antwort benachrichtigen
Maxx Stone Klaus_T „Du musst erst einmal verstehen, was ein Socket ist. Ein Socket ist ein...“
Optionen

Hi Klaus_T,

eine komplizierte Sache einfach zu erklaeren habe ich doch gar nicht verlangt ;-)
Danke für deine Geduld mit mir. Ich werde sie ggf. nochmal auf die Probe stellen ;-)
(in einem neuen Treat).
Thx

@Andylol (07.02.2004, 01:54)
Treffer, Frage beantwortet. Gracias señor!
Mit "netstat" werde ich ausgiebig experimentieren.

Gruß
Maxx Stone

bei Antwort benachrichtigen
Andylol Maxx Stone „Mehrere Sockest?“
Optionen

Moin,

@Maxx_Stone
"Was passiert wenn der Browser (also Anwendungsschicht bzw. HTTP-Client) ein neues/weiteres Fenster öffnet?
Ist das eine neue "Anwendung" welche ein neues/weiteres Socket "verlangt"? Also einen neuen (Client-Prozess-) Port benötigt? Ergo neues/weiteres Socket?"
--> Si Senor!

Ein neues Fenster baut auch eine neue TCP-Verbindung, ergo einen neuen TCP-Socket auf!

Tipp zum Nachvollziehen:
1) Ein Browserfenster öffnen und Verbindung herstellen
2) Dos-Box öffnen und den Befehl netstat -a eingeben
3) Du siehst unter TCP die lokalen Ports in der Form "eigener Rechnername:lokaler Port ...."
4) Ein weiteres Browserfenster öffnen (z.B. mit Strg+N) und dann wieder in der DOS-Box netstat -a eingeben.
5) ----> und Du siehst was?......ein weiterer Socket für die neue (Browserfenster-Verbindung zu einem Webserver) Verbindung hat sich geöffnet.
6) Neues Fenster wieder schließen...netstat -a.... und der neuere Socket ist wieder weg!

Jaja....das gute alte verbindungsorientierte TCP ;-)))

War das hilfreich?

Gruß
Andylol

bei Antwort benachrichtigen
Andylol Maxx Stone „Mehrere Sockest?“
Optionen

Moin,

@Maxx_Stone
--> De nada!

Schön, geholfen zu haben :-)


Gruß
Andylol

bei Antwort benachrichtigen