tcpWrongSacksInjected.pkt 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. // SUT is a server, i.e. it opens a socket, binds and listens. The server accepts a connection.
  2. // The peer sends 3 messages. The first and third are acked. The ACK is repeated 3 times with
  3. // higher sequence numbers than were sent. A fast retransmission is expected.
  4. 0.000 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3
  5. 0.000 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
  6. 0.000 bind(3, ..., ...) = 0
  7. 0.000 listen(3, 1) = 0
  8. 0.100 < S 0:0(0) win 32792 <mss 1000,sackOK,nop,nop,nop,wscale 7>
  9. 0.100 > S. 0:0(0) ack 1 <...>
  10. 0.150 < . 1:1(0) ack 1 win 257
  11. 0.150 accept(3, ..., ...) = 4
  12. 0.200 write(4, ..., 1000) = 1000
  13. 0.200 > . 1:1001(1000) ack 1
  14. 0.210 < . 1:1(0) ack 1001 win 257
  15. 0.220 write(4, ..., 1000) = 1000
  16. 0.220 > . 1001:2001(1000) ack 1
  17. 0.225 write(4, ..., 1000) = 1000
  18. 0.225 > . 2001:3001(1000) ack 1
  19. +0 < . 1:1(0) ack 1001 win 257 <sack 2001:3001,nop,nop>
  20. +0 < . 1:1(0) ack 1001 win 257 <sack 2001:4001,nop,nop>
  21. +0 < . 1:1(0) ack 1001 win 257 <sack 2001:5001,nop,nop>
  22. +0 > . 1001:2001(1000) ack 1
  23. 0.26 < . 1:1(0) ack 3001 win 257
  24. 0.310 close(4) = 0
  25. +0 > F. 3001:3001(0) ack 1
  26. +0 < F. 1:1(0) ack 3002 win 257
  27. +0 > . 3002:3002(0) ack 2