Linux Ubuntu에서 다양한 TCP 변형을 테스트하고 싶습니다. 커널 버전 3.14의 Ubuntu 14.04 LTS가 있습니다. 다음 명령을 사용하여 사용 가능한 혼잡 제어 알고리즘을 확인하면 sysctl net.ipv4.tcp_available_congestion_control
큐빅과 reno만 표시됩니다. 하지만 Hybla, HighSpeed와 같은 다른 변형도 테스트하고 싶습니다. 실행하면 menuconfig
원하는 변형을 선택하고 커널을 컴파일할 수 있습니다. 하지만 내 경우에는 이미 커널을 컴파일했는데, TCP 변형을 포함하는 일부 Linux 패키지를 로드 가능한 커널 모듈로 갖는 것이 가능합니까?
답변1
어떤 모듈을 설치했는지 보려면 여기를 살펴보십시오.
ls -la /lib/modules/$(uname -r)/kernel/net/ipv4
모듈 목록을 얻어야 합니다. 저는 이것을 얻었습니다.
tcp_bic.ko
tcp_diag.ko
tcp_highspeed.ko
tcp_htcp.ko
tcp_hybla.ko
tcp_illinois.ko
tcp_lp.ko
tcp_scalable.ko
tcp_vegas.ko
tcp_veno.ko
tcp_westwood.ko
구성 파일에서 TCP_CONG을 greping하여 커널이 구성한 내용을 확인할 수 있습니다.
grep TCP_CONG /boot/config-$(uname -r)
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=m
CONFIG_TCP_CONG_CUBIC=y
CONFIG_TCP_CONG_WESTWOOD=m
CONFIG_TCP_CONG_HTCP=m
CONFIG_TCP_CONG_HSTCP=m
CONFIG_TCP_CONG_HYBLA=m
CONFIG_TCP_CONG_VEGAS=m
CONFIG_TCP_CONG_SCALABLE=m
CONFIG_TCP_CONG_LP=m
CONFIG_TCP_CONG_VENO=m
CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_CONG_ILLINOIS=m
CONFIG_DEFAULT_TCP_CONG="cubic"
modprobe -a tcp_westwood
이들 중 하나를 시도하려면 원하는 방법을 사용하여 설치 해야 합니다 . 그런 다음 이것을 사용하여 테스트 할 수 있습니다
echo "westwood" > /proc/sys/net/ipv4/tcp_congestion_control