
售前電話
135-3656-7657
售前電話 : 135-3656-7657
國家高新技術企業 省級專精特新企業
咨詢熱線:135-3656-7657 400-6333-661
STUN代表通過網絡地址轉換器(NAT)對用戶數據報協議(UDP)的簡單遍歷。通常,它用于幾種不同的網絡實現和方案,其中之一是在VoIP實現中。由于基于SIP的VoIP呼叫中使用的協議的工作方式,在NAT設備(如路由器或防火墻)后面運行的兩個SIP實體之間進行呼叫(家庭和企業網絡中的常見方案),用戶通常會遇到幾個問題,例如電話呼叫期間的單向音頻或嘗試注冊到VoIP提供商或IPPBX時電話注冊失敗不駐留在同一網絡上。STUN是一種協議,有助于解決此類VoIP實現中的問題。從v10開始,名科云電話系統在端口5060上充當STUN服務器。
STUN協議的用途
STUN協議的主要目的是使在NAT設備后面運行的設備能夠發現其公共IP以及在其連接到的網關上運行的NAT類型。它還使網關后面連接的設備能夠發現網關本身(NAT)完成的端口轉換;即,其他設備可以使用哪個端口從網絡外部連接到它。請注意,網關和路由器并不總是進行端口轉換。這取決于它們正在運行的NAT類型及其配置方式。例如,完整的錐形NAT配置不會轉換端口。
STUN還可用于刷新NAT綁定;作為使用受限錐體NAT或端口受限錐體NAT時的保持活動機制。通過此類NAT配置傳遞流量時,內部地址和端口將映射到特定的外部地址和端口。但是,如果在特定時間(取決于設備的配置)后未使用此類地址轉換,則會刪除此類地址映射。因此,當內部設備嘗試使用相同的內部IP和端口再次連接到外部實體(可能是以前連接到的同一實體)時,路由器仍將分配不同的地址映射,即與先前分配的IP和端口不同的IP和端口。
STUN協議
STUN是一種服務器-客戶端協議。STUN服務器通常在TCP和UDP上運行,并在端口3478上進行偵聽??蛻舳送ǔMㄟ^特定的IP和端口(3478)聯系STUN服務器,但服務器可以提示客戶端對備用IP地址和端口號執行測試,因為這樣的端口和IP是任意的。
STUN請求和響應方案
在下圖中,我們可以看到典型的STUN請求和響應是如何工作的:
階段1:計算機A通過網關192.168.1.1向網絡外部的STUN服務器發送STUN請求,使用源端口5060偵聽64.25.58.65。
STUN也有其缺點;它不能與使用對稱NAT的網絡正常工作,因為每次內部主機嘗試連接到外部主機時,對稱NAT都會創建新的地址和端口映射,因此STUN不是這種情況的良好解決方案。在下一篇文章中,我們將看到來自VoIP設備的STUN請求的示例捕獲,并將解釋它如何幫助解決VoIP環境中的連接建立問題。
STUN使在NAT后面運行的SIP實體能夠發現其公共IP以及在其連接到的網關上運行的NAT類型。它還使SIP實體能夠發現外部SIP實體可以連接到哪些端口,以建立連接。由于SIP使用UDP作為傳輸協議,而UDP不是面向連接的協議,因此根據傳輸協議,無法輕松建立2個SIP實體之間的連接,這就是為什么STUN在基于SIP的VoIP環境中廣泛使用的原因。下面我們將看到基于SIP的VoIP電話的捕獲,該電話嘗試注冊到在其網絡外部運行的IPPBX,以及基于SIP的VoIP電話是否使用STUN協議會發生什么情況。
REGISTERsip:voipproducts.orgSIP/2.0
Via:SIP/2.0/UDP192.168.2.14:7214;branch=z9hG4bK-d8754z;rport
Max-Forwards:70
Contact::<sip:101@192.168.2.14:7214;rinstance=0639bae5043c66ac>
To:"account1"<sip:101@voipproducts.org>
From:"account1"<sip:101@voipproducts.org>;tag=0a75d76e
Call-ID:OTcxMDU5MGNhNTAxNzgzYjZkODVkY2I3MmE3NDhlNzQ.
CSeq:1REGISTER
Expires:3600
Content-Length:0
Fromtheabovewecanseethat:
Contact:<sip:101@192.168.2.14:7214;rinstance=0639bae5043c66ac>