NAT działa dobrze, ale przekierowanie portów ma inne zadanie . Aby to zrozumieć, należy pamiętać o różnicy między połączeniami przychodzącymi i wychodzącymi.
Załóżmy, że ty i ja będziemy rozmawiać przez telefon. Mogę do ciebie zadzwonić lub do mnie. W obu przypadkach będziemy mogli wysyłać wiadomości (zdania) tam iz powrotem, ale istnieje różnica w tym, kto rozpoczyna połączenie. Jeśli do ciebie zadzwonię, jest to połączenie wychodzące dla mnie i połączenie przychodzące dla ciebie. Aby było to możliwe, najpierw muszę znać Twój numer telefonu. Gdy odbierzesz telefon, otrzymasz mój identyfikator dzwoniącego (który jest moim numerem telefonu). Na potrzeby tego wyjaśnienia pozwól nam udawać, że musisz znać mój numer telefonu, aby do mnie oddzwonić.
Teraz wyobraź sobie, że nasze połączenia telefoniczne są kierowane przez dwa inne telefony (routery), które są podłączone do wielu osób:
You <----> Router 1 <----> Router 2 <----> Me
^ ^
| |
v v
Many Many
Others Others
Aby skomplikować sprawę, znam tylko numer telefonu routera 1, a nie numer osobisty. I odwrotnie, znasz tylko numer telefonu routera 2, a nie mój numer osobisty. Kiedy do ciebie dzwonię, mamy dwa problemy:
- Router 1 musi w jakiś sposób wiedzieć, że połączenie musi być kierowane do Ciebie, a nie do jednego z wielu innych, z którymi się łączy.
- Router 2 musi w jakiś sposób wiedzieć, że kiedy oddzwonisz, zdanie musi zostać wysłane do mnie, a nie do kogoś innego.
Przekazywanie portów rozwiązuje problem 1. Wywoływanie informacji o superużytkowniku jest usługą prowadzoną konwencjonalnie przez port 42. Mówisz routerowi 1, aby przekazywał ci wszystkie połączenia dotyczące superużytkownika, więc kiedy dzwonię do routera 1 na porcie 42, mogę z tobą porozmawiać. Jeśli nie powiedziałeś wyraźnie routerowi 1, aby to zrobił, nie moglibyśmy zadzwonić.
NAT rozwiązuje problem 2. Router 2 udaje, że jest dzwoniącym, ponieważ ani Ty, ani Router 1 nie odbierzesz telefonu, jeśli identyfikator dzwoniącego jest nieznany (mój numer telefonu). Następnie pamięta, że jestem osobą dzwoniącą, więc kiedy router 2 otrzyma odpowiedź z routera 1, wie, że może mi go wysłać.
Sytuacja w Internecie jest prawie dokładnie taka sama. Musisz tylko mentalnie zastąpić telefony komputerami, numerami telefonów i identyfikatorami dzwoniących adresami IP, a nieznane numery telefonami zarezerwowanymi adresami IP (np. 192.168. *. *).