NAT (Network Address Translation)

advertisement
NAT (Network Address Translation)
NAT – usługa translacji adresów realizowana w celu:
-
umożliwienia dostępu do sieci większej ilości hostów niz ilość
dostępnych adresów IP
-
podniesienia poziomu bezpieczeństwa sieci prywatnej
-
uproszczenia adaminstracji siecią prywatną
NAT (Network Address Translation)
NAT – zasada działania:
Niech m – ilość adresów, które maja być tłumaczone.
Niech n – ilość adresów na które będzie dokonywane
tłumaczenie.
Wyróżnimy trzy podstawowe rodzaje translacji:
8.
NAT statyczny
9.
NAT dynamiczny
10. Translację portów (NAPT) (Masquarading)
NAT (Network Address Translation)
NAT statyczny (m,n>=1 i m=n )
Przy statycznej translacji tłumaczymy adresy pomiędzy sieciami o
takim samym rozmiarze. Dany adres IP jest zawsze tłumaczony na
taki sam adres. Strategia ta jest łatwa do zaimplementowania i
wymaga tylko kilku prostyczh transformacji adresu wejsciowego:
new-address = new-network OR (old-address AND (NOT netmask))
Dodatkowo informacja o translacji nie musi być nigdzie
przechowywana.
Możliwy jest dostep do hostów z sieci zewnętrznej – ich adresy przy
odwołaniach z zewnątrz są tylko inne niż adresy wewnętrzne.
NAT (Network Address Translation)
Przykład:
Przypuśćmy że dokonujemy translacji adresów z sieci
192.168.0.128 na sieć 212.191.65.0 przy masce
255.255.255.128.
Wtedy np. adres 192.168.0.220 jest tłumaczony na adres:
11010100101111110100000100000000
OR
11000000101010000000000011011100
AND
NOT
11111111111111111111111110000000
co daje 212.191.65.92
NAT (Network Address Translation)
NAT dynamiczny (m>=1 and m>=n )
Translacja dynamiczna jest konieczna gdy ilość adresów IP do
translacji nie jest równa ilości adresów na które tłumaczymy lub gdy
z innych względów (np. bezpieczeństwa) nie jest wskazane użycie
translacji statycznej.
Liczba hostów, które bedą mogły komunikować się z siecią
zewnetrzną jest ograniczona przez ilość dostępnych adresów NAT
(na które tłumaczymy). Gdy wszystkie adresy NAT zostaną użyte
kolejne połączenia nie mogą być realiowane i muszą być odrzucone
przez router NAT powiadamiając nadawcę np. że sieć docelowa (host)
jest nieosiągalny. Dynamiczny NAT jest bardziej skomplikowany niż
statyczny gdyż musi przechowywać informacje o odokonanej
translacji.
NAT (Network Address Translation)
NAT dynamiczny może być użyteczny także gdy mamy
wystarczajacą ilość adresów NAT np. m=n (lub nawet m<n)
gdyż utrudnia on dostęp do sieci prywatnej z sieci
zewnętrznej, gdyż ten sam adres IP może wskazywać na
zupełnie inny host.
Połączenia z sieci zewnętrznej są możliwe tylko gdy host, który
ma być osiagniety ma wciąż przypisany adres NAT
(przechowywany przez pewien „timeout”).
NAT (Network Address Translation)
Przykład:
-
-
-
-
tłumaczymy wszystkie IP z sieci klasy B 138.201 na adresy
sieci klasy C 178.201.112 (adrsy NAT)
każde nowe połączenie z sieci wewnętrznej do sieci
zewnętrznej ma przypisywane jeden z dostępnych(wolnych)
adresów NAT
jeżeli mapowanie dla danego adresu wewnętrznego istnieje
jest ono używane
tak długo jak mapowanie istnieje host może być osiagniety
z zewnątrz
NAT (Network Address Translation)
NAT (Network Address Translation)
Masquerading (NAPT) (m>=1 and n=1)
Specjalny przypadek dynamicznego NAT (translacja m do 1).
Najczęściej obecnie używana technika translacji.
Powoduje że wiele adresów IP z sieci wewnetrznej jest
ukrytych i widocznych na zewnatrz jako pojedynczy adres.
W przciwieństwie do dynamicznego NAT nie oznacza to jednak
że tylko jedno połączenie jest dostepne w danym czasie.
Większa ilość połączeń jest multipleksowana przy użyciu
informacji o portach TCP i jest ograniczona tylko przez ilość
dostępnych portów.
NAT (Network Address Translation)
Zasada działania:
-
-
dokonuje się dynamiczna translacja adresu IP z sieci wewnętrznej
na pojedynczy adres NAT
port zródłowy jest zmieniany na wolny port z pewnego
skonfigurowanego zakresu, informacja o mapowaniu adresu
zródłowego i portu żródłowego do nowego adresu i portu i
zapisywana w tablicy NAT
NAT (Network Address Translation)
NAT (Network Address Translation)
Zaletą maskowania jest że potrzebny jest tylko jeden
publiczny adres IP pozwalając całej sieci prywatnej na dostęp
do Internetu. Ponadto w przeciwieństwie do gatway-i
aplikacyjnych maskowanie pozwala na używanie szerokiego
zbioru usług np. opartych nie tylko na TCP, ale również UDP.
NAT (Network Address Translation)
Translacja adresów używana jest również do tworzenia tzw. wirtualnych
serwerów w znaczeniu, że mamy jeden adres IP, który reprezntuje serwer
określonej usługi, dla którego jednak nie istnieje rezczywiste urzadzenie oraz
mamy szereg innych adresów IP, dla których istnieją takie urządzenia. Kiedy
łączymy się z wirtualnym IP, NAT dokonuje translacji na adres rzeczywitego
urządzenia. W zależności od algorytmu użytego do wyboru rzeczywistego
adresu IP, wirtualne serwery mogą służyć różnym celom.
NAT (Network Address Translation)
NAT (Network Address Translation)
Wirtualne serwery mogą być wykorzystane:
dla zapewnienia mechanizmu „load balancing”
(rozładowania obciążenia) gdy wybór rzeczywistego
urządzenia będzie odbywał się np. na podstawie stopnia
obciążenia rzeczywistych urządzeń lub np. urządzenia bedą
wybierane sekwencyjnie.
dla zapewnienia mechanizmu „fault tolerance” gdy
rzeczywiste urządzenia duplikują usługi
Download