![저속 무선 모뎀에 가장 적합한 TCP 혼잡 제어 알고리즘은 무엇입니까?](https://linux55.com/image/36848/%EC%A0%80%EC%86%8D%20%EB%AC%B4%EC%84%A0%20%EB%AA%A8%EB%8E%80%EC%97%90%20%EA%B0%80%EC%9E%A5%20%EC%A0%81%ED%95%A9%ED%95%9C%20TCP%20%ED%98%BC%EC%9E%A1%20%EC%A0%9C%EC%96%B4%20%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
내 프로젝트에는 매우 낮은 속도의 CDMA 셀룰러 모뎀을 통해 인터넷을 통해 통신하는 원격 Linux 노드가 있습니다. 이러한 모뎀의 대역폭은 약 2kbyte/초이고 서버로 돌아가는 RTT는 약 800ms입니다.
이러한 제한 사항을 기반으로 이 성능에 맞게 Linux TCP 스택을 조정하면 어떤 이점이 있습니까? 예를 들어, 저는 최근에 플러그형 혼잡 제어 알고리즘을 발견했으며 더 잘 작동하는 기본값이 아닌 다른 알고리즘이 있는지 궁금했습니다. 때때로 나는 이 모뎀에서 다운로드 속도가 800바이트/초까지 올라가는 것을 발견했습니다. 몇 가지 UDP 테스트를 실행했는데 패킷 손실률은 약 25%였습니다.
Linux는 ARMHF의 Debian Wheezy를 사용하는 2.6.35.3입니다.
답변1
"이 모뎀에서 다운로드 속도가 800바이트/초까지 올라가는 것을 보았습니다."
손실 측정을 제공하지 않았으므로 정체가 발생하는지 또는 사양 채널 용량보다 적은지 여부를 알 수 있는 방법이 없습니다.
TCP는 장치보다 훨씬 느리고 오류율이 더 높은 하드웨어에서 설계되었다는 점은 주목할 가치가 있습니다. 느린 연결의 경우 TCP는 사용 가능한 용량을 효과적으로 활용할 수 있습니다.
다양한 혼잡 제어 메커니즘을 시도해 볼 수 있지만 지금보다 더 나은 처리량을 얻을 수 있다면 놀랄 것입니다. 실제 네트워크에서 실제 채널 용량을 측정하는 것은 보이는 것보다 더 복잡합니다.