Я могу ввести
echo bbr > /proc/sys/net/ipv4/tcp_congestion_control
, чтобы изменить алгоритм контроля перегрузки для TCP-соединений, работающих через IPv4, но как мне это сделать для тех, кто прибывает по IPv6?
Устанавливает ли вышеприведенная команда его для обоих?
Yes, both sysctl (net.ipv4.tcp_allowed_congestion_control
and net.ipv4.tcp_available_congestion_control
) и /процессорная запись (/процессор/сигналы/сеть/ipv4/tcp_congestion_control
) применимы к каждому TCP-соединению IPv4 и IPv6. Часть ipv4 в названиях sysctl и /proc не означает, что это только для TCP через ipv4. Это только означает, что алгоритм реализован в подкаталоге linux/net/ipv4 дерева исходных текстов ядра: в Linux, TCP over IPv6 реализует управление перегрузками, делая вызовы к реализации для IPv4, так как нет разницы между управлением TCP-загрузками в TCP через IPv4 и TCP через IPv6.
Из документа (https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt):
/proc/sys/net/ipv6/* Переменные:
IPv6 не имеет глобальных переменных, таких как tcp_*. Настройки tcp_* в разделе ipv4/ также относится к IPv6.