-
- как раз недавно реализовывал koyodza(495 знак., 18.06.2012 21:00)
- Значит так :-) Я еще только собираюсь реализовывать Modbus TCP по спецификации, тестировать планировал Simply Modbus TCP 1.3.6 по таймаютам и FIN RST картина вот какая. Сейчас у меня работает Telnet и только 1 сессия, ибо мало ресурсов чтоб OlegPowerC(496 знак., 19.06.2012 12:06)
- Красивого решения по восстановлению в таком раскладе не вижу. ASDFS(210 знак., 19.06.2012 14:58)
- Тоесть, любое новое соединение убьет старое? и это по вашему нормальное явление - OlegPowerC(19.06.2012 15:10)
- если у Вас поддерживается только один сокет, то по-другому не получится. При многосокетовой реализации можно устанавливать соединение сразу с несколькими клиентами - koyodza(19.06.2012 16:35)
- Я могу и больше сделать. Но в целом, в спецификации на Modbus уже нашел ответ. Там сказано что если поддерживается один сокет, то клиент в случае сбоя (перезагрузки и.т.д) должен инициировать связь с новым портом Source - а сервер, должен закрыть OlegPowerC(128 знак., 19.06.2012 16:55)
- Собственно как я и сказал. А что вы подразумеваете под безопасностью? - ASDFS(19.06.2012 17:01)
- Я подразумеваю, как минимум, если это прибор в какойто промышленной сети, чтоб пакет с какого нибудь другого компа, попавший на порт 502, и воспринятый как Modbus (а в Modbus TCP CRC не вычисляется) не инициировал например падение бетонной плиты OlegPowerC(19 знак., 19.06.2012 17:06)
- Для этого SSL и придумали. ASDFS(323 знак., 19.06.2012 17:35)
- Я не ставлю, CRC гарантирует (относительно) целостность пакета, тоесть при битовой ошибке не будет катастрофы. А причем тут SSL? Modbus не как туда не запихнуть. А вы путаете авторизацию с безопасным соединением. Авторизация лишь часть безопасного OlegPowerC(612 знак., 19.06.2012 17:46)
- Вы не правы. ASDFS(864 знак., 19.06.2012 17:58)
- SSL - согласен, гарантирует ибо шифрует трафик - но SSL это Application layer протокол, и я сомневаюсь в его поддержке со стороны ModBus клиентского софта, тогда уж IPSec - он хоть на IP уровне работает. Но там тогда нужно еще и ISAKMP и например OlegPowerC(93 знак., 19.06.2012 18:10)
- Эти layer только путают всех. SSL работает на уровне TCP сокета и для любого ТСП приложения (включая МодбасTCP или например ХТТП) сокет с тсп или тсп+ССЛ практически одинаков. Другой вопрос что это нестандартизовано поэтому найти тестовую прогу с ASDFS(94 знак., 19.06.2012 18:17)
- IPsec - стандартно, включаем IPSec на компе и в путь - сокет СОВСЕМ такой же. Впрочем с SSL тоже можно замутить - OlegPowerC(19.06.2012 18:19)
- Осталось энтот ИПСек написать для контроллера и все зашибись. - ASDFS(19.06.2012 18:42)
- Точно! :-) вот эта мелочь меня и остановила :-) причем сам IPSec не пугает, пугает IKE алгоритм Диффи Хелмана и т.д. - OlegPowerC(19.06.2012 18:47)
- Осталось энтот ИПСек написать для контроллера и все зашибись. - ASDFS(19.06.2012 18:42)
- IPsec - стандартно, включаем IPSec на компе и в путь - сокет СОВСЕМ такой же. Впрочем с SSL тоже можно замутить - OlegPowerC(19.06.2012 18:19)
- Эти layer только путают всех. SSL работает на уровне TCP сокета и для любого ТСП приложения (включая МодбасTCP или например ХТТП) сокет с тсп или тсп+ССЛ практически одинаков. Другой вопрос что это нестандартизовано поэтому найти тестовую прогу с ASDFS(94 знак., 19.06.2012 18:17)
- SSL - согласен, гарантирует ибо шифрует трафик - но SSL это Application layer протокол, и я сомневаюсь в его поддержке со стороны ModBus клиентского софта, тогда уж IPSec - он хоть на IP уровне работает. Но там тогда нужно еще и ISAKMP и например OlegPowerC(93 знак., 19.06.2012 18:10)
- Вы не правы. ASDFS(864 знак., 19.06.2012 17:58)
- Я не ставлю, CRC гарантирует (относительно) целостность пакета, тоесть при битовой ошибке не будет катастрофы. А причем тут SSL? Modbus не как туда не запихнуть. А вы путаете авторизацию с безопасным соединением. Авторизация лишь часть безопасного OlegPowerC(612 знак., 19.06.2012 17:46)
- для этого критические операции должны выполняться не по записи одного регистра, а по некоторой комбинации записей. К тому же никто не отменял проверку правильности структуры пакета, поэтому совсем случайные пакеты с высокой вероятностью будут koyodza(14 знак., 19.06.2012 17:17)
- Короче -- сделайте свой протокол поверх ModBUS... Ввиду чего всегда считал MODBUS ненужной сущностью и ещё с массой косяков (из-за привязки к времени). Протокол, язык, как не назови, должен опрерировать несколько более высокоуровневыми понятиями, fk0(315 знак., 19.06.2012 17:47)
- Согласен, проблема в том что пока не нашел чегото стандартного. Активно ищу - OlegPowerC(19.06.2012 17:51)
- Ну это я утрирую, но грустно что решили что CRC итак в TCP есть (хотя там не CRC а контрольная сумма) Кстати в IPv6 вообще контрольную сумму убрали. Ну а авторизацию можно по идее на регистрах сделать, типа послал логин, тебе обратно число, ты его OlegPowerC(129 знак., 19.06.2012 17:27)
- да, мне тоже непонятно зачем убрали CRC koyodza(92 знак., 19.06.2012 17:31)
- Короче -- сделайте свой протокол поверх ModBUS... Ввиду чего всегда считал MODBUS ненужной сущностью и ещё с массой косяков (из-за привязки к времени). Протокол, язык, как не назови, должен опрерировать несколько более высокоуровневыми понятиями, fk0(315 знак., 19.06.2012 17:47)
- Для этого SSL и придумали. ASDFS(323 знак., 19.06.2012 17:35)
- Я подразумеваю, как минимум, если это прибор в какойто промышленной сети, чтоб пакет с какого нибудь другого компа, попавший на порт 502, и воспринятый как Modbus (а в Modbus TCP CRC не вычисляется) не инициировал например падение бетонной плиты OlegPowerC(19 знак., 19.06.2012 17:06)
- Собственно как я и сказал. А что вы подразумеваете под безопасностью? - ASDFS(19.06.2012 17:01)
- Я могу и больше сделать. Но в целом, в спецификации на Modbus уже нашел ответ. Там сказано что если поддерживается один сокет, то клиент в случае сбоя (перезагрузки и.т.д) должен инициировать связь с новым портом Source - а сервер, должен закрыть OlegPowerC(128 знак., 19.06.2012 16:55)
- МОДБАС вообще то одномастерный протокол, одновременный доступ нескольких мастеров нештатное явление. У меня и в доке сказано: одно соединение, и точка. Поэтому для меня это нормальное явление. Если вы хотите многомастерности для вашей железки и ASDFS(92 знак., 19.06.2012 15:37)
- если у Вас поддерживается только один сокет, то по-другому не получится. При многосокетовой реализации можно устанавливать соединение сразу с несколькими клиентами - koyodza(19.06.2012 16:35)
- Тоесть, любое новое соединение убьет старое? и это по вашему нормальное явление - OlegPowerC(19.06.2012 15:10)
- Красивого решения по восстановлению в таком раскладе не вижу. ASDFS(210 знак., 19.06.2012 14:58)
- прошу всех, кто будет писать в этой ветке, не забывать указывать какими программами тестируете связь - koyodza(18.06.2012 23:02)
- Чего там тестить, он же прост как удав. Один автор нарисовал серву, другой клиента. Скрестили - заработало. Финита ля комедия. - ASDFS(18.06.2012 23:34)
- вот так и рождаются ни с чем не совместимые мутанты - koyodza(18.06.2012 23:36)
- Мне без надобности совместимость в общем то. ASDFS(185 знак., 18.06.2012 23:49)
- если совместимость без надобности, то намного удобнее ModBus упакованный в UDP, он и ресурсов меньше требует koyodza(136 знак., 19.06.2012 08:34)
- Вы грамотный чел, вы же знаете что 90% времени инженера уходит на чтение чужой документации и рисование своей. ASDFS(591 знак., 19.06.2012 14:42)
- У меня стек TCP/IP полностью свой, а про пару дней, ну так ответьте тогда на вопрос про решение проблемы с определением, жив ли удаленный пир, и новыми сокетами - OlegPowerC(19.06.2012 14:47)
- Какие сырцы брали за основу, если не секрет? - Make_Pic(19.06.2012 14:44)
- Да вы меня все удивляете. Никаких, сам написал. ASDFS(79 знак., 19.06.2012 15:01)
- >>>Стек ТСП я ессесно заново не писал, брался готовый. >>> Это ваши слова или стек был глубоко зашит в виде бинарника? - Make_Pic(19.06.2012 15:27)
- У меня как то в голове стек ТСП от протокола МОДБАС ТСП отдельно. ASDFS(349 знак., 19.06.2012 15:42)
- ну тогда действительно, Вы ведь сами ничего почти не делали - koyodza(19.06.2012 16:40)
- Не пугайте меня. Вы тоже решили ТСП стек сами рисовать? - ASDFS(19.06.2012 17:05)
- уже. Но времени на это ушло немало - koyodza(19.06.2012 17:15)
- А что, ДАЕШЬ TCP/IP стеков, хороших и разных!!! :-) - OlegPowerC(19.06.2012 17:07)
- Я тоже так думал лет 15 назад. С тех пор я понял насколько ТСП стек на самом деле сложен и славатебегосподи больше не мнил себя писателем-ТСП-стеков-за-две-недели. И вам того же советую. Хотя все равно не послушаете ))) - ASDFS(19.06.2012 17:39)
- Тоесть вы решили закрыть глаза и пользовать неизученный вами стек в надежде что он работает так как надо? я и не мню себя крутым писателем стеков, но и не 2 недели у меня ушло, а поболее, и 10 лет в сетевой области работаю, так что имею право - OlegPowerC(19.06.2012 17:48)
- Вы что то базовое не понимаете. Ваше личное знание стека работоспособность не гарантирует. Ее гарантирует массовая инспекция сотен глаз и тестирование в тысячах приложений разных программеров. Только так и никак иначе, хоть тыщу лет работай в этой ASDFS(9 знак., 19.06.2012 18:05)
- Все ясно, любитель OpenSource детектед! :-) а если серьезно, среди тысячи глаз и рук есть сотни кривых, а есть и злых и алчных, и видел я людей кто пилит линукс к примеру, и вообще OpenSource, они РАЗНЫЕ. И уж это точно не гарантия. К примеру OlegPowerC(43 знак., 19.06.2012 18:13)
- Вся разница только в том что про проблемы вашего стека никто ничего не знает. ASDFS(575 знак., 19.06.2012 18:37)
- Ну DHCP - это примитивизм, как впрочем и HTTP, чего их бояться то? подводные камни все давно описаны, и есть методы борьбы с ними. PPP это вообще никакого отношения к TCP/IP не имеет и мне не нужен даром. А вот 802.1q и IPSec - это да, нужно. OlegPowerC(76 знак., 19.06.2012 18:52)
- И вообще, почему я должен изначально считать себя хуже скажем Адама Дункелса (автор uIP)? вот он, российский (совковый) менталитет, все западное лучше. Давайте уже ХОТЬ ЧТОТО СВОИМИ руками делать, вон люди турбореактивный двигатель с форсажной OlegPowerC(68 знак., 19.06.2012 18:56, youtube)
- Уговорили - больше не буду пугать ))). С пожеланием делать как иноземцы - то есть публиковать достижения и желательно снабжать их документацией, ASDFS(181 знак., 19.06.2012 19:06)
- публиковать это хорошо, а кормить кто будет? - koyodza(19.06.2012 19:30)
- Ну так, для начала, я доведу его до ума чтоб не стыдно было выкладывать :-) - OlegPowerC(19.06.2012 19:07)
- Уговорили - больше не буду пугать ))). С пожеланием делать как иноземцы - то есть публиковать достижения и желательно снабжать их документацией, ASDFS(181 знак., 19.06.2012 19:06)
- И вообще, почему я должен изначально считать себя хуже скажем Адама Дункелса (автор uIP)? вот он, российский (совковый) менталитет, все западное лучше. Давайте уже ХОТЬ ЧТОТО СВОИМИ руками делать, вон люди турбореактивный двигатель с форсажной OlegPowerC(68 знак., 19.06.2012 18:56, youtube)
- Ну DHCP - это примитивизм, как впрочем и HTTP, чего их бояться то? подводные камни все давно описаны, и есть методы борьбы с ними. PPP это вообще никакого отношения к TCP/IP не имеет и мне не нужен даром. А вот 802.1q и IPSec - это да, нужно. OlegPowerC(76 знак., 19.06.2012 18:52)
- Дадада. Жалкая поделка красноглазых пингвинов! - fk0(19.06.2012 18:29)
- Вся разница только в том что про проблемы вашего стека никто ничего не знает. ASDFS(575 знак., 19.06.2012 18:37)
- Все ясно, любитель OpenSource детектед! :-) а если серьезно, среди тысячи глаз и рук есть сотни кривых, а есть и злых и алчных, и видел я людей кто пилит линукс к примеру, и вообще OpenSource, они РАЗНЫЕ. И уж это точно не гарантия. К примеру OlegPowerC(43 знак., 19.06.2012 18:13)
- Вы что то базовое не понимаете. Ваше личное знание стека работоспособность не гарантирует. Ее гарантирует массовая инспекция сотен глаз и тестирование в тысячах приложений разных программеров. Только так и никак иначе, хоть тыщу лет работай в этой ASDFS(9 знак., 19.06.2012 18:05)
- Тоесть вы решили закрыть глаза и пользовать неизученный вами стек в надежде что он работает так как надо? я и не мню себя крутым писателем стеков, но и не 2 недели у меня ушло, а поболее, и 10 лет в сетевой области работаю, так что имею право - OlegPowerC(19.06.2012 17:48)
- Я тоже так думал лет 15 назад. С тех пор я понял насколько ТСП стек на самом деле сложен и славатебегосподи больше не мнил себя писателем-ТСП-стеков-за-две-недели. И вам того же советую. Хотя все равно не послушаете ))) - ASDFS(19.06.2012 17:39)
- Не пугайте меня. Вы тоже решили ТСП стек сами рисовать? - ASDFS(19.06.2012 17:05)
- Кстати как lwip по потреблению ресурсов, стабильности работы и на чем он у вас крутится? - OlegPowerC(19.06.2012 16:10)
- Конечно lwip гораздо хуже чем майкрочиповый стек как по функционалу так и по жрачке ресурсов и времени освоения. ASDFS(808 знак., 19.06.2012 16:51)
- Прочитал спеку на Modbus - ваше решение про закрытие старого сокета и открытие нового - правильное. А вот кстати про SSL, пробовали что нибудь? я подумываю сделать SSH вот интересно хоть примерно сколько он съест. Памяти у меня 8Кб на все, из них OlegPowerC(124 знак., 19.06.2012 17:00)
- Вроде в Майкрочиповом стеке TCP+SSL садятся на 3.5 кБ PIC18-го. ASDFS(355 знак., 19.06.2012 17:14)
- Это без учета буфера Ethernet MAC? ну и UDP вообще не показатель, ибо там количество портов, увеличивает потребляемое ОЗУ чуть ли не на 2 байта. OlegPowerC(231 знак., 19.06.2012 17:23)
- Я хуже скажу - у майкрочипа полноценная реализация ТСП с буферизацией и автоповторами ежели чо. ASDFS(240 знак., 19.06.2012 17:45)
- это ещё одна причина, почему делал сам: в чужом часто невозможно понять что как сделано - koyodza(19.06.2012 17:27)
- сам по себе UDP вообще почти не требует ОЗУ, а вот для НТТР (и ТСР) его желательно побольше. SSL не реализовывал - koyodza(19.06.2012 17:20)
- Это без учета буфера Ethernet MAC? ну и UDP вообще не показатель, ибо там количество портов, увеличивает потребляемое ОЗУ чуть ли не на 2 байта. OlegPowerC(231 знак., 19.06.2012 17:23)
- свой стек писал именно потому, что нет лишнего ОЗУ koyodza(722 знак., 19.06.2012 17:14)
- uIP чем не подходил? - Mahagam(19.06.2012 18:11)
- Мне лично он не подходит хотябы поддержкой, я бы коммерческий купил бы если бы нашел чтото подходящее по нормальной цене - OlegPowerC(19.06.2012 18:18)
- uIP это проще для изученья не бывает, оценить внутренние потроха дня-двух хватит. За неделю почти наизусть. - ASDFS(19.06.2012 18:59)
- Вы путаете понятия - вы предлагаете изучить конкретный стек, а я предлагаю изучить протоколы и теорию, знания конкретного стека не спасут вас от внезапно выявленных проблем со связью, ибо вы не поймете почему так происходит, а если изучить теорию OlegPowerC(175 знак., 19.06.2012 19:06)
- uIP это проще для изученья не бывает, оценить внутренние потроха дня-двух хватит. За неделю почти наизусть. - ASDFS(19.06.2012 18:59)
- Мне лично он не подходит хотябы поддержкой, я бы коммерческий купил бы если бы нашел чтото подходящее по нормальной цене - OlegPowerC(19.06.2012 18:18)
- uIP чем не подходил? - Mahagam(19.06.2012 18:11)
- Вроде в Майкрочиповом стеке TCP+SSL садятся на 3.5 кБ PIC18-го. ASDFS(355 знак., 19.06.2012 17:14)
- Прочитал спеку на Modbus - ваше решение про закрытие старого сокета и открытие нового - правильное. А вот кстати про SSL, пробовали что нибудь? я подумываю сделать SSH вот интересно хоть примерно сколько он съест. Памяти у меня 8Кб на все, из них OlegPowerC(124 знак., 19.06.2012 17:00)
- Конечно lwip гораздо хуже чем майкрочиповый стек как по функционалу так и по жрачке ресурсов и времени освоения. ASDFS(808 знак., 19.06.2012 16:51)
- ну тогда действительно, Вы ведь сами ничего почти не делали - koyodza(19.06.2012 16:40)
- У меня как то в голове стек ТСП от протокола МОДБАС ТСП отдельно. ASDFS(349 знак., 19.06.2012 15:42)
- Так ПРОСИМ же, ответить как определяется что нет больше связи. Вы в курсе как TCP работает? - OlegPowerC(19.06.2012 15:09)
- Уже увидел сообщение, простите - OlegPowerC(19.06.2012 15:11)
- >>>Стек ТСП я ессесно заново не писал, брался готовый. >>> Это ваши слова или стек был глубоко зашит в виде бинарника? - Make_Pic(19.06.2012 15:27)
- Да вы меня все удивляете. Никаких, сам написал. ASDFS(79 знак., 19.06.2012 15:01)
- Следовать спецификации протокола, даже если не нужна совместимость с другими устройствами, очень удобно, 1. у вас уже есть готовая документация и ее не надо писать заново. 2. протокол опробован, изучены проблемы, 3. будет в будущем возможность OlegPowerC(54 знак., 19.06.2012 12:09)
- согласен - koyodza(19.06.2012 12:55)
- Вы грамотный чел, вы же знаете что 90% времени инженера уходит на чтение чужой документации и рисование своей. ASDFS(591 знак., 19.06.2012 14:42)
- если совместимость без надобности, то намного удобнее ModBus упакованный в UDP, он и ресурсов меньше требует koyodza(136 знак., 19.06.2012 08:34)
- Мне без надобности совместимость в общем то. ASDFS(185 знак., 18.06.2012 23:49)
- вот так и рождаются ни с чем не совместимые мутанты - koyodza(18.06.2012 23:36)
- Чего там тестить, он же прост как удав. Один автор нарисовал серву, другой клиента. Скрестили - заработало. Финита ля комедия. - ASDFS(18.06.2012 23:34)
- имхо лучше сделать TCP-RS232 и не морочить голову... - zeleny(18.06.2012 22:05)
- Вариантов МОДБАС ТСП один, он четко прописан в стандарте. Что совершенно не мешает тунеллировать другие Модбасы через Езернет в родном виде. Я, например, так и сделал: ТСП порт 502 на родной Модбас ТСП а другой порт на прозрачный туннель Модбас ASDFS(5 знак., 18.06.2012 21:46)
- вспомнился анекдот про Вовочку koyodza(163 знак., 18.06.2012 23:00 - 23:16)
- Значит так :-) Я еще только собираюсь реализовывать Modbus TCP по спецификации, тестировать планировал Simply Modbus TCP 1.3.6 по таймаютам и FIN RST картина вот какая. Сейчас у меня работает Telnet и только 1 сессия, ибо мало ресурсов чтоб OlegPowerC(496 знак., 19.06.2012 12:06)
- как раз недавно реализовывал koyodza(495 знак., 18.06.2012 21:00)