Bug 32765 - Не отдаёт файл размером больше 32 МБ.
Summary: Не отдаёт файл размером больше 32 МБ.
Status: CLOSED WONTFIX
Alias: None
Product: Sisyphus
Classification: Development
Component: atftp (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Anton Farygin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-11-18 14:16 MSK by Горев Андрей
Modified: 2016-11-19 14:27 MSK (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Горев Андрей 2016-11-18 14:16:50 MSK
Причина проста: счётчик пакетов (id в заголовке UDP) не переходит через 64k пакетов.
  Итог: после прохождения 65535-го ID идут таймауты и файл не докачивается. 65535 * 512 байт ~= 32 МБ. Точно сами считайте - мне лень.

  Насчёт размера блоков TFTP из соответствующего RFC. Управление размером блока имеют очень немногие TFTP серверы, но даже в этом случае, необходимо, чтобы клиент TFTP с этим согласился. Cisco к таким не относится.
  Из всех серверов TFTP из дистрибутива с файлами размером больше 32 МБ работает только пакет tftp (пускалки tftp-server-standalone, tftp-server-xinetd), перенесённый из BSD в Linux. Или оставьте только его или исправьте остальные.

P.S. Многие IOS для Cisco БОЛЬШЕ 32 МБ существенно.

    Стандартный tftp не имеет управления, но с > 32 МБ справляется. Здесь виден переход ID через 64k:
15:00:06.119619 IP (tos 0x0, ttl 64, id 65532, offset 0, flags [none], proto UDP (17), length 544)
    pc00447.tlt.globex.msk.36206 > 192.168.1.10.32088: UDP, length 516
15:00:06.127182 IP (tos 0x0, ttl 255, id 1288, offset 0, flags [DF], proto UDP (17), length 32)
    192.168.1.10.32088 > pc00447.tlt.globex.msk.36206: UDP, length 4
15:00:06.127368 IP (tos 0x0, ttl 64, id 65533, offset 0, flags [none], proto UDP (17), length 544)
    pc00447.tlt.globex.msk.36206 > 192.168.1.10.32088: UDP, length 516
15:00:06.134768 IP (tos 0x0, ttl 255, id 1289, offset 0, flags [DF], proto UDP (17), length 32)
    192.168.1.10.32088 > pc00447.tlt.globex.msk.36206: UDP, length 4
15:00:06.134853 IP (tos 0x0, ttl 64, id 2, offset 0, flags [none], proto UDP (17), length 544)
    pc00447.tlt.globex.msk.36206 > 192.168.1.10.32088: UDP, length 516
Comment 1 Sergey Bolshakov 2016-11-18 14:48:28 MSK
Не все реализации tftp одинаково полезны на файлах размером > 32M, это не новость.
Ваше же мнение относительно того, что следует сделать нам по этому поводу, будет всенепременнейше учтено.
Comment 2 Michael Shigorin 2016-11-19 14:27:14 MSK
Собственно, если действительно нужна эта реализация и охота починить --
милости просим: http://altlinux.org/join :)