7
votes

Relation entre le port et l'adresse IP

Ma question est, si la machine A a deux adresse IP x, y.

peut-il ouvrir le port 80 deux fois, comme x: 80 et y: 80 ?

dire, est un port unique par machine ou par adresse IP?


1 commentaires

Devrait probablement être sur serverfault.com, mais une question intéressante pour les programmeurs qui traitent de ce genre de chose. :)


3 Réponses :


3
votes

C'est unique par IP. Lorsque vous lidez , (c'est la partie Important 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 .

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 demandé (par liaison, par connexion, etc.) qu'il soit la destination des paquets avec ce numéro IP et Port spécifique.


0 commentaires

1
votes

port et IP ont 1 à 1 mappage.

Donc, oui, vous pourriez avoir le port 80 ouvert sur deux IP différentes sur la même machine.


0 commentaires

6
votes

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.


0 commentaires