NGFW通过链路健康检查功能探测本端出接口到指定目的地址的链路健康状态,保证流量不会被转发到故障链路上。
链路健康检查功能是对链路的可用性进行探测,并根据探测结果调整业务流量的分配,为网络服务质量提供必要保障。
随着网络流量的日益增大,出口设备面临的流量压力也越来越大,企业通过扩容出口链路带宽来提升访问的稳定性和可靠性。一般来讲,企业会从多个ISP处获得多条出口链路,以此满足访问不同ISP网络的需求。当出口链路增多后,随之也引入了一系列问题:
-
当多条链路中的一条链路发生故障时,如何感知到这个变化?
-
当检测到链路故障时,如何确保消息的可信性,即保证不会发生误判?
-
当链路可用时,如何及时感知到这个变化,并重新利用它?
如果不能解决上述问题,多链路就没有起到应有的作用,企业也就无法从扩容的巨额投入中获得应有的收益。链路健康检查功能为解决上述问题提供了判断依据,NGFW通过健康检查结果实时监控各链路的健康状态,并作出相应地调整,从而保证使用状态正常的链路转发流量,提高了访问的稳定性和可靠性。
如图1所示,NGFW的3个出接口经由不同ISP网络连接Internet,用户可以通过其中任意一个出接口访问Internet中的资源。为了判断3条出接口链路的健康状态,NGFW分别向各ISP网络中的指定设备发送探测报文。如果出接口链路可用,那么NGFW可以收到被探测设备的响应报文,否则NGFW收不到响应报文。为了防止被探测设备自身故障导致误判,可以通过一个出接口同时向多个指定设备发送探测报文,当NGFW收到指定个数的响应报文时,才判定该接口链路可用。如图1所示,最终的探测结果显示ISP1和ISP2网络对应的出接口链路故障,所以当有访问Internet资源的业务流量到达NGFW时,NGFW将通过ISP3网络的链路进行转发。NGFW会不停发出健康探测报文,继续探测各链路的状态,当故障链路的状态恢复为正常时,NGFW会立即令其参与流量转发。
如表1所示,NGFW可以根据不同类型的目的设备发送相应协议的探测报文,通过分析应答报文即可判断链路的可用性。
表1 链路健康检查协议类型
探测协议 |
探测原理 |
---|---|
ICMP |
向指定设备发送ICMP请求报文,如果ICMP应答报文中的标识符(Identifier)和序列号(Sequence Number)字段与请求报文的一致,即认为该段链路可用。 |
TCP |
使用TCP协议向指定设备发送TCP连接请求,如果连接建立成功,即认为该链路可用,随后NGFW会发送RST报文中止此TCP连接。 |
HTTP |
完成TCP三次握手后,使用HTTP协议向指定设备发送获取指定目的根目录的请求,收到HTTP应答报文即认为该链路可用,随后NGFW会发送RST报文中止此TCP连接。 |
DNS |
使用DNS协议向指定设备发起请求,查询名为“www.huawei.com”,如果应答报文中的标识(Transaction ID)字段与请求报文一致,即认为该链路可用。 |