Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.LINUX.CHAINIK
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.LINUX.CHAINIK с датами от 15 Jul 13 07:24:14 до 15 Jun 24 17:28:42, всего сообщений: 3153
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 839 из 3153 ================================== RU.LINUX.CHAINIK =
От   : Serguei E. Leontiev              2:5020/400         19 Apr 15 21:42:42
Кому : Eric Pozharski                                      19 Apr 15 21:42:42
Тема : Re: port
FGHI : area://RU.LINUX.CHAINIK?msgid=<1187500713@ddt.demos.su>+5a65c224
На   : area://RU.LINUX.CHAINIK?msgid=<slrnmj6omh.3qn.whynot@orphan.zombinet>+05f42fba
= Кодировка сообщения определена как: CP866 ==================================
Ответ: area://RU.LINUX.CHAINIK?msgid=<1187500714@ddt.demos.su>+72d25813
Ответ: area://RU.LINUX.CHAINIK?msgid=2:463/94.101+01c8de82
==============================================================================
From: "Serguei E. Leontiev" <leo@sai.msu.ru>

Привет Эрик,

От 19 апреля 2015 г., 11:09:53 в fido7.ru.linux.chainik ты писал:
EP> with <1187500704@ddt.demos.su> Serguei E  Leontiev wrote:
EP> *SKIP* [ уже не важно ]
SEL>> Если память меня не подводит TIME-WAIT - это для того, кто
SEL>> соединение закрывает (кто сокет закрывает или сам
SEL>> безвременно умирает).
EP> Строго наоборот -- RFC761, page 21

По моему, ты плохо прочитал:

    TIME-WAIT - represents waiting for enough time to pass to be sure
    the remote TCP received the acknowledgment of its connection
    termination request.

Или поясни, как ты это понимаешь.

Hо простой эксперимент, который ты сам можешь провести, например, с
помощью netcat, показывает, что TIME_WAIT свойственен стороне, которая
закрывает сокет:

CentOS 7: (сервер)
[leo@vmc7leom ~]$ nc -l 8901
mmm
^C
[leo@vmc7leom ~]$ netstat -na | grep 8901
tcp        0      0 10.228.12.26:8901       10.228.12.2:52577
TIME_WAIT

Mac OSX 10: (клиент)
leom:_temp leo$ nc vmc7leom.local 8901
mmm
leom:_temp leo$ netstat -na | grep 8901
leom:_temp leo$


Видим, что убивая "сервер" под Linux получаем TIME-WAIT на его серверном
сокете.

Заметим, что, строго говоря, поведение зависит от реализации сервера
и/или TCP.

FreeBSD 10: (сервер)
[leo@vmfb10leom ~]$ nc -l 8901
lll
^C
[leo@vmfb10leom ~]$ netstat -na | grep 8901
tcp4       0      0 10.228.12.3.8901       10.228.12.26.41971     FIN_WAIT_2
(после убийства клиента)
[leo@vmfb10leom ~]$ netstat -na | grep 8901
tcp4       0      0 10.228.12.3.8901       10.228.12.26.41971     TIME_WAIT
[leo@vmfb10leom ~]$

CentOS 7: (клиент)
[leo@vmc7leom ~]$ nc vmfb10leom.local 8901
lll
^Z
[1]+  Stopped                 nc vmfb10leom.local 8901
[leo@vmc7leom ~]$ netstat -na | grep 8901
tcp        0      0 10.228.12.26:41971      10.228.12.3:8901
CLOSE_WAIT
[leo@vmc7leom ~]$ fg
nc vmfb10leom.local 8901
^C
[leo@vmc7leom ~]$ netstat -na | grep 8901
[leo@vmc7leom ~]$


Правда, есть ещё, третий вариант, без TIME_WAIT, но я его видел только
на Mac OSX серверах:
Mac OSX 10: (сервер)
leom:_temp leo$ nc -l 8901
mmm
^C
leom:_temp leo$ netstat -na | grep 8901
tcp4       0      0  10.228.12.2.8901       10.228.12.26.40341
FIN_WAIT_2
leom:_temp leo$ netstat -na | grep 8901
leom:_temp leo$

CentOS 7: (клиент)
[leo@vmc7leom ~]$ nc leom.local 8901
mmm
^Z
[1]+  Stopped                 nc leom.local 8901
[leo@vmc7leom ~]$ netstat -na | grep 8901
tcp        0      0 10.228.12.26:40341      10.228.12.2:8901
CLOSE_WAIT
[leo@vmc7leom ~]$ fg
nc leom.local 8901
^C
[leo@vmc7leom ~]$ netstat -na | grep 8901
[leo@vmc7leom ~]$


SEL>> Hа счёт java-way, да и насчёт POSIX-way (для тех, кто
SEL>> боится SO_REUSEADDR). IMHO, единственный "платформенно
SEL>> независимый" путь избежания состояния TIME-WAIT для
SEL>> сервера - это побуждать клиента разрывать соединение.
SEL>> Однако, при сетевых проблемах, это может приводить к
SEL>> длительному процессу завершения сервера (в просторечии
SEL>> "зависанию"). Если в этот момент такой "платформенно
SEL>> независимый" сервер убить - получим TIME-WAIT и
SEL>> невозможность повторного запуска в течении примерно 2*MSL
SEL>> секунд :)
EP> Я перестаю понимать -- у тебя есть:  процессы, порты,
EP> инструменты. Посмотри кто что держит и по результатам
EP> разберись.  Зачем спекуляции разводить?

Голова рукам покоя не даёт, истина дороже :)

--
Успехов, Сергей Леонтьев. E-mail: lse@CryptoPro.ru

 
--- ifmail v.2.15dev5.4
* Origin: ГАИШ МГУ (2:5020/400)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.039021 секунды