On Sat, Sep 11, 2004 at 06:22:30PM +0200, Arnaud Burlet wrote:
> Est-ce possible d'avoir plusieurs connections TCP sur le m�me port 
> simultan�ment ? Et donc, comment les paquets d'une connexion sont distingu�s 
> des paquets d'autres connections arrivant (ou partant) sur le m�me port TCP ?

Une connexion TCP est identifi�e par:

   (addresse source, adresse destination; port source, port destination)

D�s qu'une valeur diff�re, il s'agit d'une autre connexion.

Donc, si on a deux clients A et B et un serveur S on peut avoir:

   1.2.3.4:1024 <----->> 4.3.2.1:53
   1.2.3.5:1024 <----->> 4.3.2.1:53

les deux connexions seront parfaitement identifi�es sur S vu que les
adresses IP (et les num�ros de ports) sont diff�rents.

Ou encore (client BIND9 forc� sur le port 53)
   1.2.3.4:53 <----->> 4.3.2.1:53
   1.2.3.5:53 <----->> 4.3.2.1:53


On peut m�me avoir:

   1.2.3.4:1024 <----->> 4.3.2.1:53
   1.2.3.4:1025 <----->> 4.3.2.1:53

Voir la sortie de netstat.

En pratique, lorsqu'une connexion est accept(2)�e, UNIX cr�e un nouveau
socket d�crivant la connexion (le socket de base, celui utilis� pour
bind(2), listen(2) et accept(2) n'est pas utilis� directement).

A part qu'UDP n'est pas `connect�', il est toujours possible
d'identifier un datagramme avec les 4 valeurs mentionn�es (techniquement
deux sont dans l'ent�te IP, 2 dans l'ent�te UDP respectivement TCP).

> Mais la r�ponse se situe certainement autour des num�ros de s�quence TCP...

Les num�ros de s�quence n'entrent en vigueur que pour ce qui est de
d�terminer o� l'on se trouve dans un flot de donn�es TCP.

Question g�n�rale:
   Est-ce qu'un cours d'introduction � TCP/IP (base, analyse de trames,
   cr�ation de logiciels clients et serveurs en C et Perl) pourrait
   int�resser ?  Le cours UNIX II (r�seau) ne fait que survoler ces
   th�mes.

_______________________________________________
gull mailing list
[EMAIL PROTECTED]
http://lists.alphanet.ch/mailman/listinfo/gull

Répondre à