Prywatne adresy internetowe
Do komunikacji w Internecie trzeba używać adresów, które zostały przydzielone przez urząd Internet Assigned Numbers Authority (IANA). Adresy przydzielone przez urząd IANA mogą odbierać dane z lokalizacji w Internecie i są nazywane adresami publicznymi. Typowa mała firma lub biuro domowe ma adres publiczny (lub adresy publiczne) przydzielony przez usługodawcę internetowego (ISP, Internet Service Provider), który otrzymał zakres adresów publicznych.
Aby umożliwić wielu komputerom w małym biurze lub biurze domowym komunikowanie się w Internecie, każdy komputer musi mieć swój własny adres publiczny. Jest to bardzo wymagający warunek, jeśli chodzi o dostępną pulę adresów publicznych.
Aby go złagodzić, urząd IANA zaoferował schemat ponownego wykorzystywania adresów przez zarezerwowanie identyfikatorów sieci dla prywatnych intersieci. Do prywatnych identyfikatorów sieci należą:
10.0.0.0 z maską podsieci 255.0.0.0
172.16.0.0 z maską podsieci 255.240.0.0
192.168.0.0 z maską podsieci 255.255.0.0
Więcej informacji o częściach obszaru adresów IP zarezerwowanych dla prywatnych intranetów można znaleźć w specyfikacji RFC 1918, „Address Allocation for Private Internets”. Wszystkie adresy z tych zakresów są nazywane adresami prywatnymi.
Adresy prywatne nie mogą odbierać danych z lokalizacji w Internecie. Dlatego, jeśli intranet korzysta z adresów prywatnych i komunikuje się z lokalizacjami internetowymi, adres prywatny musi zostać przetłumaczony na adres publiczny. Translator adresów sieciowych jest umieszczany między intranetem, który korzysta z adresów prywatnych, a Internetem, który korzysta z adresów publicznych. Pakiety wychodzące z intranetu mają adresy prywatne przetłumaczone przez translatora adresów sieciowych na adresy publiczne. Pakiety przychodzące z Internetu mają adresy publiczne przetłumaczone przez translatora NAT na adresy prywatne. Więcej informacji można znaleźć w temacie Przykład translatora adresów sieciowych.
Przykład translatora adresów sieciowych
Jeśli mała firma używa dla swojego intranetu identyfikatora sieci 192.168.0.0, a usługodawca internetowy (ISP, Internet Service Provider) przydzielił jej adres publiczny w1.x1.y1.z1, translator adresów sieciowych (NAT, Network Address Translation) mapuje wszystkie adresy prywatne w sieci 192.168.0.0 na adres IP w1.x1.y1.z1. Jeśli wiele adresów prywatnych jest mapowanych na pojedynczy adres publiczny, translator NAT używa dynamicznie wybieranych portów TCP i UDP, aby odróżnić jedną lokalizację intranetową od innej.
Uwaga
Użycie adresów w1.x1.y1.z1 i w2.x2.y2.z2 ma na celu zaprezentowanie prawidłowych publicznych adresów IP przydzielanych przez urząd Internet Assigned Numbers Authority (IANA) lub usługodawcę internetowego.
Na poniższej ilustracji pokazano przykład użycia translatora NAT do „przezroczystego” połączenia intranetu z Internetem.
Jeśli użytkownik prywatny o adresie 192.168.0.10 używa przeglądarki sieci Web, aby połączyć się z serwerem sieci Web o adresie w2.x2.y2.z2, komputer tego użytkownika tworzy pakiet IP z następującymi informacjami:
Docelowy adres IP: w2.x2.y2.z2
Źródłowy adres IP: 192.168.0.10
Port docelowy: Port TCP 80
Port źródłowy: Port TCP 5000
Ten pakiet IP jest następnie przekazywany do protokołu NAT, który tłumaczy adresy pakietu wychodzącego w sposób następujący:
Docelowy adres IP: w2.x2.y2.z2
Źródłowy adres IP: w1.x1.y1.z1
Port docelowy: Port TCP 80
Port źródłowy: Port TCP 1025
Protokół NAT zachowuje mapowanie {192.168.0.10, TCP 1025} na {w1.x1.y1.z1, TCP 5000} w tabeli.
Przetłumaczony pakiet IP jest przesyłany przez Internet. Odpowiedź jest odsyłana i odbierana przez protokół NAT. Po odebraniu pakiet zawiera następujące informacje o adresach publicznych:
Docelowy adres IP: w1.x1.y1.z1
Źródłowy adres IP: w2.x2.y2.z2
Port docelowy: Port TCP 1025
Port źródłowy: Port TCP 80
Protokół NAT sprawdza swoją tabelę translacji i mapuje adresy publiczne na adresy prywatne, a następnie przekazuje pakiet na komputer o adresie 192.168.0.10. Przekazywany pakiet zawiera następujące informacje adresowe:
Docelowy adres IP: 192.168.0.10
Źródłowy adres IP: w2.x2.y2.z2
Port docelowy: Port TCP 5000
Port źródłowy: Port TCP 80
Dla pakietów wychodzących z protokołu NAT, źródłowy adres IP (adres prywatny) jest mapowany na adres przydzielony przez usługodawcę internetowego (adres publiczny), a numery portów TCP/UDP są mapowane na inne numery portów TCP/UDP.
Dla pakietów przychodzących do protokołu NAT, docelowy adres IP (adres publiczny) jest mapowany na oryginalny adres intranetowy (adres prywatny), a numery portów TCP/UDP są mapowane z powrotem na oryginalne numery portów TCP/UDP.
Uwaga
Pakiety zawierające adres IP wyłącznie w nagłówku IP są poprawnie tłumaczone przez translatora NAT. Pakiety zawierające adres IP w ładunku IP mogą nie być poprawnie tłumaczone przez translatora NAT.