在此页面上
了解 IPv6 ALG 对 ICMP 的支持
互联网控制信息协议 (ICMP) 应用层网关 (ALG) 是处理 ICMP 流量的 ALG 之一。
IPv6 节点使用 ICMPv6 协议报告处理数据包时遇到的错误,并执行其他互联网层功能(例如诊断)。ICMPv6 是 IPv6 不可或缺的一部分,必须由每个 IPv6 节点全面实施;因此 ALG 层始终为 ICMPv6 启用。
ICMP 错误消息
ICMPv6 消息分为两类:
ICMPv6 错误消息
目标不可访问
数据包过大
超过的时间
参数问题
ICMPv6 信息(或 ping)消息
回应请求
回应回复
ICMP ALG 将监控所有这些消息,然后进行以下操作:
关闭会话
修改有效负载
如果满足以下条件,ICMP ALG 将关闭会话:
接收回应回复消息。
收到无法到达的目标错误消息,尚未收到任何回复。
注意:ICMP ALG 会检查会话是否收到目标节点的任何回复。如果收到任何回复,则目标应可到达,且 ICMP 错误消息不可可信,因此不会关闭会话。这是为了避免黑客探测 TCP/UDP 数据包,并伪造 ICMP 目标不可访问的数据包以终止会话。
ICMP ALG 功能
ICMP ALG 在不同的模式下行为方式各不相同。
ICMP ALG 在多模NAT功能:
关闭会话。
修改标识符、序列号或回应请求的两者。
恢复回应回复的原始标识符和序列号。
NAT转换ICMPv6 错误消息的嵌入式 IPv6 数据包。
在 PT-NAT模式下的 ICMP ALG 功能:
关闭会话。
将 ICMPv4 ping 消息转换为 ICMPv6 ping 消息。
将 ICMPv6 ping 消息转换为 ICMPv4 ping 消息。
将 ICMPv4 错误消息转换为 ICMPv6 错误消息,并将其嵌入式 IPv4 数据包转换为 IPv6 数据包。
将 ICMPv6 错误消息转换为 ICMPv4 错误消息,并将其嵌入式 IPv6 数据包转换为 IPv4 数据包。