Пересылка данных между узлами различных подсетей

Тема в разделе "WASM.NETWORKS", создана пользователем MooN, 6 апр 2007.

  1. MooN

    MooN New Member

    Публикаций:
    0
    Регистрация:
    30 мар 2007
    Сообщения:
    27
    Всем доброй ночи!

    Суть вопроса: Возможна ли пересылка данных узлами различных подсетей, т.е. между машинами не имеющими прямого доступа к internet?
     
  2. rain

    rain New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2006
    Сообщения:
    976
    конечно )
     
  3. MooN

    MooN New Member

    Публикаций:
    0
    Регистрация:
    30 мар 2007
    Сообщения:
    27
    rain

    Меня радует этот ответ. А каким образом это можно осуществить, если узлы не имею прямых адресов? Как соединиться?
     
  4. rain

    rain New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2006
    Сообщения:
    976
    а что ты понимаешь под прямым адресом? кривых адресов вроде я не встречал :)
    чёткого вопроса нет, поэтому так и ответил, а что вы собсно ожидали?
    если сети физически соединены, и правильно настроены роутеры, то у тя всё будет работать само, если же роутеры не настроены, то доступа не видать при всём желании, и можно расслабиться
    ваще гугл решает) "маршрутизация"
     
  5. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    MooN
    А что ты понимаешь под словом "Интернет" ?
     
  6. dag

    dag New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2004
    Сообщения:
    446
    Даже если остуствует маршрутизация можешь использовать курьера или посмотреть топологию и ломануть определенное оборудование для устранения этой небольшой проблемы, ну типа botов тоже никто не отменял (хотя их можно отнести в разряд курьеров или целой курьерской сети =) прокси - тоже неплохая вещь и конечно Fido (и подобные им сети) на крайняк 2 модема или прямой кабель
    P.S.
    Иногда чтобы достичь максимальной пропускной способности канала проще погрузить сотню другую винтов на тележку и передать с проводником - скорость просто бешенная получается =)))) а себестоимость стремиться к 0, правда в бесконечности
     
  7. MooN

    MooN New Member

    Публикаций:
    0
    Регистрация:
    30 мар 2007
    Сообщения:
    27
    EvilsInterrupt
    Не совсем понял вопрос. Я конечно имею в виду международную информационную сеть, которая нас объединяет.

    rain
    Просто я думаю, что клиент, который имеет выход в интернет из Ethernet сети (т.е. через определенный шлюз), не имеет прямого (определенного, статического) адреса. Получается, что все данные приходят на шлюз (т.к. именно он имеет статический IP). Каким образом данные достигнут клиента?
    Собственно вопрос, в том как с одного узла какой-то ethernet сети передать данные другому узлу совершенно другой ethernet сети, если адреса шлюзов этих сетей известны?

    узел_K - ether_L - шлюз - ... - шлюз - ether_M - узел_N

    возможно ли передать данные из узел_K в узел_N?
     
  8. rain

    rain New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2006
    Сообщения:
    976
    :-D
    если бы было не так то нам бы несуждено было встретиться здесь.
    tracert wasm.ru показует например эти самые шлюзы
    А действует это примерно так:
    у тя есть пров, его роутер делается у тебя по умолчанию при утсановке содединения, неважно vpn или это или обычный модем или вообще статическое соединение. Когда ты пробуешь соединится с кем-то win смотрит routing table (route PRINT), и ищёт подходящий интерфейс (у тя может быть несколько сетевух, или наприм одна сетевуха но несколько интефейсов (vpn, loopback..)), если таковой не найден то запрос отправляется роутеру по умолчанию, а тот таким-же макаром смотрит у себя и так вплоть до васма.
    зы ты маршрутизацию гуглил? :)
     
  9. MooN

    MooN New Member

    Публикаций:
    0
    Регистрация:
    30 мар 2007
    Сообщения:
    27
  10. MooN

    MooN New Member

    Публикаций:
    0
    Регистрация:
    30 мар 2007
    Сообщения:
    27
    rain

    Все, что ты написал, это понятно.

    Не понимаю лишь как маршрутизатор, являющийся шлюзом для сети ethernet, узлу которой пришли данные, выбирает кому их направить? Ведь в заголовке IP лежит его адрес.
     
  11. nester7

    nester7 New Member

    Публикаций:
    0
    Регистрация:
    5 дек 2003
    Сообщения:
    720
    Адрес:
    Russia
    Гугл на тему NAT.
     
  12. rain

    rain New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2006
    Сообщения:
    976
    нато он и маршрутизатор что-бы запоминать кто прислал пакет, отразать заголовки, ставить свои, отслылать ... принимать, ставить нужные заголовки и отправлять обратно.
    ЗЫ расскажи уже что тебя так гложит, ато толку от нашего общения совсем не видно?
    это немного не то
     
  13. nester7

    nester7 New Member

    Публикаций:
    0
    Регистрация:
    5 дек 2003
    Сообщения:
    720
    Адрес:
    Russia
    Да ну?
    Тогда что, по-твоему, означает
    ?
     
  14. dag

    dag New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2004
    Сообщения:
    446
    согласно таблице маршрутизации ... берется адрес назначения из пакета проганяется по таблице (по анду накладывается маска из таблицы и сравнивается с получившемся адресом из таблицы) маршрутизации и соответсвенно отправляется куда надо
     
  15. rain

    rain New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2006
    Сообщения:
    976
    nester7 пусть топикстартер определится с вопросом
     
  16. nester7

    nester7 New Member

    Публикаций:
    0
    Регистрация:
    5 дек 2003
    Сообщения:
    720
    Адрес:
    Russia
    Да он уже всё определил :)
    Чтобы машинки за шлюзами начали разговривать, на одном из шлюзов должен быть DNAT по определённому порту,
    то есть, клиент из одной сети ломится на внешний адрес шлюза на определённый порт, а тут уже (шлюз) редиректит
    всё на внутренний IP. Соответственно, в другую сторону, для инициализации соединения, должно всё быть настроено
    аналогично. Но если инициализация соединения происходит только с одной стороны, то достаточно настроить один
    из шлюзов.

    Вот неплохая дока на эту тему:
    http://www.opennet.ru/docs/RUS/iptables/#STATEMACHINE
     
  17. MooN

    MooN New Member

    Публикаций:
    0
    Регистрация:
    30 мар 2007
    Сообщения:
    27
    nester7

    Меня интересует каким образом? Как происходит это преобразование? Подскажи где можно получить информацию именно об этом преобразовании адресов.

    dag

    Я же говорю, что адресом назначения и есть адрес этого маршрутизатора. как информация попадает в конечный узел связанный с этим маршрутизатором?

    rain

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

    nester7 New Member

    Публикаций:
    0
    Регистрация:
    5 дек 2003
    Сообщения:
    720
    Адрес:
    Russia
    Я не зря тебе дал линк на таблицы трассировщика iptables :)
    Потому что все фаэры так работают: pfctl -ss под OpenBSD и FreeBSD
    покажет тебе похожие таблицы, не помню какая тулза, но для
    MS ISA она тоже выдаст похожую информацию.

    Давай попробуем разжевать. Вот ты, к примеру, в браузере
    набираешь адрес, который у тебя сейчас светится в адресной строке.
    Что происходит после Enter? Пропустим мелочи, вот суть: твой компьютер
    посылает на адрес 85.249.139.254, на 80 порт пакет.
    Что в адресе источника? Твой внутренний IP, пусть будет 192.168.33.15,
    исходящий же порт выбирается случайно (ну почти, не важно).
    Важно то, что на маршрутизатор, который смотрит в интернет, приходит
    вот такой пакет:
    192.168.33.15:65139 -> 85.249.139.254:80

    Вот тут то... Твой айпи внутренний заменяется на внешний адрес
    твоего машрутизатора, и дальше в инет уже летит вот такой пакет:

    ip_of_your_gateway:65139 -> 85.249.139.254:80

    но перед тем как его отправить, твой шлюз запоминает всю эту информацию,
    он, сцуко, знает что улетел этот пакет, он знает, что именно эта комбинация
    портов и айпи принадлежит твоему внутреннему айпи (192.168.33.15)
    и когда придёт ответный пакет, который выглядит зеркально:

    85.249.139.254:80 -> ip_of_your_gateway:65139

    он просто делает обратное преобразование. Вот и всё.




    Но что, если в твоей сети кто-то тоже пошел на васм, и его
    операционка тоже выбрала исходищим порт под номером 65139?
    А всё тоже самое, шлюз не запутается, потому что поменяв IP адреса,
    он ещё поменяет и исходящие порты, что бы можно было вас различать :)



    А теперь смотрим на таблицу трассировщика, и многое начинает проясняться,
    не так ли? :)

    linux iptables:

    tcp 6 117 SYN_SENT src=192.168.1.6 dst=192.168.1.9 sport=32775 \
    dport=22 [UNREPLIED] src=192.168.1.9 dst=192.168.1.6 sport=22 \
    dport=32775 use=2


    FreeBSD pf:
    login as: fw

    self tcp 192.168.0.2:10000 <- XX.238.99.138:10000 <- 83.167.112.1:7120 ESTABLISHED:ESTABLISHED
    self tcp 192.168.0.2:10000 <- XX.238.99.138:10000 <- 195.2.114.1:2844 TIME_WAIT:TIME_WAIT
    self tcp 192.168.0.2:10000 <- XX.238.99.138:10000 <- 91.188.128.1:64381 ESTABLISHED:ESTABLISHED
    self tcp 192.168.0.2:10000 <- XX.238.99.138:10000 <- 89.19.160.1:65503 TIME_WAIT:TIME_WAIT
    self tcp 192.168.0.2:36739 -> XX.238.99.138:58927 -> 85.29.192.1:21013 ESTABLISHED:CLOSING
    self tcp 192.168.0.2:54380 -> XX.238.99.138:63195 -> 85.29.192.1:21013 ESTABLISHED:CLOSING
     
  19. nester7

    nester7 New Member

    Публикаций:
    0
    Регистрация:
    5 дек 2003
    Сообщения:
    720
    Адрес:
    Russia
    DNAT работает аналогично. У шлюза есть правило:
    "все пакеты, приходящие на внешний адрес, на такой-то порт,
    пробрасывать внутрь сети (менять адреса и порты) на такой-то
    айпи на такой-то порт."

    вот пример из Open/FreeBSD:

    rdr on $ext_if from any to $external_addr port 8856 -> 192.168.33.15:80

    В той же MS ISA, всё выглядить так же, просто понидобится
    скриншот, что бы показать, но ломает )
     
  20. MooN

    MooN New Member

    Публикаций:
    0
    Регистрация:
    30 мар 2007
    Сообщения:
    27
    nester7

    :) Спасибо. Разжевал как надо :).


    Теперь можно и самому дальше разбираться. Еще раз всем спасибо за участие.
    Вопрос считаю закрытым.