On 2016年06月29日 14:13, Zhang Chen wrote:
On 06/29/2016 09:55 AM, Jason Wang wrote:
On 2016年06月28日 14:33, Zhang Chen wrote:
primary guest response
pkt(seq=primary_seq+1,ack=client_seq+1+data_len,flag=ACK)
secondary guest response
pkt(seq=secondary_seq+1,ack=client_seq+1+data_len,flag=ACK)
Is ACK a must here?
Yes.
Looks not, e.g what happens if guest does not use piggybacking acks?
If guest does not use piggybacking acks, it will send a independent
packet for ack.
we will get this packet.
like:
pkt(seq=xxxx,ack=xxx,flag=ACK).
Right, so looks like if guest want to send some data too, it can send
tcp packet without ACK set?
NO, I tried it. the tcp packet always has ACK set except the SYN
packet and FIN packet.
you can dump the packet to see it.
Thanks
Zhang Chen
Right, RFC said:
" If the ACK control bit is set this field contains the value of the
next sequence number the sender of the segment is expecting to
receive. Once a connection is established this is always sent.
"