@JustMoose
Программист. Радиолюбитель. Прокрастинатор ;)

Почему работает замена портов в NAT?

Всем привет!
В википедии прочитал, что в некоторых случаях NAT меняет в пакетах не только адреса, но и номера портов (https://ru.wikipedia.org/wiki/NAT).
И теперь я не понимаю, почему это вообще работает!
Ведь порты жестко прибиты к протоколам!
Если взять и поменять, к примеру, 80 порт на что-то ещё, то HTTP превратится во что-то ещё!
Как же оно работает?
(Может быть есть какие-то примеры? А-ля вот такие порты могут меняться на такие, а по другому низзя!)
  • Вопрос задан
  • 180 просмотров
Решения вопроса 1
15432
@15432
Системный программист ^_^
Пример:
1) комп юзера создает TCP сокет с исходящим портом 27401 и пытается подключиться к порту 80 сайта yandex.ru
2) запрос приходит NAT провайдера, он подменяет IP и порт (27401) юзера на любой свободный свой (59017), и запоминает все это на полчаса.
3) сайт отвечает с порта 80 и своего на IP/порт NAT
4) NAT преобразует IP и порт в пакете обратно на значения юзера и шлет ему пакет

Это все необходимо, если у провайдера недостаточно чтоб все пользователи получили белые IP. У нас вот весь дом на одном IP сидит.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы