Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Single chunk of TCP data missing from file transfer?

Status
Not open for further replies.

kuhnto

Programmer
Jun 24, 2013
1
0
0
US
Hi everyone,

I am performing a file transfer using some off the shelf COTS TCP libraries in a C# program. During testing I transferred a 5Mb randomly generated file. The transmission path traverses a virtual NIC (TAP/TUN), then a hardware device serializes the data to push over a SATCOM Radio, On the receiver side and other hardware box de-serializes the data and the TCP traffic is output by another virtual NIC. Sometimes the file is transmitted correctly but sometimes the file is missing one contiguous chunk of data. It could be in the middle somewhere, and can be of varying size. The example I am using has a missing chuck of 16141 bytes. I have wireshark captures of both the sender and receiver The times are not synced exactly). I would love to know if this might indicate an issue with the underlying virtual NIC and radio hardware, or something that happening in the stack. Here are the notes I have taken regarding my observations of the issue and the wireshark captures. I hope to be able to post the captures on here once this gets posted.

Here are the two captures:
Sender Capture
Receiver Capture


Someone on another forum made the observations that:

Sender Trace: The client is running a windows platform (TTL=128) and so is the server at an CaeElect MAC address. The client port number is 1065, the offered windows size by the client is 16384, the 'MSS' option is 1460 (02:04:05:b4), followed by NOP,NOP,SACK

Receiver Trace: The client port number is 2025, it is 5 hops away (TTL=123), the advertized windowsize is 32768, MSS option is now in little endian: b4:05:04:02, sack is removed and 2 EOLs...


My Notes:
The file is contiguous until - 46 46 41 85 C4 ED 24 9D (Packet #1799 in wireshark sender Capture, Packet #6778 in Wireshark receive capture) - Note: This is a smaller packet than the norm. The packet data is

Then...

next bytes Should be:

3B 89 04 83 B6 34 9C 14 - Packet #1799 in wireshark sender Capture (01E0) - No Receive Packet with that data

but in the received file it is:

A3 D5 0F D9 10 B6 43 F3 - Packet #1814 in wireshark Sender Capture (0030) - Packet #6804 in Wireshark Receive Capture (0030)

This received string of bytes is found in the original file

1899228 - 1883087 = 16141 bytes of contiguous missing data

File size 5242880 byte (Sent) - 5226739 bytes (Received) = 16141 bytes, so this lines up too.

Is it looks like just his one big chunck is missing. Everything else, before and after, lines up.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top