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