防火牆技術之---ALG技術

         NAT網絡地址轉換是以救世主的身份 出現緩解IPv4地址枯竭,實踐證明NAT的很多的優點使其迅速被廣泛應用,但是在實際操作中也出現了一些問題。NAT關注五元組信息,進行轉換的五元組也僅限於IP報頭之中,但是一些應用層協議像FTP,H323等多通道協議及流媒體RTSP,MMS,還有DNS,SMTP,和一些IM和P2P,一般情況下在應用載荷信息之中也會包括一些地址、端口信息,如果這些信息不被轉換就會造成通信的失敗。爲了彌補NAT的這些缺陷,ALG(應用層地址網關)便出現了。  

        ALG主要完成了對應用層報文的處理,通常情況下NAT只對報頭中的IP,PORT信息進行轉換,不對應用層數據載荷中的字段進行分析,如果時能了ALG,那麼在識別了相應報文之後便會對IP報頭以外的載荷信息進行解析,然後進行地址轉換,重新計算校驗和。

   根據具體的應用將ALG和NAT組合應用的功能分爲了三類:

   a.網絡地址轉換:普通的NAT

   b.數據通道檢測:處理用於FTP、H323等多通道協議

   c.應用層狀態檢測:處理一些載荷含IP,port的應用層協議

   具體的來說,ALG可以處理的協議有如下這些:DNS,FTP,H323,SIP,HTTP,ILS,MSN/QQ,NBT,RTSP,PPTP,TFTP等。

   例如FTP應用由控制連接和數據連接共同完成,而且數據連接的建立動態的由控制連接的載荷信息決定,這就需要ALG來完成載荷字段信息的處理,以保證數據包的建立。

                                                 image

    如上圖所示,上圖是屬於內網服務器模式的NAT,外網用戶發起連接,建立控制連接通道之後呢?試圖發起數據通道連接,我們也知道FTP的數據通道有兩類,一種是主動模式PORT,一種是被動模式PASV,FTP客戶端通過控制通道發起被動連接請求,FTP服務器收到後就會迴應進入被動模式,在該報文載荷中包含了地址信息(IP1,PORT1),此時報文經過NAT設備便需要ALG處理,解析載荷字段進行地址轉換(IP1,PORT1--->IP2,PORT2)然後發給客戶端,客戶端收到後便會想轉換後的地址,端口發連接建立報文,然後在NAT設備轉換一些,就建立了數據通道,然後就可以在數據通道中傳輸數據了。

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章