1. A method comprising: selecting, by a first host device, a datagram identifier from a list of available datagram identifiers; placing, by the first host device, the datagram identifier in a list of unavailable datagram identifiers; transmitting, by the first host device, a datagram request to a second host device over a communication link, the datagram request including the datagram identifier; receiving, by the first host device, a datagram response from the second host device including the datagram identifier to identify a datagram, the datagram response further including a fragment of the datagram; removing, by the first host device, the datagram identifier from the list of unavailable datagram identifiers based at least in part on receipt of the datagram; and placing, by the first host device, the datagram identifier in the list of available datagram identifiers based at least in part on said removing.