售前電話
135-3656-7657
售前電話 : 135-3656-7657
普通NAT是通過修改UDP或TCP報文頭部地址信息實現(xiàn)地址的轉換,但對于VoIP應用,在TCP/UDP凈載中也需帶地址信息,ALG方式是指在私網(wǎng)中的VOIP終端在凈載中填寫的是其私網(wǎng)地址,此地址信息在通過NAT時被修改為NAT上對外的地址。
此時當然要求ALG功能駐留在NAT/Firewall設備中,要求這些設備本身具備應用識別的智能。支持IP語音和視頻協(xié)議(H323、SIP、MGCP/H248)的識別和對NAT/Firewall的控制,同時每增加一種新的應用都將需要對NAT/Firewall進行升級。
在安全要求上還需要作一些折衷,因為ALG不能識別加密后的報文內容,所以必須保證報文采用明文傳送,這使得報文在公網(wǎng)中傳送時有很大的安全隱患。NAT/ALG是支持VOIPNAT穿透的一種最簡單的方式,但由于網(wǎng)絡實際情況是已部署了大量的不支持此種特性的NAT/FW設備,因此,實際應用中,很難采用這種方式。
MIDCOM方式與NAT/ALG不同的是,MIDCOM的基本框架是采用可信的第三方(MIDCOMAgent)對Middlebox(NAT/FW)進行控制,VOIP協(xié)議的識別不由Middlebox完成,而是由外部的MID COM Agent完成,因此VOIP使用的協(xié)議對Middlebox是透明的.
由于識別應用協(xié)議的功能從Middlebox移到外部的MIDCOMAgent上,根據(jù)MIDCOM的構,在不需要更改Middlebox基本特性的基礎上,通過對MIDCOMAgent的升級就可以支持更多的新業(yè)務,這是相對NAT/ALG方式的一個很大的優(yōu)勢。
在VOIP實際應用中,Middlebox功能可駐留在NAT/Firewall,通過軟交換設備(即MIDCOMAgent)對IP語音和視頻協(xié)議(H323、SIP、MGCP/H248)的識別和對NAT/Firewall的控制,來完成VOIP應用穿越NAT/Firewall.在安全性上,MIDCOM方式可支持控制報文的加密,可支持媒體流的加密,因此安全性比較高。
如果在軟交換設備上實現(xiàn)對SIP/H323/MGCP/H248協(xié)議的識別,就只需在軟交換和NAT/FW設備上增加MIDCOM協(xié)議即可,而且以后新的應用業(yè)務識別隨著軟交換的支持而支持,此方案是一種比較有前途的解決方案,但要求現(xiàn)有的NAT/FW設備需升級支持MIDCOM協(xié)議,從這一點上來說,對已大量布署的NAT/FW設備來說,也是很困難的,同NAT/ALG方式有相同的問題。
STUN方式
解決穿透NAT問題的另一思路是,私網(wǎng)中的VOIP終端通過某種機制預先得到出口NAT上的對外地址,然后在凈載中所填寫的地址信息直接填寫出口NAT上的對外地址,而不是私網(wǎng)內終端的私有IP地址,這樣凈載中的內容在經過NAT時就無需被修改了,只需按普通NAT流程轉換報文頭的IP地址即可,凈載中的IP地址信息和報文頭地址信息是一致的。STUN協(xié)議就是基于此思路來解決應用層地址的轉換問題。
STUN的全稱是SimpleTraversalofUDPThroughNetworkAddressTranslators,即UDP對NAT的簡單穿越方式。應用程序(即STUNCLIENT)向NAT外的STUNSERVER通過UDP發(fā)送請求STUN消息,STUNSERVER收到請求消息,產生響應消息,響應消息中攜帶請求消息的源端口,即STUNCLIENT在NAT上對應的外部端口。
然后響應消息通過NAT發(fā)送給STUNCLIENT,STUNCLIENT通過響應消息體中的內容得知其NAT上的外部地址,并將其填入以后呼叫協(xié)議的UDP負載中,告知對端,本端的RTP接收地址和端口號為NAT外部的地址和端口號。由于通過STUN協(xié)議已在NAT上預先建立媒體流的NAT映射表項,故媒體流可順利穿越NAT.
STUN協(xié)議最大的優(yōu)點是無需現(xiàn)有NAT/FW設備做任何改動。由于實際應用中,已有大量的NAT/FW,并且這些NAT/FW并不支持VoIP的應用,如果用MIDCOM或NAT/ALG方式來解決此問題,需要替換現(xiàn)有的NAT/FW,這是不太容易的。
而采用STUN方式無需改動NAT/FW,這是其最大優(yōu)勢,同時STUN方式可在多個NAT串聯(lián)的網(wǎng)絡環(huán)境中使用,但MIDCOM方式則無法實現(xiàn)對多級NAT的有效控制。
STUN的局限性在于需要VOIP終端支持STUNCLIENT的功能,同時STUN并不適合支持TCP連接的穿越,因此不支持H323.另外STUN方式不支持對防火墻的穿越,不支持對稱NAT(SymmetricNAT)類型(在安全性要求較高的企業(yè)網(wǎng)中,出口NAT通常是這種類型)穿越。
TURN方式
TURN方式解決NAT問題的思路與STUN相似,也是私網(wǎng)中的VOIP終端通過某種機制預先得公網(wǎng)上的服務地址(STUN方式得到的地址為出口NAT上外部地址,TURN方式得到地址為TURNServer上的公網(wǎng)地址),然后在報文凈載中所要求的地址信息就直接填寫該公網(wǎng)地址。