Changes between Initial Version and Version 1 of Ticket #418, comment 3
- Timestamp:
- Feb 15, 2024, 1:05:48 PM (9 months ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #418, comment 3
initial v1 7 7 **В общем случае** здесь имеют место гонки (race condition) - какое канальное окончание первым запросит порт, то его и получит, и перейдет в состояние `Listening`. Нет логических оснований предполагать, что первым всегда будет окончание 256. 8 8 9 В данном же конкретном эксперименте канальные окончания не в равных условиях. Конфигурация изменена только канальному окончанию 255. Что происходит после этого? Канальное окончание 255 закрывает соединение и начинает слушать порт. Следствием закрытия соединения окончанием 255 является отправка пакета FIN удаленной стороне. Получив FIN, окончание 256 также закрывает текущее соединение и пытается начать слушать тот же самый порт. То есть выполняет те же самые действия. Но так как действия окончания 256 являются **следствием** закрытия соединения окончанием 255, то **логично ожидать**, что и выполнятся они позже:9 В данном же конкретном эксперименте канальные окончания **не в равных условиях**. Конфигурация изменена только канальному окончанию 255. Что происходит после этого? Канальное окончание 255 закрывает соединение и начинает слушать порт. Следствием закрытия соединения окончанием 255 является отправка пакета FIN удаленной стороне. Получив FIN, окончание 256 также закрывает текущее соединение и пытается начать слушать тот же самый порт. То есть выполняет те же самые действия. Но так как действия окончания 256 являются **следствием** закрытия соединения окончанием 255, то **логично ожидать**, что и выполнятся они позже: 10 10 11 11 {{{#!PlantUml