테크레시피

네트워크 혼잡 제어 알고리즘, 공평하지 않다?

네트워크 혼잡에 관한 새로운 연구에 따르면 원래 모든 사용자가 공정하게 네트워크에 액세스할 수 있도록 관리하는 알고리즘에 편향이 있을 가능성이 지적됐다. TCP BBR을 비롯한 혼잡 제어 알고리즘에는 편향이 존재할 가능성이 있다는 것. 이로 인해 하나 이상 송신자가 다른 송신자에 비해 대역폭을 거의 받을 수 없는 문제가 정상화되는 기아(starvation) 사태를 피할 수 없게 된다는 지적이다.

인터넷을 통해 데이터를 전송하는 컴퓨터와 장비는 데이터를 작은 패킷으로 분할하고 특수 혼잡 제어 알고리즘을 사용해 패킷을 전송하는 속도를 결정한다. 알고리즘이 없으면 사용자 컴퓨터가 네트워크 연결 품질이나 다른 보낸 사람이 얼마나 많은 네트워크를 사용하는지 등 정보가 부족하기 때문에 네트워크에서 데이터 패킷을 전송하는 속도를 올바르게 결정할 수 없다.

혼잡 제어 알고리즘은 패킷 손실과 지연으로부터 혼잡을 추측하고 어느 정도 속도로 데이터를 전송할지 결정할 수 있다. 패킷을 보내는 속도가 너무 느리면 사용할 수 있는 대역폭을 충분히 활용할 수 없고 너무 빠르면 네트워크에 부담이 걸려 패킷이 파기되어 버린다. 이렇게 버려진 패킷은 재전송해야 하며 지연이 길어진다. 다시 말해 혼잡 제어 알고리즘은 사용 가능한 네트워크 용량을 사용자에게 공정하게 할당해 지연을 최소화하는 역할을 한다.

하지만 인터넷은 복잡하고 혼잡과 무관한 이유로 패킷이 지연되거나 손실될 수 있다. 혼잡 제어 알고리즘은 연구자가 지터(jitter)라고 일괄적으로 부리는 혼잡과 무관한 지연과 혼잡에 의한 지연을 구분할 수 없어 예측 불가능한 지터가 알고리즘을 혼란시켜 알고리즘이 패킷을 불균등한 속도로 송신하게 된 결과 누군가는 완전히 네트워크로부터 셧아웃되어 버린다는 것이다.

연구팀은 네트워크 경로 복잡성과 데이터 패킷에 미치는 모든 영향을 고려하면 현재 혼잡 제어 알고리즘이 이런 문제를 피하는 건 기본적으로 불가능하다고 지적한다. 기존 알고리즘을 실험하고 직접 새롭게 알고리즘을 만들어서도 시도했음에도 누군가가 네트워크에서 셧아웃되어 버리는 상황이 예외 없이 발생했다고 한다. 이런 알고리즘이 공평하다고 널리 믿어지는 만큼 이 결과에 놀랐다고 한다.

이번 연구에선 현재 지연 집중형 알고리즘에선 기아 사태를 막을 수 없다는 걸 알았지만 지연이 집중되지 않는 알고리즘이 있다면 문제를 회피할 가능성도 있다고 한다. 연구팀은 널리 사용되는 알고리즘으로 이런 단순한 문제가 오랫동안 알려지지 않았다는 사실은 실증 실험만으로 알고리즘을 이해하는 게 얼마나 어려운지 보여준다며 문제를 해결할 수 있는 알고리즘을 찾을 수 있을지에 대한 추가 연구를 계획하고 있다. 관련 내용은 이곳에서 확인할 수 있다.

추천기사