Tcp checksum offload что это
Tcp checksum offload что это
Столкнулся с такой проблемой, после установки системы и пересборки ядра, перестала в полной мере работать сеть. Система стартует, сетевой интерфейс инициализируется без ошибок, пингуются различные узлы Internet, работает ICQ, но ни WWW, ни FTP не работает. Браузер в строке состояния пишет «Узел найден ожидается ответ» или что-то в этом роде и ВСЁ! Wireshark показал, что с МОЕГО хоста отправляются неправильные пакеты, как UDP, так и TCP. В общем на запросе «GET HTTP 1/1» снифер показывает ошибку «Checksum: 0xf59e [incorrect, should be 0xc500 (maybe caused by «TCP checksum offload»?)]», после чего генерятся пакеты c флагами F и P и соединение зависает. Как бороться с этой хренью. Из ядра повыкидывал всё, оставил только сетевую поддержку и поддержку TCP/IP, избавился там от всяких айписеков, нетфильтров, маршрутизации и т. д.
Система: Gentoo 2007.0
Kernel: 2.6.20-r8
NIC: D-Link 10/100 на чипе RTL8139
Заранее благодарен за помощ.
>пингуются различные узлы Internet, работает ICQ, но ни WWW, ни FTP
>не работает.
>Браузер в строке состояния пишет «Узел найден ожидается ответ»
DNS значит тоже работает ))
Это часто бывает когда большие пакеты(MTU 1500) не пролазят. Входящие, исходящие, или все. Проиходит это обычно из-за дешёвой платы воткнутой в VLAN или pppoe/pptp
а было больше или меньше? у меня аналогичная проблема на сусе 🙁
последнее значение было гораздо больше (сколько не помню), установил именно эти значения.
>снифер показывает ошибку «Checksum: 0xf59e
>[incorrect, should be 0xc500 (maybe caused by «TCP checksum offload»?)]»,
Только аппаратные функции и технологии
область применения: Windows server 2022, Windows server 2019, Azure Stack хЦи, версии 21H2 и 20H2
Эти аппаратные ускорения улучшают производительность сети в сочетании с программным обеспечением, но не являются частью какой – либо программной функции. к таким примерам относятся контроль прерываний, управление Flow и разгрузка Checksum на стороне приема. Дополнительные сведения см. в разделе требования к сети узла для Azure Stack хЦи.
Функции SH и ПРИНЕС доступны, если установленный сетевой адаптер поддерживает ее. В описании функций ниже рассказывается, как определить, поддерживает ли ваш сетевой адаптер эту функцию.
Разгрузка контрольной суммы адреса
Разгрузка контрольной суммы адресов — это функция сетевого интерфейса, которая позволяет разгрузить вычисление контрольных сумм адресов (IP, TCP, UDP) на СЕТЕВое оборудование для отправки и получения.
На пути получения контрольная сумма разгрузки вычисляет контрольные суммы в заголовках IP, TCP и UDP (соответственно) и указывает операционной системе на то, что контрольные суммы пройдены, не пройдены или не проверены. Если сетевая карта утверждает, что контрольные суммы действительны, операционная система принимает пакет с неправильными вызовами. Если сетевая карта утверждает, что контрольные суммы недействительны или не установлены, стек IP/TCP/UDP внутренне вычисляет контрольные суммы. Если вычисленная контрольная сумма завершается сбоем, пакет удаляется.
На пути отправки контрольная сумма разгрузка вычисляет и вставляет контрольные суммы в заголовок IP, TCP или UDP соответствующим образом.
Отключение разгрузок контрольной суммы для пути отправки не отключает вычисление контрольной суммы и вставку пакетов, отправляемых драйверу минипорта, с помощью функции разгрузки большой отправки (LSO). Чтобы отключить все вычисления для разгрузки контрольной суммы, пользователь должен также отключить LSO.
Управление разгрузкой контрольной суммы адреса
В дополнительных свойствах есть несколько различных свойств:
Разгрузка контрольной суммы IPv4
Разгрузка контрольной суммы TCP (IPv4)
Разгрузка контрольной суммы TCP (IPv6)
Разгрузка контрольной суммы UDP (IPv4)
Разгрузка контрольной суммы UDP (IPv6)
По умолчанию все они включены всегда. Рекомендуется всегда включать все эти разгрузки.
Разгрузкой контрольной суммы можно управлять с помощью командлетов Enable-NetAdapterChecksumOffload и Disable-NetAdapterChecksumOffload. Например, следующий командлет включает вычисления контрольной суммы TCP (IPv4) и UDP (IPv4):
Советы с использованием разгрузок контрольной суммы адреса
Разгрузка контрольной суммы адреса должна всегда включаться независимо от рабочей нагрузки или обстоятельств. Эта основная часть всех технологий разгрузки всегда повышает производительность сети. Разгрузка контрольной суммы также требуется для выполнения других разгрузок без отслеживания состояния, включая масштабирование на стороне приема (RSS), получение сегментов (RSC) и разгрузку большой отправки (LSO).
Контроль прерываний (IM)
Перед прерыванием операционной системы IM отправляет в буфер несколько полученных пакетов. Когда сетевой адаптер получает пакет, он запускает таймер. Когда буфер полон или срок действия таймера истекает, в зависимости от того, какой из них первым, сетевая карта прерывает работу операционной системы.
Многие сетевые адаптеры поддерживают не только включение/отключение для контроля прерываний. Большинство сетевых адаптеров поддерживают основные понятия, связанные с низким, средним и высоким уровнем скорости обмена мгновенными сообщениями. Разные тарифы представляют более короткие и более длинные таймеры и соответствующие изменения размера буфера, позволяющие сократить задержку (с низким уровнем прерывания) или уменьшить количество прерываний (высокий уровень прерывания).
Существует баланс между уменьшением количества прерываний и чрезмерной задержкой доставки пакетов. Как правило, обработка пакетов более эффективна благодаря включению поддержки прерываний. Для приложений с высокой производительностью или низкой задержкой может потребоваться оценить влияние отключения или снижения контроля прерываний.
Кадры крупного размера
Кадры крупных размеров — это сетевой интерфейс и сетевая функция, позволяющая приложению передавать кадры, размер которых значительно превышает 1500 байт по умолчанию. Обычно ограничение на большие кадры составляет около 9000 байт, но может быть меньше.
в Windows Server 2012 R2 не было изменений в поддержке кадров крупного размера.
в Windows Server 2016 имеется новая разгрузка: MTU_for_HNV. Эта новая разгрузка работает с крупными параметрами кадров, чтобы гарантировать, что инкапсулированный трафик не требует сегментации между узлом и соседним коммутатором. В этой новой функции в стеке SDN сетевой адаптер автоматически вычисляет значение MTU для объявления и значение MTU, которое будет использоваться при передаче данных. Эти значения для параметра MTU различаются, если используется разгрузка HNV. (В таблице «совместимость функций» Таблица 1 MTU_for_HNV будет иметь те же взаимодействия, что и разгрузки HNVv2, так как она напрямую связана с разгрузкой HNVv2.)
с разгрузкой большой отправки (LSO);
LSO позволяет приложению передать большой блок данных в сетевую карту, и сетевая карта разбивает данные на пакеты, которые соответствуют максимальной единице передачи (MTU) сети.
Receive Segment Coalescing (RSC)
Объединение сегментов, называемое также «крупной разгрузкой», — это сетевая карта, которая принимает пакеты, входящие в тот же поток, который приходит между сетевыми прерываниями, и объединяет их в один пакет, прежде чем доставлять их в операционную систему. RSC недоступен на сетевых адаптерах, привязанных к виртуальному коммутатору Hyper-V. Дополнительные сведения см. в статье Объединение сегментов приема (RSC).
Как настроить сетевой адаптер на Windows 7: самое важное
Иногда при подключении интернета или использовании ресурсов локальной сети возникают проблемы. Могут вылезать ошибки подключения, получения IP адресов или конфигурации сетевого оборудования. Внутри компьютера или ноутбука, функцией подключения к локальной или глобальной сети, занимается сетевой адаптер. В статье мы как раз и поговорим про настройку сетевого адаптера для улучшения связи в интернете. Инструкция будет ходовая для всех версий Windows 7, 8 и 10.
Более подробная настройка
Мне постоянно приходят письма с вопросами – как более детально настроить сетевой адаптер для меньшего пинга в играх, для лучшего просмотра кино и большей скорости скачивания. Поэтому я решил написать более детальную статью. Ну, поехали! По идее она настраивается автоматически под рациональное использование ресурсов системы и самого устройства. Но конфигурацию можно корректировать под свои нужды.
Переходим во вкладку «Дополнительно». И так смотрите, у нас есть определённые свойства, которые мы можем включать (Enebled) или выключать (Disable). На новых версиях «Виндовс» может быть написано «Вкл» или «Выкл». А теперь разбёрем каждое свойство:
ВНИМАНИЕ! Параметры адаптера могут в какой-то степени улучшить показатели, в каком-то моменте ухудшить. Изменяя установки сетевого адаптера, лучше возьмите листочек и выпишите – что именно вы изменили, чтобы в случаи чего вернуть параметры обратно. Также я рекомендую скачать последнюю версию драйвера для вашей сетевой карты или Wi-Fi модуля и установить его. Только после этого заходим в характеристики
После изменения, следует перезагрузить компьютер или ноутбук, чтобы некоторые изменения вступили в силу. Установки сетевого адаптера всегда можно откатить обратно, самое главное не потеряйте тот листок с настройками.
ПРОСЬБА! Если я что-то не указал, или написал что-то не так – пишите смело в комментариях свои исправления или замечания, буду рад поучиться чему-то у своих читателей.
CaptureSetup / Offloading
Offloading
Most modern operating systems support some form of network offloading, where some network processing happens on the NIC instead of the CPU. Normally this is a great thing. It can free up resources on the rest of the system and let it handle more connections. If you’re trying to capture traffic it can result in false errors and strange or even missing traffic.
Checksum Offload
On systems that support checksum offloading, IP, TCP, and UDP checksums are calculated on the NIC just before they’re transmitted on the wire. In Wireshark these show up as outgoing packets marked black with red Text and the note [incorrect, should be xxxx (maybe caused by «TCP checksum offload»?)].
Wireshark captures packets before they are sent to the network adapter. It won’t see the correct checksum because it has not been calculated yet. Even worse, most OSes don’t bother initialize this data so you’re probably seeing little chunks of memory that you shouldn’t.
New installations of Wireshark 1.2 and above disable IP, TCP, and UDP checksum validation by default. You can disable checksum validation in each of those dissectors by hand if needed.
If you are experiencing network problems and while trying to figure it out with Wireshark you found these checksum errors, you may have a network card with TCP checksum offload enabled and for some reason the packet is not being fixed by the adapter (NAT, bridge or route redirection is sending the packet to another interface). In this case, you may want to check and disable checksum offload for the adapter, if possible.
Linux
Checksum offloading can be enabled and disabled with the ethtool command.
Or, with some 3Com cards (see 3c59x vortex docs):
Windows
In Windows, go to Control Panel->Network and Internet Connections->Network Connections, right click the connection to change and choose ‘Properties’. Press the ‘Configure. ‘ button, choose the ‘Advanced’ tab to see or modify the «Offload Transmit TCP Checksum» and «Offload Receive TCP Checksum» values.
Segmentation Offload
Some cards can reassemble traffic. This will manifest itself in Wireshark as packets that are larger than expected, such as a 2900-byte packet on a network with a 1500-byte MTU. You can check and change offloading behavior on Linux and Windows using the methods described in the previous section.
This article has a nice explanation on what to do.
TCP Chimney
Chimney offloading lets the NIC handle processing for established TCP connections. On Windows offloaded connections bypass WinPcap, which means that you won’t capture TCP conversations.
See also
Checksums in the Wireshark User’s Guide
KB 912222, The Microsoft Windows Server 2003 Scalable Networking Pack Release
KB 951037, Information about the TCP Chimney Offload, Receive Side Scaling, and Network Direct Memory Access features in Windows Server 2008
CaptureSetup/Offloading (последним исправлял пользователь Anders Broman 2013-10-30 12:27:52)
alex_emilsson
Emilsson Magazine. Обо всём, кроме политики
Вся приводимая ниже информация, в первую очередь, разумеется, будет относиться к имеющемуся у меня сетевому адаптеру (за неимением других), однако, в основном, все сетевые адаптеры имеют схожие настройки (кроме параметров, специфичных для конкретного производителя/модели), различающиеся, разве что, названиями; поэтому вы с большим успехом можете отнести всё нижеизложенное и к своему адаптеру.
А теперь немного о подопытном. Это сетевой адаптер «Realtek PCIe GBE Family Controller» с чипом «Realtek RTL8111C/D(L) chip (10/100/1000 Mbit)«, интегрированный в материнскую плату «GigaByte GA-G41M-ES2L rev. x.x«<даже диагностические программы выдают именно ревизию "x.x", хотя по цветовой маркировке разъёмов это вылитая "1.0">. Причём, судя по информации с сайта GigaByte, это довольно распространённый вариант для их материнских плат. Адаптер используется на PC под управлением ОС Windows XP SP2, «отupdateнной» до SP3, а также под управлением Windows 7, на которую был установлен SP1 (использовалась версия для x86, хотя для x64 разницы нет). Параметры, специфичные для конкретной ОС, будут помечены в тексте вот так: «< WinXP >» или «< Win7 >«.
Примечания:
Задействовать этот параметр можно только, если все устройства в сети а) поддерживают большие кадры и б) сконфигурированы на использование кадров ОДНОГО размера;
Имейте в виду, что различные адаптеры и сетевые устройства могут по-разному вычислять размер большого кадра (например, включать или не включать размеры дополнительных заголовков);
Наиболее эффективно используют эту технологию сетевые адаптеры, работающие на скоростях 1 Гбит/с и 10 Гбит/с. Известно, что использование больших кадров на скоростях 10/100 Мбит/с на некоторых адаптерах приводит к потере производительности или даже обрыву связи;
Не все ОС могут работать с кадрами размером больше 4K, т.к. это может приводить к перегрузке сети при больших объёмах трафика;
////////WIN7///////Уменьшение числа буферов приёма/передачи менее 256 приводит к обрыву связи при использовании больших кадров.
Описание:
Разрешает или запрещает опцию включения по сети (WOL) компьютера после его выключения.
Описание:
Управляет общей функцией энергосбережения. Для Realtek состояние этой функции можно узнать с помощью «Realtek Ethernet Diagnostic Utility» (см. рис.)
Описание:
Позволяет адаптеру проверять контрольную сумму для принимаемых пакетов (Rx) и вычислять контрольную сумму для отправляемых пакетов (Tx). Включение этой опции может повысить производительность сети и снизить загрузку CPU. Если опция отключена, расчёт и проверку контрольной суммы выполняет ОС.
Описание:
Позволяет адаптеру выполнять задачу фрагментирования пакетов TCP на допустимые кадры Ethernet. Поскольку контроллер адаптера может выполнять фрагментирование гораздо быстрее, чем программное обеспечение ОС, то эта опция может повысить производительность передачи данных. Кроме того, адаптер использует меньше ресурсов CPU.
Описание:
Замещает виртуальный, назначенный пользователем MAC-адрес адаптера. Эта настройка не замещает реальный физический (аппаратный) MAC-адрес адаптера.
Примечание:
Если вы оставите поле «Значение» пустым (при установленном в это значение переключателе), также будет использован исходный MAC-адрес адаптера.
Описание:
Определяет начальную скорость соединения после WOL (далее, видимо устанавливается значение из параметра «Скорость и дуплекс«).
Описание:
Добавляет дополнительные 4 байта к Ethernet-фрейму (кадру), содержащие информацию о приоритете пакета и идентификаторе VLAN, которой этот пакет принадлежит. Т.е. данная опция разрешает аппаратное тегирование VLAN средствами адаптера.
Примечание:
Разумеется, эта опция имеет смысл только при установленной VLAN.
Описание:
Разрешает адаптеру генерировать или отвечать на специальные кадры управления потоком, которые помогают регулировать сетевой трафик.
Сеть может оказаться перегруженной, если входящие пакеты приходят быстрее, чем устройство их может обработать, и в результате происходит потеря пакетов до тех пор, пока условия, способствующие перегрузке не будут устранены. Механизм управления потоком позволяет обойти эту проблему и исключает риск потери пакетов.
Если происходит ситуация, потенциально способствующая перегрузке сети, адаптер генерирует кадр управления потоком, который заставляет устройство на другом конце линии немедленно приостановить передачу и подождать в течение небольшого случайного отрезка времени перед попыткой возобновления передачи.
Примечание:
Для получения преимущества от управления потоком, оба адаптера должны поддерживать это свойство.
Описание:
Определяет доступные возможности WOL.
Описание:
По смыслу эти параметры представляют тот же самый функционал, что и параметр «Функции включения по сети«; просто здесь WOL настраивается для «Pattern Match» и «Magic Packet» по отдельности.
Описание:
Для обеспечения целей энергосбережения, драйвер может автоматически отключить гигабитную скорость, когда сетевой кабель переподключён.
Описание:
Задаёт количество буферов памяти, используемых адаптером при отправке данных. Увеличивая это значение, можно повысить производительность адаптера; правда, при этом также возрастает расход системной памяти. Поэтому, если производительность не является критическим параметром, используйте значение по умолчанию.
Описание:
По смыслу эта группа параметров аналогична «Контрольной сумме разгрузки. «; здесь обработка контрольных сумм настраивается отдельно для TCP и UDP протокола IP обеих версий.
Описание:
По смыслу это параметр «Тегирование 802.1Q/1p VLAN» с более гибкими возможностями настройки.
Примечание:
На некоторых сетевых и/или системных конфигурациях при включенных параметрах группы «Разгрузка при большой отправке. » наблюдается существенная деградация производительности. В этом случае значения всех параметров «Разгрузка при большой отправке. » необходимо отключить (обычно это помогает решить проблему).
Понравилась эта и/или другие мои статьи?
Друзья, тогда предлагаю вам принять посильное участие в улучшении моего журнала. Что можете сделать именно Вы? Для начала, оставьте хотя бы комментарий! Это покажет, что Вы не равнодушны к моему «творчеству». А мне будет приятно, в свою очередь, осознать, что, то что я делаю, нужно не только мне, но и кому-то ещё, например, друзья, Вам! И это будет неплохим стимулом для написания новых статей, определении новых тем и т.д. Далее, Вы можете подписаться на мой блог и стать моими постоянными читателями! Это стало бы дополнительной моральной поддержкой для меня в плане моего творчества.