J'ai fait des recherches et j'ai trouvé peu de choses de bien précises.
Bah en fait, ça doit être tout con.
Lorsque tu envoies une requête derrière un routeur (faisant office de passerelle NAPT)... il s'occupe de tout (de l'envoi tout comme du retour) en créant des tables de correspondance entre IP publiques et adresses non routables sur internet (adressables sur ton réseau local)
Maintenant, ma question initiale était comment adresser un paquet à un PC faisant office de serveur, ayant une IP privée et n'appartenant pas au même réseau que le notre.
Pour "contacter" directement un tel PC, il me semble que cela est impossible sans un port forwarding, ou un DMZ etc.
Bon après... J'ai juste tapé MSN sur Wikipédia et sachant que le serveur est centralisé, c'est probablement qu'il fait office d'intermédiaire entre les deux connexions.
Donc 2 interlocuteurs sont sûrement 2 clients.
Le serveur MSN s'occupe d'adresser les messages selon les différentes sockets correspondantes.
Après corrigez moi si je me trompe.