Ma question est, si la machine A a deux adresse IP x, y. p>
peut-il ouvrir le port 80 deux fois, comme dire, est un port unique par machine ou par adresse IP? P> x: 80 code> et
y: 80 code>? p>
3 Réponses :
C'est unique par IP. Lorsque vous Si vous voulez ne vous attacher qu'à quelques adresses, vous devez le faire "à la main". Lorsque l'OS reçoit un paquet, il vérifie d'abord il est la destination. Ensuite, il le transforme au programme qui a lidez code>, (c'est la partie Important em> partie), vous liez une adresse IP et un numéro de port, pas une machine et un numéro de port. Pour raccorder à toutes les adresses, vous pouvez utiliser quelque chose comme
inaddr_any code>. P>
demandé code> (par liaison, par connexion, etc.) qu'il soit la destination des paquets avec ce numéro IP et Port spécifique. P>
port et IP ont 1 à 1 mappage. P>
Donc, oui, vous pourriez avoir le port 80 ouvert sur deux IP différentes sur la même machine. P>
Une adresse IP spécifie une interface réseau (pensez à un port Ethernet sur votre ordinateur ou votre connexion WiFi). Un numéro de port Spécifie le processus auquel pour rouler des messages arrivant sur une interface réseau donnée. Vous pouvez donc utiliser le même numéro de port avec différentes adresses IP, car elles spécifient le port sur lequel écouter cette interface donnée. Remarque, cependant, que vous pouvez même réutiliser un numéro de port avec la même adresse IP si vous utilisez l'option SO_REUSeADDRDR lorsque vous appelez le Bind fonction. P>
Devrait probablement être sur serverfault.com, mais une question intéressante pour les programmeurs qui traitent de ce genre de chose. :)