Ну а по картинке кто-нибудь может что сказать?
Во-первых, нужно всё-таки логи в нормально собрать.
Лечить по фотографии это неблагодарное дело.
Можно несколько подобных, но в виде файлов?
Странно выглядит, что на 627 запрос ПЛК не отвечает сразу, а отвечает только после того, как происходит tcp retransmit от scada.
На ПЛК какая программа?
На "пустой" программе проблема воспроизводится?
На пакете 652 scada закрывает соединение (шлёт FIN+ACK в ПЛК). 655ым пакетом ПЛК подтверждает, что понял, что scada закрыла соединение.
НО соединение остаётся открытым на стороне ПЛК и почему-то ПЛК не закрывает соединение.
По-хорошему, должен быть FIN+ACK пакет от ПЛК, а его нет.
Т.е. выглядит как half-open: scada закрыла, ПЛК нет.
При закрытии SCAD-ой shutdown не сделан. поэтому в сети гуляют пакеты от предыдущего соединения.
Тролль-наседка, добрый, нежный и ласковый
О каком shutdown речь?
Ещё раз: scada отправляет FIN+ACK (пакет 652), чем она и говорит о закрытии соединения со своей стороны.
ПЛК почему-то закрывать соединение не думает, и именно ПЛК является инициатором "TCP keepalive".
На эти keepalive scada отвечает ACK'ами, т.к. по спецификации TCP, даже если соединение со стороны scada закрыто, то продолжать приём всё равно нужно.
Последний раз редактировалось Владимир Ситников; 23.12.2016 в 13:15.