Crash de routeur NAT et P2P

1

So..i eu cette dispute avec mon professeur de réseaux. Il a déclaré que certaines personnes se plaignaient de pannes de routeur dues à de nombreuses entrées sur des tables NAT sur un routeur.

Je n'ai pas compris et j'ai demandé: "Si l'application utilise le même port, pourquoi le routeur tombe-t-il en panne? Il ne devrait contenir qu'une seule entrée (pc-ip, pcport; public-ip, public-port)". Et il a dit: "peu importe que cela utilise le même port".

J'ai eu l'idée que NAT crée une entrée pour chaque paquet qui la traverse. Je suppose que NAT est surchargé, comme vous l'avez peut-être deviné.

Donc les questions sont:

  1. Comment les entrées nat sont-elles créées? Paquet ou connexion? Je veux dire: supposons que j'envoie un paquet UDP .. le routeur crée-t-il une entrée?

  2. Lorsque je commence une connexion TCP, le routeur crée-t-il une entrée nat persistante jusqu'à la fermeture de la connexion?

  3. Mon professeur avait-il raison? La table NAT peut surcharger en supposant qu'une application sur le même port envoie des paquets?

Merci d'avance.

BrunoMCBraga
la source
L'exécution de nmap sur un sous-réseau volumineux peut facilement déborder de la table d'état sur les routeurs bon marché.
Zoredache

Réponses:

1
  1. Par connexion (ou par flux UDP)
  2. Oui
  3. Oui. Par exemple, votre navigateur Web sur un PC interne peut avoir plusieurs connexions TCP simultanées ouvertes simultanément sur chacun de plusieurs serveurs Web externes différents. Pour chaque connexion, le port source varie (choisi de manière aléatoire), mais le port de destination et l'adresse IP de destination peuvent être identiques pour plusieurs connexions. Un routeur conçu pour répondre aux besoins de deux ou trois ordinateurs dans une maison peut ne pas être en mesure de gérer le nombre de connexions simultanées nécessaires dans (par exemple) une école avec peut-être des centaines d’ordinateurs très occupés. Les routeurs doivent être dimensionnés pour la charge attendue.

Si vous regardez exemple de source C pour le client TCP décrit dans Comment , vous verrez que l’API "sockets" ne fournit aucun moyen au client qui établit une connexion de spécifier un port-source.

RedGrittyBrick
la source
Vous ne pouvez pas ouvrir 100 connexions avec le même port source si l'adresse et le port de destination sont identiques. Un serveur Web typique n'écoute que sur le port 80; toutes les connexions HTTP à ce serveur auront donc destination-port = 80. Chaque connexion doit avoir une combinaison unique adresse-source x port source x adresse de destination x port de destination. Lorsque vous établissez une connexion, l’opérateur choisit pour vous un port source aléatoire, inutilisé.
RedGrittyBrick
Donc, si mon navigateur démarre 100 cents connexions du port 1300 vers le même serveur Web, la table NAT créera 100 entrées avec (source-ip, 1300; source publique, port externe) où le port externe variera 100 fois, le reste des champs sont exactement les mêmes?
BrunoMCBraga
Comme je l'ai dit, votre navigateur ne peut pas le faire.
RedGrittyBrick
Désolé, je corrigeais une chose. Ok, si mon navigateur démarre 100 connexions avec 100 ips différents, la table NAT remplira-t-elle 100 entrées avec (source-ip, 1300; source publique, port externe)
BrunoMCBraga
où source-ip, public-source sont les mêmes mais le port externe varie?
BrunoMCBraga