On 13/02/15 13:27, Mikael Abrahamsson wrote:

Packet reaches HGW2, which has no flow state, and is dropped. ICMP error
message might be created.
In case of ICMP error message, U1 should ignore this.

That's an application-layer issue. It all depends on how they're talking to the socket API. They might not even see the ICMP error if they're just doing dumb send() calls.

U2 sends a packet from U2IP,U2PORT to U1IP,U1PORT.
HGW2 creates flow state.
Packet hits HGW1 which already has a flow state, and packet successfully
reaches U1.
U1 now can start sending packets to U2 as well and they've worked around
both of them having HGWs with stateful firewalls disallowing new
connections to them.

Right?

Yes.


The crucial step here seems to be the fact that initial packets might be
dropped and error messages be generated, but these should be ignored by
the application. Is this commonplace? Is it a problem at all?

As above, depends on how they're using the socket API. As a rule for UDP connections, you actually have to put *more* work in to see ICMP errors. It's certainly possible to ignore them.

Reply via email to