The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Коннект с двух хостов к серверу и NAT"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Коннект с двух хостов к серверу и NAT"
Сообщение от antons emailИскать по авторуВ закладки(ok) on 20-Окт-04, 09:15  (MSK)
Пусть есть клиентские приложения, запускаемые с хостов в сети с частными адресами, коннект идет к серверу в Internet, при этом происходит преобразование частных адресов клиентов в один внешний, пусть при этом у клиентов совпали номера портов.

Вопрос: как сервер поймет who is who?
Ясно что все это работает, но как?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Коннект с двух хостов к серверу и NAT"
Сообщение от _dem emailИскать по авторуВ закладки on 20-Окт-04, 09:24  (MSK)
>Пусть есть клиентские приложения, запускаемые с хостов в сети с частными адресами,
>коннект идет к серверу в Internet, при этом происходит преобразование частных
>адресов клиентов в один внешний, пусть при этом у клиентов совпали
>номера портов.
>
>Вопрос: как сервер поймет who is who?
>Ясно что все это работает, но как?

по хендлу соединения - когда ты создаешь соединение в tcp.ip - у тебя создается "канал", софт работает не по связке ип+порт, а по хендлу соединения

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Коннект с двух хостов к серверу и NAT"
Сообщение от antons emailИскать по авторуВ закладки(ok) on 20-Окт-04, 14:09  (MSK)
>по хендлу соединения - когда ты создаешь соединение в tcp.ip - у
>тебя создается "канал", софт работает не по связке ип+порт, а по
>хендлу соединения

Ну ладно, тогда возникает другой вопрос: как ядро поймет какой из хендлов соединения ему нужно использовать когда на интерфейс приходят 2 пакета от разных хостом а фактически в качестве IP:PORT источника одно и то же?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Коннект с двух хостов к серверу и NAT"
Сообщение от Xela emailИскать по авторуВ закладки(ok) on 20-Окт-04, 09:55  (MSK)
>коннект идет к серверу в Internet, при этом происходит преобразование частных
>адресов клиентов в один внешний, пусть при этом у клиентов совпали
>номера портов.

NAT в этом случае делает маппинг портов. Т.е. за натирующую машину в этом случае никогда не выйдет два разных соедниения с одним source портом.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Коннект с двух хостов к серверу и NAT"
Сообщение от antons emailИскать по авторуВ закладки(ok) on 20-Окт-04, 14:13  (MSK)
>NAT в этом случае делает маппинг портов. Т.е. за натирующую машину в
>этом случае никогда не выйдет два разных соедниения с одним source
>портом.

То есть все таки соединение однозначно идентифицируется уникалной парой IP:PORT источника и IP:PORT получателя (как собственно я и думал) и NAT собственно и прдерживается такой политики, а что будем делать когда порты исчерпаются?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "Коннект с двух хостов к серверу и NAT"
Сообщение от Xela emailИскать по авторуВ закладки(ok) on 20-Окт-04, 14:19  (MSK)
>прдерживается такой политики, а что будем делать когда порты исчерпаются?

сосать лапу. Или получать еще один внешний адрес. Или пул адресов, на каждом адресе из которого так же производить ремаппинг портов.

Советую по этому поводу почитать документацию на пакетные фильтры, там все довольно четко изложено. Снимает массу впросов.


  Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "Коннект с двух хостов к серверу и NAT"
Сообщение от antons emailИскать по авторуВ закладки(ok) on 20-Окт-04, 14:24  (MSK)
>сосать лапу. Или получать еще один внешний адрес. Или пул адресов, на
>каждом адресе из которого так же производить ремаппинг портов.
>
>Советую по этому поводу почитать документацию на пакетные фильтры, там все довольно
>четко изложено. Снимает массу впросов.

Видимо я упустил тот момент, что NAT отмепит еще и порт в другой, тогда все становится прозрачным, вопрос с исчерпанием уже был риторическим и явно излишним :-)

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

  Рекомендовать в FAQ | Cообщить модератору | Наверх

13. "Коннект с двух хостов к серверу и NAT"
Сообщение от Xela emailИскать по авторуВ закладки(ok) on 20-Окт-04, 14:41  (MSK)
>будь добр, что ты по этому поводу скажешь?

Ничего не могу сказать, так как даже представить себе такой ситуации не могу. Но если вдаваться в тонокости протокола TCP/IP, то еще не маловажную роль играет пордяковый номер пакета(ISN кажается) и окно этих номеров.
Если текущий пакет имеет номер отличный от более чем на -1, то какой пакет будет отвергнут. Но это так. Поверхностно. За более точными формулировками отсылаю к http://www.zeiss.net.ru/docs/technol/tcpip/tcp00.htm


  Рекомендовать в FAQ | Cообщить модератору | Наверх

14. "Коннект с двух хостов к серверу и NAT"
Сообщение от antons emailИскать по авторуВ закладки(ok) on 20-Окт-04, 15:19  (MSK)
>Ничего не могу сказать, так как даже представить себе такой ситуации не
>могу. Но если вдаваться в тонокости протокола TCP/IP, то еще не
>маловажную роль играет пордяковый номер пакета(ISN кажается) и окно этих номеров.
>
>Если текущий пакет имеет номер отличный от более чем на -1, то
>какой пакет будет отвергнут. Но это так. Поверхностно. За более точными
>формулировками отсылаю к http://www.zeiss.net.ru/docs/technol/tcpip/tcp00.htm

Да, порядковые номера учитываются, но это, на сколько я понимю, косается лишь TCP, а что если в качестве сервера выступает DNS сервер и на 53-ий порт идет запрос по UDP?

А вообще, по моему этой проблемы нет, выдуманная она, ибо:

The source port number is also changed to indicate the table entry applying to the packet. (выдержка из man natd).

Мне этот вопрос на собеседовании задан был, я стушевался, ответ был мне дан довольно пространный (видимо тот кто спрашивал сам толком не знал его), сказали что данная проблема решается в самом протоколе (что имелось в виду???), это так, предыстория, в общем чистой воды провокация а не реальная проблема...

  Рекомендовать в FAQ | Cообщить модератору | Наверх

15. "Коннект с двух хостов к серверу и NAT"
Сообщение от Xela emailИскать по авторуВ закладки(ok) on 20-Окт-04, 15:30  (MSK)
> это так, предыстория, в общем чистой воды провокация а
>не реальная проблема...

Рад что все разрешилось.


  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Коннект с двух хостов к серверу и NAT"
Сообщение от Loky emailИскать по авторуВ закладки on 20-Окт-04, 10:57  (MSK)
>Пусть есть клиентские приложения, запускаемые с хостов в сети с частными адресами,
>коннект идет к серверу в Internet, при этом происходит преобразование частных
>адресов клиентов в один внешний, пусть при этом у клиентов совпали
>номера портов.
>
>Вопрос: как сервер поймет who is who?
>Ясно что все это работает, но как?

Мусье, Вы тему предложили на двухчасовую лекцию. Аналогия - вызвать скорую помощь и попросить врачей рассказать про то как происходит сворачивание крови или воспаление слепой кишки.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Коннект с двух хостов к серверу и NAT"
Сообщение от antons emailИскать по авторуВ закладки(ok) on 20-Окт-04, 14:00  (MSK)
>Мусье, Вы тему предложили на двухчасовую лекцию. Аналогия - вызвать скорую помощь
>и попросить врачей рассказать про то как происходит сворачивание крови или
>воспаление слепой кишки.

Приношу свои извенения, что затронул тему о которой сложно рассказать. Но может тогда подскажещь какой из двух коротких ответов ближе к истине?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Коннект с двух хостов к серверу и NAT"
Сообщение от kir Искать по авторуВ закладки(??) on 20-Окт-04, 14:08  (MSK)
>>Мусье, Вы тему предложили на двухчасовую лекцию. Аналогия - вызвать скорую помощь
>>и попросить врачей рассказать про то как происходит сворачивание крови или
>>воспаление слепой кишки.
>
>Приношу свои извенения, что затронул тему о которой сложно рассказать. Но может
>тогда подскажещь какой из двух коротких ответов ближе к истине?


в каждой OS это делаеться по разному
сформулируйте правильно вопрос:-)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Коннект с двух хостов к серверу и NAT"
Сообщение от antons emailИскать по авторуВ закладки(ok) on 20-Окт-04, 14:10  (MSK)
>в каждой OS это делаеться по разному
>сформулируйте правильно вопрос:-)

Ну пусть это будет FreeBSD, если так станет легче ответить.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "Коннект с двух хостов к серверу и NAT"
Сообщение от Loky emailИскать по авторуВ закладки on 20-Окт-04, 14:27  (MSK)
>>в каждой OS это делаеться по разному
>>сформулируйте правильно вопрос:-)
>
>Ну пусть это будет FreeBSD, если так станет легче ответить.

Уважаемый, Антон.
Могу порекомендовать почитать что-нить про стек протокола TCP/IP и маршрутизацию. Статей много, из них есть толковые. Про функционирования natd мне нечего добавить к вышесказанному.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

12. "Коннект с двух хостов к серверу и NAT"
Сообщение от antons emailИскать по авторуВ закладки(ok) on 20-Окт-04, 14:40  (MSK)
>Уважаемый, Антон.
>Могу порекомендовать почитать что-нить про стек протокола TCP/IP и маршрутизацию. Статей много,
>из них есть толковые. Про функционирования natd мне нечего добавить к
>вышесказанному.

Вот с этого (что все уже сказано про natd) и нужно было начинать, ответ уже был, и весьма простой и абсолютно понятный и без всяких лекций, ибо что-нить про стек протокола TCP/IP и маршрутизацию я прочитал много статей, но как выяснилось, кое-что пропустил читая о natd. Если есть еще что добавить к выше сказанному, с превиликим удовольствием выслушаю, ну а если нет будем считать что такой проблемы просто не существует, NAT перемепит порт на не используемый и уникальность пары IP:PORT источника и IP:PORT получателя сохранится, в случае невозможности данного действа, мы получим простой ОБЛОМ.

OK?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

16. "Коннект с двух хостов к серверу и NAT"
Сообщение от Loky emailИскать по авторуВ закладки on 20-Окт-04, 16:20  (MSK)
>Вот с этого (что все уже сказано про natd) и нужно было
>начинать, ответ уже был, и весьма простой и абсолютно понятный и
>без всяких лекций, ибо что-нить про стек протокола TCP/IP и маршрутизацию
>я прочитал много статей, но как выяснилось, кое-что пропустил читая о
>natd. Если есть еще что добавить к выше сказанному, с превиликим
>удовольствием выслушаю, ну а если нет будем считать что такой проблемы
>просто не существует, NAT перемепит порт на не используемый и уникальность
>пары IP:PORT источника и IP:PORT получателя сохранится, в случае невозможности данного
>действа, мы получим простой ОБЛОМ.
>
>OK?

"Рад, что у вас все хорошо кончилось!" (с) Почтальон Печкин

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру