个人理解:上图中数据包1(TCP)如果只是用进行来确认的,那么数据包2(MySQL)中携带的tcp信息也可以起到相同的作用,那么数据包1存在就显得冗余。PS:理解可能存在偏差,烦请各位大佬不吝赐教,指出我理解中存在的问题,谢谢大家!
你说的那种情况是延迟回复+捎带数据,然而并不是所有情况都可以延迟回复的,以下三种情况就需要立即回复:如果接收到了大于一个frame 的报文,且需要调整窗口大小处于 quickack 模式(tcp_in_quickack_mode)收到乱序包(We have out of order data.)同时延迟回复也是有时间限制的,超过了一定的时间后如果依然没有数据可以捎带,则必须回复一个空的ack
你说的那种情况是延迟回复+捎带数据,然而并不是所有情况都可以延迟回复的,以下三种情况就需要立即回复:
同时延迟回复也是有时间限制的,超过了一定的时间后如果依然没有数据可以捎带,则必须回复一个空的ack