При выполнении IPC с использованием сокетов TCP / IP с использованием адреса обратной связи, пропускают ли обычные сетевые стеки формирование сообщения в PDU нижнего уровня?

В некоторых средах, таких как Java, естественно использовать сокеты TCP / IP для передачи сообщений между процессами на одном и том же хосте с использованием адреса «localhost» (127.0.0.1 в IPv4 или :: 1 в IPv6). (Поскольку Java имеет тенденцию не раскрывать другие механизмы IPC в своем API.)

Очевидно, это может быть намного медленнее, чем IPC через передачу сообщений по каналам или IPC с использованием разделяемой памяти.

С другой стороны, если сетевой стек TCP / IP понимает, что оба конца соединения находятся на интерфейсе обратной петли, он мог бы провести небольшую оптимизацию, чтобы эффективность не сильно отличалась от использования каналов.

Но реализуют ли распространенные операционные системы (Windows, Linux) такую ​​оптимизацию в своих стеках TCP / IP?

13
задан boettger1 1 February 2012 в 08:47
поделиться