这里的demux是de-multiplexed的缩写;而multiplexed是多路复用的意思,就是将多个信号叠加到一起共用一条线路进行信号传输;这里加了de-的意思就是将进来的多路复用的数据再按照复用时的反逻辑,将数据分成多个单路,给上层。类比到IP协议栈的化,这个mux的过程是什么呢就是将多个TCP socket数据复合到IP层(当然这里的复合粒度很粗,每个socket的上的数据都不会掺杂,只是概念上简单复用IP层协议)。IP层是对TCP的一个复合协议。而de-mux的过程就是从IP层来的数据,转交给各个TCP socket的过程,属于分化的过程了。
而ip、tcp、udp层的early_demux的含义是什么呢?提前做分化,原因是避免后续不必要的操作,提升性能。
echo 0 > /proc/sys/net/ipv4/ip_early_demux
https://bugzilla.kernel.org/show_bug.cgi?id=216557 ;;; tcp connection not working over ip_vt