Теперь давайте рассмотрим параметры реестра, относящиеся к настройке стека TCP/IP, которые нельзя изменить с помощью стандартных диалогов Windows XP. Все эти параметры расположены в ветви реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters и имеют тип REG_DWORD.
• ArpCacheLife. Значение данного параметра определяет время жизни записей ARP-кэша. ARP-кэш содержит в себе соответствия между IP-адресами компьютеров, подключенных к сети и участвовавших в соединении с данным компьютером, и их MAC-адресами сетевых адаптеров.
• DeadGWDetectDefault. Данный параметр определяет, разрешено ли системе выполнять проверку доступности маршрутизатора перед отправкой ему пакетов. Проверка доступности маршрутизатора уменьшает скорость работы сети, поэтому в сетях с одним маршрутизатором, который редко бывает недоступным, желательно ее отключать. Если же для маршрута поддерживается возможность использования нескольких маршрутизаторов и основной из них часто выходит из строя, тогда проверку стоит включить.
• DefaultTOS. Данный параметр определяет тип сервиса, используемый по умолчанию для определения оптимального маршрута. Например, если вы подключены к двум сетевым каналам, цены на доступ к которым сильно разнятся, тогда оптимальным маршрутом не всегда является тот, который передает пакет до адресата через меньшее число маршрутизаторов.
• DefaultTTL. Данный параметр определяет время жизни передаваемых пакетов (TTL). Время жизни пакета указывается в поле заголовка пакета и определяет максимальное число маршрутизаторов, через которые может пройти пакет. Если после преодоления этого числа маршрутизаторов пакет так и не попадет к адресату, тогда он будет удален из сети текущим маршрутизатор. Данный параметр может принимать значения от 0х00000001 до 0х00000100. По умолчанию значение данного параметра равно 0х00000080.
• DisableTaskOffload. С помощью данного параметра можно задействовать установленный в сетевой карте процессор, чтобы переложить на него обработку всех операций работы с сетевыми пакетами. Поскольку сетевая карта не всегда имеет встроенный процессор (естественно, потому что отдельный процессор повышает стоимость сетевой карты), по умолчанию возможность использования встроенного в сетевую карту процессора не задействуется, а работа с сетевыми пакетами выполняется процессором компьютера. Если вы точно знаете, что ваша сетевая карта имеет такой процессор, тогда для его использования нужно присвоить параметру DisableTaskOffload значение 0.
• EnableICMPRedirect. Данный параметр определяет, разрешено ли использование пакетов типа ICMP Redirect. Если вы заботитесь о безопасности уже настроенной сети, тогда возможность их передачи лучше отключить. По умолчанию значение данного параметра равно 1, то есть, пакеты данного типа разрешены.
• EnablePMTUDiscovery. С помощью данного параметра можно определить, будет ли перед отправкой пакетов выполняться определение максимального размера пакета (MTU), который можно доставить адресату без выполнения фрагментации. Если значение данного параметра равно 0, тогда поиск размера пакета, способного дойти до адресата без фрагментации, вестись не будет, а каждый пакет будет иметь фиксированный размер, по умолчанию равный 576 байт. Если же значение этого параметра равно 1, тогда перед отправкой пакетов будет выполняться поиск максимального возможного размера пакета: сетевой адаптер будет передавать пакеты с установленным флагом запрета фрагментации начиная с максимального возможного в сети размера пакета и постепенно уменьшая размер, до тех пор, пока не перестанет получать ответные пакеты типа ICMP Destination Unreachable (пакеты данного типа говорят о том, что полученный маршрутизатором пакет не может быть передан из-за того, что имеет слишком большой размер, не поддерживаемый следующей сетью).
Использование данного параметра может как повысить скорость работы сети, так и понизить ее. Поэтому нужно проверять экспериментально, использовать данный параметр в вашей сети или нет.
• ForwardBufferMemory. Данный параметр определяет размер буфера, хранящего очередь IP-пакетов маршрутизатора, которые были получены из сети и требуют обработки (для определения, нужно ли их передавать на следующий маршрутизатор, или они принадлежат данной сети). По возможности следует повысить размер данного буфера, так как при заполнении этого буфера, маршрутизатор удаляет из него пакеты в случайном порядке. А это, в свою очередь, плохо сказывается на производительности сети.
Значение данного параметра должно быть кратно 256 байт и может принимать значение от размера MTU пакета до 0xFFFFFFFF. По умолчанию значение данного параметра равно 74240.
• GlobalMaxTcpWindowSize. Данный параметр определяет максимальный размер ширины окна для передачи пакетов по сети и может принимать значение от 0 до 0х3FFFFFFF. По умолчанию значение данного параметра равно 0х4000.
• KeepAliveInterval. Данный параметр определяет интервал отправки пакетов проверки активности соединения. Если на количество пакетов активности, указанное в параметре TcpMaxDataRetransmissions, не было получено ни одного ответа, тогда данное соединение разрывается. Если же ответный пакет получен, тогда отправка пакетов активности прекращается до тех пор, пока не истечет интервал времени, указанный в параметре KeepAliveTime. После истечения данного интервала отправка пакетов активности возобновляется. Параметр KeepAliveInterval может принимать значения от 1 до 0xFFFFFFFF. По умолчанию значение данного параметра равно 1000.
• KeepAliveTime. Данный параметр определяет интервал ожидания перед началом отправки пакетов активности (Keep Alive Packet). По умолчанию пакеты активности не отправляются, хотя пользовательское приложение может инициировать их отправку. По умолчанию значение данного параметра равно 7200000 (два часа).
• MTU. Данный параметр определяет максимальный размер передаваемого пакета данных. По умолчанию значение данного параметра равно 0х000005DС.
Какое значение параметра нужно использовать для повышения быстродействия сети, зависит от многих факторов, основными из которых является скорость передачи пакетов и количество возникающих при передаче пакетов ошибок.
Если сеть надежно защищена от помех и вероятность возникновения ошибок в ней минимальна (например, волоконно-оптические линии связи или цифровые линии связи), тогда можно увеличить максимальный размер передаваемого пакета. В этом случае скорость работы сети повысится, хотя при возникновении ошибки в передаваемом пакете, драйверу сетевой карты придется заново передать большой пакет данных.
Если же используются не защищенные от помех линии, например, телефонные линии, тогда лучше использовать маленький максимальный размер пакета, чтобы при возникновении ошибки в передаваемом пакете, приходилось передавать заново пакет меньшего размера. Но в этом случае общая скорость работы сети будет меньше теоретической, так как пакет состоит как из данных, так и из заголовка, а чем меньше общее количество передаваемых одним пакетом данных, тем больше производительности сети тратится на передачу ненужных данных (заголовков пакетов).
Для примера можно привести реальную пропускную способность сети с теоретической скоростью 10 Мбит в секунду при передаче пакетов минимального и максимального размера. В этом случае, пропускная способность сети при передаче пакетов минимального размера (64 байт) составляет примерно 5,4 Мбайт в секунду, а при передаче пакетов максимального размера (1508 байт) — примерно 9,4 Мбайт в секунду. Как говорится, разница налицо.
• NumForwardPackets. Данный параметр определяет число заголовков IP-пакетов, которые могут находиться в буфере очереди пакетов маршрутизатора. Если данный буфер будет заполнен, тогда маршрутизатор в случайном порядке будет удалять заголовки из буфера, что отрицательно скажется на производительности сети. Данный параметр может принимать значения от 1 до 0xFFFFFFFE. Следует учитывать, что значение данного параметра должно быть не меньше, чем значение параметра ForwardBufferMemory, деленного на максимальный размер пакета в следующей сети.
• SackOpts. Данный параметр позволяет включить механизм SACK, с помощью которого при потере одного из пакетов, отправитель пакетов может передать лишь потерянный пакет, а не все пакеты сообщения, что позволяет ускорить работу сети. Для активизации данного механизма параметру SackOpts нужно присвоить значение 1.
• SynAttackProtect. Данный параметр позволяет определить механизм защиты компьютера от DOS-атаки SYN-переполнением и может принимать следующие значения.
o 0 — отключить защиту от SYN-переполнения.
o 1 — включить основную защиту от SYN-переполнения.
o 2 — использовать дополнительные меры защиты от SYN-переполнения (разрешить обращение к драйверу AFD только при полной установке соединения).
• Tcp1323Opts. Данный параметр определяет размер ширины окна при передаче пакетов в сетях Ethernet. Под шириной окна в сетях Ethernet понимается количество пакетов, которые может передать отправитель до получения от адресата подтверждения приема первого из посланных пакетов. Если отправитель уже отправил столько пакетов, сколько разрешено шириной окна, а подтверждения получения первого отосланного пакета до сих пор нет, тогда отправитель прекращает посылать пакеты получателю, и начинает ожидать подтверждения от получателя. В этом случае сеть просто простаивает, поэтому для высокоскоростных сетей с небольшой вероятностью возникновения ошибок рекомендуется устанавливать большую ширину окна.
Если значение данного параметра равно 3, тогда будут использоваться более широкие окна. По умолчанию значение данного параметра равно 0.
• TcpInitialRTT. Данный параметр определяет время в секундах, выделяемое на повторную передачу данных и может принимать значения от 0 до 0хFFF. По умолчанию значение данного параметра равно 3.
• TcpMaxDataRetransmissions. Данный параметр определяет количество неуспешных попыток передачи данных, после преодоления которого соединение будет окончательно разорвано. Данный параметр может принимать значения от 0 до 0xFFFFFFFF. По умолчанию значение данного параметра равно 15.
• TcpMaxHalfOpen. Данный параметр определяет максимально возможное количество одновременных полуоткрытых соединений, которое будет разрешено хранить в буфере стеку TCP/IP. Как правило, большое количество полуоткрытых соединений может быть признаком проведения атаки SYN-переполнения на ваш компьютер.
• TcpNumConnections. Данный параметр определяет максимально возможное количество одновременных соединений и может принимать значение от 0 до 0xFFFFFE. По умолчанию значение данного параметра равно 0xFFFFFE.
• TCPWindowSize. Данный параметр определяет ширину окна, используемого для передачи пакетов. Данный параметр может принимать значения от 0 до 65535. По умолчанию значение этого параметра равно 0хFFFF (65535). Следует учитывать, что значение параметра TCPWindowSize должно быть кратно MSS.
Настройки Internet Explorer
А теперь давайте рассмотрим еще один набор параметров реестра, влияющих на скорость работы с сетью. Данные параметры влияют только на скорость работы с сетью Интернет при помощи стандартного браузера Internet Explorer. Все эти параметры имеют тип REG_DWORD и расположены в ветви реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings.
• MaxConnectionsPer1_0Server и MaxConnectionsPerServer. Данные параметры определяют максимальное количество сетевых подключений, которые может поддерживать браузер Internet Explorer.
• ReceiveTimeout. Данный параметр определяет максимально возможное время загрузки страницы из Интернет (в миллисекундах). Если страница за это время загружена не была, тогда браузер прекращает ее загрузку и на экран будет выдано сообщение о невозможности отображения страницы. По умолчанию значение данного параметра равно 0х00075300 (8 минут).
• MaxHttpRedirect. Данный параметр определяет максимально возможное количество перенаправлений, используемых при поиске необходимого сайта. Если количество перенаправлений при поиске сайта было превышено, тогда браузер прекратит его поиск.
• KeepAliveTimeout. Данный параметр определяет время в миллисекундах, в течение которого браузер будет сохранять неактивное соединение с Интернет при помощи пакетов активности. По умолчанию значение данного параметра равно 0x0001D4C0 (2 минуты).
• DisableKeepAlive. С помощью данного параметра можно разрешить или запретить отправку пакетов активности. Если значение данного параметра равно 1, тогда отправка пакетов активности будет запрещена.
• User Agent. Данный параметр имеет строковый тип и определяет строку идентификации версии вашего браузера, которая отсылается сайтам при их загрузке.
• FromCacheTimeout. Данный параметр определяет время ожидания считывания данных из кэша.
• SocketSendBufferLength и SocketReceiveBufferLength. Данные параметры определяют размеры буферов приема и передачи данных для каждого открытого браузером сетевого порта.
Свежие комментарии