防火墙技术之---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设备转换一些,就建立了数据通道,然后就可以在数据通道中传输数据了。


本文转自:http://simonsec.blog.51cto.com/875864/197090/


  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1 概述 1.1 产生背景 在应用层协议中,有很多协议都包含多通道的信息,比如多媒体协议(H.323、 SIP等)、FTP、SQLNET等。这种多通道的应用需要首先在控制通道中对后续数 据通道的地址和端口进行协商,然后根据协商结果创建多个数据通道连接。在NAT 的实际应用过程中,NAT仅对网络层报文的报文头进行IP地址的识别和转换,对于 应用层协议协商过程中报文载荷携带的地址信息则无法进行识别和转换,因此在有 NAT处理的组网方案中,NAT利用ALG技术可以对多通道协议进行应用层的报文信 息的解析和地址转换,保证应用层上通信的正确性。 在传统的包过滤防火墙中,也会遇到类似问题。由于包过滤防火墙是基于IP包中的 源地址、目的地址、源端口和目的端口来判断是否允许包通过,这种基于静态IP包 头的匹配虽然可以允许或者拒绝特定的应用层服务,但无法理解服务的上下文会 话,而且对于多通道的应用层协议,其数据通道是动态协商的,无法预先知道数据 通道的地址和端口,无法制定完善的安全策略。ASPF利用ALG技术便可以解决包 过滤防火墙遇到的问题,实现对多通道应用协议的动态检测。 综上所述,ALG和NAT、ASPF特性的配合使用,可以解决这些特性遇到的应用层 协议的多通道问题,进而可以协助网络设备实现整体的网络安全解决方案。
stk-alg-server 是指"算法服务端"。在计算机科学中,算法是一种解决问题的方法和步骤,而算法服务端则是提供算法计算能力的服务器。 stk-alg-server 提供了各种算法,可以根据客户的需求来执行不同的算法操作。它可以处理各种类型的数据,如数值、文本、图像等,以及不同领域的问题,如机器学习、数据挖掘、图像识别等。 算法服务端的工作流程一般包括以下几个步骤: 1. 接收请求:算法服务端通过网络接口接收客户端发送的请求。请求可以包括要处理的数据和所需的算法类型。 2. 数据处理:对接收到的数据进行预处理,例如数据清洗、标准化等操作,以确保数据的准确性和一致性。 3. 算法计算:根据客户端请求的算法类型,使用相应的算法对数据进行计算和处理。常见的算法有排序算法、搜索算法、聚类算法等。 4. 结果返回:将算法计算得到的结果返回给客户端。结果可以是计算得到的数值、分析报告、图像等形式。 5. 错误处理:在处理请求的过程中,可能会遇到错误或异常情况。算法服务端需要捕获并处理这些错误,以保证系统的稳定性和可靠性。 stk-alg-server 的应用非常广泛。它可以用于科学研究、工程设计、金融分析等各种领域。客户可以通过调用算法服务端的接口,利用其强大的计算能力和丰富的算法库,来解决复杂的问题和提升工作效率。同时,算法服务端还可以进行算法的优化和更新,以满足不断变化的客户需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值