Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > C/C++ Сетевое программирование
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 02.07.2015, 08:09   #1
NikitaBlack
Пользователь
 
Аватар для NikitaBlack
 
Регистрация: 16.03.2014
Сообщений: 10
Репутация: 10
Лампочка Реализация tcp/ip

Всем привет!
Кто знаком с сетевым программированием - нужна помощь. В общем занимаюсь разработкой собственной реализацией протокола tcp/ip. Есть качественная модель на udp. пришло время воплотить в жизнь. Как и где я могу реализовать данную задумку? Например в стеке протоколов у Linux есть различные реализации, например, tcp-vegas, tcp-tahoe и т.д. как я могу внедрить свою? Про windows вообще ничего не накопал. Если заниматься написанием драйвера для сетевой что нибудь даст(и на сколько это реально)?
Нужна любая помощь, не знаю с какой стороны подойти. Ссылки приветствуются. Если где то неправильно выразился прошу поправить ))) Заранее спасибо!
NikitaBlack вне форума   Ответить с цитированием
Старый 02.07.2015, 09:27   #2
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 12,269
Репутация: 2054

icq: 216409213
По умолчанию

Цитата:
Есть качественная модель на udp. пришло время воплотить в жизнь.
Что за язык удп? Или это программа моделирования сетевых стеков? Или вы просто взяли и на бумажке пакеты удп нарисовали?

Цитата:
Как и где я могу реализовать данную задумку?
Ну напишите собственную программу, которая его использует. Сырые сокеты в линуксе еще доступны.

Цитата:
Например в стеке протоколов у Linux есть различные реализации, например, tcp-vegas, tcp-tahoe и т.д. как я могу внедрить свою?
У вас же удп, зачем вам тсп? Если вы ни разу не ковыряли ядро линукса не стоит лезть туда. Пишите юзерспейс прогу.

Цитата:
Если заниматься написанием драйвера для сетевой что нибудь даст(и на сколько это реально)?
А драйвер тут причем? Это иной уровень сетевой модели. Или вы и про нее ничего не слышали?
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x на форуме   Ответить с цитированием
Старый 02.07.2015, 19:29   #3
NikitaBlack
Пользователь
 
Аватар для NikitaBlack
 
Регистрация: 16.03.2014
Сообщений: 10
Репутация: 10
По умолчанию

Udp транспортный протокол, я имел ввиду реализовал динамическое изменение параметра => частично реализовал tcp. Но до него как понимаете далеко т.к. по спецификации повторять его замучаешься.
Сырые сокеты опять к этому приводят.
А вот перекомпилировать ядро Linux с модификацией это идея. Можно литературу в студию? (или ссылки где копать)
По поводу драйвера это уже физический уровень наверное. Да, думаю не подходит.
NikitaBlack вне форума   Ответить с цитированием
Старый 02.07.2015, 20:31   #4
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 12,269
Репутация: 2054

icq: 216409213
По умолчанию

Цитата:
Сырые сокеты опять к этому приводят.
А вот перекомпилировать ядро Linux с модификацией это идея. Можно литературу в студию? (или ссылки где копать)
Вы это серьезно? Написать юзерспейс прогу это проблема, а написать модуль ядра и пересобрать его это тьфу... К чему приводят сырые сокеты? Спускаетесь до уровня айпи и повторяете ваши телодвижения с удп на бумажке.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x на форуме   Ответить с цитированием
Старый 02.07.2015, 20:52   #5
NikitaBlack
Пользователь
 
Аватар для NikitaBlack
 
Регистрация: 16.03.2014
Сообщений: 10
Репутация: 10
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Спускаетесь до уровня айпи и повторяете ваши телодвижения с удп на бумажке.
Во-первых, не на бумажке, а на клиент серверном приложении.
Во-вторых, сырой сокет не позволит мне изменить алгоритм передачи данных со всеми потерями и повторными передачами, а также изменение окна.
А вот вариант с модификацией ядра мне понравился. Мне нужно изменить один файл с конкретной реализацией и скомпилировать все остальное без изменений. Поэтому я и ищу помощь где что и как.

P.S. Хватит издевок, каждый силен в своей области. Я лишь хочу получить помощь.
NikitaBlack вне форума   Ответить с цитированием
Старый 02.07.2015, 21:05   #6
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 12,269
Репутация: 2054

icq: 216409213
По умолчанию

Цитата:
Во-первых, не на бумажке, а на клиент серверном приложении.
Ну тогда у вас все работает... Чего вы еще хотите?

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

Цитата:
А вот вариант с модификацией ядра мне понравился.
А там другие сокеты что ли?

Цитата:
Мне нужно изменить один файл с конкретной реализацией и скомпилировать все остальное без изменений.
Один файл изменить для нового протокола? Там на айпи4 целая папка как бы.

Цитата:
Поэтому я и ищу помощь где что и как.
Вы о чем? Если вам надо изменить один файл - так вперед, берете редактор и меняете... Проблема в чем? Как собрать ядро?

Цитата:
Хватит издевок, каждый силен в своей области. Я лишь хочу получить помощь.
Где вы видели издевки? Я вам говорю конкретные вещи и факты, а вы похожи на скрипткидди, который нашел эксплоит, а что за ним стоит, да и язык программирования не понял...
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x на форуме   Ответить с цитированием
Старый 02.07.2015, 21:06   #7
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,957
Репутация: 6832
По умолчанию

А можно узнать, для чего именно это понадобилось?
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Старый 02.07.2015, 21:18   #8
NikitaBlack
Пользователь
 
Аватар для NikitaBlack
 
Регистрация: 16.03.2014
Сообщений: 10
Репутация: 10
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А можно узнать, для чего именно это понадобилось?
Динамическое изменение window на стороне отправителя + добавление избыточности + шифрование.
Теперь хочу посерьезней заделать например собственная сборка (реализация) протокола в Linux
NikitaBlack вне форума   Ответить с цитированием
Старый 02.07.2015, 21:27   #9
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 12,269
Репутация: 2054

icq: 216409213
По умолчанию

Цитата:
Динамическое изменение window на стороне отправителя
mtu, qos, qts и прочие страшные слова...

Цитата:
добавление избыточности
Рид-Маллер, Соломон,... или опять просто тот же crc?

Цитата:
шифрование
Не уровень tcp/ip это. Просто ни его дело.

Цитата:
Теперь хочу посерьезней заделать например собственная сборка (реализация) протокола в Linux
Ну у вас, по вашим же словам, уже есть клиент-сервер на вашем протоколе... что дальше то?
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x на форуме   Ответить с цитированием
Старый 02.07.2015, 21:31   #10
NikitaBlack
Пользователь
 
Аватар для NikitaBlack
 
Регистрация: 16.03.2014
Сообщений: 10
Репутация: 10
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение

А там другие сокеты что ли?


Один файл изменить для нового протокола? Там на айпи4 целая папка как бы.


Вы о чем? Если вам надо изменить один файл - так вперед, берете редактор и меняете... Проблема в чем? Как собрать ядро?
Дело не в сокетах. Какие бы я сокеты не использовал, я не смогу изменить алгоритм tcp его спицификацию. Да, все что Вы сказали выше позволит мне изменять пакет по своему усмотрению. Но меня интересует сама алгоритмика tcp. Которую я реализовал с помощью UDP так как он не обеспечивает гарантированную доставку данных я сам реализовал данную логику.
Теперь меня интересует изменение алгоритма передачи данных на конкрестной реализации в ОС(как мы выяснили это Linux) или внедрение, я не знаю.
Ipv4 целая папка. Ок. Буду признателен если подскажите в каких файлах нужно копаться.
Как собрать ядро. Киньте ссылку или что нибудь из своего опыта. Буду изучать

P.S. Как бы глупо это не звучало, но я занимаюсь этим уже более года и наигрался с сокетами от и до. Поверьте это не то что мне нужно.

Цитата:
Сообщение от p51x Посмотреть сообщение

Ну у вас, по вашим же словам, уже есть клиент-сервер на вашем протоколе... что дальше то?
А дальше то что это работает только через мои приложения. Например хочешь отправить файл, ок, только через мой клиент и сервер. Теперь меня интересует чтобы этим занималось ОС, а пользователь просто серфил в интернете или передавал данные с любого приложения. Просто использовал мою реализацию tcp, которых повторюсь в Linux около 6 шт.

Последний раз редактировалось Stilet; 02.07.2015 в 22:34.
NikitaBlack вне форума   Ответить с цитированием
Ответ

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реализация TCP+SSL клиент-сервера через Synapse 3D Hunter Работа с сетью в Delphi 19 06.09.2013 08:08
как создать TCP клиент, TCP сервер ? DreamMaster911 C/C++ Сетевое программирование 1 26.10.2010 15:05
tcp Cpluser Общие вопросы .NET 1 19.02.2010 21:43
TCP/IP Syltan Свободное общение 14 11.10.2009 19:18
"2540:TCP"= 2540:TCP:oeiuq AlexSh Безопасность, Шифрование 0 06.07.2009 10:28


23:19.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru