Как загрузить другой алгоритм управления перегрузкой в ​​Mac OS X? - PullRequest
2 голосов
/ 16 декабря 2011

Я нашел альтернативную реализацию TCP с открытым исходным кодом для Mac OS X [1] , которая использует LEDBAT в качестве контроля перегрузки вместо NewReno.

  • Поскольку я не настолько знакомс этой ОС, не могли бы вы предложить мне, как собрать этот исходный файл и загрузить его в систему?

(например, мне было интересно, есть ли способ сделать это, как в Linux, дляСуществует несколько реализаций [2] , которые можно легко построить, затем подключить как ядро ​​к модулю и загрузить во время выполнения:

make; make install
modprobe tcp_ledbat
sysctl -w net.ipv4.tcp_congestion_control=ledbat

)

[1] http://opensource.apple.com/source/xnu/xnu-1699.22.81/bsd/netinet/tcp_ledbat.c

[2] http://perso.telecom -paristech.fr / ~ valenti / pmwiki / pmwiki.php? N = Main.LEDBAT# howtokernel

Спасибо

1 Ответ

2 голосов
/ 05 апреля 2012

Алгоритм управления перегрузкой LEDBAT встроен в OSX Lion (10.7.X) и не требует отдельной компиляции.Я не думаю, что было бы возможно использовать LEDBAT в более ранней версии OSX без большой работы.LEDBAT обеспечивает «фоновые» передачи и может быть выбран в сокете путем установки следующего параметра сокета - setsocketopt (sock, SOL_SOCKET, O_TRAFFIC_CLASS, SO_TC_BK, sizeof (int)).Также кажется, что на класс трафика сокета может влиять значение DSCP в заголовке IP.

Кроме того, OSX имеет возможность загружать модули ядра для других сетевых протоколов в течение некоторого времени, используя их Сетевые расширения ядра(NKE) - например, существует модуль NKE , разработанный для протокола SCTP.

...