Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > NAT


Автор: ZAVS 9.8.2005, 14:59
привет

у меня есть вопрос связанный с NAT который работает в режиме "Перекрывания глобальных адресов"

так вот представте, что в локальной сети есть 2 комп-а с локальными ip адресами

A-1.1.1.1; B-1.1.1.2

a внешний ip адрес маршрутизатора

R-6.2.3.4

в интернете есть комп. с реальным ip адресом

C-6.5.4.7

когда программа работающая под tcp портом 1234 на компе. А хочет связаться с программой работающей под Tcp портом 4321 на компе С, то она делает это при помощи роутера R. В роутере создается Nat таблица и он заменят локальный адрес А на свой внешний адрес.
Насколько я знаю это таблица выглядит так.
-----------------------------------------------------------------
| TCP | 1.1.1.1:1234 | 6.2.3.4:1234 | 6.5.4.7:4321 |
|----------------------------------------------------------------

когда анологичная программа хочет связаться с той же порограммой на компе С, то в NAT таблице добавляется еще одна строка

-----------------------------------------------------------------
| TCP | 1.1.1.1:1234 | 6.2.3.4:1234 | 6.5.4.7:4321 |
|----------------------------------------------------------------
| TCP | 1.1.1.2:1234 | 6.2.3.4:1234 | 6.5.4.7:4321 |
|----------------------------------------------------------------



когда комп С. захочет связаться с компом. А то он будет использовать ip адрес получателя 6.2.3.4 и TCP порт 1234

Вопрос

как роутер R узнает кому перенаправить запрос компу А или компу В ?????????????????????



Автор: TarasCo 10.8.2005, 14:14
Таблица должна выглядеть так:
-----------------------------------------------------------------
| TCP | 1.1.1.1:1234 | 6.2.3.4:10001 | 6.5.4.7:4321 |
|----------------------------------------------------------------
| TCP | 1.1.1.2:1234 | 6.2.3.4:10002 | 6.5.4.7:4321 |
|----------------------------------------------------------------

Когда приходит ответ от сервера, NAT по номеру порта на интерфейсе, торчащим в Inet, поймет, какой машине в местной сетке его переправить



Автор: ZAVS 11.8.2005, 08:17
спасибо
smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)