Enabling the SYN Cookie feature

As a general rule, the establishment of a TCP connection involves the following three handshakes.

  • The request originator sends a SYN message to the target server.

  • After receiving the SYN message, the target server establishes a TCP connection in SYN_RECEIVED state, returns a SYN ACK message to the originator, and waits for a response.

  • After receiving the SYN ACK message, the originator returns an ACK message, establishing the TCP connection.

  • Attackers may mount SYN Flood attacks during TCP connection establishment. They send a large number of SYN messages to the server to establish TCP connections, but they never make any response to SYN ACK messages. As a result, a large number of incomplete TCP connections are established, resulting in heavy resource consumption and making the server unable to handle services normally.

    The SYN Cookie feature can prevent SYN Flood attacks. After receiving a TCP connection request, the server directly returns a SYN ACK message, instead of establishing an incomplete TCP connection. Only after receiving an ACK message from the client can the server establish a connection, and then enter ESTABLISHED state. In this way, incomplete TCP connections could be avoided to protect the server against SYN Flood attacks.

    Follow these guidelines when you enable the SYN Cookie feature:

    To enable the SYN Cookie feature:

    Step

    Command

    Remarks

    1. Enter system view.

    system-view

    N/A

    2. Enable the SYN Cookie feature.

    tcp syn-cookie enable

    Enabled by default