Linux Ubuntu에 TCP 혼잡 제어 변형 추가

Linux Ubuntu에 TCP 혼잡 제어 변형 추가

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 

답변2

tcp_hybla그리고tcp_고속둘 다 커널 트리에 모듈로 추가됩니다. 따라서 이러한 모듈을 개별적으로 컴파일, 설치 및 사용할 수 있습니다. 사용자 정의 모듈을 컴파일하는 방법을 이미 알고 있기를 바랍니다.

관련 정보