Свой TCP на чистом Си: от первых UDP-пакетов до неожиданных результатов тестов При окне в 512 слотов самодельный Protocol-7 передаёт 10 МБ со скоростью 0,41 МБ/с. Добавляем эмуляцию 5% потерь пакетов — скорость внезапно вырастает до 0,63 МБ/с. Это вообще как? А начиналось всё с UDP-сокета и попытки отправить… пустой файл. Потом были ACK, ретрансмиссии, битые сегменты, скользящее окно и SACK. Каждый новый механизм делал передачу надёжнее, но заодно подкидывал новые грабли. В итоге протокол выдержал тесты с 30% потерь и научился передавать файлы байт-в-байт. А вот попытки разогнать его увеличением окна обернулись результатами, которые явно пошли не по плану.
- 54
- 12
- 8
- 8
- 5
- 4
- 3
- 3
- 3
- 2
- 1
- 1