TCP использует то, что называется скользящим окном. В основном объем буферного пространства, X, получатель должен пересобрать из неупорядоченных пакетов. Отправитель может отправить X байтов после последнего подтвержденного байта, скажем, порядкового номера N. Таким образом, вы можете заполнить канал между отправителем и получателем X неподтвержденными байтами в предположении, что пакеты, скорее всего, попадут туда, а если нет, то получатель сообщит вам, не подтвердив пропущенные пакеты. На каждый ответный пакет получатель отправляет совокупное подтверждение, говоря: «У меня есть все байты до байта X». Это позволяет ему подтверждать несколько пакетов одновременно.
Представьте, что клиент отправляет 3 пакета, X, Y и Z, начиная с порядкового номера N. Из-за маршрутизации сначала прибывает Y, затем Z, а затем X. Y и Z буферизуются в стеке назначения и когда X приходит, получатель получит подтверждение N + (совокупная длина X, Y и Z). Это увеличит начало скользящего окна, позволяя клиенту отправлять дополнительные пакеты.
Это возможно с выборочным подтверждением подтверждения частей скользящего окна и попросить отправителя повторно передать только потерянные части. В классической схеме Y был потерян, отправителю пришлось бы повторно отправить Y и Z. Выборочное подтверждение означает, что отправитель может просто повторно отправить Y. Посмотрите на страницу википедии .
Что касается скорости, одна вещь, которая может замедлить вас, - это DNS. Это добавляет дополнительную информацию в оба конца, если IP не кэшируется, прежде чем вы даже сможете запросить изображение. Если это не обычный сайт, это может быть так.
TCP Иллюстрированный том 1 Ричарда Стивенса огромен, если вы хотите узнать больше. Название звучит забавно, но диаграммы пакетов и аннотированные стрелки от одного хоста к другому действительно облегчают понимание этого материала. Это одна из тех книг, из которых вы можете извлечь уроки, а затем сохранить их в качестве ссылки. Это одна из трех моих книг о сетевых проектах. альтернативный текст http://ecx.images -amazon.com / images / I / 21NraFSkMOL._SL500_AA300_.jpg