LINUX.ORG.RU

tcp состояние и множество последовательных закачек wget

 , ,


0

1

Как ведет себя wget при последовательных закачках с небольшой паузой?
Есть ли состояние у tcp после того как tcp успешно разорван?
Например, для ускорения повторного коннекта.

Нет. После того как процесс завершился, все его соединения рвутся безо всяких состояний.

Например, для ускорения повторного коннекта.

Там нечего ускорять, коннект делается за время одного пинга.

firkax ★★★★★
()

Как ведет себя wget при последовательных закачках с небольшой паузой?

Что именно интересует? Список URLов скармливаешь из файла? В любом случае новый URL - новое соединение.

Есть ли состояние у tcp после того как tcp успешно разорван?

Если хост инициирует CLOSE со своей стороны (именно это обычно и происходит после того, как wget заканчивает загрузку), то он сваливается в TIME_WAIT, из которого выходит по таймеру. Выглядит так (результат wget ya.ru):

sudo netstat -nap | grep 87.250.250.242

tcp        0      0 x.x.x.x:y      87.250.250.242:80       TIME_WAIT   -                   

Если первым соединение разорвёт сосед, то после всех процедур сразу падаем в CLOSED.

Подробности и причины тут: https://www.rfc-editor.org/rfc/rfc793.html, смотри «TCP Connection State Diagram» и описание состояний.

Например, для ускорения повторного коннекта.

Зачем? Ты уже качнул что хотел.

agentgoblin
()

От сервера зависит. wget может качать список ссылок с одной сервера, использую одно соединение на все загрузки, а может каждую загрузку делать новое соединение даже в случае, если все ссылки с одного сервера.

В первом случае в сообщениях будет «Повторное использование соединения».

Radjah ★★★★★
()
Ответ на: комментарий от firkax

все его соединения рвутся безо всяких состояний.

4.2. 4-way shutdown и TIME_WAIT в частности никто не отменял. Возможно ТСу стоит про SO_REUSEADDR почитать, скорее для общего образования так как на стороне клиента он крайне редко нужен.

bugfixer ★★★★
()
Ответ на: комментарий от naKovoNapalBaran

Действительно, попробовал конкретные ресурсы с сервера запросить (пару архивов), без всяких перенаправлений. Так и есть, wget пишет:

Повторное использование соединения с xxx:80.

И netstat одно соединение отображает.

Видимо в случае с ya.ru роль играют перенаправления. Для переиспользования соединения ресурс должен быть доступен на самом сервере.

agentgoblin
()
Ответ на: комментарий от bugfixer

Мусор тут в данном случае метаданные ненужной tcp-сессии, а сборка его отложена в целях избежания коллизий. Ни для чего полезного они использоваться точно не будут.

firkax ★★★★★
()