在VoIP中,我們有SIP
和RTP
協議和SIP工作於5060,但同時RTP適用於大範圍的像10000 to 20000
無論你在配置定義。爲什麼VoIP RTP有多個端口而不是單個端口?
只是想知道爲什麼RTP不像DNS/HTTP只是單一對多的工作,我的意思是服務器端它監聽單端口和客戶端連接到特定的單個端口,在這種情況下安全明智,它會很容易。
在VoIP中,我們有SIP
和RTP
協議和SIP工作於5060,但同時RTP適用於大範圍的像10000 to 20000
無論你在配置定義。爲什麼VoIP RTP有多個端口而不是單個端口?
只是想知道爲什麼RTP不像DNS/HTTP只是單一對多的工作,我的意思是服務器端它監聽單端口和客戶端連接到特定的單個端口,在這種情況下安全明智,它會很容易。
我可以看到3個原因,RTP被髮明使用不同的端口:
然而有特殊修改的SIP軟件,它可以以這種方式工作(端口複用)
SIP不必被分配到5060端口,它可以使用動態端口(例如軟電話註冊到服務器並通過代理接收呼叫 - 其他對等方不需要知道其端口)。
從技術上講,我不明白爲什麼SIP和RTP不能用單一的(相同的)端口,至少有一個呼叫電話。可能有一些問題,多次調用,雖然作爲單獨的本地端口可能只是有時區分輸入流的方式(例如多個流/來自同一主機和源端口的SDP不同不是通過路由器/ NAT分配廣告調用)。你可能已經描述
應用改變RTP/RTCP端口每次調用,開闢新的插座(S)各一次。它顯著降低的機會,當前流(呼叫)將通過RTP數據包從以前的通話受到干擾,如果以適當的方式並沒有完成(即交易超時BYE由於網絡問題或崩潰+重新啓動)。大概可以減少不會有更大的問題(以同時通話,或者因爲RTCP的通話X2的數)
端口範圍,雖然有風險,即從指定範圍的端口會被其他應用程序使用。