EXPERT RESPONSE
You're basically correct. Ethernet (and IP for that matter) don't guarantee delivery of data and will even pitch packets (discard them) when it gets busy. It's up to another layer in the stack to determine that not all data was received and then send a request (over the same network that was too busy in the first place) to send the data again. TCP is the layer that is used to guarantee delivery of the data and is done as part of the software stack in normal implementations. Special accelerator cards (TCP/IP offload engines) move this function from the server processor to a card that can be plugged in to handle the network connection.
Read Christopher Poelker's answer to this question.
|