NetScaler ADC sends TCP segments which are lower in size than the value set by the client/server advertised MSS
book
Article ID: CTX256845
calendar_today
Updated On:
Description
Assumed configuration:
Vserver TCP Profile has an MSS of 1320 set.
MSS Table contains the following values:
root@NetScaler# nsapimgr -d mss_table
MSS table
{8192,7168,6144,4196,3072,2048,1460,1440,1330,1320,1312,1220,956,536,384,128}
Done.
With the above configuration, even if a client/server advertises an MSS value of 1460 bytes NetScaler will only send TCP segments which are upto 1320 bytes in size.
Resolution
The reason that a maximum TCP segment length of 1320 bytes is sent by NetScaler to the client/server is because NetScaler uses the following logic when deciding what size TCP segments to use:
Based on the above configuration, if the client advertises and MSS of 1460, NetScaler would do the following:
- Client advertises an MSS of 1460. NetScaler parses the TCP options and retrieves this MSS value (1460).
- NetScaler will then look at the TCP profile MSS setting, as this is 1320 (and therefore lower than 1460) that value will then be used.
- Using 1320 as the new base value, NetScaler will search for a match in the MSS table, since in this case there is an exact match (ie 1320) that value will be used.
Was this article helpful?
thumb_up
Yes
thumb_down
No