2개의 다른 데이터 센터에 2개의 별표 서버가 있습니다. 통화가 한 사람에게서 다른 사람에게로 전달됩니다. 갑자기 오디오 품질이 저하되었습니다. 두 서버 모두에서 SIP 추적을 만들었습니다. 내가 찾은 내용은 다음과 같습니다.
- 서버 A가 서버 B로 RTP를 보냅니다. (서버 A에서 SIP 추적을 수행한 결과 모든 것이 괜찮은 것으로 보입니다. Wireshark RTP 플레이어를 사용하여 오디오 재생이 잘됩니다.)
- 서버 B는 서버 A로부터 RTP를 수신합니다. (서버 B에서 수행된 SIP 추적에 따르면 순서가 맞지 않는 패킷이 많이(45.3%) 있음을 알 수 있습니다.)
질문: 문제가 있는 곳을 어떻게 확인합니까? :)
감사해요!
답변1
일반적으로 스트림에서 순서가 잘못된 패킷의 상당 부분을 볼 때 원인은 패킷 경로 어딘가에 있는 일부 라우터에 의해 수행되는 로드 균형 조정 라우팅이 잘못 수행되었기 때문입니다. IP는 패킷의 순차적 전달을 보장하지 않지만 TCP 및 RTP와 같은 프로토콜은 패킷이 대부분의 시간 동안 순서대로 유지될 것이라고 가정하고 해당 가정이 유지되지 않으면 성능이 크게 저하됩니다. 따라서 모범 사례에 따르면 라우터는 많은 아웃 또는 순서 패킷을 발생시키는 방식으로 구성되어서는 안 됩니다.
대부분의 라우터가 여러 링크에 걸쳐 트래픽을 로드 밸런싱하도록 구성되면 단일 스트림에 속하는 패킷이 모두 동일한 구성원을 선택하도록 보장하는 해싱 알고리즘(종종 소스 및 대상 IP 주소 및 TCP/UDP 포트 기반)을 사용합니다. 로드 밸런싱된 그룹. 이렇게 하면 패킷이 순서대로 유지되는 데 도움이 됩니다. 라우터가 이러한 해시를 사용하지 않고 로드 밸런싱을 수행하고 단일 스트림에 속한 패킷이 다른 링크에서 끝나는 경우 전송하는 데 쉽게 다른 시간이 걸릴 수 있습니다(주로 버퍼링으로 인해 로드 밸런싱이 이루어지더라도 이러한 현상이 발생함). 링크의 특성이 동일함) 목적지에서 순서가 잘못되어 종료됩니다.
이것이 당신에게 일어나고 있고 RTP 수신기의 지터 버퍼가 보상할 수 없을 정도로 심각한 경우 네트워크를 관리하는 사람에게 문제를 해결하도록 요청하는 것 외에는 할 수 있는 일이 없습니다.