我在 2 個不同的資料中心有 2 台星號伺服器。呼叫正在從一個地方轉到另一個地方。音頻品質突然下降。我已經在兩台伺服器上進行了 SIP 追蹤。這是我發現的:
- 伺服器 A 向伺服器 B 發送 RTP。
- 伺服器 B 從伺服器 A 接收 RTP。
問:如何判斷問題出在哪裡? :)
謝謝!
答案1
通常,當您在流中看到大量無序資料包時,罪魁禍首是資料包路徑上某處的某個路由器執行的負載平衡路由做得不好。 IP 不保證資料包按順序傳送,但 TCP 和 RTP 等協定確實假設資料包在大多數情況下都是有序的,並且當假設不成立時,資料包會嚴重退化。因此,最佳實務規定路由器的配置方式不應導致大量失序或有序資料包。
當大多數路由器配置為跨多個鏈路負載平衡流量時,它們使用散列演算法(通常基於來源和目標IP 位址,也可能基於TCP/UDP 連接埠),以確保屬於單一流的封包都選擇相同的成員負載平衡群組。這有助於確保資料包保持有序。如果路由器在不使用此類雜湊的情況下進行負載平衡,並且屬於單一串流的資料包最終位於不同的鏈路上,則它們很容易花費不同的時間來傳輸(主要是由於緩衝,這意味著即使負載平衡,也會發生這種情況)連結具有相同的特徵)並且最終在目的地處出現亂序。
如果這就是您遇到的情況,而且情況已經夠糟了,RTP 接收器的抖動緩衝區無法補償,那麼恐怕除了讓管理網路的人來修復它之外,您無能為力。