[Cake] ECN not working?

Jonathan Morton chromatix99 at gmail.com
Tue Dec 22 15:15:19 EST 2020


> On 22 Dec, 2020, at 10:06 pm, xnor <xnoreq at gmail.com> wrote:
> 
> The client initiates the IPv4 TCP connection with:
> IP Differentiated Services Field: 0x02 (DSCP: CS0, ECN: ECT(0))
> TCP Flags: 0x0c2 (SYN, ECN, CWR)
> Seq=0 Win=64240 Len=0 MSS=1460 WS=256 SACK_PERM=1
> 
> The server responds:
> Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
> Flags: 0x012 (SYN, ACK)
> Seq=0 Ack=1 Win=64240 Len=0 MSS=1460 SACK_PERM=1 WS=128
> 
> Shouldn't the server respond with ECT set in the SYN ACK packet
> and possibly also have ECN-related flags set in the TCP header?

Not all servers have ECN support enabled.  A SYN-ACK without the ECE bit set indicates it does not.  The connection then proceeds as Not-ECT.

I'm reasonably sure Akamai has specifically enabled ECN support.  A lot of smaller webservers are probably running with the default passive-mode ECN support as well (ie. will negotiate inbound but not initiate outbound).

 - Jonathan Morton


More information about the Cake mailing list