Es gibt sehr wohl globale und lokale
IP's (richtiger wäre eigentlich private und öffentliche
IP-Adressen)
Bestimmte
IP-Adressen werden im Internet nicht vergeben und werden somit auch nicht geroutet (10.0.0.0 - 10.255.255.255, 172.16.0.0-172.31.255.255 und 192.168.0.0-192.168.255.255), d.h. ein Rechner im Internet kann mit einem Rechner der eine der o.g. Adressen hat nicht direkt kommunizieren. Diese
IP-Adrressen können mehrfach weltweit vergeben werden (privat)
Um dies zu umgehen und gleichzeitig die immer knapper werdenden öffentlichen
IP-Adressen nicht noch knapper werden zu lassen, wurde nun das sogenannte Network Adress Translation (NAT) erfunden, welches die internen, privaten Adressen am Gateway zum Internet (oder zu einem anderen öffentlichen Netz) in öffentliche Adressen übersetzt.
Dies sollte jedoch bei Standard
TCP/
IP keine Einschränkungen für den Programmierer hinsichtlich der Portweiterleitung geben, denn selbst wenn der gerade angeforderte Port schon belegt ist, sieht NAT das sogenannte "Maskieren" vor, in dem ein Port auf einen anderen umgelenkt wird.