Вниз
Скачать: CL | DM;

Как работает Nat?   Найти похожие ветки 

← →
Fin ©   (2005-08-09 11:16) [0]

Столкнулся с таким вопросом. В принципе по вопросу более менее понятно, ретранслируются запросы, больше интересует такая ситуация допустим две машины в сети посылают запрос к одному и тому же ресурсу в  интернете через nat то как nat определит кому из них вернулся ответ?
З.Ы. Есть мысль что по конкретному порту, но не уверен впервые более глубже сталкнулся с nat.


← →
Иксик ©   (2005-08-09 11:28) [1]


>  Как работает Nat?

Есть три варианта:
1. Статический: каждому внутреннему ip-адресу nat ставит в соответствие внешний и подставляет его в запрос при отправке за пределы сети, при получении ответа делает обратную подстановку. В этом случае экономии адресов не происходит, единственный смысл этого - безопасность.
2. Динамический: аналогично первому, только количество внешних и внутренних адресов неодинаково и внешние адреса выдаются из определенного пула. Таким образом можно использовать меньшее количество адресов, если все компьютеры одновременно не ринутся за пределы сети.
3. Port Address Translation: самый распространенный вариант. Используется один ip-address, только посылаются запросы с разных портов, напр. для первого компьютера с n-го порта, для второго - с n+1-ого и т.д. Так и отличает - по портам.


← →
Иксик ©   (2005-08-09 11:28) [2]

Упрощенно, но верно :)


← →
Fin ©   (2005-08-09 11:33) [3]

так понимаю  конкретно по моему вопросу 1 и 2 не подходят?


← →
Иксик ©   (2005-08-09 11:49) [4]

Почему не подходят, вполне могут подойти - в первых двух случаях у nat-сервера или у рутера (смотря как nat реализуется) будет таблица соответствия внешних адресов внутренним и когда придут ответы на разные внешние адреса nat их сопоставит разным внутренним.
Другое дело что первые два случая очень редки, в основном когда говорят о nat, имеют ввиду pat - port address translation, т.е. 3-ий случай.


← →
Alex Konshin ©   (2005-08-09 12:26) [5]

Если речь идет о TCP, то учти, что порт отправителя и порт получателя никак не связаны. Упрощенно, когда ты устанавливаешь TCP соединение на какой-то хост и, допустим, порт 80, то назначаются два порта: твой порт и порт на том конце, и оба они не будут равны 80. Поэтому различить разные соединения не составляет никакого труда.


← →
Иксик ©   (2005-08-09 13:04) [6]


> Если речь идет о TCP, то учти, что порт отправителя и порт
> получателя никак не связаны.

Иначе pat был бы невозможен.


← →
Holy ©   (2005-08-09 13:04) [7]


> Alex Konshin ©   (09.08.05 12:26) [5]
> Если речь идет о TCP, то учти, что порт отправителя и порт
> получателя никак не связаны. Упрощенно, когда ты устанавливаешь
> TCP соединение на какой-то хост и, допустим, порт 80, то
> назначаются два порта: твой порт и порт на том конце, и
> оба они не будут равны 80. Поэтому различить разные соединения
> не составляет никакого труда.


Поясните мысль. Просто или я что-то не знаю или вы что-то путаете. :(

Вообще при нате (pate) строится таблица в которой запросу из внутренней сети к внешней ставится в соответствие запрос от машины, реализующей нат, к внешнему ресурсу.
Когда приходит ответ снаружи, то по этой таблице определяется кому его отправить во внутренней сети.


← →
Alex Konshin ©   (2005-08-09 13:09) [8]

Я не про NAT, а вообще про TCP соединение.
NAT же просто организует два соединения в обе стороны: к серверу и к клиенту. Я просто разъяснил, почему не бывает путаницы.


← →
Иксик ©   (2005-08-09 13:24) [9]


> Alex Konshin ©   (09.08.05 13:09) [8]


> Я просто разъяснил, почему не бывает путаницы.

И правильно, про этот момент с разными портами не сразу понятно бывает.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.025 c
14-1123924715
PZ
2005-08-13 13:18
2005.09.04
Что бы это значило ?


5-1097147033
far
2004-10-07 15:03
2005.09.04
Потеря ссылки на компонент


14-1123534105
GanibalLector
2005-08-09 00:48
2005.09.04
Наш человек ;) Я рыдалЪ


5-1097327118
Navi
2004-10-09 17:05
2005.09.04
Коллекции


14-1123924242
PZ
2005-08-13 13:10
2005.09.04
Чтобы это значило ?




   Наверх