accept() return point vs incoming SYN

Discussion in 'Linux Networking' started by viki, Sep 7, 2008.

  1. viki

    viki Guest

    3-way handshake is (1) C->S SYN (2) C->S SYN (3) C->S ACK.

    The accept syscall returns at the point when packet #3 is received on
    correct ? Not when packet #1 is received.

    Is it same on all OSes ? Are there OS where accept
    returns after packets No.1 is received by server ?

    viki, Sep 7, 2008
    1. Advertisements

  2. viki

    Rick Jones Guest

    There is at least one OS where accept() can return after the SYN is
    received, although it still employs a SYN flood defense:

    HP-UX tardy B.11.11 U 9000/785 2002119164 unlimited-user license
    $ ndd -h tcp_early_conn_ind


    If set to 1, a T_CONN_IND message is sent upstream as soon as a
    SYN packet is received from a remote host which is on the TCP's
    'good guy' list. A remote host goes on the 'good guy' list if it
    is known to have completed the 3-way handshake earlier.
    If set to 0, the T_CONN_IND message is not sent upstream until
    the 3-way handshake is complete, even if the remote host is
    on the 'good guy' list.
    [0,1] Default: 1

    What leads you to ask the question?

    rick jones
    Rick Jones, Sep 8, 2008
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.