Question

Si j'ai deux ordinateurs internes se connecter à la même adresse IP externe via un routeur NAT, comment le routeur est en mesure d'obtenir le trafic vers l'ordinateur interne correct? Je crois comprendre que le NAT transmet les paquets entrants vers l'ordinateur qui a récemment envoyé des paquets sortants à l'adresse IP de l'expéditeur [paquet entrant de]. Étant donné que les deux ordinateurs envoient à la même adresse, le routeur ne transmettre le paquet à la fois? Si tel est le cas, est-il la responsabilité du logiciel client pour déterminer quels paquets sont pertinents?

Est-il possible si les deux ordinateurs tentent de se connecter au même port?

Était-ce utile?

La solution

Lorsque vous ouvrez une prise, vous devez répondre à un port du système de destination et d'ouvrir un port d'écoute conjugué sur votre propre système pour recevoir une réponse. Vous devez envoyer le système de destination de votre port d'écoute.

Avoir plus d'un système en utilisant le même modem

Lorsque vous démarrez un navigateur Web, et allez à www.google.com:80, votre navigateur obtient / recherche un port conjugué non système libre du système d'écoute. Disons, le port conjugué est 10000. Le port d'écoute est destiné à recevoir le flux HTTP du google.

Alors votre enfant assis à côté de vous broute soit dit en passant aussi www.google.com:80 et son / sa session de Google de la station de jeu ou xbox-tout aussi est d'ailleurs attribué 10000 port conjugué.

Les deux vous êtes assis derrière un modem câble, et derrière le modem câble est votre routeur sans fil. Et vos deux systèmes sont derrière le routeur sans fil -. Tous assis dans cette séquence, la topologie de réseau sage

Pour éviter la collision d'adresse du port sur le routeur / modem

Disons que votre câblodistributeur DHCP attribue votre modem IP4 adresse 72.72.72.72. Mais votre DHCP du routeur sans fil attribue 192.168.0.10 à votre système et 192.168.0.11 au système de votre enfant.

Lorsque le cadre portant l'information de vos ports d'écoute passe thro votre routeur NAT, il se traduirait par un ou deux ports listening-. Disons que le port 15000 pour votre page et le port pour la page 16000 de votre enfant.

Votre routeur sans fil envoie vos requêtes au serveur Google comme venant de 72.72.72.72:15000 et 72.72.72.72:16000.

Le serveur Google répond alors individuellement à 72.72.72.72:15000 et 72.72.72.72:16000 et quand vous routeur sans fil RENCONTRES la réponse, il atteint dans la mise en correspondance qu'il a stocké et traduit 72.72.72.72:15000 à 192.168.0.10 :. 10000 pour atteindre votre système, mais se traduit par 72.72.72.72:16000 à 192.168.0.11:10000 pour atteindre le système de votre enfant

Exécution des serveurs web / jeu / ftp / etc

Mais si vous avez un serveur web ou un serveur FTP sur votre système. Que faire si vous avez deux systèmes et les deux ont un serveur Web et les serveurs Web sont à l'écoute sur le port 80?

Disons que les adresses IP locales enregistrés / affecté avec votre routeur sans fil de votre premier système de serveur Web est 192.168.0.30 et votre second système de serveur Web est 192.168.0.40.

Le routeur sans fil aurait une page Web de configuration généralement par défaut 192.168.0.1:80, à moins que vous l'avez changé. Il y aurait un onglet à la page où vous pouvez définir / application réserve mappage des ports.

Vous pouvez vous inscrire avec votre routeur sans fil pour réserver la mise en correspondance

192.168.0.30:80 => outgoing port 8080
192.168.0.40:80 => outgoing port 8088

Alors que vous devez téléphoner à vos amis vos serveurs web / jeu sont adressables par 72.72.72.72:8080 et 72.72.72.72:8088 respectivement, où le routeur sans fil empêcherait son port 8080 et 8088 de son propre usage NAT dynamique.

Bien sûr, 72.72.72.72 est aussi bon que seulement avant votre fournisseur d'accès DHCP décident de renouveler l'adresse IP4 de votre modem-à-dire 72.72.90.200. Après quoi, vous devez téléphoner / envoyer vos amis et dire Hey, les adresses des serveurs ont changé pour 72.72.90.200:8080 et 72.72.90.200:8088 respectivement. Ou vous pouvez souscrire à dns dynamique (DDNS) service à utiliser un domaine nommé où le service DDNS devra vous installer un utilitaire simple battement de coeur sur votre système pour les aider à surveiller la variation d'adresse. Traduction DDNS est une question distincte / stratégie.

modems NAT

Contrats de FAI récent vous fournir un modem qui a NAT. Si oui, vous devez éteindre soit celui de votre modem ou celui de votre routeur sans fil. Vous ne devriez pas utiliser à la fois - ce qui est le point de traduire deux fois parce que NAT est simplement pour éviter une collision d'adresse. Lorsque vous éteignez NAT de votre routeur sans fil, il peut fonctionner uns un commutateur concentrateur et non plus un routeur pour que vous puissiez vous connecter au modem à l'aide d'un de son support LAN au lieu de thro sa prise WAN.

Autres conseils

Le routeur gère les ports « source » qui sont séparés pour chaque ordinateur. Même si vous connecterez au port 80 sur la « destination » le routeur peut attribuer le port source à un port de nombre.

Wikipédia résume comme

  

traduction d'adresses réseau implique   récrire la source et / ou   Les adresses IP de destination et généralement   aussi les numéros de port TCP / UDP de IP   les paquets lorsqu'ils passent à travers le NAT.   Checksums (à la fois IP et TCP / UDP) doit   être réécrite aussi pour tenir compte des   les modifications.

Déjà de bonnes réponses sont fournies, mais voici un autre exemple:

    HOST A addr         HOST B addr
    10.1.0.2:4040       10.1.0.3:4040
-----------------------------------------
NAT 200.50.50.28:4040   200.50.50.28:4041 (what external host sees)

200.50.50.28 est global (Internet) IP du routeur.

Chaque numéro de port est unique dans la table NAT. Et bien sûr, le routeur fait tout le sale emploi de modifier les adresses source et destination transparente.

Il utilise des ports différents pour le trafic externe entrant, et le NAT achemine les paquets sur un port à une adresse IP interne, et les paquets en provenance de l'autre port à l'autre adresse IP interne ... La demande iniital de chaque interne ordinateur, quand il passe par le NAT sur la sortie, établit le port sera utilisé pour le trafic entrant à l'adresse IP externe, et il indique au serveur externe ce port pour envoyer le trafic est de retour sur pour cette connexion.

RFC3022 fournit beaucoup d'informations sur la façon dont cela fonctionne

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top