Re[3]: Зачем может быть нужно несколько параллельных соединений?
От: Pzz Россия https://github.com/alexpevzner
Дата: 22.04.21 20:42
Оценка:
Здравствуйте, Marty, Вы писали:

Pzz>>Ну в принципе, если у тебя много параллельных TCP-соединений, то 1) можно отжать больший процент полосы пропускания, чем это получится сделать у одного соединения


M>А какой-нибудь Quality of Service по дороге не будет зажимать все мои соединения, если они пучком пойдут? Когда инет был молодым — возможно это и сработало бы. Но моему протоколу лет пять где-то, от силы


Где-то по-дороге тебе дадут дырку такого-то размера. Причем скорее всего, не тебе лично, а целому классу таких, как ты. Но TCP — протокол вежливый, нащупав границы дырки, он попытается подвинуться, чтобы и соседям дышать не мешать. А если у тебя куча TCP-соединений, то вместе вы — сила.

Pzz>>2) пока одно соединение, потеряв пакет, занято ретрансмитом, остальные остаются доступными.


M>Наверное, это актуально для мобильного инета, не? Для проводного тут вряд ли какой-то ощутимый выигрыш будет?


В Интернете есть много причин пакетам теряться. И это не только потери в радиоэфире. Более того, у роутера по дороге может и не быть другого способа притормозить твой передатчик, кроме как дропнуть пакетик-другой; ECN работает далеко не всегда.

У нормально работающего интернета где-то 1% пакетов теряется.

Pzz>>Но все это вряд ли тебе нужно. Так что не парься, и используй одно соединение, особенно если тебе так удобнее.


M>Ну, я так и решил. Просто хочется понять логику разработчиков протокола. Может я что-то очевидное упустил, как обычно


Ну как можно сказать, не зная протокола и не видя, как он используется?

Может, там таким образом организована приоритезация сообщений (чтобы пока по одному сокету лезет бегемот, по другому можно было передать срочную команду пристрелить бегемота по прибытию). А может, там работала команда из 16-и человек, и каждый себе завел по паре сокетов.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.