- 
	
- Значит так :-) Я еще только собираюсь реализовывать 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)