NAT給視頻會議帶來的問題:
1、外網終端要訪問內網終端,必須在內網終端經過NAT后向外網終端發送數據包(即產生一個NAT“綁定”)后才行。換句話說,內網終端不能接受外網終端的主動性訪問。
當然,這可以當成一種安全特性,但是NAT穿越的一個目的就是為了允許外網終端主動連接內部終端。
2、一些視頻會議協議在信令消息中包含了源地址/端口的內容。這些源地址為遠端終端提供了返回包的目的地址。但是,由于內部終端使用的是私網地址,如果NAT不帶ALG
(應用層網關),它將不會轉換這些內部地址。當外部終端接收到一個消息后,它無法將數據包轉發到在消息里的這個私網地址。
3、在NAT綁定超時前內部主機來不及發送數據包。一些NAT強制將超時計時器設定短至1分鐘。
4、NAT允許安全TLS(安全傳輸層協議)穿越。但是,NAT在IPSec下會產生問題。IPSec協議在IP層加密數據包。本地IP通道無法穿越NAT,因為IPSec要求IP包頭地址及端口
保持不變。為了實現IPSec穿越NAT,終端必須通過UDP建立通道來傳輸IPSec包。這種NAT穿越稱作NAT-T(NAT-穿越在IKE)。RFC3947定義密鑰交換方法,RFC3948定義UDP封
裝。管理員可以配置這種NAT通道,但是會增加一定的管理開銷。
5、如果兩個終端都在一個NAT的后面,多數NAT不會允許這種“回頭”連接,即先NAT出去,然后又NAT進來。在這種情況下,兩個終端必須能夠識別他們在同一個私網,然
后使用私網地址建立直接連接,而不是連接到NAT外面后使用公用地址。
6.再者,如果兩個終端分處于不同企業,并且都在各自的NAT后面,可能會出現某種極端現象。比如兩個終端都使用同一個私有IP地址10.2.2.2,如果這兩個終端要交換消息,
包含內部IP地址,它們將會使用跟與自己IP地址一樣的一個地址作為目的地址。
NAT ALG
除了在IP包頭進行地址映射,NAT可能使用到ALG來檢測信令消息協議頭部的IP地址/端口,然后將它們也映射出去。NAT ALG類似于防火墻ALG,不過NAT ALG實際上改變(映射)
的是信令消息中的地址/端口。這種地址重寫被稱為fixup或者deep-packet重寫(華三設備叫做“深度檢測”)。像防火墻ALG那樣,NAT ALG同樣存在如下問題:
1、管理員需要時時更新NAT固件,以使其理解視頻會協議的最新版本。
2、NAT不能檢測加密的信令協議。雖然防火墻可以使用UDP ALG作為加密信令的替代解決方法,但NAT傳輸加密信令卻沒有相似的解決方法。因為NAT不能重寫協議中的地址,
消息協議會中斷。一種解決辦法是每個終端發現自己的公網地址,然后直接進行相應的修正。