Jump to content

TCP-слияние

TCP Fusion — это функция обеспечения обратной связи TCP, которая реализована в стеке протокола управления передачей (TCP) в Oracle операционных системах Solaris -10 и Solaris-11, а также в ряде программных проектов, основанных на базе кода с открытым исходным кодом OpenSolaris . проект. Идея тривиальна: соединение клиента и сервера через локальный интерфейс обратной связи внутри одной системы не требует использования всего стека протоколов TCP/IP для обмена данными. Поэтому обеспечьте более быстрый путь передачи данных за счет объединения двух конечных точек.

Исходный код хорошо документирован в inet/tcp/tcp_fusion.c, где четко указано:

TCP fusion — это путь передачи данных без протокола для TCP-соединений с обратной связью. Объединение двух локальных конечных точек TCP происходит во время установления соединения. Для успешного слияния должны быть выполнены различные условия (подробнее см. в tcp_fuse()). Если это не удается, мы возвращаемся к обычному пути данных TCP; если это удастся, обе конечные точки продолжат использовать tcp_fuse_output() в качестве пути передачи. tcp_fuse_output() помещает данные приложения непосредственно в очередь приема партнера; никакая обработка протокола не задействована. Синхронизация осуществляется с помощью очереди и мьютекса tcp_non_sq_lock. Одним из требований для успешного слияния является то, что обе конечные точки должны использовать одну и ту же очередь. Это гарантирует, что ни одна из сторон не сможет исчезнуть, пока другая сторона все еще отправляет данные. Информация управления потоком обрабатывается вне очереди, поэтому tcp_non_sq_lock должен удерживаться при касании tcp_flow_stopped.

Эту функцию можно включить или отключить через файл конфигурации /etc/system для ядра Solaris или genunix, и единственная необходимая строка — это «set ip:do_tcp_fusion = 0x0», которая отключает эту функцию или устанавливает значение FALSE, а значение «0x1» для шестнадцатеричного значения TRUE. .

См. https://github.com/illumos/illumos-gate/blob/master/usr/src/uts/common/inet/tcp/.


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: e8d141d6bd0e8157a096b84ade543899__1710890760
URL1:https://arc.ask3.ru/arc/aa/e8/99/e8d141d6bd0e8157a096b84ade543899.html
Заголовок, (Title) документа по адресу, URL1:
TCP fusion - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)