售前電話
135-3656-7657
售前電話 : 135-3656-7657
STUN代表通過網(wǎng)絡地址轉換器(NAT)對用戶數(shù)據(jù)報協(xié)議(UDP)的簡單遍歷。通常,它用于幾種不同的網(wǎng)絡實現(xiàn)和方案,其中之一是在VoIP實現(xiàn)中。由于基于SIP的VoIP呼叫中使用的協(xié)議的工作方式,在NAT設備(如路由器或防火墻)后面運行的兩個SIP實體之間進行呼叫(家庭和企業(yè)網(wǎng)絡中的常見方案),用戶通常會遇到幾個問題,例如電話呼叫期間的單向音頻或嘗試注冊到VoIP提供商或IPPBX時電話注冊失敗不駐留在同一網(wǎng)絡上。STUN是一種協(xié)議,有助于解決此類VoIP實現(xiàn)中的問題。從v10開始,名科云電話系統(tǒng)在端口5060上充當STUN服務器。
STUN協(xié)議的用途
STUN協(xié)議的主要目的是使在NAT設備后面運行的設備能夠發(fā)現(xiàn)其公共IP以及在其連接到的網(wǎng)關上運行的NAT類型。它還使網(wǎng)關后面連接的設備能夠發(fā)現(xiàn)網(wǎng)關本身(NAT)完成的端口轉換;即,其他設備可以使用哪個端口從網(wǎng)絡外部連接到它。請注意,網(wǎng)關和路由器并不總是進行端口轉換。這取決于它們正在運行的NAT類型及其配置方式。例如,完整的錐形NAT配置不會轉換端口。
STUN還可用于刷新NAT綁定;作為使用受限錐體NAT或端口受限錐體NAT時的保持活動機制。通過此類NAT配置傳遞流量時,內部地址和端口將映射到特定的外部地址和端口。但是,如果在特定時間(取決于設備的配置)后未使用此類地址轉換,則會刪除此類地址映射。因此,當內部設備嘗試使用相同的內部IP和端口再次連接到外部實體(可能是以前連接到的同一實體)時,路由器仍將分配不同的地址映射,即與先前分配的IP和端口不同的IP和端口。
STUN協(xié)議
STUN是一種服務器-客戶端協(xié)議。STUN服務器通常在TCP和UDP上運行,并在端口3478上進行偵聽。客戶端通常通過特定的IP和端口(3478)聯(lián)系STUN服務器,但服務器可以提示客戶端對備用IP地址和端口號執(zhí)行測試,因為這樣的端口和IP是任意的。
STUN請求和響應方案
在下圖中,我們可以看到典型的STUN請求和響應是如何工作的:
階段1:計算機A通過網(wǎng)關192.168.1.1向網(wǎng)絡外部的STUN服務器發(fā)送STUN請求,使用源端口5060偵聽64.25.58.65。
STUN也有其缺點;它不能與使用對稱NAT的網(wǎng)絡正常工作,因為每次內部主機嘗試連接到外部主機時,對稱NAT都會創(chuàng)建新的地址和端口映射,因此STUN不是這種情況的良好解決方案。在下一篇文章中,我們將看到來自VoIP設備的STUN請求的示例捕獲,并將解釋它如何幫助解決VoIP環(huán)境中的連接建立問題。
STUN使在NAT后面運行的SIP實體能夠發(fā)現(xiàn)其公共IP以及在其連接到的網(wǎng)關上運行的NAT類型。它還使SIP實體能夠發(fā)現(xiàn)外部SIP實體可以連接到哪些端口,以建立連接。由于SIP使用UDP作為傳輸協(xié)議,而UDP不是面向連接的協(xié)議,因此根據(jù)傳輸協(xié)議,無法輕松建立2個SIP實體之間的連接,這就是為什么STUN在基于SIP的VoIP環(huán)境中廣泛使用的原因。下面我們將看到基于SIP的VoIP電話的捕獲,該電話嘗試注冊到在其網(wǎng)絡外部運行的IPPBX,以及基于SIP的VoIP電話是否使用STUN協(xié)議會發(fā)生什么情況。
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>