|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Alex Semenyaka 2:461/640.640 08 Mar 2006 22:32:30 To : Vadim Goncharov Subject : Форкающийся tcp-демон --------------------------------------------------------------------------------
08 Mar 06 15:20, you wrote to me:
VD>>>>>>> То есть от клиента tcp-пакет с установленным SYN, обратно
VD>>>>>>> SYN,ACK, а по приходу следующего ACK от клиента вываливаемся
VD>>>>>>> из accept(), больше ничего ему не посылая, так?
VG>>>>>> Да.
AS>>>>> Hе так. По приходу ACK вываливаемся из listen. Более того, так
AS>>>>> как сторона, где выполнялся listen, уже послала ACK, завершающий
AS>>>>> handshake, то клиент мог (получив этот ACK) начать передачу
AS>>>>> данных. Которые могут поступить ещё даже до начала accept, если
AS>>>>> сетка быстрая, и/или сервер прогружен. Так что правильный ответ
AS>>>>> - как минимум 3 пакета установления соединения, но, возможно, и
AS>>>>> ещё сколько-то данных.
VN>>>> Вообще-то ситуация ещё веселее: никто не запрещает в первом же
VN>>>> SYN-пакете послать порцию данных. И в финальном ACK хэндшейка -
VN>>>> тоже. В BSD sockets такое невозможно, но например в TLI
VN>>>> интерфейсе (доступном на SysV системах) - штатное свойство
VN>>>> интерфейса.
VG>>> Есть же T/TCP
AS>> Уже нету.
VG> И шо, это насовсем?
T/TCP - да. Возможно, будет какая-то замена, если кому-то оно нужно, и кто-то
напишет. Только чтобы без проблем с безопасностью по дизайну хотя бы.
Alex
--- IMHO в последней инстанции
* Origin: ...можжевеловых... (2:461/640.640)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/3929440f237c.html, оценка из 5, голосов 10
|