Перейти к содержимому
Калькуляторы

Возмоно ли уменьшить количество квитанций ACK в TCPIP?

Всем привет. :)

Я написал сервер на делфи и клиента на J2ME, которые общаются через TCPIP. Каждый пакет идет приблизительно через 20 секунд и судя по тому что показывает снифер на каждый пакет принимающая сторона посылает назад еще один пакет (квитанцию подтверждающую получение пакета и его корректность). При этом трафик увеличивается вдвое.

Скажите, пожалуйста, возможно ли в таких условиях уменьшить количество подтверждающих пакетов (например, одна квитанция на пять отправленных пакетов) и если да, то как? Может быть в TCP пакете в разделе TCP options есть какой-то параметр, который отвечает за количество квитанций? Или это делается в настройках сокета сервера (клиента)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не порти нормальный протокол дебильными извращениями и мутными умственными изысками. Реализуй по UDP и отправляй подтверждения когда надо и на сколько надо пакетов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ник говорящий Ж). По сути: сообщения, которыми обмениваются клиент-сервер настолько малы, что укладываются в заголовок пакета?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

:)

GateKeeper, в каждом пакете 12 байт нужной информации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тяжело... ну а правда - что б не почитать про IP и одни из самых распространенных из них TCP и UDP? Ну и понять разницу... Ну и сделать выводы... Ну и в дальнейшем таких вопросов не задавать...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я знаю разницу. :)

Я просто думал, что количество квитанций в TCPIP можно уменьшить. Придется видимо переделывать под UDP.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я знаю разницу. :)

Я просто думал, что количество квитанций в TCPIP можно уменьшить. Придется видимо переделывать под UDP.

"не любите кошек? - да вы просто не умеете их готовить!"

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Shiva, спасибо за ссылку. В этой статье очень много того, чего я не знал.

Насколько я понял, параметр WINDOW показывает какое количество пакетов будет принято без получения квитанции. Т.е. если WINDOW=5, то квитанция не посылается на 1,2,3 и 4 пакеты, а посылатеся только на 5ый. Так ли это?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так, только там на таймауты все это еще привязанои не везде можно настроить IP стек таким образом на одно соединение а не на систему. На винде ваще бог знает как этим управлять. Делай на UDP, не изобретай велосипед с квадратными колесами...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Т.е. если WINDOW=5, то квитанция не посылается на 1,2,3 и 4 пакеты, а посылатеся только на 5ый. Так ли это?
А вот и не так :)

В поле Window указывается количество БАЙТ, которые стек готов принять от другой стороны. Если там поставить 5, тогда другая сторона будет отправлять 5 байт в каждом пакете и ждать подтверждения, и в итоге вы будете получать подтверждения на каждые 5 байт.

ЗЫ

Стек автоматически регулирует это поле, поэтому придется модифицировать это поле все время, т. к. стек будет пытаться увеличить значение этого поля.

По поводу UDP - согласен, и ресурсов меньше будет жрать...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.