Tu as compris dans l'ensemble mais tu melange un peu tous les termes. Je vais un peu mieux t'expliquer. Il n'y a pas de couche haute ou basse sur un paquet, par contre, tu dois vouloir faire reference au modele OSI de l'ISO.
En realite, il y a, dans TCP, deux niveaux, le niveau reseau ou transitent les datagrammes IP, et le niveau transport ou transitent les segments TCP. Les datagrammes IP peuvent et contiennent dans la majorite des cas, des segments TCP. Le systeme NAT (network address translation) s'occupe de router les datagrammes IP d'un reseau internet vers un autre reseau internet. Le plus souvent, il s'agit de l'internet mondial et d'un internet local, quelquefois appele intranet suivant l'humeur...
Lorsqu'une machine du reseau internet local (avec une adresse 192.168.x.x, par exemple 192.168.0.2) veut acceder a un site sur l'Internet mondial, elle envoie se requete sur le reseau local vers le routeur(par ex 192.168.0.1). Le systeme NAT du routeur memorise le port et l'adresse IP de cette machine (192.168.0.2:5500 le port est 5500). Puis ce meme systeme NAT change l'adresse du datagramme IP par son adresse sur le reseau Internet mondial (194.150.12.51), et change le numero de port du segment TCP contenu dans le datagramme IP par un disponible (5501). Bien sur, ces adresse sont les adresses d'expedition et non l'adresse du destinataire. Ce port est memorise et correspond a l'adresse IP et au port de la machine sur le reseau local : (5501:192.168.0.2:5500). Lorsque la reponse du site sur Internet mondial arrive, elle porte l'adresse IP de destination suivante (194.150.12.51:5501). Le systeme NAT regarde dans sa base et voit (5501:192.168.0.2:5500). Il change donc l'adresse IP de destination ainsi que le port par (192.168.0.2:5500), et renvoie la trame sur le reseau local.
Voilou, pour l'IP forwarding, ce sera pour le prochain cours...