NAT

Сервер слушает один порт входящий. Ограничения по соединениям, которые сервер может установить, упирается в память для файловых дескрипторов и таблицы состояний TCP-соединениий.

Клиент каждое соединение keep-alive устанавливает за счет нового порта. Следовательно, количество соединений для клиента ограничены количеством портов.

Преодолеть эти ограничения можно с помощью NAT:

  • За счет заведения кучи IP адресов и маппинг их в локальные адреса (тогда суммарно получается соединений — 65535 портов * кол-во адресов на NAT).

  • За счет технологии PAT — Port Address Translation — на NAT создают таблицу соответствия внешнего IP/Port NAT'a и внутренних адресов и портов. В этом случае каждый клиент внутри сети может выходить через один хост/порт с другим клиентом. И это все умножается на количество таких интерфейсов на NAT

В целом для NAT ограничение только в размерах таблицы внутренней

Для железок энтерпрайзных держать 0.25 — 0.5 млн соединений уже очень тяжело без просадки скорости.

Тут спасает защита от DDoS

Last updated