Wie viele Verbindung kann ein Port annehmen?
-
hi,
Wie viele Verbindungen kann ein Port annehmen?
(Wollte ein Proggie coden was so viele Verbindungen aufnimmt das der Port keine mehr annehmen kann und dicht ist) wenn das nicht funktionieren sollte bitte erklären. thx!
-
Also soweit ich weiß kann ein Port nur eine Verbindung herstellen. Das heißt wenn ich einen Port belege (mich zu ihm verbinde) dann ist er dicht und kann keine Daten von anderen Quellen mehr annehmen.
Was willste denn mit dem Programm anfangen? So ne Art Firewall, die die Ports vor fremdzugriff schüztzt?
MfG,
Sean
-
Sean Mertiens schrieb:
Also soweit ich weiß kann ein Port nur eine Verbindung herstellen. Das heißt wenn ich einen Port belege (mich zu ihm verbinde) dann ist er dicht und kann keine Daten von anderen Quellen mehr annehmen.
Was willste denn mit dem Programm anfangen? So ne Art Firewall, die die Ports vor fremdzugriff schüztzt?
MfG,
SeanSo ein Quatsch,das würde ja heißen das immer nur einer, z.B. auf eine Homepage, zugreifen könnte, da die ja über Port 80 des Servers abgefragt wird.
-
annehmen kann ein port theoretisch (sieht man von der begrenzten anzahl der ip-addressen ab) unbegrenzt viele, solang die andere seite eindeutig identifiziert werden kann... von ein und der selben ip können "nur" 65535 verbindungen angenommen werden, den es ist max. 1 verbindung pro port (der selben ip) möglich (clientseitig).
an dieses limit kommst du aber wohl nie ran, denn vorher sagt entweder die lan/interntverbindung ade, oder dein betriebssystem bzw. rechner packts nicht mehr
wenn dann musst du die schon bestehenden verbindungen "zählen" und dann weitere eingehende verbindungen ablehnen, ne andere möglichkeit wüsste ich jetzt nicht...
gruss,
matthias
(ps.: sorry für die etwas wagen formulierungen, ich hab mir das wissen _nicht_ durch fachbücher angeeignet, aber es stimmt hoffentlich trotzdem alles, da aber in den büchern manchmal eh ziemlicher mist steht...
-
maconey schrieb:
von ein und der selben ip können "nur" 65535 verbindungen angenommen werden, den es ist max. 1 verbindung pro port (der selben ip) möglich (clientseitig).
Hmm das wollte ich gern nochmal hinterfragen. Ich glaube nicht das dem so ist. Ein paar gegenbeispiele:
grosse Proxys würden net funzen. Da a) mehr Verbindungen von einem Client auf den selben Port (z.b. 8080) und b) auch noch bauen grosse Proxies wie z.b. die von AOL viele Verbindungen zu ein und dem selben webserver auf.
-... anderes BSP wie stellst du dir grosse Datenbankserver vor die hunderte anfragen pro sekunde vom selben rechner annehmen.. auf dem selben Port..
-
Zulan schrieb:
Ein paar gegenbeispiele:
grosse Proxys würden net funzen. Da a) mehr Verbindungen von einem Client auf den selben Port (z.b. 8080)äh. und?
die 10000 clients haben 10000 verschuieden ip-adressen. null problemo.Zulan schrieb:
und b) auch noch bauen grosse Proxies wie z.b. die von AOL viele Verbindungen zu ein und dem selben webserver auf.
der proxy von aol hatte immer mehrer ip-adressen, um mit den webservern zu reden. hat man aber abgeschafft, als man entdeckte, daß man mit http2 bis zu 4711 millionen seiten pro stunde saugen kann, wenn man nur 42 connections gleichzeitig offen hat.
Zulan schrieb:
-... anderes BSP wie stellst du dir grosse Datenbankserver vor die hunderte anfragen pro sekunde vom selben rechner annehmen.. auf dem selben Port..
vom selben client-prozess? ob sie wohl tcp benutzen und schlich anfrage hinter anfrage senden? auf einer connection? oder sind bei dir hunderte von prozessen auf dem rechner laufend? naja, ab 30000 reden wir mal drüber, daß der datenbankserver auch noch auf nem zweiten port antworten darf.
-
volkard schrieb:
Zulan schrieb:
Ein paar gegenbeispiele:
grosse Proxys würden net funzen. Da a) mehr Verbindungen von einem Client auf den selben Port (z.b. 8080)äh. und?
die 10000 clients haben 10000 verschuieden ip-adressen. null problemo.Vieleicht kommt es auch bei Dir ab und zu mal vor das du auf mehreren Seiten Paralell surfst. Vieleicht ja sogar mit verschiedenen Browsern...?
volkard schrieb:
Zulan schrieb:
und b) auch noch bauen grosse Proxies wie z.b. die von AOL viele Verbindungen zu ein und dem selben webserver auf.
der proxy von aol hatte immer mehrer ip-adressen, um mit den webservern zu reden. hat man aber abgeschafft, als man entdeckte, daß man mit http2 bis zu 4711 millionen seiten pro stunde saugen kann, wenn man nur 42 connections gleichzeitig offen hat.
Denkst Du im ernst das die Ihre Anfragen linear machen? Dann würde sich jeder lag potenzieren... das kann garnicht funzen...
volkard schrieb:
Zulan schrieb:
-... anderes BSP wie stellst du dir grosse Datenbankserver vor die hunderte anfragen pro sekunde vom selben rechner annehmen.. auf dem selben Port..
vom selben client-prozess? ob sie wohl tcp benutzen und schlich anfrage hinter anfrage senden? auf einer connection? oder sind bei dir hunderte von prozessen auf dem rechner laufend? naja, ab 30000 reden wir mal drüber, daß der datenbankserver auch noch auf nem zweiten port antworten darf.
Also apache unter linux macht afaik für jeden request einen neuen threat auf. Wenn ich also mit PHP auf einen MySQL Server zugreife (ohne pconnect zu nutzen) dann wird jedes mal eine neue Connection aufgemacht, am selben port von anderen Prozessen von der Selben IP.
Noch ein paar Beispiele: Download-Manager wie Flashget benutzen auch mehere Connections zum selben Server.
Oder mehrere IRC Connections zum selben Server.... das wäre alles nicht möglich wenn nur eine Connection zum einer Server/Port Kombo möglich wäre... Sorry aber das ist doch Schwachsinn..
-
beide pcs haben ja mehrere ports...
der client macht einen port auf und fragt über den beim server auf port 80 nach daten. dann macht er wieder einen anderen port auf und fragt wieder über diesen auf port 80 nach daten
z.B. sowas
Server-Port Client-Port
80 <- 1020
80 <- 1025
der server schickt die daten dann an den jeweilig port des clients zurück. theoretisch kann also en sever
Max.IP * Max.Port
4294967296 * 65535
pro port offen haben... aber soviel verbindungen kann kein os managen
-
Man nennt das Socket. Jeder Socket besteht aus:
- Adresse des Zielrechners
- Adresse des Quellrechners
- Port des Zielrechners
- Port des QuellrechnersEin Socket kann es weltweit nur einmal geben, und das ist eine Verbindung. Ändert sich der Port, dann ist es ein anderer Socket. So kann man jede Verbindung indentifizieren. Wenn dein Rechner 25 Verbindungen zum nem anderen offen hat, ist es definitiv ein anderer Socket. Denn sonst wüsste die empfangenen Daten ja gar nicht, wo sie hin sollten.