Re[2]: Пересылка UDP пакета из одной сети в другую
От: AlexGin Беларусь  
Дата: 18.09.20 15:07
Оценка:
Здравствуйте, netch80, Вы писали:
...
AG>>Вопрос:
AG>>Как (на уровне UDP-сокетов) через этот самый шлюз транслировать UDP пакеты — от 192.168.1.1 к 192.168.2.1 и обратно?

N>Эээ

N>я не понял — этот "шлюз" он таки предназначен раутить пакеты сквозь себя или нет?

Да, именно так.

N>Если да — то вообще никакой особой заботы не нужно — IP стек всё сделает, просто 192.168.1.1 отправляет пакет на 192.168.2.1, и наоборот.


Сети не доступны таким образом (простой route здесь не пройдет).

N>Если нет — то какая-то программа должна принимать на 192.168.1.7 датаграммки и передавать на 192.168.2.1, и в обратную сторону. Но зачем? (Ниже — с этим вариантом)


Именно нет. Затем — что иниче (ИМХО) как решить данную проблему, если речь идет о разных сетях?
Кроме всего прочего, иногда потребуется переключить эту схему (при случае, если вторая сеть станет уже не 192.168.2.XX а, например, 192.168.22.XX).

AG>>Желательно — с привязкой к POSIX реализации.


N>Вам как — в одну нитку или в две? (два процесса?)

N>если можно две — тогда каждая из них делает socket(), bind(), и вечный цикл из recv() и sendto(). Отличаются только адреса.

Да, это понятно, в смысле что это традиционная работа с UDP сокетом.

N>Если одну — то, например, писать на движке событий поверх libuv, ASIO и десятков других аналогов.


Спасибо, покопаю в этом направлении!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.