19 / 19 / 5
Регистрация: 05.12.2008
Сообщений: 157
|
|
1 | |
Туннелирование сокетами, разных протоколов16.06.2012, 09:51. Показов 2391. Ответов 3
Метки нет (Все метки)
Здравствуйте многопочтенные!
Нужна ваша консультация, по реализации следующей задачи: Необходимо создать туннелирование пакетов, если конкретно, то IPv6 заголовок + Данные упаковывается в заголовок IPv4 и передается по UDP. Приемник пакета делает декапсуляцию и получает IPv6'й пакет. Задумал это сделать через сокеты, на Linux. Закопавшись в литературу и кучу мануалов до сих пор для себя не осознал решения. Думалось практически это реалезуется благодаря низкоуровневым сокетам (SOCK_RAW), где получится указывать в заголовках маркеры фрагментации и туннеля. Но мало того что про низкоуровневые сокеты очень мало материала, по SOCK_RAW для IPv6 совершенно ни чегошеньки не нашел. После того как натыкнулся в книге на текст: "Структуры адреса сокета используются только на данном узле: сама структура не передается между узлами, хотя определенные поля (например IP-адреса и порта) используются для соединения." Совершенно отчаялся и решил спросить у Вас, реально ли то что я хочу через сокеты, какие могут быть альтернативы в принципе (кроме сокетов, мало себе представляю сетевое программирование). Подскажите Литературу, ссылки, любая информация будет полезной ибо сроки как всегда жмут. Заранее большое спасибо. Добавлено через 13 часов 0 минут Товарищи! Кажется нашёл способ тунелирования через сокеты, путём сериализации. К сожалению пока что рабочего кода нет, у кого есть идеи, пожалуйста делитесь. В итоге, создается два сокета, AF_INET и AF_INET6; Сокет AF_INET6 проходит сериализацию (перевод структуры адреса и сокета в побитовую последовательность) + данные (скорей всего тоже икапсулированые). Полученый буфер естествеено маркеруется заголовками (объем данных, где заканчивается сокет, начинаются данные и т.д.), все это передается через сокет AF_INET, SOCK_DGRAM. На конечном узле переданый буфер десериализуется, по его части востонавливается struct in6_addr + данные. p.s. Пока есть клиент/сервер IPv6 и клиент/сервер IPv4, как сделаю сериализацию IPv6 и запихаю это в IPv4 - будет исходик, поделюсь = \ есть советы по приведению структуры в биты?
0
|
16.06.2012, 09:51 | |
Ответы с готовыми решениями:
3
Туннелирование, ака соксификация Туннелирование MySqlConnection ssh-туннелирование Туннелирование через SSH |
19 / 19 / 5
Регистрация: 05.12.2008
Сообщений: 157
|
|||||||||||
18.06.2012, 01:21 [ТС] | 2 | ||||||||||
Друзья есть наброски, каждую строку комментировал как осознал, пожалуйста оцените если где не так понимаю поправьте, буду рад.
С сериализацией задачка для меня пока слижком сложная, по срокам не успеваю разобраться, решил попробовать воспользоваться memcpy. В итоге столкнулся с проблемой, что структура упакованая в массив есть, она печатается со стороны клиента. Со стороны сервера этот массив должен приниматься, но судя по выводу ничего нет, пусто. Пожалуйста помогите. Клиент:
Сервер:
0
|
19 / 19 / 5
Регистрация: 05.12.2008
Сообщений: 157
|
|
18.06.2012, 19:10 [ТС] | 4 |
Спасибо, Van111. Пристально изучим.
Люди добрые посоветуйте, принцип сериализации, в интернете их много хочу Вашего совета, для передачи структуры по сети. Альтернативы методу memcpy есть? По возможности на «пальчиках» показать, было бы тогда все значительно оперативней ^_^
0
|
18.06.2012, 19:10 | |
18.06.2012, 19:10 | |
Помогаю со студенческими работами здесь
4
Реферата по теме. Электропроводность в аморфных сверхрешетках. Резонансное туннелирование и прыжковая подвижно Стек протоколов Redistribute Протоколов Стек протоколов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |