Последний раз редактировалось bondkim137 15.11.2015, 18:16, всего редактировалось 2 раз(а).
Как правило, большинство роутеров работают на уровне пакетов. Если рассмотреть длинное соединение через пол планеты, то как правило, на них сильно деградирует пропускная способность канала, т.к. растет суммарная задержка (latency) и вероятность потерять пакет (packet-loss) по дороге. При потери пакета транспортный протокол его, как правило, перепосылает - что при конечном размере окна (window), и ненулевых latency и packet-loss создает верхнюю границу пропускной способности канала.
В большинстве случаев, если контент статичный, проблему решают близким присутсвием серверов к конечному пользователю (так работают все CDN - Content Delivery Network). А внутри CDN проблему решают либо грубо, либо с хитростями. Если контент не статичный и его надо доставить с минимальной задержкой, то остаются только хитрости.
Одна из хитростей - это использовать проксирование. Т.е. поставить промежуточную точку (или несколько), в которых пакеты временно собираются в потоки и потом посылаются дальше, при этом формируются окна в промежуточном участке, уменьшается latency и loss на этом звене и растет пропускная способность канала. Но при этом падает суммарная задержка при доставке контента. Но хитрая доработка такой точки, при которой приходящие пакеты всегда сразу транслируются дальше, а повторы генерируются прямо здесь, локально, позволяет вернуть суммарную задержку на исходный уровень. Таким образом, используя несколько таких прокси на участке, можно значительно увеличить пропускную способность канала, условно ничего не потеряв.
Известны ли кому-либо доступные hard/soft решения для реализации таких прокси для протокола TCP?
|