At some point, it is best to think in terms of Information Theory (Claude Shannon) where you look for bit rate (bits/s), bit error rate (10e-5), bandwith, energy (Eb/N0)... If you send at 1Mbits/s but get many errors (i.e. 10-2), it is no use. What Alvaro is doing: CRC16bits plus smart acknowledge, resend if error detected by using a channel (i.e. 115Kbits/s) but will in fact provide much less bits/s (i.e. 64kbits) being almost error free (10e-5) so his protocol takes care of corrupted 115Kbits/s being layer 1 of ISO model. In conclusion, best compare apples with apples, oranges with oranges so what bits/s you get with a fixed bit error rate where you need to normalize with overhead bits (i.e. CRC, resending same frame).