- Настройка фильтрации TCP/IP в Windows Server 2003
- Аннотация
- Настройка безопасности TCP/IP в Windows Server 2003
- Настройка безопасности TCP/IP в Windows Small Business Server 2003
- Ссылки
- Описание функций Windows TCP
- Аннотация
- Размер окна TCP
- Параметры TCP теперь поддерживаются
- Масштабирование Windows
- Timestamps
- Защита от завернутой последовательности номеров (PAWS)
- Селективные подтверждения (SACKs)
- Поведение ретрансмиссии TCP и быстрая перетрансмиссия
- Ретрансмиссия TCP
- Быстрый перетрансмит
Настройка фильтрации TCP/IP в Windows Server 2003
В этой статье описывается настройка фильтрации TCP/IP на компьютерах с Microsoft Windows 2003.
Исходная версия продукта: Windows Server 2003
Исходный номер КБ: 816792
Аннотация
Компьютеры под управлением Windows 2003 поддерживают несколько методов управления входным доступом. Один из самых простых и наиболее мощных методов управления входным доступом — использование функции фильтрации TCP/IP. Фильтрация TCP/IP доступна на всех компьютерах с Windows 2003.
Фильтрация TCP/IP помогает в обеспечении безопасности, так как она работает в режиме ядра. Другие методы управления входным доступом к компьютерам под управлением Windows 2003, например с помощью фильтра политики IPSec и сервера маршрутизации и удаленного доступа, зависят от процессов пользовательского режима или рабочих станций и серверов.
Вы можете использовать схему управления входным доступом TCP/IP с помощью фильтрации TCP/IP с фильтрами IPSec и фильтрацией пакетов маршрутов и удаленного доступа. Этот подход особенно полезен, если вы хотите контролировать как входящий, так и исходящие доступ по TCP/IP, так как только безопасность TCP/IP контролирует только входящий доступ.
Фильтрация TCP/IP может фильтровать только входящий трафик и не может блокировать сообщения ICMP (Протокол сообщений управления интернетом), независимо от параметров, настроенных в столбце «Разрешить только IP-протоколы» или если вы не разрешаете протокол 1. Используйте политики IPSec или фильтрацию пакетов, если вам требуется дополнительный контроль над исходящие доступ.
Рекомендуется использовать мастер настройки электронной почты и подключения к Интернету на компьютерах на основе SBS 2003 с двумя сетевыми адаптерами, а затем включить параметр брандмауэра, а затем открыть необходимые порты на внешнем сетевом адаптере. Для получения дополнительных сведений о мастере настройки электронной почты и подключения к Интернету выберите «Начните» и выберите «Справка и поддержка». В поле поиска введите «Настройка электронной почты и мастера подключения к Интернету» и выберите «Начать поиск». Сведения о мастере настройки электронной почты и подключения к Интернету можно найти в списке результатов «Разделы о малом бизнес-сервере».
Настройка безопасности TCP/IP в Windows Server 2003
Чтобы настроить безопасность TCP/IP:
Выберите «Начните», «На панели управления»,«Сетевые подключения» и выберите подключение к локальной сети, которое нужно настроить.
В диалоговом окне «Состояние подключения» выберите «Свойства».
Выберите протокол Интернета (TCP/IP) и выберите «Свойства».
В диалоговом окне «Свойства TCP/IP» выберите «Дополнительные».
Выберите Параметры.
В области «Необязательные параметры» выберите фильтр TCP/IP, а затем выберите «Свойства».
Щелкните, чтобы включить TCP/IP-фильтрацию (все адаптеры).
При выборе этого фильтра включается фильтрация для всех адапторов, но фильтры настраиваются отдельно для каждого адаптера. Одинаковые фильтры применяются не для всех адапторов.
В диалоговом окне «Фильтрация TCP/IP» есть три раздела, в которых можно настроить фильтрацию для TCP-портов, портов UDP и интернет-протоколов. Для каждого раздела настройте параметры безопасности, соответствующие компьютеру.
При активации разрешения «Все» разрешается все пакеты для трафика TCP или UDP. Разрешить только позволяет разрешить только выбранный трафик TCP или UDP, добавив разрешенные порты. Чтобы указать порты, используйте кнопку «Добавить». Чтобы заблокировать весь трафик UDP или TCP, выберите «Только разрешение», но не добавляйте номера портов в столбце «Порты UDP» или «Порты TCP». Трафик UDP или TCP нельзя заблокировать, выбрав «Разрешить только для ip-протоколов» и исключив протоколы IP 6 и 17.
Настройка безопасности TCP/IP в Windows Small Business Server 2003
Чтобы настроить фильтрацию TCP/IP, выполните следующие действия.
Для выполнения этой процедуры необходимо быть членом группы администраторов или группы «Операторы конфигурации сети» на локальном компьютере.
Выберите «Начните» и выберите пункт «Панель управления», щелкните правой кнопкой мыши «Сетевые подключения» и выберите «Открыть».
Щелкните правой кнопкой мыши сетевое подключение, в котором необходимо настроить управление входным доступом, а затем выберите «Свойства».
Under adaptorName Connection Properties on the General tab, select Internet Protocol (TCP/IP), and then select Properties.
В диалоговом окне «Свойства TCP/IP» выберите «Дополнительные».
Выберите вкладку «Параметры».
Выберите фильтр TCP/IP, а затем выберите «Свойства».
Щелкните, чтобы включить TCP/IP-фильтрацию (все адаптеры).
При выборе этого фильтра включается фильтрация для всех адапторов. Однако конфигурация фильтра должна быть завершена на каждом адаптере. Если включена фильтрация TCP/IP, вы можете настроить каждый адаптер, выбрав параметр «Разрешить все», или разрешить прием входящие подключения только для определенных протоколов IP, TCP-портов и портов UDP .Datagram Protocol. Например, если включить фильтрацию TCP/IP и настроить внешний сетевой адаптер для разрешения только порта 80, это позволит внешнему сетевому адаптеру принимать только веб-трафик. Если для внутреннего сетевого адаптера также включена фильтрация TCP/IP, но выбран параметр «Разрешить все», это обеспечивает неограниченное взаимодействие на внутреннем сетевом адаптере.
В области фильтрации TCP/IP есть три столбца со следующими метами:
В каждом столбце необходимо выбрать один из следующих параметров:
- Разрешить все. Выберите этот параметр, если необходимо разрешить все пакеты для трафика TCP или UDP.
- Разрешить только. Выберите этот параметр, если необходимо разрешить только выбранный трафик TCP или UDP, выберите «Добавить», а затем введите соответствующий порт или номер протокола в диалоговом окне «Добавление фильтра». Трафик UDP или TCP нельзя заблокировать, выбрав «Разрешить только» в столбце «Протоколы IP», а затем добавив ip-протоколы 6 и 17.
Сообщения ICMP блокировать нельзя, даже если в столбце «Протоколы IP» выбрано разрешение «Разрешить» и не включен протокол IP 1.
Фильтрация TCP/IP может фильтровать только входящий трафик. Эта функция не влияет на исходящие трафик и порты ответа TCP, созданные для принятие ответов от исходящие запросы. Используйте политики IPSec или маршрутику и фильтрацию пакетов удаленного доступа, если требуется дополнительный контроль над исходяным доступом.
Если выбрать «Разрешить только в портах UDP», «TCP-порты» или в столбце «Протоколы IP», а списки будут оставлены пустыми, сетевой адаптер не сможет взаимодействовать ни с чем по сети, ни локально, ни с Интернетом.
Ссылки
Дополнительные сведения о номерах портов TCP и UDP см. в реестре имен служб и номеров портов транспортного протокола.
Описание функций Windows TCP
В этой статье описываются функции TCP в Windows.
Оригинальная версия продукта: Windows 10 — все выпуски, Windows Server 2012 R2
Исходный номер КБ: 224829
Аннотация
В этой статье описываются следующие функции TCP в Windows:
- Размер окна TCP
- Параметры TCP теперь поддерживаются
- Масштабирование Windows — RFC 1323
- Timestamp — RFC 1323
- Защита от завернутой последовательности номеров (PAWS)
- Селективные подтверждения (SACKS) — RFC 2018
- Поведение ретрансмиссии TCP и быстрая перетрансмиссия
Функции TCP можно изменить, изменив записи в реестре.
В следующих разделах, методах или задачах содержатся действия, которые содержат информацию о том, как изменить реестр. Однако неправильное изменение параметров реестра может привести к возникновению серьезных проблем. Поэтому следует в точности выполнять приведенные инструкции. Для дополнительной защиты создайте резервную копию реестра, прежде чем редактировать его. Так вы сможете восстановить реестр, если возникнет проблема. Дополнительные сведения о том, как создать и восстановить реестр, щелкните следующий номер статьи, чтобы просмотреть статью в базе знаний Майкрософт:
322756 Создание резервной копии и восстановление реестра Windows
Размер окна TCP
Размер окна получения TCP — это объем получаемой информации (в bytes), который можно буферить во время подключения. Отправитель может отправлять только такой объем данных, прежде чем ждать подтверждения и обновления окна от принимающего хоста. Стек Windows TCP/IP предназначен для самонастройки в большинстве сред и использует более крупные размеры окон по умолчанию, чем предыдущие версии.
Вместо использования жестко закодируемого по умолчанию размера окна TCP настраивается даже на приращения максимального размера сегмента (MSS). MsS обсуждается во время установки подключения. Настройка окна получения даже с увеличением msS увеличивает процент полноразмысных сегментов TCP, используемых при массовой передаче данных.
Размер окна получения определяется следующим образом:
- Первый запрос на подключение, отправленный удаленному хосту, рекламирует размер окна получения 16K (16 384 bytes).
- Когда подключение установлено, размер окна получения округление до даже приращения MSS.
- Размер окна регулируется в четыре раза больше, чем msS, до максимального размера 64 K, если не используется параметр масштабирования окна (RFC 1323).
См. раздел «Масштабирование Windows».
Для подключений Ethernet размер окна обычно устанавливается до 17 520 bytes (16K округляется до двенадцати сегментов 1460-byte). Размер окна может уменьшаться при подключении к компьютеру, поддерживаюшем расширенные параметры головы TCP, например селективные подтверждения (SACKS) и Timestamps. Эти два параметра увеличивают размер заготавлика TCP более чем до 20 bytes, что приводит к меньшему объему данных.
В предыдущих версиях Windows NT размер окна для подключения Ethernet был 8760 bytes, или шесть сегментов 1460-byte.
Чтобы установить размер окна получения к определенному значению, добавьте значение TcpWindowSize в подкойте реестра, определенное вашей версии Windows. Для этого выполните указанные ниже действия.
Выберите > запуск, Regedit введите, а затем выберите ОК.
Расширение подкоя реестра, определенного для вашей версии Windows:
Для Windows 2000 развяжите следующую подкою: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
В Windows Server 2003 развяжите следующую подкою: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
В меню Редактирование указать значение New, а затем выберите значение DWORD.
Введите TcpWindowSize поле «Новое значение» и нажмите кнопку Ввод
Выберите Изменение в меню Изменить.
Введите нужный размер окна в поле данных Value.
Допустимый диапазон для размера окна — 0-0x3FFFC000 hexadecimal.
Это значение по умолчанию не присутствует. При добавлении значения TcpWindowSize оно переопределяет алгоритм размера окна по умолчанию, рассмотренный выше.
TcpWindowSize также можно добавить в ключ Параметры, чтобы глобально установить размер окна для всех интерфейсов.
Параметры TCP теперь поддерживаются
Ранее параметры TCP использовались в основном для ведения переговоров о максимальных размерах сегмента. В Windows параметры TCP используются для масштабирования окон, штампа времени и выборочного ACK.
Существует два типа параметров TCP:
- Один параметр TCP octet, который используется для указать определенный вид параметра.
- Параметр TCP с несколькими октетами, состоящий из вида параметра, длины параметра и ряда октетов параметра.
В следующем списке показаны вид, длина, имя и описание каждого варианта TCP.
Вид: 0
Длина: 1
Вариант: Конец списка опций
Описание. Используется при заполнении последнего параметра TCP.
Вид: 1
Длина: 1
Параметр: Без операции
Описание. Используется при необходимости заполнения, и в одном пакете следуют дополнительные параметры TCP.
Вид: 2
Длина: 4
Параметр: Максимальный размер сегмента
Описание. Указывает максимальный размер сегмента TCP, который можно отправить по сети.
Вид: 3
Длина: 3
Параметр: Параметр масштабирования окна
Описание. Определяет фактор масштабирования, который будет использоваться при использовании размеров окна больше 64k.
Вид: 8
Длина: 10
Параметр: Параметр «Печать времени»
Описание. Используется для вычисления времени круговой поездки (RTT) передаваемых пакетов.
Вид: 4
Длина: 2
Вариант: разрешенО TCP SACK
Описание. Информирует других хостов о том, что разрешены выборочные Acks.
Вид: 5
Длина: изменяется
Вариант: параметр TCP SACK
Описание. Используется хостами для определения того, были ли получены неупорядоченные пакеты.
Масштабирование Windows
Для более эффективного использования сетей с высокой пропускной способностью можно использовать больший размер окна TCP. Поле размеров окна TCP управляет потоком данных и ограничено 2-ми bytes или размером окна 65 535 bytes.
Так как поле размеров не может быть расширено, используется фактор масштабирования. Шкала окна TCP — это параметр, используемый для увеличения максимального размера окна с 65 535 бет до 1 гигабайта.
Параметр масштабирования окна используется только при трехшаговом рукопожатии TCP. Значение масштабирования окна представляет количество битов для переноса влево 16-битного поля размера окна. Значение масштабирования окна можно установить с 0 (без переноса) до 14.
Чтобы вычислить истинный размер окна, умножьте размер окна на 2^S, где S — это значение масштабирования.
Если размер окна 65 535 bytes с коэффициентом масштабирования окна 3.
True window size = 65535*2^3
Истинный размер окна = 524280
Следующий след сетевого монитора показывает, как используется параметр масштабирования окна:
Размер окна, используемый в фактическом трехшаговом рукопожатии, не является масштабным размером окна в разделе 2.2 RFC 1323:
«Поле Окно в syn (например, сегмент [SYN] или [SYN,ACK]) никогда не масштабируется».
Это означает, что первый пакет данных, отправленный после трехнаправного рукопожатия, является фактическим размером окна. Если есть фактор масштабирования, всегда используется начальный размер окна в 65 535 bytes. Затем размер окна умножается на коэффициент масштабирования, идентифицированный в трехшаговом рукопожатии. В таблице ниже представлены границы коэффициента масштабирования для различных размеров окна.
Фактор масштабирования | Масштабное значение | Начальное окно | Масштабировать окно |
---|---|---|---|
0 | 1 | 65535 или менее | 65535 или менее |
1 | 2 | 65535 | 131,070 |
2 | 4 | 65535 | 262,140 |
3 | 8 | 65535 | 524,280 |
4 | 16 | 65535 | 1,048,560 |
5 | 32 | 65535 | 2,097,120 |
6 | 64 | 65535 | 4,194,240 |
7 | 128 | 65535 | 8,388,480 |
8 | 256 | 65535 | 16,776,960 |
9 | 512 | 65535 | 33,553,920 |
10 | 1024 | 65535 | 67,107,840 |
11 | 2048 | 65535 | 134,215,680 |
12 | 4096 | 65535 | 268,431,360 |
13 | 8192 | 65535 | 536,862,720 |
14 | 16384 | 65535 | 1,073,725,440 |
Если размер окна в реестре вошел как 2690000000 (269M) в десятичной, то коэффициент масштабирования при трехстолевом рукопожатии составляет 13. Коэффициент масштабирования 12 позволяет только размер окна до 268 431 360 bytes (268M).
Начальный размер окна в этом примере будет вычисляться следующим образом:
65 535 bytes с коэффициентом масштабирования окна 13.
True window size = 65535*2^13
True window size = 536,862,720
Когда значение для размера окна добавляется в реестр и его размер превышает значение по умолчанию, Windows пытается использовать значение масштабирования, которое вмещает новый размер окна.
Значение Tcp1323Opts в следующем ключе реестра можно добавить для управления масштабированием окон и временем:
На панели инструментов выберите Запуск запуска и введите для > Regedit запуска редактора реестра.
В редакторе реестра выберите Изменить, указать на Новое, а затем выбрать значение DWORD.
В поле «Новое значение» введите кнопку ВВОД, а затем в Tcp1323Opts меню Изменить выберите Изменение.
Допустимый диапазон: 0, 1, 2 или 3, где:
0 (отключить параметры RFC 1323)
1 (только включена шкала окна)
2 (только включено время)
3 (включено оба варианта)
Эта запись реестра управляет 1323 разами RFC и параметрами масштабирования окон. Время и масштабирование окна включены по умолчанию, но ими можно управлять с помощью битов флага. Bit 0 управляет масштабированием окон. Bit 1 управляет временем.
Timestamps
Ранее в Стеке TCP/IP использовался один пример на окно данных, отправленных для вычисления времени в пути (RTT). При отправлении пакета был задат timer (retransmit timer) до тех пор, пока не будет получено подтверждение. Например, если размер окна в сети Ethernet составляет 64 240 bytes (44 полных сегмента), для пересчета времени в обратном пути использовался только один из 44 пакетов. С максимальным размером окна 65 535 bytes, этого коэффициента выборки было достаточно. С помощью масштабирования окна и максимального размера окна в 1 гигабайт этот показатель выборки RTT является недостаточным.
Теперь параметр TCP Timestamp можно использовать в сегментах (данные и ACK), которые считаются подходящими для стека, для операций, таких как:
С помощью этих данных RTT можно точно рассчитать с помощью больших размеров окна. RTT используется для вычисления интервалов ретрансмиссии. Для оптимальной пропускной способности необходимы точные перерывы в RTT и ретрансмиссии.
Когда в сеансе TCP используется штамп времени TCP, отправитель сеанса отправляет параметр в своем первом пакете трехсторонней рукопожатия TCP (пакет SYN). Затем любая сторона может использовать параметр TCP во время сеанса.
TCP Timestamps Option (TSopt):
Вид = 8 | Длина = 10 | TS Value (Tsval) | TS Echo Reply (Tsecr) |
---|---|---|---|
1 байт | 1 байт | 4 байта | 4 байта |
Поле параметра timestamp можно просмотреть в следе сетевого монитора, расширив поле параметров TCP, как показано ниже:
Защита от завернутой последовательности номеров (PAWS)
Поле номеров последовательности TCP ограничено 32 битами, что ограничивает количество доступных номеров последовательности. С высокой пропускной способностью сетей и большой передачи данных, можно обернуть номера последовательности, прежде чем пакет проходит по сети. Если отправлять данные по одной сети Giga-byte в секунду (Gbps), номера последовательности могут обертывание всего за 34 секунды. Если пакет задерживается, потенциально может существовать другой пакет с одинаковым номером последовательности. Чтобы избежать путаницы с дублирующими номерами последовательности, timestamp TCP используется в качестве расширения к номеру последовательности. Пакеты имеют текущие и прогрессивные отметки времени. Старый пакет имеет более старый штамп времени и удаляется.
Селективные подтверждения (SACKs)
Windows вводит поддержку функции производительности, известной как Селективное подтверждение или SACK. SACK особенно важен для подключений с большими размерами окна TCP. Перед SACK приемник мог подтвердить только последний номер последовательности полученного потока данных или «левый край» окна получения. С включенной поддержкой SACK приемник продолжает использовать номер ACK для подтверждения левого края окна получения, но он также может признавать другие блоки полученных данных по отдельности. SACK использует параметры загона TCP, как показано ниже.
SACK использует два типа TCP Options.
Параметр TCP Sack-Permitted используется только в пакете SYN (во время создания подключения TCP), чтобы указать, что он может делать выборочный ACK.
Второй параметр TCP — TCP Sack Option — содержит подтверждение для одного или нескольких блоков данных. Блоки данных идентифицированы с помощью номера последовательности в начале и в конце этого блока данных. Он также известен как левый и правый край блока данных.
Kind 4 — это параметр TCP Sack-Permitted. Вид 5 — это параметр TCP Sack. Длина — это длина в bytes этого параметра TCP.
Tcp SACK разрешено:
Вид = 4 | Длина = 2 |
---|---|
1 байт | 1 байт |
Параметр Tcp SACK:
Вид = 5 | Длина = переменная |
---|---|
1 байт | Левый край первого блока до правого края первого блока . Левый край блока Nth к правому краю блока Nth |
С включенной поддержкой SACK (по умолчанию) пакет или серия пакетов могут быть отброшены. Приемник сообщает отправителю, какие данные получены и где могут быть «дыры» в данных. Затем отправитель может выборочно перенаправить недостающие данные без повторной передачи уже успешно полученных блоков данных. SACK контролируется параметром реестра SackOpts.
Значение SackOpts в следующем ключе реестра можно изменить, чтобы контролировать использование селективных подтверждений:
- На панели инструментов выберите Запуск запуска и введите для >Regedit запуска редактора реестра.
- Найдите и выберите вышеуказанный ключ в редакторе реестра, а затем выберите Изменение в меню Редактирование.
- Введите нужное значение в поле данных Value.
Допустимо двоичное значение — 0 или 1, по умолчанию — 1. Этот параметр контролирует, включена ли поддержка селективного ACK (SACK — RFC 2018).
Следующий след сетевого монитора иллюстрирует хост, который подтверждает все данные до номера последовательности 54857341, а также данные из последовательности номер 54858789-54861685. Отсутствующие данные от 54857341 до 548587888.
Поведение ретрансмиссии TCP и быстрая перетрансмиссия
Ретрансмиссия TCP
В качестве обзора нормального поведения ретрансмиссии TCP запускает ретрансмиссию, когда каждый исходящие сегменты передаются в Протокол Интернета (IP). Если подтверждения данных в данном сегменте до истечения срока действия времени не получено, сегмент повторно передается.
Время перерасчета (RTO) непрерывно корректируется в соответствие с характеристиками подключения с помощью расчетов Сглаженное время в пути (SRTT), как описано в RFC 793. После каждой повторной передачи этого сегмента время от времени для данного сегмента удваивается. С помощью этого алгоритма TCP настраивает себя на нормальную задержку подключения.
Быстрый перетрансмит
TCP повторно передает данные до истечения срока действия времени ретрансмиссии при некоторых обстоятельствах. Наиболее распространенной причиной является функция, известная как быстрая перенаторка. Когда приемник, который поддерживает быстрый перетрансмит, получает данные с номером последовательности, превысят текущий ожидаемый, некоторые данные, скорее всего, будут отброшены. Чтобы сообщить отправительу об этом событии, приемник немедленно отправляет ACK с номером ACK на ожидаемом номере последовательности. Он будет продолжать делать это для каждого дополнительного сегмента TCP, который приходит. Когда отправитель начинает получать поток acKs с одним и тем же номером последовательности, сегмент может быть отброшен. Отправитель немедленно повторно отправляет сегмент, который ожидает приемник, не дожидаясь истечения срока действия времени ретрансмиссии. Эта оптимизация значительно повышает производительность при частом сбросе пакетов.
По умолчанию Windows повторно передает сегмент в следующих условиях:
- Он получает три acKs для одного номера последовательности: один ACK и два дубликата.
- Номер последовательности отстает от текущего.
Это поведение можно контролировать с помощью TcpMaxDupAcks параметра реестра.
Значение TcpMaxDupAcks в следующем ключе реестра можно изменить, чтобы контролировать количество acKs, необходимых для запуска быстрых переадтрансмитов:
- На панели инструментов выберите Запуск запуска и введите для >Regedit запуска редактора реестра.
- Найдите и выберите вышеуказанный ключ в редакторе реестра, а затем выберите Изменение в меню Редактирование.
- Введите нужное значение в поле данных Value.
Допустимый диапазон 1-3, значение по умолчанию — 2.
Этот параметр определяет количество дубликатов acKs, которые должны быть получены для того же количества отправленных данных последовательности, прежде чем запускается для повторного повторного запуска сегмента, который был отброшен fast retransmit в пути.