Mit der Blocknummerierung vergibt man an jeden Datenblock eine fortlaufende Nummer. Durch die Nummernvergabe soll verhindert werden, dass Nachrichten dupliziert werden und dass fehlgeleitete oder verloren gegangene Nachrichten ermittelt werden können. Dadurch können nicht empfangene Blöcke erneut angefordert werden. Die Funktion ist meistens in der Transportschicht realisiert, sie kann aber auch auf jeder anderen höheren Ebene angesiedelt werden.