Описание TCP возможности Windows Server 2003 и Windows 2000

Переводы статьи Переводы статьи
Код статьи: 224829 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

В статье описываются следующие функции TCP в Microsoft Windows 2000 и Microsoft Windows Server 2003:
  • Размер окна TCP
  • Теперь поддерживаются параметры TCP
  • Масштабирование Windows - RFC 1323
  • Отметка времени - RFC 1323
  • Защита от перенесенного порядковые номера (ЛАПАМИ)
  • Избирательные подтверждения (SACKS) - RFC 2018
  • Поведение при повторной отправке TCP и Fast предпринимаемых
Функции TCP можно изменить путем изменения записей в реестре.

Дополнительная информация

Важные Этот раздел, метод или задача содержит действия, о том, как внести изменения в реестр. Тем не менее при неправильном изменении реестра, могут возникнуть серьезные проблемы. Таким образом Убедитесь, что внимательно выполните следующие действия. Для дополнительной защиты резервную копию реестра перед внесением изменений. Затем при возникновении неполадок можно восстановить реестр. Для получения дополнительных сведений о том, как резервное копирование и восстановление реестра щелкните следующий номер статьи базы знаний Майкрософт:
322756 Резервное копирование и восстановление реестра Windows

Размер окна TCP

Окно приема TCP размер — объем передачи данных (в байтах), сохраняемых во время подключения. Отправляющий компьютер может отправлять только это количество данных, прежде чем она будет ожидать подтверждения и обновления окна приема узлом. Стек Windows TCP/IP разработан для self-tune себя в большинстве сред и использует большие размеры окон по умолчанию, чем более ранние версии.

Вместо использования жестко по умолчанию получают размер окна; Настройка TCP максимального размера сегмента (MSS), который согласовывается в процессе установки подключения к равномерным. Настройка окна приема к равномерным MSS увеличивает долю полноразмерных сегментов TCP используется во время массовой передачи данных.

Размер окна приема определяется следующим образом:
  1. Первый запрос на подключение отправлены на удаленный узел объявляет размер окна приема 16 КБ (16384 байт).
  2. Если соединение установлено, размер окна приема округляется до даже шаг MSS.
  3. Размер окна будет изменяться 4 раза MSS, с максимальным размером 64 КБ, если не используется окно масштабирования параметр (RFC 1323).
Примечание В разделе «Windows масштабирование».

Для сетей Ethernet размер окна обычно устанавливается 17 520 байт (16 K округляется до 12 сегментов 1460 байт). Размер окна может привести к снижению после подключения к компьютеру, который поддерживает расширенные TCP head, такие параметры, как избирательные подтверждения (SACKS) и отметок времени. Эти два варианта увеличить размер заголовка TCP для более чем 20 байт, приводит к возникновению меньше места для данных.

В предыдущих версиях Windows NT размер окна для Ethernet-подключение было 8,760 байтов или шесть сегментов 1460 байт.

Чтобы задать размер окна приема конкретное значение, добавьте значение TcpWindowSize подраздел реестра, относящиеся к конкретной версии Windows. Чтобы сделать это, выполните следующие действия.
  1. Нажмите кнопку Начало, нажмите кнопку Запустить, тип Regedit, а затем нажмите кнопку ОК.
  2. Откройте раздел реестра конкретных для вашей версии Windows:
    • Для Windows 2000 откройте следующий раздел:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
    • Для Windows Server 2003 откройте следующий раздел:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  3. На Редактирование Выберите пункт Новый, а затем нажмите кнопку Значение типа DWORD.
  4. Тип TcpWindowSize В диалоговом окне Новое значение в поле и thne, нажмите клавишу ВВОД
  5. Нажмите кнопку Изменить В меню Редактирование меню.
  6. Введите размер в нужное окно Значение данных поле.

    Примечание. Допустимый диапазон значений для размера окна: 0 0x3FFFC000 шестнадцатеричные.
Это значение не задано по умолчанию. При добавлении TcpWindowSize значение переопределяет алгоритма размер окна по умолчанию, описанный выше.

Примечание Также можно добавить TcpWindowSize ключ параметров для задания размера окна глобально для всех интерфейсов.

Теперь поддерживаются параметры TCP

В прошлом главным образом для согласования размеров максимальный сегмент использовались параметры TCP. В Windows используются параметры TCP для масштабирования окон, отметки времени и выборочное подтверждение приема.

Существует два типа параметров TCP:
  1. Один октет параметр TCP, который используется для указания типа определенного параметра.
  2. Несколько октет параметр TCP, который состоит из типа параметра, длина параметра и серии параметр октетов.
Следующий список содержит каждый тип параметра TCP, длину, имя и описание.
Тип: 0
Длина: 1
Параметр: Конец списка параметров
Описание: Используется, когда требуется заполнение для последнего параметра TCP.

Тип: 1
Длина: 1
Вариант: Ни одна из операций
Описание: Используется, когда требуется заполнение и дополнительные параметры TCP, выполните в одном пакете.

Тип: 2
Длина: 4
Параметр: Максимальный размер сегмента
Описание: Указывает максимальный размер сегмента TCP, который может передаваться по сети.

Тип: 3
Длина: 3
Параметр: Параметр масштаба окна
Описание: Указывает масштабный коэффициент, используемый при использовании размеры окна, размер которых превышает 64 КБ.

Тип: 8
Длина: 10
Вариант: Параметр штампа времени
Описание: Используются для расчета времени кругового (RTT) передано пакетов.

Тип: 4
Длина: 2
Вариант: Разрешенные SACK TCP
Описание: Информирует других узлов, разрешенных избирательные подтверждения.

Тип: 5
Длина: зависит от
Вариант: Параметр SACK TCP
Описание: Используется узлами для идентификации ли порядку пакеты были получены.

Масштабирование Windows

Более эффективное использование высокой пропускной способностью сети может использоваться больший размер окна TCP. В поле размер окна TCP управляет потоком данных и ограничена 2 байта или размер окна 65535 байт.

Поскольку размер поля не могут быть расширены, используется коэффициент масштабирования. Масштабирование окна TCP — это параметр позволяет увеличить максимальный размер окна из 65535 байт до 1 гигабайт.

Параметр масштаба окна используется только при установлении соединения TCP способом 3. Значение масштаба окна представляет число битов в поле размер окна 16-разрядные сдвигом влево. Значение масштаба окна можно задать от 0 (нет shift) до 14.

Чтобы вычислить размер окна значение true, умножьте размер окна 2 ^ S, где S — значение масштаба.
Например:
Если размер окна составляет 65535 байтов с коэффициент масштабирования окна 3.
True, размер окна = 65535 * 2 ^ 3
True, размер окна = 524280
Следующую трассировку сетевого монитора показывает, как использовать параметр масштаба окна:
TCP:....S. len:0, seq:725163-725163, ack:0, win: 65535, src:1217 dst:139(NBT Session)
TCP: Исходный порт = 0x04C1
TCP: Назначение порта = службы сеанса NETBIOS
TCP: Порядковый номер = 725163 (0xB10AB)
TCP: Номер подтверждения = 0 (0x0)
TCP: Смещение данных = 44 (0x2C)
TCP: Зарезервировано = 0 (0x0000)
+ TCP: Флаги = 0x02:....S.
TCP: Окно = 65535 (0xFFFF)
TCP: Контрольной суммы = 0x8565
TCP: Указатель срочности = 0 (0x0)
TCP: параметры
+ TCP: Параметр размер сегмента максимум
TCP: Nop параметр = 1 (0x1)
TCP: Параметр масштабирование окна
TCP: Тип параметра = Масштаб окна
TCP: Длина параметра = 3 (0x3)
TCP: Масштабирование окна = 3 (0x3)

TCP: Nop параметр = 1 (0x1)
TCP: Nop параметр = 1 (0x1)
+ TCP: Параметр штампы времени
TCP: Nop параметр = 1 (0x1)
TCP: Nop параметр = 1 (0x1)
+ TCP: Разрешен параметр SACK
Важно отметить, что размер окна, используемый в фактических 3-х проходного не масштабируется размер окна. Приходящихся на RFC 1323 раздел 2.2, "В поле окна SYN (например, [SYN] или [SYN ACK]) сам сегмент никогда не масштабируется.»

Это означает, что первый пакет данных, отправленных после 3-х проходного размер окна. Если коэффициент масштабирования, всегда используется размер первоначального окна 65535 байтов. Размер окна затем умножается на коэффициент масштабирования в 3-х проходного. В приведенной ниже таблице представляет масштабный коэффициент границы для различных размеров окна.

Свернуть эту таблицуРазвернуть эту таблицу
Коэффициент масштабированияЗначение масштабаНачальное окноОкно масштабирования
01не более 65 535не более 65 535
1265535131,070
2465535262,140
3865535524,280
416655351,048,560
532655352,097,120
664655354,194,240
7128655358,388,480
82566553516,776,960
95126553533,553,920
1010246553567,107,840
11204865535134,215,680
12409665535268,431,360
13819265535536,862,720
1416384655351,073,725,440

Например:

Если размер окна в реестр вводится как 269000000 (269 М) в десятичном формате, коэффициент масштабирования во время 3-х проходного 13, так как позволяет только масштабный коэффициент 12, размер окна до 268,431,360 байт (268 M).

Размер первоначального окна в этом примере вычисляется следующим образом:
65535 байтов с коэффициент масштабирования окна 13 лет.
True, размер окна = 65535 * 2 ^ 13
True, размер окна = 536,862,720
Если значение для размера окна добавляется в реестр и его размер больше, чем значение по умолчанию, Windows пытается использовать значение масштаба, чтобы разместить новый размер окна.

Значение Tcp1323Opts в следующем разделе реестра могут добавляться для управления масштабирования окон и штампа времени:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters
  1. На панели инструментов нажмите Начало, нажмите кнопку Запустить, а затем введите Regedit для запуска редактора реестра.
  2. В редакторе реестра выберите Редактирование, выберите пункт Новый, а затем нажмите кнопку Значение типа DWORD.
  3. В Новое значение поле типа Tcp1323Opts, нажмите клавишу ВВЕДИТЕ, а затем на Редактирование меню, нажмите кнопку Изменить.Примечание Допустимый диапазон значений: 0,1,2 или 3 where:
0 (отключить параметры RFC 1323)
1 (включено только масштаб окна)
2 (включено только временные метки)
3 (оба параметра включены)
Этот параметр реестра контролирует RFC 1323 отметки времени и параметры масштабирования окна. Штампы времени и масштабирование окон включена по умолчанию, но может управляться с помощью битов флагов. Бит 0 элементов управления окна масштабирования и бит 1 штампы времени элементы управления.

Штампы времени

Ранее в стеке TCP/IP для каждого окна данных, передаваемых для расчета времени кругового (RTT) использовать один пример. Timer (таймер повтора передачи) был установлен при отправке пакета, пока не будет получено подтверждение. Например если размер окна 64,240 байт (44 полный сегментов) в сети Ethernet, только один из каждого 44 пакеты использовались пересчитать время цикла обработки. Эта частота дискретизации с максимальный размер окна 65535 байт, несущественно. С помощью окна масштабирования и максимальный размер окна 1 гигабайт, эта частота дискретизации RTT недостаточно.

Параметр штампа времени TCP может теперь быть будет использоваться на сегменты (ACK и данных), разрешенными стека для выполнения операций, таких как вычисление времени приема-Передачи, проверки ЛАПАМИ и т. д. Используя эти данные, время приема-Передачи можно точно рассчитать размеры окон большого размера. Время приема-Передачи используется для вычисления интервалов повторной передачи. Точное время приема-Передачи и повторной передачи таймаутов необходимы для достижения оптимальной производительности.

При использовании штампа времени TCP в сеанс TCP инициатора сеанса отправляет параметр в его первого пакета три способа подтверждения TCP (SYN пакет). Обе стороны можно использовать параметр «TCP» во время сеанса.

Параметр TCP отметок времени (TSopt):

Свернуть эту таблицуРазвернуть эту таблицу
Тип = 8Длина = 10Значение сервера Терминалов (Tsval)СТ эхо (Tsecr)
1 байт1 байт4 байта4 байта

Параметр поля штампа времени могут просматриваться в трассировку сетевого монитора, развернув в поле параметры TCP, как показано ниже:
TCP: Временные метки параметра
TCP: Тип параметра = метки времени
TCP: Длина параметра = 10 (0xA)
TCP: Штампа времени = 2525186 (0x268802)
TCP: Ответ штампа времени = 1823192 (0x1BD1D8)

Защита от перенесенного порядковые номера (ЛАПАМИ)

Поле номера последовательности TCP ограничен 32 бита, что ограничивает количество доступных последовательности номеров. С высокой емкости сети и передачи данных большого размера оболочки порядковые номера перед проходящий сети. При отправке данных на 1 гига байт на второй сети (Гбит/С), в до 34 секунды удалось вокруг порядковые номера. При задержке пакет различных пакетов может потенциально существует один и тот же порядковый номер. Во избежание путаницы в случае возникновения дублирующихся порядковые номера штампа времени TCP используется в качестве расширения порядковый номер. Пакеты имеют метки времени текущего и progressing. Старый пакет имеет старую штамп времени и будет проигнорирован.

Избирательные подтверждения (SACKs)

Windows обеспечивает поддержку для функции производительности, известные как избирательные подтверждения или SACK. Особенно важно для подключений, использующих больших размеров окна TCP SACK. До SACK получатель может только подтверждения последний порядковый номер потока непрерывных данных, который получен или «левой» окна приема. Параметр SACK включен получатель продолжает использовать номер Подтверждения подтверждения левого края окна приема, но он может также подтвердить других блоков полученных данных по отдельности. Параметр SACK использует параметры заголовка TCP, как показано ниже.

Параметр SACK используется два типа параметров TCP.

Параметр TCP Sack-Permitted используется только в пакет SYN (во время подключения TCP) для указания того, что его можно выполнить выборочное подтверждение приема.

Второй параметр TCP параметра Sack TCP, содержит подтверждение получения одного или нескольких блоков данных. Блоки данных определяются с помощью порядкового номера, в начале и в конце блока данных. Это также называется левым и правым краем блока данных.

Параметр TCP Sack-Permitted является 4, 5 тип параметра Sack TCP. Длина имеет длину в байтах этого параметра TCP.

Разрешенные TCP Sack:

Свернуть эту таблицуРазвернуть эту таблицу
Тип = 4Длина = 2
1 байт1 байт

Параметр SACK TCP:

Свернуть эту таблицуРазвернуть эту таблицу
Тип = 5Длина = переменная
1 байтЛевый край 1 блок для правого края 1 блок
...
Левому краю n-й степени блокировать к правому краю n-ый блок

С помощью параметра SACK включен (по умолчанию), можно удалить пакет или набор пакетов, и получатель информирует отправителя, какие данные были получены, и там, где это может быть «дыр» в данных. Отправитель может выборочно предпринимаемых отсутствующие данные без повторной передачи блоков данных, которые уже были успешно получены. Параметр SACK контролируется параметром реестра SackOpts.

Для управления использованием избирательные подтверждения можно редактировать значение SackOpts в следующем разделе реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  1. На панели инструментов нажмите Начало, нажмите кнопку Запустить, а затем введите Regedit для запуска редактора реестра.
  2. Найдите и выберите раздел в редакторе реестра, выше и нажмите кнопку Изменить В меню Редактирование меню.
  3. Введите нужное значение в Значение данных поле.
ПРИМЕЧАНИЕ: Допустимый двоичное значение 0 или 1, значение по умолчанию равно 1. Этот параметр определяет, наличие или отсутствие поддержки избирательные Подтверждения (SACK - RFC 2018) включен.

Следующую трассировку сетевого монитора показана хоста, подтверждающие все данные вплоть до номера последовательности 54857341, а также данные из порядковый номер 54858789-54861685. Отсутствующие данные — от 54857341 до 54858788.
TCP:.A...., len:0, seq:925104-925104, ack:54857341, win: 32722, src:1242 dst:139
TCP: Исходный порт = 0x04DA
TCP: Назначение порта = службы сеанса NETBIOS
TCP: Порядковый номер = 925104 (0xE1DB0)
TCP: Номер подтверждения = 54857341 (0x3450E7D)
TCP: Смещение данных = 44 (0x2C)
TCP: Зарезервировано = 0 (0x0000)
+ TCP: Флаги = 0x10:.A....
TCP: Окно = 32722 (0x7FD2)
TCP: Контрольной суммы = 0x4A72
TCP: Указатель срочности = 0 (0x0)
TCP: параметры
TCP: Nop параметр = 1 (0x1)
TCP: Nop параметр = 1 (0x1)
+ TCP: Параметр штампы времени
TCP: Nop параметр = 1 (0x1)
TCP: Nop параметр = 1 (0x1)
TCP: Параметр SACK
TCP: Тип параметра = 0x05
TCP: Длина параметра = 10 (0xA)
TCP: Левый край блока = 54858789 (0x3451425)
TCP: Правый край блока = 54861685 (0x3451F75)

Поведение при повторной отправке TCP и fast предпринимаемых

При повторной отправке TCP

Просмотр передач обычного поведения, как TCP запускает таймер повторной отправки после каждого исходящего сегмента передается для протокола Интернета (IP). Если было получено не подтверждения для данных в данном сегменте до истечения срока действия таймера, сегмент передается заново.

Таймаут повторной передачи (RTO) постоянно корректируется в соответствии с характеристики подключения, с помощью вычисления размываются время цикла обработки (SRTT), как описано в документе RFC 793. Таймер для данного сегмента удваивается после каждой повторной отправке сегмента. С помощью этого алгоритма, TCP самостоятельную обычный задержка подключения.

Быстрой передачи

Протокол TCP пересылает данные до истечения срока действия таймера повторов передач при некоторых обстоятельствах. Наиболее распространенные из них возникает из-за функция называется быстрым повтора передачи. Когда получатель, который поддерживает быстрое переправляет получает данные с порядковым номером за пределами текущей ожидаемому и то, скорее всего, некоторые данные, был удален. Чтобы уведомить отправителя данного события, получатель немедленно отправляет подтверждение, с Опозданием номеров равным порядковый номер, который он ожидал. Чтобы сделать это для каждого дополнительного сегмента TCP, приходящее будет продолжена. Когда узел-отправитель начинает получать поток ACK, подтверждающие один и тот же порядковый номер, вполне вероятно, что сегмент был удален. Отправитель будет немедленно переслать сегмент, который ожидается получателю, не ожидая истечения срока действия таймера повторов передач. Эта оптимизация значительно повышает быстродействие при пакетов часто удаляются.

Повторно по умолчанию Windows отправляет сегмент при получении три ACK один и тот же порядковый номер (один ACK и 2 дубликатов) и что задержка номера последовательности текущей. Это управляемое с помощью параметра реестра TcpMaxDupAcks.

Значение TcpMaxDupAcks в следующем разделе реестра можно изменять для управления переправляет номер подтверждения, необходимые для запуска быстрым:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  1. На панели инструментов нажмите Начало, нажмите кнопку Запустить, а затем введите Regedit для запуска редактора реестра.
  2. Найдите и выберите раздел в редакторе реестра, выше и нажмите кнопку Изменить В меню Редактирование меню.
  3. Введите нужное значение в Значение данных поле.
ПРИМЕЧАНИЕ: Допустимый диапазон составляет 1-3, значение по умолчанию равно 2.

Этот параметр определяет количество повторяющихся ACK, которые должны быть получены для одного номера последовательности данных, отправленных до «быстрое предпринимаемых» запускается для повторной отправки сегмента, была удалена в общественном транспорте.

Свойства

Код статьи: 224829 - Последний отзыв: 4 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • операционная система Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
Ключевые слова: 
kbenv kbinfo kbnetwork kbmt KB224829 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:224829

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com