The receiver keeps asking for the first missing byte.

highlighted = computed this step

ACK still names the missing byte

Because the two payload bytes are missing, the server still asks for client byte 1001.

waiting ACK=1001\text{waiting ACK}=1001
Receiver still waitsThe duplicate ACK header is decoded from exact bytes.Duplicate ACK header160 bits / 20 bytes0x01bb9c4000001389000003e95010100000000000byte 0byte 1byte 2byte 300000001101110111001110001000000byte 4byte 5byte 6byte 700000000000000000001001110001001byte 8byte 9byte 10byte 1100000000000000000000001111101001byte 12byte 13byte 14byte 1501010000000100000001000000000000byte 16byte 17byte 18byte 1900000000000000000000000000000000source-port443destination-port40000sequence-number5001acknowledgment-number1001data-offset5reserved0x0flags0x10window0x1000checksum0x0000urgent-pointer0

It has not advanced

The ACK has not moved to 1003 yet, because the missing payload has not arrived.

current ACK=1001\text{current ACK}=1001
Receiver still waitsThe duplicate ACK header is decoded from exact bytes.Duplicate ACK header160 bits / 20 bytes0x01bb9c4000001389000003e95010100000000000byte 0byte 1byte 2byte 300000001101110111001110001000000byte 4byte 5byte 6byte 700000000000000000001001110001001byte 8byte 9byte 10byte 1100000000000000000000001111101001byte 12byte 13byte 14byte 1501010000000100000001000000000000byte 16byte 17byte 18byte 1900000000000000000000000000000000source-port443destination-port40000sequence-number5001acknowledgment-number1001data-offset5reserved0x0flags0x10window0x1000checksum0x0000urgent-pointer0

Server sequence is separate

The server sends the ACK from its own sequence 5001.

server seq=5001\text{server seq}=5001
Receiver still waitsThe duplicate ACK header is decoded from exact bytes.Duplicate ACK header160 bits / 20 bytes0x01bb9c4000001389000003e95010100000000000byte 0byte 1byte 2byte 300000001101110111001110001000000byte 4byte 5byte 6byte 700000000000000000001001110001001byte 8byte 9byte 10byte 1100000000000000000000001111101001byte 12byte 13byte 14byte 1501010000000100000001000000000000byte 16byte 17byte 18byte 1900000000000000000000000000000000source-port443destination-port40000sequence-number5001acknowledgment-number1001data-offset5reserved0x0flags0x10window0x1000checksum0x0000urgent-pointer0

Summary

The waiting ACK says the receiver still needs the first missing byte.

next wanted=1001\text{next wanted}=1001
Receiver still waitsThe duplicate ACK header is decoded from exact bytes.Duplicate ACK header160 bits / 20 bytes0x01bb9c4000001389000003e95010100000000000byte 0byte 1byte 2byte 300000001101110111001110001000000byte 4byte 5byte 6byte 700000000000000000001001110001001byte 8byte 9byte 10byte 1100000000000000000000001111101001byte 12byte 13byte 14byte 1501010000000100000001000000000000byte 16byte 17byte 18byte 1900000000000000000000000000000000source-port443destination-port40000sequence-number5001acknowledgment-number1001data-offset5reserved0x0flags0x10window0x1000checksum0x0000urgent-pointer0