Jak mogę oszacować liczbę możliwych mapowań dla routera NAT ..?

0

Jeśli dobrze zrozumiałem, urządzenie wykonujące NAT nie może zrobić więcej niż:

Całkowita liczba mapowań = (liczba wychodzących internetowych adresów IP)   x (liczba portów)

Czy to jest poprawne..?

Kent Pawar
źródło

Odpowiedzi:

3

To prawda, teoretycznie bądź świadomy kilku komplikacji:

  • Większość rozwiązań NAT (zakładając, że mówisz o SNAT / masquerading) użyje tylko jednego adresu na interfejs, więc „liczba wychodzących adresów IP” będzie w większości przypadków ograniczona do 1.
  • Nie będzie też korzystać z pełnego zakresu 65 536 możliwych portów.
  • Niektóre odwzorowania będą dłuższe niż można by się spodziewać, zwłaszcza jeśli strumień doświadcza niewiarygodnych nóg sieciowych.
  • Jesteś ograniczony wielkością tabeli mapowania. Podczas gdy oprogramowanie NAT może wykorzystywać tyle pamięci RAM, ile chce przechowywać ten stół, urządzenia sprzętowe mogą mieć ograniczony rozmiar tabeli (być może zaledwie 2 ^ 10 wpisów dla tanich urządzeń docelowych dla konsumentów) i oczywiście rozwiązanie programowe z dostępem do GB pamięci RAM może nadal ograniczać liczbę aktywnych mapowań ze względu na wydajność.
David Spillett
źródło
Dzięki @DavidSpillett. Ale nie zrozumiałem, w jaki sposób programowe rozwiązanie NAT jest ograniczone przestrzenią dostępną w pamięci RAM do przechowywania tabeli NAT, a nie użyteczną liczbą portów urządzenia wykonującego NAT ..?
Kent Pawar
1
Jeśli oprogramowanie NAT ma limit, najprawdopodobniej wynika to z czasu procesora wymaganego do zarządzania dużą strukturą, która widzi wiele zmian w krótkich odstępach czasu, a nie z powodu ograniczeń przestrzeni pamięci.
David Spillett
Ok .. Ale nawet jeśli dostarczyłby wystarczającą ilość CPU / RAM, czy programowy NAT byłby w stanie stworzyć więcej niż 65K + IP: mapowania portów ..?
Kent Pawar
1
To zależy - teoretycznie tak, ale musisz skorzystać z dokumentacji oprogramowania, którego używasz. Podejrzewam, że większość będzie ograniczona do zakresu kilku 000 portów (lub kilku 0,000) na domyślnym adresie interfejsu wychodzącego. Będą na tyle jasne, by użyć wielu adresów przypisanych do interfejsu wychodzącego, aby pomnożyć liczbę dostępnych portów (a więc liczbę aktywnych mapowanych połączeń) - zakładam dowolną implementację (oprogramowanie lub sprzęt) określaną jako „nośnik klasa ”jest w stanie to zrobić.
David Spillett