Files
SecondBrain/.trash/05 NoxPKB/wiki/Networking—NAT (one-screen).md
T
2026-04-20 22:55:39 +03:00

40 lines
3.0 KiB
Markdown

# Networking — NAT (one-screen)
**NAT (Network Address Translation)** — трансляция адресов, которая позволяет устройствам с приватными IPv4 выходить во внешний мир через публичные адреса (и экономит IPv4).
Источник: [[01 Library/04 Networking/NAT|NAT]].
## Зачем
- решает (частично) дефицит IPv4 вместе с приватными диапазонами
- скрывает внутреннюю адресацию (конфиденциальность/сегментация на границе)
Приватные IPv4 диапазоны:
- `10.0.0.0/8`
- `172.16.0.0/12`
- `192.168.0.0/16`
Обычно NAT стоит на границе **stub‑сети** (один основной маршрут наружу, сеть не транзитит чужой трафик).
## Термины адресов NAT (4 типа)
- **Inside local** — внутренний адрес хоста *внутри* (приватный)
- **Inside global** — внешний (публичный) адрес, которым этот хост “виден” снаружи
- **Outside global** — реальный адрес внешнего узла назначения
- **Outside local** — представление внешнего узла “изнутри” (часто совпадает с outside global)
Важно: “inside/outside” всегда **с точки зрения транслируемого устройства**.
## Типы NAT
1) **Static NAT** — 1:1 (внутренний ↔ внешний). Удобно для сервисов (например, публичный веб‑сервер), но требует много публичных адресов.
2) **Dynamic NAT** — many:many через пул адресов (занимаются по принципу «кто первый пришёл»).
3) **PAT (Port Address Translation)** aka **NAT Overload** — many:1 (или many:few) за счёт портов. Типично для домашних роутеров.
### PAT: ключевая идея
Маршрутизатор различает сессии по **src port** (TCP/UDP). Для протоколов без портов (например ICMP) PAT может использовать **Query ID**.
## Плюсы / минусы (коротко)
**Плюсы:** экономия IPv4, приватность, независимость внутренней схемы от провайдера.
**Минусы:** теряется end‑to‑end адресация, сложнее диагностика/трассировка, могут быть проблемы с входящими соединениями/UDP/туннелями (например IPsec), возможны задержки.
Связанные узлы: [[Networking—MOC]], [[Networking—IPv6 (one-screen)]] (когда появится).