kiborg
Гость
|
|
« : 25-05-2008 11:10 » |
|
Здравствуйте!Зачем изначально устанавливается размер TCP окна в 16Kb или в 4Kb, ведь отправитель может в последствии увеличить его?
|
|
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #1 : 25-05-2008 12:55 » |
|
kiborg, Хочу пример, где ты сам вручную выставляеш? А вообше, Если я правильно понял, о чем ты говориш. Это длина пакета. Его рекомендуют делать по возмлжности, как можно меньше. Так как большие пакеты, на загруженных линиях, с малой пропускной способностью, могут создать заторы.
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
kiborg
Гость
|
|
« Ответ #2 : 25-05-2008 14:04 » |
|
Например в регистре можно установить значение в 16К, в Windows этот параметр максимально может достигать динамически в 64К если в сетях с хорошей пропускной способностью, для чего он устанавливается если не является ограничителем!?
|
|
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #3 : 25-05-2008 14:13 » |
|
kiborg, 64 килобайта это максимальная длина пакета, которая может быть отослана для IP4. Кстати, а ты уверен, что на всем протяжении пути будет отличная линия и без заторов? Система в этом не уверена.
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
kiborg
Гость
|
|
« Ответ #4 : 25-05-2008 14:57 » |
|
Конечно всё может быть, но всеже вопрос остаётся зачем устанавливать окно в 16К?
|
|
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #5 : 25-05-2008 15:11 » |
|
kiborg, А сколько ты хочеш? Скорее всего сделали проверку, какая длина пакета наиболее оптимальна. Насколько я знаю, в стандарте нигде не прописано. По крайней мере я не встречал.
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
RXL
|
|
« Ответ #6 : 26-05-2008 06:37 » |
|
Finch, длина TCP окна не имеет отношение к размеру пакета. Окно - это объем данных, отсылаемых по TCP без подтверждения от принимающей стороны. Рекомендую почитать теорию.
Кстати, в винде есть ошибка с максимальным размером окна - оно превышает определенный стандартом предел и может не всегда правильно работать. Дефолтное значение быть должно полюбому и то, что его можно административно поменять - только в плюс.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
kiborg
Гость
|
|
« Ответ #7 : 26-05-2008 10:23 » |
|
RXL само дефолтное значение для каких целей слижет это ведь не порог?
|
|
|
Записан
|
|
|
|
kiborg
Гость
|
|
« Ответ #8 : 26-05-2008 16:29 » |
|
Или это порог медленного старта?
|
|
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #9 : 26-05-2008 19:47 » |
|
Насколько я знаю, сколько пакетов отправить без подтвреждения система сама автоматически определяет в зависимости от качества линии. И меряется это в количестве пакетов, а не в килобайтах. Хотя могу и ошибаться. Это все работает на уровне системы, я так далеко не копал, в повседневной работе.
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
RXL
|
|
« Ответ #10 : 28-05-2008 06:36 » |
|
Принцип работы окна (для удобства пакеты у меня по 1000 байт):
0. Окно размером 8000. 1. Посылается 8000 байт в виде 8 пакетов по 1000 байт. 2. Приходит подтверждение на пакет 3. Окно сдвигается на размер пакетов 1, 2 и 3 - 3000 байт. 3. Отсылается 3000 байт в виде 3 пакетов...
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #11 : 17-08-2009 12:35 » |
|
а гарантирует ли TCP то, что пакеты придут всегда в том порядке, каком были отправлены ?
|
|
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #12 : 17-08-2009 12:45 » |
|
Нет. Этого не гарантирует. Если это две разные отсылки. В одной отсылке ты получиш все данные в таком же порядке.
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
RXL
|
|
« Ответ #13 : 17-08-2009 12:51 » |
|
Вить, как-то витиевато у тебя получилось. Я скажу немного иначе: на уровне IP порядок пакетов не гарантируется, а подсистема TCP выравнивает эту несправедливость и передает приложению данные строго в упорядоченном виде. Т.е. если пришли пакеты 1, 2 и 4, то 1 и 2 могут быть прочитаны из сокета, а пакет 4 будет ждать в буфере до прихода пакета 3. И вообще, TCP - потоковый протокол и не надо его мерить пакетами, если только не спускаться на уровень IP.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #14 : 17-08-2009 12:54 » |
|
Вить, как-то витиевато у тебя получилось
каламбуришь ) если пришли пакеты 1, 2 и 4, то 1 и 2 могут быть прочитаны из сокета, а пакет 4 будет ждать в буфере до прихода пакета 3.
это радует. Так и хотелось
|
|
|
Записан
|
|
|
|
lapulya
Молодой специалист
Offline
|
|
« Ответ #15 : 27-12-2009 23:24 » |
|
народ, недопонимания от того что используется термин "пакет", нету в TCP пакетов, нету! это потоковый протокол, он гарантирует правильный порядок данных, даже если на уровне например IP порядок (тут уже можно) пакетов был нарушен.
|
|
|
Записан
|
С уважением Lapulya
|
|
|
Diskriptor
|
|
« Ответ #16 : 28-12-2009 04:12 » |
|
lapulya ТСР потоковый протокол в этот поток вставляются контрольные квитанции, который бьют поток кадров на сегменты. ТСР окно показывает через какой промежуток кадров вставят контрольную квитанцию, размер сегмента(ТСР окна) определяется во время установления соединения с помощи механизма (slow start) или (congestion avoidance) Для изменения размера сегмента(ТСР окна) что бы не копаться в реестре можно использовать утилиту DrTCP. P.S.Единицей данных протокола TCP является сегмент
|
|
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
RXL
|
|
« Ответ #17 : 28-12-2009 04:25 » |
|
Diskriptor, а зачем это нужно - вручную менять размер сегмента?
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Diskriptor
|
|
« Ответ #18 : 28-12-2009 05:49 » |
|
RXL, лично не приходилось правит , преподаватель в Шаге рассказывал что, у него проблема была на Windows 2003 при использовании маршрутизации BGP и там он правил размер окна вручную.
|
|
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
RXL
|
|
« Ответ #19 : 28-12-2009 08:35 » |
|
Спроси у препода: Винда и BGP - это юмор или просто буквы понравились? Дело не в сегментах, а в неправильной работе стека TCP в винде: она посылает данных больше, чем окно TCP.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
lapulya
Молодой специалист
Offline
|
|
« Ответ #20 : 28-12-2009 11:22 » |
|
Diskriptor, не понял претензии... где и что у меня не верно?
Я ж не отрицаю, что по сети пересылаются не только пользовательские данные, а еще куча "системных", иначе как вообще по сети работать можно и удовлетворить требования к протоколу?
Установка же размера окна в программе не гарантирует размер исходного сегмента равного размеру окна не то что в сети, но даже на хосте отправителе.
|
|
|
Записан
|
С уважением Lapulya
|
|
|
Diskriptor
|
|
« Ответ #21 : 28-12-2009 19:45 » |
|
lapulya, Ошибся адресатом я хотел поставит ник автора темы kiborg в при ведущем топиве а спросоня поставил твое , а так я с тобой согласен. RXLСпроси у препода: Винда и BGP - это юмор или просто буквы понравились? лучше не буду а то еще экзамены впереди,TCP изучал год назад, я уже подробности ситуации не помню, просто из памяти ассоциации всплыли Windows,BGP правка окна Дело не в сегментах, а в неправильной работе стека TCP в винде: она посылает данных больше, чем окно TCP. согласен.
|
|
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
|