Re: multiple TCP sockets with same (srcip,dstip,sport,dport)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello!

> The problem is in the function tcp_check_req()... If you get a SYN
> that hashes to the listening socket,  we do check for retransmission
> but we do not check for the fact that  if it is not a retransmission, it
> might still be from the same remote port as the remote port of
> the half-open structure.
> 
> I am not sure what the spec has to say in this case (probably nothing)
>  But we could easily toss away the old half-open req (since we
> are sure that the remote end doesnt have any state about it anyway)
> and accept the new SYN..

Specs are pretty clean in this place. New SYN must be ACKed
with ACK carrying current state of the connection at server,
if it is out of window advertised with previous SYN-ACK.
When client receives such ACK (client is in SYN-SENT state),
connection is aborted.

State on server is not destroyed until timeout expires,
so that no new connections to this port pair are to be accepted.
Do not reboot machines randomly. 8)

If new SYN is inside window, but its sequence number is
different (it would not be not new otherwise 8)),
connection is aborted and reset is sent.

Alexey
-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.rutgers.edu


[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux